您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
OpenCV中支持的人脸检测方法整理与汇总
 
 
   次浏览      
 2021-3-8
 
编辑推荐:
本文主要介绍了OpenCV中人脸检测概述、OpenCV3 人脸检测技术及OpenCV4 人脸检测技术。
本文来自于公众号OpenCV学堂,由火龙果软件Linda编辑、推荐。

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可以完全的自由选择,无需再重复造轮子!

   
次浏览       
相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
多目标跟踪:AI产品经理需要了解的CV通识
深度学习架构
卷积神经网络之前向传播算法
从0到1搭建AI中台
工业机器人控制系统架构介绍
最新课程
人工智能,机器学习和深度学习
人工智能与机器学习应用实战
人工智能-图像处理和识别
人工智能、机器学习& TensorFlow+Keras框架实践
人工智能+Python+大数据
更多...   
成功案例
某综合性科研机构 人工智能与机器学习应用
某银行 人工智能+Python+大数据
北京 人工智能、机器学习& TensorFlow框架实践
某领先数字地图提供商 Python数据分析与机器学习
中国移动 人工智能、机器学习和深度学习
更多...