{"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/shapo-implicit-representations-for-multi","title":"ShAPO: Implicit Representations for Multi-Object Shape, Appearance, and Pose Optimization","arxiv_id":"2207.13691","date":"2022-07-27","proceeding":null,"authors":["Muhammad Zubair Irshad","Sergey Zakharov","Rares Ambrus","Thomas Kollar","Zsolt Kira","Adrien Gaidon"],"abstract":"Our method studies the complex task of object-centric 3D understanding from a single RGB-D observation. As it is an ill-posed problem, existing methods suffer from low performance for both 3D shape and 6D pose and size estimation in complex multi-object scenarios with occlusions. We present ShAPO, a method for joint multi-object detection, 3D textured reconstruction, 6D object pose and size estimation. Key to ShAPO is a single-shot pipeline to regress shape, appearance and pose latent codes along with the masks of each object instance, which is then further refined in a sparse-to-dense fashion. A novel disentangled shape and appearance database of priors is first learned to embed objects in their respective shape and appearance space. We also propose a novel, octree-based differentiable optimization step, allowing us to further improve object shape, pose and appearance simultaneously under the learned latent space, in an analysis-by-synthesis fashion. Our novel joint implicit textured object representation allows us to accurately identify and reconstruct novel unseen objects without having access to their 3D meshes. Through extensive experiments, we show that our method, trained on simulated indoor scenes, accurately regresses the shape, appearance and pose of novel objects in the real-world with minimal fine-tuning. Our method significantly out-performs all baselines on the NOCS dataset with an 8% absolute improvement in mAP for 6D pose estimation. Project page: https://zubair-irshad.github.io/projects/ShAPO.html","url_abs":"https://arxiv.org/abs/2207.13691v1","url_pdf":"https://arxiv.org/pdf/2207.13691v1.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":"shapo-implicit-representations-for-multi","repo_url":"https://github.com/zubair-irshad/shapo","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"shapo-implicit-representations-for-multi","repo_url":"https://github.com/zubair-irshad/CenterSnap","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-shape-reconstruction","task_name":"3D Shape Reconstruction"},{"task_slug":"3d-shape-reconstruction-from-a-single-2d","task_name":"3D Shape Reconstruction From A Single 2D Image"},{"task_slug":"6d-pose-estimation-1","task_name":"6D Pose Estimation"},{"task_slug":"6d-pose-estimation-using-rgbd","task_name":"6D Pose Estimation using RGBD"},{"task_slug":"neural-rendering","task_name":"Neural Rendering"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.13691","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.13691"}},"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/zubair-irshad/shapo","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zubair-irshad/CenterSnap","reach":null}],"summary":{"ran":3},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"5ef4e62b34a0ad6d","entry":"PointCloudAE","repo":"zubair-irshad/CenterSnap","repo_kind":"listed","path":"simnet/lib/net/models/auto_encoder.py","file_url":"https://github.com/zubair-irshad/CenterSnap/blob/HEAD/simnet/lib/net/models/auto_encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5ef4e62b34a0ad6d"}},{"code_sha256_prefix":"8f01f90f1437af1b","entry":"PointCloudDecoder","repo":"zubair-irshad/CenterSnap","repo_kind":"listed","path":"simnet/lib/net/models/auto_encoder.py","file_url":"https://github.com/zubair-irshad/CenterSnap/blob/HEAD/simnet/lib/net/models/auto_encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8f01f90f1437af1b"}},{"code_sha256_prefix":"f176443d91c7ea64","entry":"PointCloudEncoder","repo":"zubair-irshad/CenterSnap","repo_kind":"listed","path":"simnet/lib/net/models/auto_encoder.py","file_url":"https://github.com/zubair-irshad/CenterSnap/blob/HEAD/simnet/lib/net/models/auto_encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f176443d91c7ea64"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}