{"adoption": {"forks": 205, "observed_at": "2026-08-28T04:06:08.242874+00:00", "stars": 2038}, "canonical_url": "https://ross.abutalabs.com/products/openseeface", "card": {"archived": false, "artifact_type": "library", "description": "Robust realtime face and facial landmark tracking on CPU with Unity integration", "domain": ["computer-vision", "machine-learning", "graphics", "developer-tools"], "enriched": true, "function": ["computer-vision", "image-processing", "machine-learning", "sdk"], "health_score": 56, "homepage": null, "language": "Python", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["emilianavt/OpenSeeFace"], "name": "emilianavt/OpenSeeFace", "platform": ["python", "windows", "cross-platform"], "pushed_at": "2025-12-28T11:52:30+00:00", "repo": "emilianavt/OpenSeeFace", "stars": 2038, "tags": ["face-tracking", "facial-landmarks", "vtuber", "onnx", "unity", "udp", "realtime", "cpu-inference", "gpu"], "topics": ["face-tracking", "face-landmarks", "depth-estimation", "unity", "unity3d", "python", "csharp", "udp", "onnx", "onnxruntime", "virtual-youtuber", "vtuber", "mobilenetv3", "pytorch", "openseeface", "face-detection", "detection-model", "landmark-model", "tracker", "cpu"], "urls": [], "use_cases": ["track facial landmarks from a webcam in realtime on CPU", "animate a VRM avatar with webcam face tracking in Unity", "build a vtuber puppeteering app with head pose and expression tracking", "get stable face landmark detection in low light or noisy video", "stream face tracking data over UDP to another application", "compare face tracking robustness against MediaPipe"], "what_it_is": "OpenSeeFace is a robust realtime face and facial landmark tracking library that runs on CPU at 30-60 fps using ONNX-converted MobileNetV3 models. It streams tracking data over UDP and includes Unity integration for animating avatars, powering tools like VSeeFace and VTube Studio.", "when_to_avoid": ["you want a ready-made avatar puppeteering program - use VSeeFace or VTube Studio instead", "you need highly accurate eye-region tracking", "you require landmarks matching standard iBUG 68 conventions exactly", "you need GPU-accelerated multi-face tracking at scale"], "when_to_choose": ["you need realtime face tracking on CPU without a GPU", "you want stable landmarks under poor lighting, noise, or extreme head poses", "you are building a vtuber or avatar animation tool with Unity or Godot integration", "you need a lightweight tracking library rather than a full end-user application"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openseeface", "repo": "emilianavt/OpenSeeFace", "role": "main", "score": 49}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "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:06:08.242874+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.242874+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:14.562976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a6d43d96ef3f1e6acc50e60b3208ab48cac6d988945793115195304992b5f8f6", "fetched_at": "2026-08-28T04:06:08.242874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/emilianavt/OpenSeeFace"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "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": 2436, "days_push": 248, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 49, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}