{"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/paris-part-level-reconstruction-and-motion","title":"PARIS: Part-level Reconstruction and Motion Analysis for Articulated Objects","arxiv_id":"2308.07391","date":"2023-08-14","proceeding":"ICCV 2023 1","authors":["Jiayi Liu","Ali Mahdavi-Amiri","Manolis Savva"],"abstract":"We address the task of simultaneous part-level reconstruction and motion parameter estimation for articulated objects. Given two sets of multi-view images of an object in two static articulation states, we decouple the movable part from the static part and reconstruct shape and appearance while predicting the motion parameters. To tackle this problem, we present PARIS: a self-supervised, end-to-end architecture that learns part-level implicit shape and appearance models and optimizes motion parameters jointly without any 3D supervision, motion, or semantic annotation. Our experiments show that our method generalizes better across object categories, and outperforms baselines and prior work that are given 3D point clouds as input. Our approach improves reconstruction relative to state-of-the-art baselines with a Chamfer-L1 distance reduction of 3.94 (45.2%) for objects and 26.79 (84.5%) for parts, and achieves 5% error rate for motion estimation across 10 object categories. Video summary at: https://youtu.be/tDSrROPCgUc","url_abs":"https://arxiv.org/abs/2308.07391v1","url_pdf":"https://arxiv.org/pdf/2308.07391v1.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":"paris-part-level-reconstruction-and-motion","repo_url":"https://github.com/3dlg-hcvc/paris","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"articulated-object-modelling","task_name":"Articulated Object modelling"},{"task_slug":"motion-estimation","task_name":"Motion Estimation"},{"task_slug":"parameter-estimation","task_name":"parameter estimation"}],"methods":[],"datasets_introduced":[{"slug":"paris-dataset","name":"PARIS Dataset","full_name":"PARIS Two-Part Object Dataset"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.07391","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.07391"}},"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/paris","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"unverified":2},"by_repo_kind":{"official":{"samples":9,"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":"45090c68bfc689c0","entry":"cast_rays","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/ray_utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/ray_utils.py","link_basis":"harvester_set","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":"45090c68bfc689c0"}},{"code_sha256_prefix":"456eeade4275ae9d","entry":"dot","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/utils.py","link_basis":"harvester_set","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":"456eeade4275ae9d"}},{"code_sha256_prefix":"d39816e07771a285","entry":"get_activation","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/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":"d39816e07771a285"}},{"code_sha256_prefix":"436816f5ff880b73","entry":"get_ray_directions","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/ray_utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/ray_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":"436816f5ff880b73"}},{"code_sha256_prefix":"4e5f1556e15a1cec","entry":"get_rotation_axis_angle","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/preprocess.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":"4e5f1556e15a1cec"}},{"code_sha256_prefix":"f01de641f2fc93da","entry":"merge_meshsets","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/preprocess.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":"f01de641f2fc93da"}},{"code_sha256_prefix":"5061e5677030ce23","entry":"normalize","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"preprocess.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/preprocess.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":"5061e5677030ce23"}},{"code_sha256_prefix":"84eb8261612388be","entry":"chunk_batch","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/utils.py","link_basis":"first_harvest_node","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":"84eb8261612388be"}},{"code_sha256_prefix":"760ae16368cc7e68","entry":"get_rays","repo":"3dlg-hcvc/paris","repo_kind":"official","path":"models/ray_utils.py","file_url":"https://github.com/3dlg-hcvc/paris/blob/HEAD/models/ray_utils.py","link_basis":"first_harvest_node","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":"760ae16368cc7e68"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}