人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
创新点:
1. 首次将级联和多任务结合起来,之前有单纯级联的DCNN,单纯多任务的TCDCN
2. 提出 a new online hard sample mining strategy,没接触过hard sample mining ,知道的同学介绍介绍呗~
2016年,Zhang等人提出一种多任务级联卷积神经网络(MTCNN, Multi-task Cascaded Convolutional Networks)用以同时处理人脸检测和人脸关键点定位问题。作者认为人脸检测和人脸关键点检测两个任务之间往往存在着潜在的联系,然而大多数方法都未将两个任务有效的结合起来,本文为了充分利用两任务之间潜在的联系,提出一种多任务级联的人脸检测框架,将人脸检测和人脸关键点检测同时进行。
MTCNN包含三个级联的多任务卷积神经网络,分别是Proposal Network (P-Net)、Refine Network (R-Net)、Output Network (O-Net),每个多任务卷积神经网络均有三个学习任务,分别是人脸分类、边框回归和关键点定位。网络结构如图所示:
MTCNN实现人脸检测和关键点定位分为三个阶段。首先由P-Net获得了人脸区域的候选窗口和边界框的回归向量,并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框。然后将P-Net得出的候选框作为输入,输入到R-Net,R-Net同样通过边界框回归和NMS来去掉那些false-positive区域,得到更为准确的候选框;最后,利用O-Net输出5个关键点的位置。
在具体训练过程中,作者就多任务学习的损失函数计算方式进行相应改进。在多任务学习中,当不同类型的训练图像输入到网络时,有些任务时是不进行学习的,因此相应的损失应为0。例如,当训练图像为背景(Non-face)时,边界框和关键点的loss应为0,文中提供计算公式自动确定loss的选取,公式为
其中, αj\alpha _{j}表示任务的重要程度,在P-Net和R-Net中αdet=1,αbox=0.5,αlandmark=0.5\alpha _{det}=1,\alpha _{box}=0.5 ,\alpha _{landmark}=0.5, ,在R-Net中,由于要对关键点进行检测,所以相应的增大任务的重要性,αdet=1,αbox=0.5,αlandmark=1\alpha _{det}=1,\alpha _{box}=0.5 ,\alpha _{landmark}=1 。 作为样本类型指示器。
为了提升网络性能,需要挑选出困难样本(Hard Sample),传统方法是通过研究训练好的模型进行挑选,而本文提出一种能在训练过程中进行挑选困难的在线挑选方法。方法为,在mini-batch中,对每个样本的损失进行排序,挑选前70%较大的损失对应的样本作为困难样本,同时在反向传播时,忽略那30%的样本,因为那30%样本对更新作用不大。
实验结果表明,MTCNN在人脸检测数据集FDDB 和WIDER FACE以及人脸关键点定位数据集LFPW均获得当时最佳成绩。在运行时间方面,采用2.60GHz的CPU可以达到16fps,采用Nvidia Titan Black可达99fps。
代码实现:
Matlab:https://github.com/kpzhang93/MTCNN_face_detection_alignment
Caffe:https://github.com/dlunion/mtcnn
Python:https://github.com/DuinoDu/mtcnn
胡思乱想:
1. 文章提到 the detection accuracy is limited by the initial detection windows produced by a weak face detector. , 不仅在这篇文章提到,在DCNN里也提到这个问题。可以猜想,级联的一大作用就是解决人脸边框“不稳定”的问题。采用了级联,相当于针对本任务定制了一个人脸边框检测器,于是乎输入给真正做关键点检测的网络时,输入数据的差异性更小了一点。
人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks相关推荐
- 人脸检测对齐--Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks <IEEE Signal P ...
- 人脸关键点:TCDCN-Facial Landmark Detection by Deep Multi-task Learning
<Facial Landmark Detection by Deep Multi-task Learning>发表于ECCV-2014,作者来自香港中文大学汤晓鸥团队的Zhanpeng Z ...
- CenterFace: Joint Face Detection and Alignment Using Face as Point
摘要 无约束环境下的人脸检测和对齐通常部署在内存有限.计算能力低的边缘设备上.本文提出了一种称为(CenterFace)的单阶段方法,可以实时快速.高精度地同时预测人脸边框和特征点位置.所提出的方 ...
- Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks -译文
使用多任务级联卷积网络进行联合人脸检测和对准 摘要:由于各种姿势.光照或遮挡等原因,在无约束环境下的人脸检测和对齐是一项具有挑战性的问题.最近的研究显示,深度学习方法可以在这两项任务上取得令人瞩目的效 ...
- 「每周CV论文推荐」 初学深度学习人脸关键点检测必读文章
人脸关键点检测是人脸图像中重要的基石,今天给大家介绍入门深度学习人脸关键点检测必读的文章. 作者&编辑 | 言有三 1 DCNN Cascade 听这个名字就知道是一个很早期的,使用Casca ...
- 【每周CV论文推荐】 初学深度学习人脸关键点检测必读文章
欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 人脸关键点检测是人脸图像中重要的基石,今天给 ...
- 人脸识别之人脸关键点(仅供本人参考)
深度学习人脸关键点检测方法----综述 转自人脸关键点检测综述 不知道为什么在ubuntu下知呼中的图片无法显示 人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别.表情分析.三维人 ...
- 人脸检测MTCNN和人脸识别Facenet(附源码)
原文链接:人脸检测MTCNN和人脸识别Facenet(附源码) 在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haa ...
- 人脸关键点检测综述(含论文、数据集、方法等)
人脸关键点 人脸关键点检测是人脸识别和分析领域中的关键一步,它是诸如自动人脸识别.表情分析.三维人脸重建及三维动画等其它人脸相关问题的前提和突破口.近些年来,深度学习(http://www.rainc ...
最新文章
- 谈谈IT界8大恐怖预言!
- electron 打包 php,electron 将现有vue项目改成支持electron桌面端应用
- 音视频技术开发周刊 | 194
- .NET常用第三方库(包)总结
- FreeRTOS系列第19篇---FreeRTOS信号量
- WebApi单元测试记录
- qt程序部署在linux,Qt应用打包发布,部署真正的Qt程序LinuxWindows-Go语言中文社区...
- mysql工厂模式_设计模式-三种工厂模式实例
- Exchange 2007升级exchange 2010
- 在高并发环境下Reids做缓存踩坑记录
- PKUSC2019划水记
- Spring MVC+Stomp+Security+H2 Jetty 1
- c语言程序设计ns图怎么画,请各位大神帮个忙,画个NS流程图,,急!!!
- 电气能插本计算机类吗,2019年专插本电气工程及自动化专业介绍
- 华为最强科普:什么是DSP?
- C# 压缩和修复Access数据库
- matlab方波响应,对周期方波信号进行滤波matlab的实现
- 为什么Julia如此受欢迎?
- 超大文件上传 WebUploader 断点续传,分片上传
- 58欧氏空间05——对称变换和对称矩阵、实对称矩阵的标准形、正交相似