# patrikhuber/eos

A lightweight 3D Morphable Face Model library in modern C++

Repository: https://github.com/patrikhuber/eos
Canonical: https://ross.abutalabs.com/products/eos
Language: C++
License: Apache-2.0
License Family: permissive
Topics: computer-vision, face-models, modern-cpp, machine-learning, image-processing, cross-platform, 3d-face, 3dmm, c-plus-plus, python, 3d-face-reconstruction, cpp14, cpp17
Last push: 2025-05-01T19:53:55+00:00

## Health v2 (maintenance only)
Score: 31/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 19, release rhythm 8, longevity 100
- inputs: {"age_days": 4222, "days_push": 489, "days_rel": 631, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1980, forks 594 (observed 2026-08-28T04:06:01.715152+00:00)

## What it is
A lightweight, header-only 3D Morphable Face Model (3DMM) fitting library written in modern C++11/14, with Python bindings. It provides model representation, camera pose estimation, shape/expression/edge fitting, and texture extraction for 3D face reconstruction.

## Use cases
- fit a 3D morphable face model to facial landmarks
- reconstruct a 3D face from a single image
- estimate camera pose from face landmarks
- extract pose-invariant face texture
- sample random faces from a 3DMM like BFM or LYHM
- fit facial expression blendshapes to an image

## When to choose
- you need fast, dependency-free 3D face fitting in C++ or Python
- you work with standard 3DMMs like BFM, SFM, 4DFM, or LYHM
- you want a lightweight, header-only library for 3D face reconstruction research or apps

## When to avoid
- you need full photorealistic rendering or high-fidelity non-linear optimization out of the box
- you need a deep-learning-based face reconstruction pipeline rather than model-based fitting
- you need support for full-body or non-face 3D models

## Facets
- artifact type: library
- maturity: active
- function: computer-vision, image-processing, machine-learning, graphics
- domain: computer-vision, image-processing, machine-learning
- platform: cpp, python, cross-platform
- tags: 3d-morphable-model, 3dmm, face-reconstruction, face-fitting, header-only, 3d-face

## Member repositories
- patrikhuber/eos (main) score 31

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:01.715152+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:04:39.812482+00:00, confidence not recorded.
  - readme: https://github.com/patrikhuber/eos (fetched 2026-08-28T04:06:01.715152+00:00, sha fe5dcd47d8de)
- Data as of 2026-08-30T08:39:29.467469+00:00.
