{"adoption": {"forks": 449, "observed_at": "2026-08-28T04:07:52.873148+00:00", "stars": 3264}, "canonical_url": "https://ross.abutalabs.com/products/human", "card": {"archived": false, "artifact_type": "library", "description": "Human: AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition, Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis, Age & Gender & Emotion Prediction, Gaze Tracking, Gesture Recognition", "domain": ["computer-vision", "machine-learning", "artificial-intelligence", "web-development"], "enriched": true, "function": ["machine-learning", "computer-vision", "image-processing", "nlp"], "health_score": 59, "homepage": "https://vladmandic.github.io/human/demo/index.html", "language": "HTML", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["vladmandic/human"], "name": "vladmandic/human", "platform": ["browser", "wasm", "cross-platform"], "pushed_at": "2025-12-13T09:49:12+00:00", "repo": "vladmandic/human", "stars": 3264, "tags": ["face-detection", "face-recognition", "pose-tracking", "hand-tracking", "tensorflowjs", "gesture-recognition", "age-estimation", "emotion-detection", "gaze-tracking", "body-segmentation", "webgpu", "webgl", "nodejs", "web-server"], "topics": ["face-detection", "gender-prediction", "iris-tracking", "body-tracking", "hand-tracking", "tensorflowjs", "age-estimation", "face-position", "tfjs", "emotion-detection", "gesture-recognition", "face-recognition", "face-mesh", "gaze-tracking", "body-segmentation", "face-matching", "faceid"], "urls": [], "use_cases": ["detect and track faces in a webcam stream", "recognize faces and match identities in the browser", "track body pose from video for fitness apps", "track 3D hand and finger movements", "estimate age and gender from photos", "detect emotions from facial expressions", "track gaze and iris position", "recognize hand gestures in real time"], "what_it_is": "Human is a JavaScript/TypeScript library built on TensorFlow.js that combines multiple ML models for 3D face detection and recognition, body pose tracking, 3D hand and finger tracking, iris analysis, and age, gender, and emotion prediction. It runs in browsers (WebGPU, WebGL, WASM, CPU) and Node.js with a unified API, attention pipeline, and built-in image, video, and webcam handling.", "when_to_avoid": ["you need server-side Python or native ML frameworks rather than TensorFlow.js", "you need maximum accuracy over speed for production biometric systems", "you only need a single simple detection task where a lighter model would suffice", "you require Node.js 23.x, which is not supported"], "when_to_choose": ["you need multi-model human perception (face, pose, hands, gestures) with a single unified API", "you want real-time inference in the browser without a server backend", "you need both browser and Node.js support with GPU or WASM backends", "you want temporal smoothing and attention pipelines out of the box"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/human", "repo": "vladmandic/human", "role": "main", "score": 48}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "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:07:52.873148+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:52.873148+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:23:11.351531+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a779149cda8231bd9206b3381d2bc298b2a9b9d8f8e51d697d563a6e213ae5d3", "fetched_at": "2026-08-28T04:07:52.873148+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vladmandic/human"}, {"content_hash": "d64023d5e786e1f197164567b605ac0cae98e65e72f93c08fdd739794d38d099", "fetched_at": "2026-08-29T09:36:33.978377+00:00", "kind": "homepage", "missing": false, "url": "https://vladmandic.github.io/human/demo/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 57, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2152, "days_push": 263, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 48, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}