Custom Viola-Jones Face Detection from Scratch
Mar 2026
Finished
Full from-scratch implementation of the Viola-Jones face detection framework. The cascade classifier is trained stage-by-stage using AdaBoost on Haar-like features with hard negative mining. The detector supports parallel execution via Numba JIT compilation (5-10x inference speedup) with a ThreadPoolExecutor fallback. Trained on WIDER FACE dataset with 15,000 face samples. Best cascades reach 28 stages with 0.999 TPR. Includes real-time webcam detection, XML serialization compatible with OpenCV, and comprehensive Jupyter notebooks for ROC analysis and cascade inspection.
Technologies
AI
Jupyter
LaTeX
Matplot
NumPy
OpenCV
Pandas
Plotly
Python
Sklearn



_169.png%3Fv%3Dc302807f5133c0a7a8716bae7ad5ea499c267302&w=3840&q=75)
_169.png%3Fv%3Dfdfae8d6bc2e47171af631edbceb9b442ba888b6&w=3840&q=75)
_169.png%3Fv%3Dc56bbb7abefc31c3634e91b7b17c6bbe9113c42e&w=3840&q=75)
_169.png%3Fv%3D1c9e5fa0f48838f5f57ab290c144e0b10151bb8d&w=3840&q=75)





_169.png%3Fv%3Dc302807f5133c0a7a8716bae7ad5ea499c267302&w=3840&q=75)
_169.png%3Fv%3Dfdfae8d6bc2e47171af631edbceb9b442ba888b6&w=3840&q=75)
_169.png%3Fv%3Dc56bbb7abefc31c3634e91b7b17c6bbe9113c42e&w=3840&q=75)
_169.png%3Fv%3D1c9e5fa0f48838f5f57ab290c144e0b10151bb8d&w=3840&q=75)





_169.png%3Fv%3Dc302807f5133c0a7a8716bae7ad5ea499c267302&w=3840&q=75)
_169.png%3Fv%3Dfdfae8d6bc2e47171af631edbceb9b442ba888b6&w=3840&q=75)
_169.png%3Fv%3Dc56bbb7abefc31c3634e91b7b17c6bbe9113c42e&w=3840&q=75)
_169.png%3Fv%3D1c9e5fa0f48838f5f57ab290c144e0b10151bb8d&w=3840&q=75)





_169.png%3Fv%3Dc302807f5133c0a7a8716bae7ad5ea499c267302&w=3840&q=75)
_169.png%3Fv%3Dfdfae8d6bc2e47171af631edbceb9b442ba888b6&w=3840&q=75)
_169.png%3Fv%3Dc56bbb7abefc31c3634e91b7b17c6bbe9113c42e&w=3840&q=75)
_169.png%3Fv%3D1c9e5fa0f48838f5f57ab290c144e0b10151bb8d&w=3840&q=75)

