查看原文
其他

OpenCV中支持的人脸检测方法整理与汇总

极市平台 2021-09-19

The following article is from OpenCV学堂 Author gloomyfish

↑ 点击蓝字 关注极市平台

来源丨OpenCV学堂

极市导读

 

本文对比了OpenCV3和OpenCV4中的人脸检测方法,后者采用深度学习技术,在许多场景下可直接使用,无需再次训练模型,节省了大量时间。

OpenCV中人脸检测概述


自从VJ在2004发表了关于级联分类器实时对象检测的论文以后,级联分类器就在OpenCV中落地生根了。一段时间,特别是OpenCV3.x版本中。基于级联分类器的人脸检测一直是标配。虽然大家刚开始看了例子之后觉得这个是一个很实用的功能,但是在实际实用中级联分类器的人脸检测方法则是频频翻车。我自己曾经移植到Android上面玩过,日常就是两个字“翻车”,很多时候都无法达到开发者想要的稳定性与实时性能。不过,这个并不妨碍它作为OpenCV3.x的一大关注点,还产生了无数的Demo演示程序。

如今已经是OpenCV4.x的时代了,那些基于级联分类器的人脸检测演示看上去有点不合时宜,而且效果惨遭以深度神经网络模型人脸检测技术的毒打。OpenCV4中的人脸检测现在支持多种深度神经网络模型,与OpenCV3中的传统人脸检测方法形成鲜明对比。下面我们就来一一介绍一下从OpenCV3到OpenCV4中不同人脸检测技术


2 OpenCV3 人脸检测技术


OpenCV3中人脸检测基于级联分类器不仅支持人脸检测,还支持眼睛与鼻子、嘴巴等检测、此外还支持笑脸检测,看上去非常多,实际上却很难稳定工作,此外还支持基于级联分类器的训练,这个方式要是要基于大数据才会出好的模型,但是相比深度学习,这个训练方式现在OpenCV4中自己已经把它抛弃了。

HARR特征级联分类器

HARR特征级联分类器人脸检测来自VJ的2004论文中提出,其主要思想可以通过下面一张图像解释:


LBP特征级联分类器


同样基于级联分类器,OpenCV3.x还支持基于LBP特征的人脸检测,这里也可以用图解释:

在OpenCV3.x这两种算法都支持人脸与眼睛识别,基本原理都是基于特征提取+级联分类器,它们之间有哪些异同点,下面的对比说明得很清楚:


3 OpenCV4 人脸检测技术


OpenCV3的人脸检测技术本质还是在解决OpenCV作为计算机视觉框架是否支持人脸检测功能的有无问题,本身是很难做到稳定跟可靠工业级输出。但是OpenCV4中的人脸检测算法采用深度学习技术,已经可以直接使用,达到实时跟稳定检测,在很多应用场景中无需再次训练模型。这样是极大的方便了开发者,节省了大量时间。

官方ResNet-10 SSD对象检测模型

OpenCV支持基于残差网络ResNet-10的SSD网络模型训练的人脸检测模型,分别实现了Caffe与tensorflow版本模型生成,量化为FP16与INT8,模型均小于5MB。

MTCNN支持

此外OpenCV还2016年提出的三阶段的人脸检测模型MTCNN的调用,也可以达到实时运行,MTCNN的网络结构如下:
MTCNN还是很多嵌入式设备上人脸检测选择,因为它不光支持人脸检测,还支持五点landmark输出,可以实现人脸对齐,为人脸识别做前期的处理。

OpenVINO中人脸检测模型

OpenCV4 在DNN中使用OpenVINO推理引擎模块实现对模型加速,同时支持OpenVINO的预训练模型库的加载与使用。而OpenVINO中有大量的人脸检测模型,这些模型一般都小于5MB,分别在多个垂直应用场景中训练生成,face-detection-0100到face-detection-0104都是基于MobileNetv2的SSD模型训练生成的人脸识别模型。非常实用!


OpenVINO提供模型库中总计超过10个人脸检测器,分别针对室内与室外场景,都可以直接调用。而且这些模型都是在CPU上可以实时推理运行,完成人脸检测,稳定可靠输出。

有了这些,可以说人脸检测环节基于OpenCV可以完全的自由选择,无需再重复造轮子!


推荐阅读




添加极市小助手微信(ID : cvmart2),备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳),即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群:每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企视觉开发者互动交流~

△长按添加极市小助手

△长按关注极市平台,获取最新CV干货

觉得有用麻烦给个在看啦~  


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存