{"adoption": {"forks": 932, "observed_at": "2026-08-28T04:09:04.676831+00:00", "stars": 5013}, "canonical_url": "https://ross.abutalabs.com/products/prnet", "card": {"archived": false, "artifact_type": "library", "description": "Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (ECCV 2018)", "domain": ["computer-vision", "image-processing", "deep-learning", "artificial-intelligence"], "enriched": true, "function": ["machine-learning", "computer-vision", "image-processing", "deep-learning"], "health_score": 20, "homepage": "http://openaccess.thecvf.com/content_ECCV_2018/papers/Yao_Feng_Joint_3D_Face_ECCV_2018_paper.pdf", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["yfeng95/PRNet"], "name": "yfeng95/PRNet", "platform": ["python"], "pushed_at": "2022-07-25T23:50:26+00:00", "repo": "yfeng95/PRNet", "stars": 5013, "tags": ["3d-face-reconstruction", "face-alignment", "face-swapping", "position-map-regression", "eccv-2018", "tensorflow", "linux", "gpu"], "topics": ["3d", "face", "reconstruction", "alignment", "swap"], "urls": [], "use_cases": ["reconstruct a 3D face mesh from a single photo", "perform dense facial landmark alignment including visibility", "estimate 3D head pose from an image", "swap faces between photos", "generate depth maps of faces", "edit facial textures like eyes for selfie editing"], "what_it_is": "PRNet is a Python/TensorFlow implementation of the ECCV 2018 Position Map Regression Network for joint 3D face reconstruction and dense alignment from a single image. It runs faster than real-time on GPU and supports applications like pose estimation, depth images, texture editing, and face swapping.", "when_to_avoid": ["you need a maintained library with recent updates or modern framework support", "you cannot use TensorFlow 1.x or Python 2.7 era dependencies", "you need multi-face reconstruction in a single image", "you only need lightweight 2D landmark detection"], "when_to_choose": ["you need end-to-end 3D face reconstruction without 3DMM fitting", "you need dense alignment with over 40K points rather than just 68 landmarks", "you need real-time performance on a GPU", "you want face swapping or texture editing capabilities"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/prnet", "repo": "yfeng95/PRNet", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.676831+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:32.545638+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1110e6cb0b91795e0a09cb599cb8904c117b16051595fbc58225035bc9c4ebcf", "fetched_at": "2026-08-28T04:09:04.676831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yfeng95/PRNet"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3088, "days_push": 1500, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}