![Git Version](https://img.shields.io/github/package-json/v/vladmandic/human?style=flat-square&svg=true&label=git) ![NPM Version](https://img.shields.io/npm/v/@vladmandic/human.png?style=flat-square) ![Last Commit](https://img.shields.io/github/last-commit/vladmandic/human?style=flat-square&svg=true) ![License](https://img.shields.io/github/license/vladmandic/human?style=flat-square&svg=true) ![GitHub Status Checks](https://img.shields.io/github/checks-status/vladmandic/human/main?style=flat-square&svg=true) ![Vulnerabilities](https://img.shields.io/snyk/vulnerabilities/github/vladmandic/human?style=flat-square&svg=true) # Human Library **AI-powered 3D Face Detection & Rotation Tracking, Face Description & Recognition,** **Body Pose Tracking, 3D Hand & Finger Tracking, Iris Analysis,** **Age & Gender & Emotion Prediction, Gesture Recognition**
JavaScript module using TensorFlow/JS Machine Learning library - **Browser**: Compatible with both desktop and mobile platforms Compatible with *CPU*, *WebGL*, *WASM* backends Compatible with *WebWorker* execution - **NodeJS**: Compatible with both software *tfjs-node* and GPU accelerated backends *tfjs-node-gpu* using CUDA libraries Check out [**Live Demo**](https://vladmandic.github.io/human/demo/index.html) for processing of live WebCam video or static images
## Demos - [**Main Application**](https://vladmandic.github.io/human/demo/index.html) - [**Face Extraction, Description, Identification and Matching**](https://vladmandic.github.io/human/demo/facematch.html) - [**Face Extraction and 3D Rendering**](https://vladmandic.github.io/human/demo/face3d.html) - [**Details on Demo Applications**](https://github.com/vladmandic/human/wiki/Demos) ## Project pages - [**Code Repository**](https://github.com/vladmandic/human) - [**NPM Package**](https://www.npmjs.com/package/@vladmandic/human) - [**Issues Tracker**](https://github.com/vladmandic/human/issues) - [**TypeDoc API Specification: Human**](https://vladmandic.github.io/human/typedoc/classes/human.html) - [**TypeDoc API Specification: Root**](https://vladmandic.github.io/human/typedoc/) - [**Change Log**](https://github.com/vladmandic/human/blob/main/CHANGELOG.md) ## Wiki pages - [**Home**](https://github.com/vladmandic/human/wiki) - [**Installation**](https://github.com/vladmandic/human/wiki/Install) - [**Usage & Functions**](https://github.com/vladmandic/human/wiki/Usage) - [**Configuration Details**](https://github.com/vladmandic/human/wiki/Configuration) - [**Output Details**](https://github.com/vladmandic/human/wiki/Outputs) - [**Face Recognition & Face Description**](https://github.com/vladmandic/human/wiki/Embedding) - [**Gesture Recognition**](https://github.com/vladmandic/human/wiki/Gesture) - [**Common Issues**](https://github.com/vladmandic/human/wiki/Issues) - [**Background and Benchmarks**](https://github.com/vladmandic/human/wiki/Background) ## Additional notes - [**Notes on Backends**](https://github.com/vladmandic/human/wiki/Backends) - [**Development Server**](https://github.com/vladmandic/human/wiki/Development-Server) - [**Build Process**](https://github.com/vladmandic/human/wiki/Build-Process) - [**Performance Notes**](https://github.com/vladmandic/human/wiki/Performance) - [**Performance Profiling**](https://github.com/vladmandic/human/wiki/Profiling) - [**Platform Support**](https://github.com/vladmandic/human/wiki/Platforms) - [**List of Models & Credits**](https://github.com/vladmandic/human/wiki/Models)
*See [**issues**](https://github.com/vladmandic/human/issues?q=) and [**discussions**](https://github.com/vladmandic/human/discussions) for list of known limitations and planned enhancements* *Suggestions are welcome!*

## Options As presented in the demo application... > [demo/index.html](demo/index.html) ![Options visible in demo](assets/screenshot-menu.png)
## Examples
**Training image:** > [demo/index.html](demo/index.html?image=%22../assets/human-sample-upper.jpg%22) ![Example Training Image](assets/screenshot-sample.png) **Using static images:** > [demo/index.html](demo/index.html?images=true) ![Example Using Image](assets/screenshot-images.jpg) **Live WebCam view:** > [demo/index.html](demo/index.html) ![Example Using WebCam](assets/screenshot-webcam.jpg) **Face Similarity Matching:** > [demo/facematch.html](demo/facematch.html) ![Face Matching](assets/screenshot-facematch.jpg) **Face3D OpenGL Rendering:** > [demo/face3d.html](demo/face3d.html) ![Face Matching](assets/screenshot-face3d.jpg) **468-Point Face Mesh Defails:** (view in full resolution to see keypoints) ![FaceMesh](assets/facemesh.png)


## Quick Start Simply load `Human` (*IIFE version*) directly from a cloud CDN in your HTML file: (pick one: `jsdelirv`, `unpkg` or `cdnjs`) ```html ``` For details, including how to use `Browser ESM` version or `NodeJS` version of `Human`, see [**Installation**](https://github.com/vladmandic/human/wiki/Install)
## Inputs `Human` library can process all known input types: - `Image`, `ImageData`, `ImageBitmap`, `Canvas`, `OffscreenCanvas`, `Tensor`, - `HTMLImageElement`, `HTMLCanvasElement`, `HTMLVideoElement`, `HTMLMediaElement` Additionally, `HTMLVideoElement`, `HTMLMediaElement` can be a standard `