{"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/putting-people-in-their-place-monocular","title":"Putting People in their Place: Monocular Regression of 3D People in Depth","arxiv_id":"2112.08274","date":"2021-12-15","proceeding":"CVPR 2022 1","authors":["Yu Sun","Wu Liu","Qian Bao","Yili Fu","Tao Mei","Michael J. Black"],"abstract":"Given an image with multiple people, our goal is to directly regress the pose and shape of all the people as well as their relative depth. Inferring the depth of a person in an image, however, is fundamentally ambiguous without knowing their height. This is particularly problematic when the scene contains people of very different sizes, e.g. from infants to adults. To solve this, we need several things. First, we develop a novel method to infer the poses and depth of multiple people in a single image. While previous work that estimates multiple people does so by reasoning in the image plane, our method, called BEV, adds an additional imaginary Bird's-Eye-View representation to explicitly reason about depth. BEV reasons simultaneously about body centers in the image and in depth and, by combing these, estimates 3D body position. Unlike prior work, BEV is a single-shot method that is end-to-end differentiable. Second, height varies with age, making it impossible to resolve depth without also estimating the age of people in the image. To do so, we exploit a 3D body model space that lets BEV infer shapes from infants to adults. Third, to train BEV, we need a new dataset. Specifically, we create a \"Relative Human\" (RH) dataset that includes age labels and relative depth relationships between the people in the images. Extensive experiments on RH and AGORA demonstrate the effectiveness of the model and training scheme. BEV outperforms existing methods on depth reasoning, child shape estimation, and robustness to occlusion. The code and dataset are released for research purposes.","url_abs":"https://arxiv.org/abs/2112.08274v3","url_pdf":"https://arxiv.org/pdf/2112.08274v3.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":"putting-people-in-their-place-monocular","repo_url":"https://github.com/Arthur151/ROMP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"putting-people-in-their-place-monocular","repo_url":"https://github.com/Arthur151/Relative_Human","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"putting-people-in-their-place-monocular","repo_url":"https://github.com/Arthur151/CenterHMR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"putting-people-in-their-place-monocular","repo_url":"https://github.com/cai-jianfeng/ROMP_mindspore","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-depth-estimation","task_name":"3D Depth Estimation"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[],"datasets_introduced":[{"slug":"relative-human","name":"Relative Human","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-depth-estimation-on-relative-human","task":"3D Depth Estimation","dataset":"Relative Human","model":"BEV","rank_in_archive_order":1,"of":3,"metrics":{"PCDR":"68.27","PCDR-Adult":"69.71","PCDR-Baby":"60.77","PCDR-Kid":"67.09","PCDR-Teen":"66.07","mPCDK":"0.884"},"uses_additional_data":true}],"syntology":{"syntology_url":"https://syntology.ai/paper/2112.08274","atlas_url":"https://app.syntology.ai/?focus=2112.08274","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.08274"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Arthur151/ROMP","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Arthur151/CenterHMR","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cai-jianfeng/ROMP_mindspore","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Arthur151/Relative_Human","reach":null}],"summary":{"ran":1,"ran_honours":1,"ran_fixture":1,"unverified":5},"by_repo_kind":{"official":{"samples":3,"ran":2,"repositories":1},"listed":{"samples":5,"ran":1,"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":"5bbf1999f902db71","entry":"cam2pixel","repo":"cai-jianfeng/ROMP_mindspore","repo_kind":"listed","path":"romp/lib/dataset/MuPoTS.py","file_url":"https://github.com/cai-jianfeng/ROMP_mindspore/blob/HEAD/romp/lib/dataset/MuPoTS.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5bbf1999f902db71"}},{"code_sha256_prefix":"77840d506f4c57cf","entry":"compute_prf1","repo":"Arthur151/Relative_Human","repo_kind":"official","path":"RH_evaluation/evaluation.py","file_url":"https://github.com/Arthur151/Relative_Human/blob/HEAD/RH_evaluation/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"77840d506f4c57cf"}},{"code_sha256_prefix":"bad47202c970ebbf","entry":"get_results","repo":"Arthur151/Relative_Human","repo_kind":"official","path":"RH_evaluation/evaluation.py","file_url":"https://github.com/Arthur151/Relative_Human/blob/HEAD/RH_evaluation/evaluation.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bad47202c970ebbf"}},{"code_sha256_prefix":"eeaac5bd5e411a86","entry":"BHWC_to_BCHW","repo":"cai-jianfeng/ROMP_mindspore","repo_kind":"listed","path":"simple_romp/romp/model.py","file_url":"https://github.com/cai-jianfeng/ROMP_mindspore/blob/HEAD/simple_romp/romp/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"eeaac5bd5e411a86"}},{"code_sha256_prefix":"cc1a3cf9d8e4ab4f","entry":"get_cam3dmap_anchor","repo":"cai-jianfeng/ROMP_mindspore","repo_kind":"listed","path":"romp/lib/constants.py","file_url":"https://github.com/cai-jianfeng/ROMP_mindspore/blob/HEAD/romp/lib/constants.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cc1a3cf9d8e4ab4f"}},{"code_sha256_prefix":"491106b5da444b53","entry":"joint_mapping","repo":"Arthur151/Relative_Human","repo_kind":"official","path":"RH_evaluation/evaluation.py","file_url":"https://github.com/Arthur151/Relative_Human/blob/HEAD/RH_evaluation/evaluation.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":"491106b5da444b53"}},{"code_sha256_prefix":"a656a9f06447e9fe","entry":"parse_args","repo":"cai-jianfeng/ROMP_mindspore","repo_kind":"listed","path":"romp/lib/config.py","file_url":"https://github.com/cai-jianfeng/ROMP_mindspore/blob/HEAD/romp/lib/config.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a656a9f06447e9fe"}},{"code_sha256_prefix":"42b00d7c582e6acd","entry":"read_calibration","repo":"cai-jianfeng/ROMP_mindspore","repo_kind":"listed","path":"romp/lib/dataset/MuCo.py","file_url":"https://github.com/cai-jianfeng/ROMP_mindspore/blob/HEAD/romp/lib/dataset/MuCo.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"42b00d7c582e6acd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}