{"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/learning-dynamic-tetrahedra-for-high-quality","title":"Learning Dynamic Tetrahedra for High-Quality Talking Head Synthesis","arxiv_id":"2402.17364","date":"2024-02-27","proceeding":"CVPR 2024 1","authors":["ZiCheng Zhang","Ruobing Zheng","Ziwen Liu","Congying Han","Tianqi Li","Meng Wang","Tiande Guo","Jingdong Chen","Bonan Li","Ming Yang"],"abstract":"Recent works in implicit representations, such as Neural Radiance Fields (NeRF), have advanced the generation of realistic and animatable head avatars from video sequences. These implicit methods are still confronted by visual artifacts and jitters, since the lack of explicit geometric constraints poses a fundamental challenge in accurately modeling complex facial deformations. In this paper, we introduce Dynamic Tetrahedra (DynTet), a novel hybrid representation that encodes explicit dynamic meshes by neural networks to ensure geometric consistency across various motions and viewpoints. DynTet is parameterized by the coordinate-based networks which learn signed distance, deformation, and material texture, anchoring the training data into a predefined tetrahedra grid. Leveraging Marching Tetrahedra, DynTet efficiently decodes textured meshes with a consistent topology, enabling fast rendering through a differentiable rasterizer and supervision via a pixel loss. To enhance training efficiency, we incorporate classical 3D Morphable Models to facilitate geometry learning and define a canonical space for simplifying texture learning. These advantages are readily achievable owing to the effective geometric representation employed in DynTet. Compared with prior works, DynTet demonstrates significant improvements in fidelity, lip synchronization, and real-time performance according to various metrics. Beyond producing stable and visually appealing synthesis videos, our method also outputs the dynamic meshes which is promising to enable many emerging applications.","url_abs":"https://arxiv.org/abs/2402.17364v1","url_pdf":"https://arxiv.org/pdf/2402.17364v1.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":"learning-dynamic-tetrahedra-for-high-quality","repo_url":"https://github.com/zhangzc21/dyntet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"nerf","task_name":"NeRF"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.17364","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.17364"}},"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/zhangzc21/dyntet","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/zhangzc21/DynTet","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"ran":7,"unverified":2},"by_repo_kind":{"official":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"zhangzc21/DynTet","repo_kind":"official","path":"data_utils/face_parsing/resnet.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/data_utils/face_parsing/resnet.py","link_basis":"harvester_set","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":"fac5364e2f53c6db"}},{"code_sha256_prefix":"325b8d54f52e2421","entry":"create_layer_basic","repo":"zhangzc21/DynTet","repo_kind":"official","path":"data_utils/face_parsing/resnet.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/data_utils/face_parsing/resnet.py","link_basis":"harvester_set","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":"325b8d54f52e2421"}},{"code_sha256_prefix":"303fe487d6692fcf","entry":"enlarge_mask","repo":"zhangzc21/DynTet","repo_kind":"official","path":"dyntet/model.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/dyntet/model.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":"303fe487d6692fcf"}},{"code_sha256_prefix":"09dce80ad048d5db","entry":"get_activation","repo":"zhangzc21/DynTet","repo_kind":"official","path":"geometry/network.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/geometry/network.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":"09dce80ad048d5db"}},{"code_sha256_prefix":"17eaabb10a2928a1","entry":"obtain_seq_index","repo":"zhangzc21/DynTet","repo_kind":"official","path":"infer.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/infer.py","link_basis":"first_harvest_node","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":"17eaabb10a2928a1"}},{"code_sha256_prefix":"9cb391e76167b776","entry":"params_num","repo":"zhangzc21/DynTet","repo_kind":"official","path":"dyntet/model.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/dyntet/model.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":"9cb391e76167b776"}},{"code_sha256_prefix":"9cd638b5d5e51d02","entry":"seconds_to_hhmmssms","repo":"zhangzc21/DynTet","repo_kind":"official","path":"data_utils/cut_video.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/data_utils/cut_video.py","link_basis":"first_harvest_node","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":"9cd638b5d5e51d02"}},{"code_sha256_prefix":"4db337c186f62190","entry":"sliding_window_average","repo":"zhangzc21/DynTet","repo_kind":"official","path":"infer.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/infer.py","link_basis":"first_harvest_node","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":"4db337c186f62190"}},{"code_sha256_prefix":"ef29b7d4dfc69001","entry":"load_3dmm","repo":"zhangzc21/DynTet","repo_kind":"official","path":"infer.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/infer.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":"ef29b7d4dfc69001"}},{"code_sha256_prefix":"b680fd95e50b247b","entry":"photo_loss","repo":"zhangzc21/DynTet","repo_kind":"official","path":"dyntet/model.py","file_url":"https://github.com/zhangzc21/DynTet/blob/HEAD/dyntet/model.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":"b680fd95e50b247b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}