← all repositories
emilianavt/OpenSeeFace

CPU face tracking built for puppeteering, not selfies

OpenSeeFace tracks facial landmarks in real time on a CPU and streams them over UDP to Unity, Godot, or anything else that needs to puppeteer a digital avatar.

OpenSeeFace
Not currently ranked — collecting fresh signals.
star history

What it does

OpenSeeFace is a real-time facial landmark tracker that runs entirely on the CPU. It detects face pose and expression landmarks, then ships that data over UDP to a separate receiver—most commonly a Unity component, though it also powers VTube Studio and Godot projects. It is explicitly a tracking library, not a finished avatar application, so it must be wired into another application.

The interesting bit

The landmarks are deliberately tweaked for animating avatars rather than matching facial geometry pixel-for-pixel. The model uses quasi-3D face contours and sacrifices some eye-region accuracy in exchange for stability across extreme head poses, bad lighting, and low-resolution webcams. There is even a “toaster” model tier that hits 213 fps if you are willing to trade quality for frame rate.

Key highlights

  • Five speed/quality tiers (model -1 through 3), ranging from 213 fps to 44 fps on a single CPU core
  • MobileNetV3 backbone converted to ONNX for inference via ONNX Runtime
  • UDP streaming lets the tracker run on a separate machine from the renderer, keeping raw webcam footage off the animation PC
  • Unity components included for receiving landmarks, visualizing points, and launching the tracker process
  • Robust to partial occlusion, glasses, and noisy low-light footage; expression detection is available but requires per-user calibration

Caveats

  • Eye-region tracking is less accurate than MediaPipe, according to the author’s own comparison
  • Expression detection requires manual calibration for each user; there is no one-size-fits-all model
  • Not a standalone program: it is command-line driven and leaves UDP integration to the user

Verdict

A solid choice for VTubers, indie avatar apps, or anyone who needs offline, CPU-only face tracking they can embed in a pipeline. Skip it if you want a polished out-of-the-box puppeteering app or research-grade facial reconstruction.

Frequently asked

What is emilianavt/OpenSeeFace?
OpenSeeFace tracks facial landmarks in real time on a CPU and streams them over UDP to Unity, Godot, or anything else that needs to puppeteer a digital avatar.
Is OpenSeeFace open source?
Yes — emilianavt/OpenSeeFace is open source, released under the BSD-2-Clause license.
What language is OpenSeeFace written in?
emilianavt/OpenSeeFace is primarily written in Python.
How popular is OpenSeeFace?
emilianavt/OpenSeeFace has 2k stars on GitHub.
Where can I find OpenSeeFace?
emilianavt/OpenSeeFace is on GitHub at https://github.com/emilianavt/OpenSeeFace.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.