前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV中支持的人脸检测方法整理与汇总

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

作者头像
OpenCV学堂
发布2020-09-01 15:57:38
2K0
发布2020-09-01 15:57:38
举报

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档