MTCNN算法

MTCNN是一种基于级联卷积神经网络的人脸检测算法,由深圳先进技术研究院研发。该算法通过三个阶段(P-Net、R-Net、O-Net)逐步细化人脸框定位与关键点检测。首先构建图像金字塔实现多尺度检测,接着通过候选窗口生成、细化与输出最终结果。


该MTCNN算法出自深圳先进技术研究院,乔宇老师组,是今年2016的ECCV。


采用级联的卷积神经网络进行人脸五官特征点检测,其流程如下图所示。


     

6级联卷积神经网络流程图


首先,将给定的图片缩放到不同尺度,形成图像金字塔,以达到尺度不变。通过上述流程图可知,该模型有三个步骤组成:


Stage 1Proposal Network(P-Net):使用P-Net全卷积网络用来生成候选窗和边框回归向量(boundingbox regression vectors)。使用Bounding box regression的方法来校正候选窗,使用非极大值抑制(NMS)合并重叠的候选框。P-Net网络结构如图7所示。

  

7 P-Net

Stage 2 Refine Network(R-Net):使用R-Net改善候选窗。将通过P-Net的候选窗输入R-Net中,拒绝掉大部分false的窗口,继续使用Bounding box regressionNMS合并。R-Net网络结构如图8所示。

 

8 R-Net

Stage 3 Output Network(O-Net):最后使用O-Net输出最终的人脸框和特征点位置。和第二步类似,但是不同的是生成5个特征点位置。O-Net网络结构如图9所示。


9 O-Net

其中MTCNN算法还可以参考博客http://blog.youkuaiyun.com/qq_14845119/article/details/52680940

bounding box regression算法可以参考博客http://blog.youkuaiyun.com/Bixiwen_liu/article/details/53840913

算法原文及代码链接https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html?from=timeline&isappinstalled=1

算法NMS可以参考http://blog.youkuaiyun.com/zhang_shuai12/article/details/52716952



### MTCNN算法介绍 MTCNN(Multi-task Cascaded Convolutional Network),即多任务级联卷积神经网络,是一种用于联合人脸检测和面部特征点定位的技术。此方法通过三个阶段的级联结构来逐步细化候选框的位置以及形状预测精度。 #### 级联CNN架构特点 MTCNN的效果得益于其精心设计的级联CNN架构[^1]。具体而言: - **减少卷积核尺寸**:为了提高计算效率并保持较高的识别率,在每一层内部减少了较大尺寸(如5×5)的卷积核,并将其替换为更小的3×3大小。 - **增加网络深度**:相较于早期的人脸检测模型,MTCNN增加了网络层数以增强表达能力而不显著增加参数量。 这种改进不仅提高了处理速度还增强了对于不同尺度下目标物体的鲁棒性。 #### 工作流程概述 整个过程分为以下几个部分完成: 1. 使用PNet生成大量粗略边界框作为初始候选项; 2. 经过RNet进一步筛选这些提议区域,并调整它们的位置与比例; 3. 利用ONet最终确认最佳匹配结果的同时估计五个关键点位置(两眼中心、鼻尖、嘴角两端); 每一步都包含了分类器用来判断是否存在人脸实例,同时也具备回归功能修正建议窗口坐标以便更加精确地锁定真实对象范围[^2]。 ```python from mtcnn import MTCNN detector = MTCNN() image_path = 'path_to_image.jpg' faces = detector.detect_faces(image.load_img(image_path)) for face in faces: print(face['confidence'], face['keypoints']) ``` 上述Python代码展示了如何利用预训练好的MTCNN库来进行简单的人脸检测操作,其中`detect_faces()`函数返回包含置信度分数及五官坐标的列表。 #### 性能评估 实验表明,在多个公开数据集上的测试结果显示MTCNN能够达到约95%以上的高准确度水平,证明了该方法的有效性和高效性[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值