{"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/i-m-avatar-implicit-morphable-head-avatars","title":"I M Avatar: Implicit Morphable Head Avatars from Videos","arxiv_id":"2112.07471","date":"2021-12-14","proceeding":"CVPR 2022 1","authors":["Yufeng Zheng","Victoria Fernández Abrevaya","Marcel C. Bühler","Xu Chen","Michael J. Black","Otmar Hilliges"],"abstract":"Traditional 3D morphable face models (3DMMs) provide fine-grained control over expression but cannot easily capture geometric and appearance details. Neural volumetric representations approach photorealism but are hard to animate and do not generalize well to unseen expressions. To tackle this problem, we propose IMavatar (Implicit Morphable avatar), a novel method for learning implicit head avatars from monocular videos. Inspired by the fine-grained control mechanisms afforded by conventional 3DMMs, we represent the expression- and pose- related deformations via learned blendshapes and skinning fields. These attributes are pose-independent and can be used to morph the canonical geometry and texture fields given novel expression and pose parameters. We employ ray marching and iterative root-finding to locate the canonical surface intersection for each pixel. A key contribution is our novel analytical gradient formulation that enables end-to-end training of IMavatars from videos. We show quantitatively and qualitatively that our method improves geometry and covers a more complete expression space compared to state-of-the-art methods.","url_abs":"https://arxiv.org/abs/2112.07471v6","url_pdf":"https://arxiv.org/pdf/2112.07471v6.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":"i-m-avatar-implicit-morphable-head-avatars","repo_url":"https://github.com/zhengyuf/imavatar","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"morph","task_name":"MORPH"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.07471","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.07471"}},"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/zhengyuf/imavatar","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":"43ebe3b786b2d59b","entry":"to_np","repo":"zhengyuf/imavatar","repo_kind":"official","path":"code/flame/FLAME.py","file_url":"https://github.com/zhengyuf/imavatar/blob/HEAD/code/flame/FLAME.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"43ebe3b786b2d59b"}},{"code_sha256_prefix":"94904a5bd2e1074f","entry":"to_tensor","repo":"zhengyuf/imavatar","repo_kind":"official","path":"code/flame/FLAME.py","file_url":"https://github.com/zhengyuf/imavatar/blob/HEAD/code/flame/FLAME.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":"94904a5bd2e1074f"}},{"code_sha256_prefix":"1d957d803f6ebba0","entry":"broyden","repo":"zhengyuf/imavatar","repo_kind":"official","path":"code/model/broyden.py","file_url":"https://github.com/zhengyuf/imavatar/blob/HEAD/code/model/broyden.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":"1d957d803f6ebba0"}},{"code_sha256_prefix":"40caf9fbfe050a14","entry":"get_embedder","repo":"zhengyuf/imavatar","repo_kind":"official","path":"code/model/embedder.py","file_url":"https://github.com/zhengyuf/imavatar/blob/HEAD/code/model/embedder.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"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}