点击我爱计算机视觉标星,更快获取CVML新技术
人脸检测是计算机视觉最典型的应用之一,早期OpenCV的logo就是Haar人脸检测的示意图。
很多人的第一个OpenCV学习目标就是跑通Haar级联人脸检测,Dlib库在业内开始流行很大程度上是因为其HOG-SVM人脸检测比OpenCV Haar的好,而近年来OpenCV和Dlib均已包含基于深度学习的人脸检测算法实现。
Haar-Cascade,HOG-SVM,深度学习正是代表着人脸检测乃至目标检测的三个时代。
昨天Learn OpenCV网站博主Vikas Gupta博士发表文章,对OpenCV与Dlib中四种人脸检测算法实现进行了比较分析,包含C++/Python的代码示例,且对精度和速度都进行了量化。
先来看看作者发布的视频:
1. OpenCV Haar Cascade人脸检测
算法无需赘言。
代码示例:
优点
1)几乎可以在CPU上实时工作;
2)简单的架构;
3)可以检测不同比例的人脸。
缺点
1)会出现大量的把非人脸预测为人脸的情况;
2)不适用于非正面人脸图像;
3)不抗遮挡。
2. OpenCV DNN 人脸检测
从OpenCV3.3版本后开