{"adoption": {"forks": 642, "observed_at": "2026-08-28T04:08:13.674829+00:00", "stars": 3677}, "canonical_url": "https://ross.abutalabs.com/products/3ddfa", "card": {"archived": false, "artifact_type": "library", "description": "The PyTorch improved version of TPAMI 2017 paper: Face Alignment in Full Pose Range: A 3D Total Solution.", "domain": ["computer-vision", "deep-learning"], "enriched": true, "function": ["computer-vision", "machine-learning", "deep-learning", "image-processing"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["cleardusk/3DDFA"], "name": "cleardusk/3DDFA", "platform": ["python", "cross-platform"], "pushed_at": "2022-05-14T12:12:21+00:00", "repo": "cleardusk/3DDFA", "stars": 3677, "tags": ["face-alignment", "3dmm", "pytorch", "landmarks", "pose-estimation", "3d-face-reconstruction", "3d-face"], "topics": ["face-alignment", "pytorch", "python", "computer-vision", "deep-learning", "3d-face", "3d", "3dmm"], "urls": [], "use_cases": ["fit a 3D face model to a photo", "detect 68 facial landmarks in large pose images", "estimate head pose from a single image", "generate depth maps of faces", "export 3D face meshes as OBJ files", "compute PNCC and PAF features for face analysis"], "what_it_is": "A PyTorch implementation of the TPAMI 2017 paper 'Face Alignment in Full Pose Range: A 3D Total Solution' (3DDFA). It fits a 3D Morphable Model to a single face image to produce 3D face shapes, 68 landmarks, pose estimation, depth images, PNCC/PAF features, and OBJ mesh serialization.", "when_to_avoid": ["you need the faster, more accurate successor (use 3DDFA_V2 instead)", "you need a maintained production pipeline - the repo is in maintenance mode with its last release in 2022", "you work outside Python/PyTorch and don't want to use the simple C++ port"], "when_to_choose": ["you need 3D face alignment or dense face reconstruction in Python with PyTorch", "you want landmark detection robust to large pose ranges", "you need face pose estimation, depth, or mesh outputs from a single image"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/3ddfa", "repo": "cleardusk/3DDFA", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "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:08:13.674829+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.674829+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:15.473759+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9fa5332a12dcd4030fe426ca5b2e828f24e01685d2d3b8917fd23f19d71a948", "fetched_at": "2026-08-28T04:08:13.674829+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cleardusk/3DDFA"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2987, "days_push": 1572, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}