设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『机器视觉/AI/IoT/机器人论坛』
›
OpenCV中支持的人脸检测方法整理与汇总
返回列表
发新帖
OpenCV中支持的人脸检测方法整理与汇总
[复制链接]
55886
|
0
|
2024-3-15 11:02:30
|
显示全部楼层
|
阅读模式
关注获取更多计算机视觉与深度学习知识
01
OpenCV中人脸检测概述
自从VJ在2004发表了关于级联分类器实时对象检测的论文以后,级联分类器就在OpenCV中落地生根了,一段时间,特别是OpenCV3.x版本中基于级联分类器的人脸检测一直是标配,虽然大家刚开始看了例子之后觉得这个是一个很实用的功能,但是在实际实用中级联分类器的人脸检测方法则是频频翻车,我自己曾经移植到Android上面玩过,日常就是两个字“翻车”,很多时候都无法达到开发者想要的稳定性与实时性能。但是这个并不妨碍它作为OpenCV3.x的一大关注点,还产生了无数的Demo演示程序。但是如今已经是OpenCV4.x的时代了,那些基于级联分类器的人脸检测演示看上去有点不合时宜,而且效果惨遭以深度神经网络模型人脸检测技术的毒打。OpenCV4中的人脸检测现在支持多种深度神经网络模型,与OpenCV3中的传统人脸检测方法形成鲜明对比。下面我们就来一一介绍一下从OpenCV3到OpenCV4中不同人脸检测技术。
02
OpenCV3 人脸检测技术
OpenCV3中人脸检测基于级联分类器不仅支持人脸检测,还支持眼睛与鼻子、嘴巴等检测、此外还支持笑脸检测,看上去非常多,实际上却很难稳定工作,此外还支持基于级联分类器的训练,这个方式要是要基于大数据才会出好的模型,但是相比深度学习,这个训练方式现在OpenCV4中自己已经把它抛弃了。
HARR特征级联分类器
HARR特征级联分类器人脸检测来自VJ的2004论文中提出,其主要思想可以通过下面一张图像解释:
LBP特征级联分类器
同样基于级联分类器,OpenCV3.x还支持基于LBP特征的人脸检测,这里也可以用图解释如
在OpenCV3.x这两种算法都支持人脸与眼睛识别,基本原理都是基于特征提取+级联分类器,它们之间有哪些异同点,下面的对比说明的很清楚:
03
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可以完全的自由选择,无需再重复造轮子!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
阿蚊在线
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』