{"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/joint-3d-face-reconstruction-and-dense","title":"Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network","arxiv_id":"1803.07835","date":"2018-03-21","proceeding":"ECCV 2018 9","authors":["Yao Feng","Fan Wu","Xiaohu Shao","Yan-Feng Wang","Xi Zhou"],"abstract":"We propose a straightforward method that simultaneously reconstructs the 3D\nfacial structure and provides dense alignment. To achieve this, we design a 2D\nrepresentation called UV position map which records the 3D shape of a complete\nface in UV space, then train a simple Convolutional Neural Network to regress\nit from a single 2D image. We also integrate a weight mask into the loss\nfunction during training to improve the performance of the network. Our method\ndoes not rely on any prior face model, and can reconstruct full facial geometry\nalong with semantic meaning. Meanwhile, our network is very light-weighted and\nspends only 9.8ms to process an image, which is extremely faster than previous\nworks. Experiments on multiple challenging datasets show that our method\nsurpasses other state-of-the-art methods on both reconstruction and alignment\ntasks by a large margin.","url_abs":"http://arxiv.org/abs/1803.07835v1","url_pdf":"http://arxiv.org/pdf/1803.07835v1.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":"joint-3d-face-reconstruction-and-dense","repo_url":"https://github.com/YadiraF/PRNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"joint-3d-face-reconstruction-and-dense","repo_url":"https://github.com/heathentw/prnet-tf2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"joint-3d-face-reconstruction-and-dense","repo_url":"https://github.com/jimmy0087/faceai-master","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"joint-3d-face-reconstruction-and-dense","repo_url":"https://github.com/minoring/PRNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"3d-face-reconstruction","task_name":"3D Face Reconstruction"},{"task_slug":"face-alignment","task_name":"Face Alignment"},{"task_slug":"face-model","task_name":"Face Model"},{"task_slug":"face-reconstruction","task_name":"Face Reconstruction"},{"task_slug":null,"task_name":"Position"},{"task_slug":"regression-1","task_name":"regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-face-reconstruction-on-aflw2000-3d","task":"3D Face Reconstruction","dataset":"AFLW2000-3D","model":"PRN","rank_in_archive_order":5,"of":8,"metrics":{"Mean NME ":"3.9625%"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-florence","task":"3D Face Reconstruction","dataset":"Florence","model":"PRN","rank_in_archive_order":1,"of":16,"metrics":{"Mean NME ":"3.7551%"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-now-benchmark-1","task":"3D Face Reconstruction","dataset":"NoW Benchmark","model":"PRNet","rank_in_archive_order":15,"of":17,"metrics":{"Mean Reconstruction Error (mm)":"1.98","Median Reconstruction Error":"1.50","Stdev Reconstruction Error (mm)":"1.88"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-realy","task":"3D Face Reconstruction","dataset":"REALY","model":"PRNet","rank_in_archive_order":15,"of":24,"metrics":{"@cheek":"1.863 (±0.698)","@forehead":"2.429 (±0.588)","@mouth":"1.838 (±0.637)","@nose":"1.923 (±0.518)","all":"2.013"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-realy-side-view","task":"3D Face Reconstruction","dataset":"REALY (side-view)","model":"PRNet","rank_in_archive_order":12,"of":19,"metrics":{"@cheek":"1.960 (±0.731)","@forehead":"2.445 (±0.570)","@mouth":"1.856 (±0.607)","@nose":"1.868 (±0.510)","all":"2.032"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-stirling-hq-fg2018","task":"3D Face Reconstruction","dataset":"Stirling-HQ (FG2018 3D face reconstruction challenge)","model":"PRNet","rank_in_archive_order":4,"of":4,"metrics":{"Mean Reconstruction Error (mm)":"2.06"},"uses_additional_data":false},{"leaderboard":"/sota/3d-face-reconstruction-on-stirling-lq-fg2018","task":"3D Face Reconstruction","dataset":"Stirling-LQ (FG2018 3D face reconstruction challenge)","model":"PRNet","rank_in_archive_order":4,"of":4,"metrics":{"Mean Reconstruction Error (mm)":"2.38"},"uses_additional_data":false},{"leaderboard":"/sota/face-alignment-on-aflw-lfpa","task":"Face Alignment","dataset":"AFLW-LFPA","model":"FPN","rank_in_archive_order":1,"of":3,"metrics":{"Mean NME ":"2.93%"},"uses_additional_data":false},{"leaderboard":"/sota/face-alignment-on-aflw2000-3d","task":"Face Alignment","dataset":"AFLW2000-3D","model":"PRN","rank_in_archive_order":9,"of":14,"metrics":{"Balanced NME (2D Sparse Alignment)":"3.62%","Mean NME(3D Dense Alignment)":"4.40%"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1803.07835","atlas_url":"https://app.syntology.ai/?focus=1803.07835","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.07835"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/jimmy0087/faceai-master","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/heathentw/prnet-tf2","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YadiraF/PRNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/minoring/PRNet","reach":{"status":"ok"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"ran":0,"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":"07326d46bad4e31e","entry":"P2sRt","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/estimate_pose.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/estimate_pose.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":"07326d46bad4e31e"}},{"code_sha256_prefix":"2c47072c128b71f5","entry":"frontalize","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/rotate_vertices.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/rotate_vertices.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":"2c47072c128b71f5"}},{"code_sha256_prefix":"50572306e7c01f27","entry":"get_point_weight","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/render.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/render.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":"50572306e7c01f27"}},{"code_sha256_prefix":"05f23476146a0cfe","entry":"isPointInTri","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/render.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/render.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":"05f23476146a0cfe"}},{"code_sha256_prefix":"5d64cc8f381e2dbd","entry":"isRotationMatrix","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/estimate_pose.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/estimate_pose.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":"5d64cc8f381e2dbd"}},{"code_sha256_prefix":"b3226b96c3df432a","entry":"matrix2angle","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/estimate_pose.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/estimate_pose.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":"b3226b96c3df432a"}},{"code_sha256_prefix":"eb07d94367663cae","entry":"plot_kpt","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/cv_plot.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/cv_plot.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":"eb07d94367663cae"}},{"code_sha256_prefix":"e90ac38cb687dd7d","entry":"plot_pose_box","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/cv_plot.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/cv_plot.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":"e90ac38cb687dd7d"}},{"code_sha256_prefix":"273ff544685cb7f1","entry":"plot_vertices","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/cv_plot.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/cv_plot.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":"273ff544685cb7f1"}},{"code_sha256_prefix":"51145c8552370f7c","entry":"render_texture","repo":"YadiraF/PRNet","repo_kind":"official","path":"utils/render.py","file_url":"https://github.com/YadiraF/PRNet/blob/HEAD/utils/render.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":"51145c8552370f7c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}