← all repositories
patrikhuber/4dface

A 2015 research demo that turned into a product

Real-time 3D face tracking from webcam video, back when "real time" meant 5 fps.

4dface
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

4dface fits a 3D morphable face model to 2D video in real time — or what passed for real time in 2015. It tracks facial landmarks and reconstructs a textured 3D mesh you can save as OBJ. The app runs on live webcams or pre-recorded video, with keyboard controls for reset, quit, and mesh export.

The interesting bit

The project is essentially a demo rig for two of the author’s own libraries: eos (lightweight C++14 morphable model fitting) and superviseddescent (an optimisation method). The face model itself comes from academic CVSSP research and carries a non-commercial license — a reminder that “open source” and “free for any use” are different things.

Key highlights

  • Builds on well-scoped, separately maintained libraries (eos, superviseddescent)
  • Cross-platform: Linux (gcc-7+) and Windows (VS2017), with vcpkg support
  • Saves reconstructed 3D meshes to OBJ format mid-stream
  • Apache 2.0 code, though the 3D face model is non-commercial only
  • Academic lineage: ICIP 2015 and VISAPP 2016 papers

Caveats

  • The author explicitly notes this is a 2015/2016 research demo, not the current commercial product at 4dface.io
  • “Real time” currently clocks around 5 fps due to recent additions
  • Contains an older version of eos; active development moved to the separate repo

Verdict

Worth a look if you’re studying 3DMM fitting or building on historical computer-vision baselines. Skip it if you need production face tracking — the maintained, improved version is commercial, and modern alternatives are faster out of the box.

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