// the find
esimov/pigo
Fast face detection, pupil/eyes localization and facial landmark points detection library in pure Go.
Pigo is a pure Go face detection library built on the Pixel Intensity Comparison-based Object detection algorithm, with no C bindings or OpenCV dependency. It handles face detection, pupil localization, and facial landmark detection, and compiles to WASM. It's for Go developers who need face detection without the cgo/OpenCV setup headache.
Zero cgo dependency is the real selling point — no OpenCV install, no platform-specific build pain, just `go get`. The WASM port runs at ~60 FPS in a browser, which is genuinely impressive for a pure-Go implementation. Benchmarks show it's roughly 2.4x faster than GoCV on the same hardware, and it allocates nothing per detection pass. The cascade-based approach means you ship a binary file with your app rather than pulling in a multi-GB model.
The real-time examples require Python to access the webcam, which is an awkward dependency for a library whose whole pitch is no external dependencies. Detection accuracy lags behind modern deep-learning approaches — cascade classifiers struggle with non-frontal faces and unusual lighting even with the angle parameter. Last commit is May 2025 and activity has been sparse for years, so don't expect this to keep pace with the field. There's no support for face recognition (matching), only detection — if you need to identify who someone is, you're on your own.