← all repositories
kylemcdonald/FaceTracker

A 2009 face-tracking paper, still compiling in 2024

Deformable face tracking via mean-shift optimization, frozen in time at OpenCV 3.

1k stars C++ Computer Vision
FaceTracker
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

FaceTracker maps facial landmarks in real time from a webcam feed. It bundles a pre-trained deformable model, a reference CLI tool, and enough wrappers (openFrameworks, Cinder, Python, Android) to suggest it once powered a small ecosystem of art installations and prototypes.

The interesting bit

The core algorithm—“Face Alignment through Subspace Constrained Mean-Shifts”—dates to ICCV 2009. That makes this a fossil record of how computer vision worked before deep learning ate the field: hand-crafted models, iterative optimization, and actual C++ you can step through without a GPU.

Key highlights

  • MIT-licensed since 2020; previously paywalled for commercial use
  • Ships with a pre-trained model (face2.tracker) and triangulation data
  • Optional OpenMP support for parallelization
  • Wrappers exist for mobile, creative-coding frameworks, and Python
  • CLI includes a rescaling flag (-s .25) because 720p webcams will swamp the detector

Caveats

  • Explicitly unmaintained: README states OpenCV 4 broke the build and the maintainers gave up
  • Build instructions reference homebrew/science, a tap Homebrew retired years ago
  • The FAQ practically apologizes for crashes, slow detection, and high CPU usage

Verdict

Worth a look if you’re researching pre-neural face tracking, maintaining legacy interactive art, or want a readable C++ baseline to compare against modern mediapipe. Everyone else should probably just use mediapipe.

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