# vladmandic/human

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/vladmandic-human).**

2,999 stars · 407 forks · HTML · mit

## Links

- GitHub: https://github.com/vladmandic/human
- Homepage: https://vladmandic.github.io/human/demo/index.html
- awesome-repositories: https://awesome-repositories.com/repository/vladmandic-human.md

## Topics

`age-estimation` `body-segmentation` `body-tracking` `emotion-detection` `face-detection` `face-matching` `face-mesh` `face-position` `face-recognition` `faceid` `gaze-tracking` `gender-prediction` `gesture-recognition` `hand-tracking` `iris-tracking` `tensorflowjs` `tfjs`

## Description

Human is a TensorFlow.js computer vision library used for face, body, and hand tracking within the browser or Node.js. It provides a framework for human pose and gesture tracking, facial recognition, and biometric liveness detection to verify a live human presence.

The project distinguishes itself through a full suite of identity and motion tools, including a facial recognition framework that generates embeddings for similarity matching and a background segmenter for separating humans from their environment. It incorporates a liveness detector to prevent spoofing during facial analysis.

The library covers a broad range of computer vision capabilities, including 3D body skeleton and hand landmark detection, iris movement monitoring, and facial attribute prediction for age, gender, and emotion. It includes infrastructure for media input processing, GPU acceleration, and the rendering of detection results as 2D overlays or 3D meshes on a canvas.

The project can be deployed as a systemd daemon on Linux and includes tooling for hosting local development servers via HTTP or HTTPS.

## Tags

### Artificial Intelligence & ML

- [Browser-Based Model Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/browser-based-model-inference.md) — Runs machine learning models in the browser or Node.js using GPU acceleration via WebGL or WebGPU.
- [Facial Recognition](https://awesome-repositories.com/f/artificial-intelligence-ml/facial-recognition.md) — Generates face embeddings and compares descriptors to identify individuals against a database. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))
- [Computer Vision Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-libraries.md) — Provides a JavaScript library for face, body, and hand tracking using TensorFlow.js models in the browser or Node.js.
- [Object Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-detection-tracking/object-detection.md) — Identifies and locates non-human objects within images or video streams using machine learning models. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))
- [Biometric Descriptors](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/face-analysis/biometric-descriptors.md) — Generates numerical biometric descriptors as facial embeddings to enable identity verification via similarity matching.
- [Face Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/face-detection.md) — Locates faces within images or video streams to enable targeted analysis of facial features. ([source](https://github.com/vladmandic/human/wiki/Demos))
- [Liveness Detectors](https://awesome-repositories.com/f/artificial-intelligence-ml/face-detection/liveness-detectors.md) — Analyzes facial attributes and movements to verify a live human presence and prevent spoofing.
- [Face Embeddings](https://awesome-repositories.com/f/artificial-intelligence-ml/face-embeddings.md) — Extracts unique numerical descriptors from face images to represent facial features for biometric comparison. ([source](https://github.com/vladmandic/human/wiki/Embedding))
- [GPU-Accelerated Inference](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-accelerated-inference.md) — Accelerates machine learning computations by utilizing GPU drivers and graphics APIs for faster inference. ([source](https://github.com/vladmandic/human/wiki/Backends))
- [Whole-Body](https://awesome-repositories.com/f/artificial-intelligence-ml/pose-estimation/whole-body.md) — Simultaneously detects 3D landmarks for the body, face, and hands to recognize gestures and posture. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))
- [State-Based Landmark Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/state-based-landmark-tracking.md) — Maps 3D keypoints for the head, body, and hands to analyze gestures and orientation across video frames.
- [Face Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/facial-analysis-systems/face-tracking.md) — Tracks 3D face rotation and iris movements to determine gaze and head orientation. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))
- [Detection-to-Track Association](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-detection-tracking/object-tracking-systems/detection-to-track-association.md) — Implements logic to associate detected body parts and features with specific individuals for consistent tracking. ([source](https://github.com/vladmandic/human/wiki/Result))
- [Capture Readiness Validation](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/face-analysis/capture-readiness-validation.md) — Analyzes camera input against required tests to ensure a face is properly positioned before capturing. ([source](https://vladmandic.github.io/human/demo/faceid/index.html))
- [Gesture Recognition Libraries](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/gesture-recognition-systems/gesture-recognition-libraries.md) — Processes landmark coordinates to identify and classify specific human gestures in real-time. ([source](https://github.com/vladmandic/human/wiki/Gesture))
- [Detection Visualization](https://awesome-repositories.com/f/artificial-intelligence-ml/face-detection/detection-visualization.md) — Renders detected faces, bodies, hands, and objects as visual overlays on a canvas for verification. ([source](https://github.com/vladmandic/human/wiki/Usage))
- [Facial Analysis Toolkits](https://awesome-repositories.com/f/artificial-intelligence-ml/facial-analysis-toolkits.md) — Predicts demographic and emotional attributes, such as age, gender, and emotion, from facial features. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))
- [Hardware-Agnostic Inference Switching](https://awesome-repositories.com/f/artificial-intelligence-ml/inference-backends/multi-backend-gpu-inference-engines/hardware-agnostic-inference-switching.md) — Optimizes inference speed and latency by automatically switching between CPU and GPU runtimes based on availability.
- [Iris Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/iris-tracking.md) — Provides iris movement monitoring to determine gaze direction and eye orientation. ([source](https://vladmandic.github.io/human-bjs-vrm/src/index.html))
- [Model Execution Environments](https://awesome-repositories.com/f/artificial-intelligence-ml/model-execution-environments.md) — Provides a CPU-based execution environment for running inference in systems lacking dedicated graphics hardware. ([source](https://github.com/vladmandic/human/wiki/Backends))
- [Model Output Visualizers](https://awesome-repositories.com/f/artificial-intelligence-ml/model-output-visualizers.md) — Renders detection results as points, outlines, or 3D meshes to visually represent features. ([source](https://vladmandic.github.io/human-motion/src/index.html))
- [Temporal Prediction Smoothing](https://awesome-repositories.com/f/artificial-intelligence-ml/sequence-modeling/temporal-sequence-processors/temporal-smoothing-filters/temporal-prediction-smoothing.md) — Uses temporal prediction smoothing to reduce coordinate jitter and ensure fluid movement of detected landmarks across frames.

### Part of an Awesome List

- [Full Body Capture](https://awesome-repositories.com/f/awesome-lists/ai/full-body-capture.md) — Performs comprehensive 3D tracking of the head, face, eyes, body, and hands for virtual model animation. ([source](https://github.com/vladmandic/human/wiki/Demos))

### Graphics & Multimedia

- [Background Segmentation](https://awesome-repositories.com/f/graphics-multimedia/background-segmentation.md) — Separates humans from their backgrounds to produce foreground-only or alpha-channel images. ([source](https://github.com/vladmandic/human/wiki/Usage))
- [Facial Similarity Matching](https://awesome-repositories.com/f/graphics-multimedia/image-similarity-estimation/facial-similarity-matching.md) — Compares an input image against a set of known faces to retrieve the most similar person. ([source](https://vladmandic.github.io/human/demo/facematch/index.html))
- [Video Input Processing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/video-transformation-enhancement/chunked-video-processing/video-processing-apis/video-input-processing.md) — Provides real-time capture and streaming of live video frames from devices for AI-based visual analysis. ([source](https://vladmandic.github.io/human/typedoc/classes/Human.html))
- [Human Pose Detections](https://awesome-repositories.com/f/graphics-multimedia/video-frame-processing/real-time-model-inference-on-frames/human-pose-detections.md) — Identifies human faces, body skeletons, and hand gestures in real-time video frames. ([source](https://vladmandic.github.io/human-bjs-vrm/src/index.html))
- [Canvas Rendering](https://awesome-repositories.com/f/graphics-multimedia/canvas-rendering.md) — Provides the ability to render 3D meshes and detection overlays directly onto an HTML5 canvas.
- [Cross-Platform Media Frameworks](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/cross-platform-media-frameworks.md) — Analyzes images and videos across browser and server runtimes using native methods or external tools. ([source](https://github.com/vladmandic/human/wiki/Demos))
- [Media Analysis](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-analysis.md) — Analyzes visual data from images, canvases, webcams, and various video streaming formats. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))

### DevOps & Infrastructure

- [Inference Optimizers](https://awesome-repositories.com/f/devops-infrastructure/performance-optimization-utilities/inference-optimizers.md) — Optimizes inference speed by selecting the fastest available hardware backend and implementing model caching. ([source](https://github.com/vladmandic/human/blob/main/CHANGELOG.md))

### Scientific & Mathematical Computing

- [Temporal Interpolation](https://awesome-repositories.com/f/scientific-mathematical-computing/data-interpolation/temporal-interpolation.md) — Generates smooth transitions between consecutive detection data points to reduce visual jitter across frames. ([source](https://vladmandic.github.io/human/typedoc/classes/Human.html))
- [Coordinate Smoothing](https://awesome-repositories.com/f/scientific-mathematical-computing/time-series-smoothing/coordinate-smoothing.md) — Blends consecutive detection results to eliminate jumping and ensure fluid visual updates of tracked landmarks. ([source](https://cdn.jsdelivr.net/gh/vladmandic/human@main/README.md))

### Software Engineering & Architecture

- [Asynchronous Processing Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-processing-pipelines.md) — Implements asynchronous pipelines to handle heavy model execution in background threads, maintaining browser responsiveness.

### Web Development

- [Main Thread Offloading](https://awesome-repositories.com/f/web-development/main-thread-offloading.md) — Offloads computationally expensive vision analysis to background web workers to prevent blocking the main UI thread. ([source](https://github.com/vladmandic/human/wiki/Demos))
