{"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/towards-high-fidelity-3d-face-reconstruction","title":"Towards High-Fidelity 3D Face Reconstruction from In-the-Wild Images Using Graph Convolutional Networks","arxiv_id":"2003.05653","date":"2020-03-12","proceeding":"CVPR 2020 6","authors":["Jiangke Lin","Yi Yuan","Tianjia Shao","Kun Zhou"],"abstract":"3D Morphable Model (3DMM) based methods have achieved great success in recovering 3D face shapes from single-view images. However, the facial textures recovered by such methods lack the fidelity as exhibited in the input images. Recent work demonstrates high-quality facial texture recovering with generative networks trained from a large-scale database of high-resolution UV maps of face textures, which is hard to prepare and not publicly available. In this paper, we introduce a method to reconstruct 3D facial shapes with high-fidelity textures from single-view images in-the-wild, without the need to capture a large-scale face texture database. The main idea is to refine the initial texture generated by a 3DMM based method with facial details from the input image. To this end, we propose to use graph convolutional networks to reconstruct the detailed colors for the mesh vertices instead of reconstructing the UV map. Experiments show that our method can generate high-quality results and outperforms state-of-the-art methods in both qualitative and quantitative comparisons.","url_abs":"https://arxiv.org/abs/2003.05653v3","url_pdf":"https://arxiv.org/pdf/2003.05653v3.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":"towards-high-fidelity-3d-face-reconstruction","repo_url":"https://github.com/FuxiCV/3D-Face-GCNs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"towards-high-fidelity-3d-face-reconstruction","repo_url":"https://github.com/MohdDanish/3D-face-reconstruction","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"towards-high-fidelity-3d-face-reconstruction","repo_url":"https://github.com/yiyuan1991/3D-Face-GCNs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-face-reconstruction","task_name":"3D Face Reconstruction"},{"task_slug":"face-reconstruction","task_name":"Face Reconstruction"}],"methods":[{"method_slug":"graph-convolutional-networks","method_name":"Graph Convolutional Networks"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.05653","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.05653"}},"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/FuxiCV/3D-Face-GCNs","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MohdDanish/3D-face-reconstruction","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yiyuan1991/3D-Face-GCNs","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":3,"ran_honours":1,"unverified":11},"by_repo_kind":{"official":{"samples":2,"ran":1,"repositories":1},"listed":{"samples":13,"ran":3,"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":"fac5364e2f53c6db","entry":"conv3x3","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"face_segment.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/face_segment.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"ad5dbf57f3ea2633","entry":"get_block","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/evoLVe_model.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/evoLVe_model.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ad5dbf57f3ea2633"}},{"code_sha256_prefix":"ea7941eb1ea8ffb2","entry":"get_blocks","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/evoLVe_model.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/evoLVe_model.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":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea7941eb1ea8ffb2"}},{"code_sha256_prefix":"65a09791c6d567bf","entry":"make_paths","repo":"FuxiCV/3D-Face-GCNs","repo_kind":"official","path":"utils.py","file_url":"https://github.com/FuxiCV/3D-Face-GCNs/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65a09791c6d567bf"}},{"code_sha256_prefix":"01d4be9c45f5d3f2","entry":"distance_scipy_spatial","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/graph.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/graph.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":"01d4be9c45f5d3f2"}},{"code_sha256_prefix":"ebb82619c724ec7f","entry":"distance_sklearn_metrics","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/graph.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/graph.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":"ebb82619c724ec7f"}},{"code_sha256_prefix":"00b211ed8d329331","entry":"grid","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/graph.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/graph.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":"00b211ed8d329331"}},{"code_sha256_prefix":"903e0d3c5117eefb","entry":"l2_norm","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/evoLVe_model.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/evoLVe_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":"903e0d3c5117eefb"}},{"code_sha256_prefix":"9e0afa86effe9224","entry":"load_image_bin","repo":"FuxiCV/3D-Face-GCNs","repo_kind":"official","path":"utils.py","file_url":"https://github.com/FuxiCV/3D-Face-GCNs/blob/HEAD/utils.py","link_basis":"first_harvest_node","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":"9e0afa86effe9224"}},{"code_sha256_prefix":"7400866e4839ea97","entry":"phong_shader","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_renderer.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_renderer.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":"7400866e4839ea97"}},{"code_sha256_prefix":"d30906cfb8bc658f","entry":"read_obj","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_io.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_io.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":"d30906cfb8bc658f"}},{"code_sha256_prefix":"e368e3b2e8ac5f29","entry":"read_obj_with_group","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_io.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_io.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":"e368e3b2e8ac5f29"}},{"code_sha256_prefix":"7480ef42438e87bf","entry":"tone_mapper","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_renderer.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_renderer.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":"7480ef42438e87bf"}},{"code_sha256_prefix":"acaf7c3fb5a6fced","entry":"uv_to_color","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_io.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_io.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":"acaf7c3fb5a6fced"}},{"code_sha256_prefix":"895f977e1be0c13d","entry":"vertex_quadrics","repo":"yiyuan1991/3D-Face-GCNs","repo_kind":"listed","path":"lib/mesh_sampling.py","file_url":"https://github.com/yiyuan1991/3D-Face-GCNs/blob/HEAD/lib/mesh_sampling.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":"895f977e1be0c13d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}