The classic MTCNN face detector, repackaged for modern TensorFlow
It modernizes the seminal 2016 MTCNN face-detection paper into a clean, pip-installable TensorFlow library with batch support.

What it does MTCNN detects human faces and their landmarks—eyes, nose, and mouth—using the same three-stage cascaded convolutional network described in the 2016 paper by Zhang et al. The library returns bounding boxes, confidence scores, and five facial keypoints for each detected face. It is implemented entirely in TensorFlow and targets Python 3.10 and TensorFlow 2.12 or newer.
The interesting bit The author rebuilt the networks using TensorFlow’s functional API and eliminated redundant operations like unnecessary transpositions. The README claims this improves performance and efficiency; it also adds batch processing, which the original implementation lacked.
Key highlights
- Three-stage cascade: PNet proposes regions, RNet refines them, and ONet outputs final bounding boxes plus five landmarks.
- Packaged for PyPI with a straightforward API centered on the
MTCNNclass and itsdetect_facesmethod. - Rewritten using TensorFlow’s functional API with optimizations the author says improve execution speed.
- Supports batch processing for handling multiple images in one pass.
- Includes a DOI and ReadTheDocs documentation, reflecting its research lineage.
Verdict Worth a look if you need the classic MTCNN detector in a maintained, pip-installable TensorFlow wrapper. Skip it if you need a newer architecture or a model that runs without TensorFlow.
Frequently asked
- What is ipazc/mtcnn?
- It modernizes the seminal 2016 MTCNN face-detection paper into a clean, pip-installable TensorFlow library with batch support.
- Is mtcnn open source?
- Yes — ipazc/mtcnn is open source, released under the MIT license.
- What language is mtcnn written in?
- ipazc/mtcnn is primarily written in Jupyter Notebook.
- How popular is mtcnn?
- ipazc/mtcnn has 2.5k stars on GitHub.
- Where can I find mtcnn?
- ipazc/mtcnn is on GitHub at https://github.com/ipazc/mtcnn.