{"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/hugs-human-gaussian-splats","title":"HUGS: Human Gaussian Splats","arxiv_id":"2311.17910","date":"2023-11-29","proceeding":"CVPR 2024 1","authors":["Muhammed Kocabas","Jen-Hao Rick Chang","James Gabriel","Oncel Tuzel","Anurag Ranjan"],"abstract":"Recent advances in neural rendering have improved both training and rendering times by orders of magnitude. While these methods demonstrate state-of-the-art quality and speed, they are designed for photogrammetry of static scenes and do not generalize well to freely moving humans in the environment. In this work, we introduce Human Gaussian Splats (HUGS) that represents an animatable human together with the scene using 3D Gaussian Splatting (3DGS). Our method takes only a monocular video with a small number of (50-100) frames, and it automatically learns to disentangle the static scene and a fully animatable human avatar within 30 minutes. We utilize the SMPL body model to initialize the human Gaussians. To capture details that are not modeled by SMPL (e.g. cloth, hairs), we allow the 3D Gaussians to deviate from the human body model. Utilizing 3D Gaussians for animated humans brings new challenges, including the artifacts created when articulating the Gaussians. We propose to jointly optimize the linear blend skinning weights to coordinate the movements of individual Gaussians during animation. Our approach enables novel-pose synthesis of human and novel view synthesis of both the human and the scene. We achieve state-of-the-art rendering quality with a rendering speed of 60 FPS while being ~100x faster to train over previous work. Our code will be announced here: https://github.com/apple/ml-hugs","url_abs":"https://arxiv.org/abs/2311.17910v1","url_pdf":"https://arxiv.org/pdf/2311.17910v1.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":"hugs-human-gaussian-splats","repo_url":"https://github.com/apple/ml-hugs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"3dgs","task_name":"3DGS"},{"task_slug":"neural-rendering","task_name":"Neural Rendering"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.17910","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.17910"}},"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/apple/ml-hugs","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":8},"by_repo_kind":{"official":{"samples":8,"ran":8,"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":8,"samples":[{"code_sha256_prefix":"942f75b3c9c56978","entry":"batch_index_select","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/models/hugs_wo_trimlp.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/models/hugs_wo_trimlp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"942f75b3c9c56978"}},{"code_sha256_prefix":"ff0692817faeefdc","entry":"get_center_and_diag","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/datasets/neuman.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/datasets/neuman.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ff0692817faeefdc"}},{"code_sha256_prefix":"547896997ec59d5a","entry":"get_data_splits","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/datasets/neuman.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/datasets/neuman.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"547896997ec59d5a"}},{"code_sha256_prefix":"583773e4dabaeef2","entry":"l1_loss","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/losses/utils.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/losses/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"583773e4dabaeef2"}},{"code_sha256_prefix":"8c3b0f873ba11813","entry":"l2_loss","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/losses/utils.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/losses/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8c3b0f873ba11813"}},{"code_sha256_prefix":"2ddf02e3e23c96de","entry":"load_smpl_param","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/datasets/neuman.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/datasets/neuman.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2ddf02e3e23c96de"}},{"code_sha256_prefix":"56e9beafd600f5be","entry":"rot_z","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/datasets/utils.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/datasets/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"56e9beafd600f5be"}},{"code_sha256_prefix":"bcb05d8eb3e8a3e4","entry":"total_variation_loss","repo":"apple/ml-hugs","repo_kind":"official","path":"hugs/losses/utils.py","file_url":"https://github.com/apple/ml-hugs/blob/HEAD/hugs/losses/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bcb05d8eb3e8a3e4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}