{"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/opd-single-view-3d-openable-part-detection","title":"OPD: Single-view 3D Openable Part Detection","arxiv_id":"2203.16421","date":"2022-03-30","proceeding":null,"authors":["Hanxiao Jiang","Yongsen Mao","Manolis Savva","Angel X. Chang"],"abstract":"We address the task of predicting what parts of an object can open and how they move when they do so. The input is a single image of an object, and as output we detect what parts of the object can open, and the motion parameters describing the articulation of each openable part. To tackle this task, we create two datasets of 3D objects: OPDSynth based on existing synthetic objects, and OPDReal based on RGBD reconstructions of real objects. We then design OPDRCNN, a neural architecture that detects openable parts and predicts their motion parameters. Our experiments show that this is a challenging task especially when considering generalization across object categories, and the limited amount of information in a single image. Our architecture outperforms baselines and prior work especially for RGB image inputs. Short video summary at https://www.youtube.com/watch?v=P85iCaD0rfc","url_abs":"https://arxiv.org/abs/2203.16421v1","url_pdf":"https://arxiv.org/pdf/2203.16421v1.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":"opd-single-view-3d-openable-part-detection","repo_url":"https://github.com/3dlg-hcvc/OPD","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"opd-single-view-3d-openable-part-detection","task_name":"OPD: Single-view 3D Openable Part Detection"},{"task_slug":"object","task_name":"Object"}],"methods":[],"datasets_introduced":[{"slug":"opd-dataset","name":"OPD Dataset","full_name":"OPD Articulated Object Dataset"}],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2203.16421","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.16421"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/3dlg-hcvc/OPD","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":"d737599fc3d7cffd","entry":"ZYX2Mat","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"motlib/evaluation/motion_coco_eval.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/motlib/evaluation/motion_coco_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d737599fc3d7cffd"}},{"code_sha256_prefix":"76bed73d9e9cfad4","entry":"create_image_mapper","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"ANCSH_convert_results.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/ANCSH_convert_results.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"76bed73d9e9cfad4"}},{"code_sha256_prefix":"2d58f56e49268746","entry":"getDegreeFromAxes","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"motlib/evaluation/motion_coco_eval.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/motlib/evaluation/motion_coco_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2d58f56e49268746"}},{"code_sha256_prefix":"104f88369cce8a5d","entry":"getDiagLength","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"render_pred.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/render_pred.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"104f88369cce8a5d"}},{"code_sha256_prefix":"1497fe0ba374fb1e","entry":"getFocalLength","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"ANCSH_convert_results.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/ANCSH_convert_results.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1497fe0ba374fb1e"}},{"code_sha256_prefix":"494f1bd4b0d1fcc6","entry":"get_iou","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"render_pred.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/render_pred.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"494f1bd4b0d1fcc6"}},{"code_sha256_prefix":"a1d6c76bfd5246bb","entry":"img_annotation","repo":"3dlg-hcvc/OPD","repo_kind":"official","path":"render_pred.py","file_url":"https://github.com/3dlg-hcvc/OPD/blob/HEAD/render_pred.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1d6c76bfd5246bb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}