{"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/gomavatar-efficient-animatable-human-modeling","title":"GoMAvatar: Efficient Animatable Human Modeling from Monocular Video Using Gaussians-on-Mesh","arxiv_id":"2404.07991","date":"2024-04-11","proceeding":"CVPR 2024 1","authors":["Jing Wen","Xiaoming Zhao","Zhongzheng Ren","Alexander G. Schwing","Shenlong Wang"],"abstract":"We introduce GoMAvatar, a novel approach for real-time, memory-efficient, high-quality animatable human modeling. GoMAvatar takes as input a single monocular video to create a digital avatar capable of re-articulation in new poses and real-time rendering from novel viewpoints, while seamlessly integrating with rasterization-based graphics pipelines. Central to our method is the Gaussians-on-Mesh representation, a hybrid 3D model combining rendering quality and speed of Gaussian splatting with geometry modeling and compatibility of deformable meshes. We assess GoMAvatar on ZJU-MoCap data and various YouTube videos. GoMAvatar matches or surpasses current monocular human modeling algorithms in rendering quality and significantly outperforms them in computational efficiency (43 FPS) while being memory-efficient (3.63 MB per subject).","url_abs":"https://arxiv.org/abs/2404.07991v1","url_pdf":"https://arxiv.org/pdf/2404.07991v1.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":"gomavatar-efficient-animatable-human-modeling","repo_url":"https://github.com/wenj/GoMAvatar","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.07991","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.07991"}},"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/wenj/GoMAvatar","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":15},"by_repo_kind":{"listed":{"samples":16,"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":0,"samples":[{"code_sha256_prefix":"59b04ecdb5519178","entry":"rotate_camera_by_frame_idx","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/camera_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/camera_util.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":"59b04ecdb5519178"}},{"code_sha256_prefix":"9cacc3435541f65e","entry":"apply_global_tfm_to_camera","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/camera_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/camera_util.py","link_basis":"harvester_set","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":"9cacc3435541f65e"}},{"code_sha256_prefix":"5830dfe18bc47688","entry":"body_pose_to_body_RTs","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/body_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/body_util.py","link_basis":"harvester_set","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":"5830dfe18bc47688"}},{"code_sha256_prefix":"93bb0e54f3cfd28e","entry":"body_pose_to_body_RTs_tensor","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/body_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/body_util.py","link_basis":"harvester_set","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":"93bb0e54f3cfd28e"}},{"code_sha256_prefix":"ef5d10bbaa353d56","entry":"compute_loss","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"train_pose.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/train_pose.py","link_basis":"harvester_set","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":"ef5d10bbaa353d56"}},{"code_sha256_prefix":"8a44e93aed88d28c","entry":"get_camrot","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/camera_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/camera_util.py","link_basis":"harvester_set","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":"8a44e93aed88d28c"}},{"code_sha256_prefix":"0a887fdf32e22ec3","entry":"get_canonical_global_tfms","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/body_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/body_util.py","link_basis":"harvester_set","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":"0a887fdf32e22ec3"}},{"code_sha256_prefix":"40caf9fbfe050a14","entry":"get_embedder","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"models/modules/shadow_module.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/models/modules/shadow_module.py","link_basis":"harvester_set","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":"40caf9fbfe050a14"}},{"code_sha256_prefix":"e089d241723dc60b","entry":"get_embedder","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"models/modules/non_rigid_module.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/models/modules/non_rigid_module.py","link_basis":"harvester_set","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":"e089d241723dc60b"}},{"code_sha256_prefix":"20750c0a4564fb51","entry":"get_transformation_from_triangle_steiner","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"models/model.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/models/model.py","link_basis":"harvester_set","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":"20750c0a4564fb51"}},{"code_sha256_prefix":"eec396c82b5e42bd","entry":"list_files","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/file_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/file_util.py","link_basis":"harvester_set","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":"eec396c82b5e42bd"}},{"code_sha256_prefix":"2e91b3e45e7adcd1","entry":"make_meshgrid","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/network_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/network_util.py","link_basis":"harvester_set","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":"2e91b3e45e7adcd1"}},{"code_sha256_prefix":"48481a856049dd14","entry":"mask_to_2dpcd","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/network_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/network_util.py","link_basis":"harvester_set","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":"48481a856049dd14"}},{"code_sha256_prefix":"f1af46e17b536d4d","entry":"sample_tensor","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/network_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/network_util.py","link_basis":"harvester_set","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":"f1af46e17b536d4d"}},{"code_sha256_prefix":"dd6fb7e4e7403610","entry":"split_path","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"utils/file_util.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/utils/file_util.py","link_basis":"harvester_set","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":"dd6fb7e4e7403610"}},{"code_sha256_prefix":"a54617b4d1951dc3","entry":"unpack","repo":"wenj/GoMAvatar","repo_kind":"listed","path":"train_pose.py","file_url":"https://github.com/wenj/GoMAvatar/blob/HEAD/train_pose.py","link_basis":"harvester_set","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":"a54617b4d1951dc3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}