{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/mos-model-synergy-for-test-time-adaptation-on","title":"MOS: Model Synergy for Test-Time Adaptation on LiDAR-Based 3D Object Detection","arxiv_id":"2406.14878","date":"2024-06-21","proceeding":null,"authors":["Zhuoxiao Chen","Junjie Meng","Mahsa Baktashmotlagh","Yonggang Zhang","Zi Huang","Yadan Luo"],"abstract":"LiDAR-based 3D object detection is crucial for various applications but often experiences performance degradation in real-world deployments due to domain shifts. While most studies focus on cross-dataset shifts, such as changes in environments and object geometries, practical corruptions from sensor variations and weather conditions remain underexplored. In this work, we propose a novel online test-time adaptation framework for 3D detectors that effectively tackles these shifts, including a challenging cross-corruption scenario where cross-dataset shifts and corruptions co-occur. By leveraging long-term knowledge from previous test batches, our approach mitigates catastrophic forgetting and adapts effectively to diverse shifts. Specifically, we propose a Model Synergy (MOS) strategy that dynamically selects historical checkpoints with diverse knowledge and assembles them to best accommodate the current test batch. This assembly is directed by our proposed Synergy Weights (SW), which perform a weighted averaging of the selected checkpoints, minimizing redundancy in the composite model. The SWs are computed by evaluating the similarity of predicted bounding boxes on the test data and the independence of features between checkpoint pairs in the model bank. To maintain an efficient and informative model bank, we discard checkpoints with the lowest average SW scores, replacing them with newly updated models. Our method was rigorously tested against existing test-time adaptation strategies across three datasets and eight types of corruptions, demonstrating superior adaptability to dynamic scenes and conditions. Notably, it achieved a 67.3% improvement in a challenging cross-corruption scenario, offering a more comprehensive benchmark for adaptation. Source code: https://github.com/zhuoxiao-chen/MOS.","url_abs":"https://arxiv.org/abs/2406.14878v3","url_pdf":"https://arxiv.org/pdf/2406.14878v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"mos-model-synergy-for-test-time-adaptation-on","repo_url":"https://github.com/zhuoxiao-chen/mos","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"test-time-adaptation","task_name":"Test-time Adaptation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.14878","atlas_url":"https://app.syntology.ai/?focus=2406.14878","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.14878"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/zhuoxiao-chen/MOS","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhuoxiao-chen/mos","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":5,"samples":[{"code_sha256_prefix":"24abdceab1c5e24f","entry":"hungarian_match_diff","repo":"zhuoxiao-chen/mos","repo_kind":"official","path":"pcdet/tta_methods/mos.py","file_url":"https://github.com/zhuoxiao-chen/mos/blob/HEAD/pcdet/tta_methods/mos.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"24abdceab1c5e24f"}},{"code_sha256_prefix":"44db2351bcc0bffe","entry":"cfg_from_yaml_file","repo":"zhuoxiao-chen/MOS","repo_kind":"official","path":"pcdet/config.py","file_url":"https://github.com/zhuoxiao-chen/MOS/blob/HEAD/pcdet/config.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"44db2351bcc0bffe"}},{"code_sha256_prefix":"1780d388cc532a6d","entry":"get_corner_loss_lidar","repo":"zhuoxiao-chen/MOS","repo_kind":"official","path":"pcdet/utils/loss_utils.py","file_url":"https://github.com/zhuoxiao-chen/MOS/blob/HEAD/pcdet/utils/loss_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1780d388cc532a6d"}},{"code_sha256_prefix":"50e8e8cdfc5129f0","entry":"merge_new_config","repo":"zhuoxiao-chen/MOS","repo_kind":"official","path":"pcdet/config.py","file_url":"https://github.com/zhuoxiao-chen/MOS/blob/HEAD/pcdet/config.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"50e8e8cdfc5129f0"}},{"code_sha256_prefix":"2b4e0558df870bf9","entry":"post_act_block","repo":"zhuoxiao-chen/MOS","repo_kind":"official","path":"pcdet/models/backbones_3d/spconv_backbone.py","file_url":"https://github.com/zhuoxiao-chen/MOS/blob/HEAD/pcdet/models/backbones_3d/spconv_backbone.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2b4e0558df870bf9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}