{"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/chore-contact-human-and-object-reconstruction","title":"CHORE: Contact, Human and Object REconstruction from a single RGB image","arxiv_id":"2204.02445","date":"2022-04-05","proceeding":null,"authors":["Xianghui Xie","Bharat Lal Bhatnagar","Gerard Pons-Moll"],"abstract":"Most prior works in perceiving 3D humans from images reason human in isolation without their surroundings. However, humans are constantly interacting with the surrounding objects, thus calling for models that can reason about not only the human but also the object and their interaction. The problem is extremely challenging due to heavy occlusions between humans and objects, diverse interaction types and depth ambiguity. In this paper, we introduce CHORE, a novel method that learns to jointly reconstruct the human and the object from a single RGB image. CHORE takes inspiration from recent advances in implicit surface learning and classical model-based fitting. We compute a neural reconstruction of human and object represented implicitly with two unsigned distance fields, a correspondence field to a parametric body and an object pose field. This allows us to robustly fit a parametric body model and a 3D object template, while reasoning about interactions. Furthermore, prior pixel-aligned implicit learning methods use synthetic data and make assumptions that are not met in the real data. We propose a elegant depth-aware scaling that allows more efficient shape learning on real data. Experiments show that our joint reconstruction learned with the proposed strategy significantly outperforms the SOTA. Our code and models are available at https://virtualhumans.mpi-inf.mpg.de/chore","url_abs":"https://arxiv.org/abs/2204.02445v3","url_pdf":"https://arxiv.org/pdf/2204.02445v3.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":"chore-contact-human-and-object-reconstruction","repo_url":"https://github.com/xiexh20/CHORE","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-human-reconstruction","task_name":"3D Human Reconstruction"},{"task_slug":"3d-object-reconstruction","task_name":"3D Object Reconstruction"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-reconstruction","task_name":"Object Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-human-reconstruction-on-behave","task":"3D Human Reconstruction","dataset":"BEHAVE","model":"CHORE","rank_in_archive_order":2,"of":3,"metrics":{"Chamfer Distance":"5.58"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-reconstruction-on-behave","task":"3D Object Reconstruction","dataset":"BEHAVE","model":"CHORE","rank_in_archive_order":2,"of":3,"metrics":{"Chamfer Distance":"10.66"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.02445","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.02445"}},"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/xiexh20/CHORE","reach":null}],"summary":{"ran":4,"ran_draft_wrong":1,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":9,"ran":6,"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":9,"samples":[{"code_sha256_prefix":"223fba362a3f056f","entry":"BasePIFuNet","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.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":"223fba362a3f056f"}},{"code_sha256_prefix":"359700d7f3146e66","entry":"ConvBlock","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"359700d7f3146e66"}},{"code_sha256_prefix":"358bb016ed7c6ceb","entry":"HourGlass","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.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":"358bb016ed7c6ceb"}},{"code_sha256_prefix":"72aeac62ed344d63","entry":"KinectColorCamera","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"72aeac62ed344d63"}},{"code_sha256_prefix":"5baaa8c1b148ef70","entry":"conv3x3","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5baaa8c1b148ef70"}},{"code_sha256_prefix":"e871a11e2e29828c","entry":"index","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e871a11e2e29828c"}},{"code_sha256_prefix":"8035e0cb2b41fd63","entry":"CHORE","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","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":"8035e0cb2b41fd63"}},{"code_sha256_prefix":"ee7cc085bb7cc9ec","entry":"HGFilter","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","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":"ee7cc085bb7cc9ec"}},{"code_sha256_prefix":"b48c307ef8eeb2cf","entry":"init_weights","repo":"xiexh20/CHORE","repo_kind":"official","path":"model/chore.py","file_url":"https://github.com/xiexh20/CHORE/blob/HEAD/model/chore.py","link_basis":"first_harvest_node","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":"b48c307ef8eeb2cf"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}