{"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/learning-to-detect-and-segment-mobile-objects","title":"MOD-UV: Learning Mobile Object Detectors from Unlabeled Videos","arxiv_id":"2405.14841","date":"2024-05-23","proceeding":null,"authors":["Yihong Sun","Bharath Hariharan"],"abstract":"Embodied agents must detect and localize objects of interest, e.g. traffic participants for self-driving cars. Supervision in the form of bounding boxes for this task is extremely expensive. As such, prior work has looked at unsupervised instance detection and segmentation, but in the absence of annotated boxes, it is unclear how pixels must be grouped into objects and which objects are of interest. This results in over-/under-segmentation and irrelevant objects. Inspired by human visual system and practical applications, we posit that the key missing cue for unsupervised detection is motion: objects of interest are typically mobile objects that frequently move and their motions can specify separate instances. In this paper, we propose MOD-UV, a Mobile Object Detector learned from Unlabeled Videos only. We begin with instance pseudo-labels derived from motion segmentation, but introduce a novel training paradigm to progressively discover small objects and static-but-mobile objects that are missed by motion segmentation. As a result, though only learned from unlabeled videos, MOD-UV can detect and segment mobile objects from a single static image. Empirically, we achieve state-of-the-art performance in unsupervised mobile object detection on Waymo Open, nuScenes, and KITTI Datasets without using any external data or supervised models. Code is available at https://github.com/YihongSun/MOD-UV.","url_abs":"https://arxiv.org/abs/2405.14841v2","url_pdf":"https://arxiv.org/pdf/2405.14841v2.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":"learning-to-detect-and-segment-mobile-objects","repo_url":"https://github.com/yihongsun/mod-uv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"motion-segmentation","task_name":"Motion Segmentation"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"self-driving-cars","task_name":"Self-Driving Cars"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"unsupervised-object-detection","task_name":"Unsupervised Object Detection"},{"task_slug":"unsupervised-object-segmentation","task_name":"Unsupervised Object Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.14841","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.14841"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/YihongSun/MOD-UV","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7},"by_repo_kind":{"official":{"samples":7,"ran":7,"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":0,"samples":[{"code_sha256_prefix":"3d511cfd2d0f8dd1","entry":"cleanout_masks","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/pseudo_labels/save_agg_pred.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/pseudo_labels/save_agg_pred.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3d511cfd2d0f8dd1"}},{"code_sha256_prefix":"32f710aababf50d6","entry":"compute_iou_matrix","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/pseudo_labels/save_agg_pred.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/pseudo_labels/save_agg_pred.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32f710aababf50d6"}},{"code_sha256_prefix":"002e7c74d4ea4cfb","entry":"filter_mask","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/pseudo_labels/save_agg_pred.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/pseudo_labels/save_agg_pred.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"002e7c74d4ea4cfb"}},{"code_sha256_prefix":"b557d65d7ad2f09e","entry":"get_img_path","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/datasets/dataset.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/datasets/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b557d65d7ad2f09e"}},{"code_sha256_prefix":"0d5bc119fb18b186","entry":"read_img","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/utils.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0d5bc119fb18b186"}},{"code_sha256_prefix":"1ec3d12de0e96f1c","entry":"readlines","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/utils.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ec3d12de0e96f1c"}},{"code_sha256_prefix":"c78b60f424caaa35","entry":"vis_2d","repo":"YihongSun/MOD-UV","repo_kind":"official","path":"moduv/utils.py","file_url":"https://github.com/YihongSun/MOD-UV/blob/HEAD/moduv/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c78b60f424caaa35"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}