Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks阅读笔记

本文主要是介绍Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Abstract:

挑战:(1)人脸不同的姿态(2)光照(3)遮挡。
本文研究:提出了一种深度级联的多任务框架,利用框架之间的内在相关性来提高它们的性能。
框架:级联结构——三层深度卷积网络,以粗到细的方式预测人脸和地标位置。
策略:在线困难样本挖掘策略——自动提高算法的性能而不需要人工样本筛选。
优势:在人脸检测方面:以FDDB和WIDER FACE为基准。
   在人脸对齐方面:以AFLW为基准。
   在准确率远超其他工具的同时,保持实时性能

I.INTRODUCTION:

人脸检测以往研究
(1)Viola和Jones提出的级联人脸检测器利用Haar-Like特征和AdaBoost训练级联分类器。缺点:实际应用中性能会显著下降。
(2)deformable part models (DPM)。缺点:贵。
(3)Yang等人训练用于人脸属性识别的深层卷积神经网络。缺点:CNN结构复杂,花时间。
(4)Li等人使用级联CNNs进行人脸检测。缺点:需要额外的计算费用用于基于人脸检测的包围盒标定,忽略了面部地标定位与包围盒回归之间的内在相关性。

人脸对齐以往研究
(1)基于回归的方法和模板拟合方法是两种流行的方法。Zhang等人提议利用深度卷积神经网络,以人脸属性识别为辅助任务,提高人脸对齐性能。缺点:忽略了这两个任务之间的相关性。
(2)Chen等人利用像素值差异的特征与随机森林共同进行对准和检测。缺点:手工特性限制性能。
(3)Zhang 等人使用多任务 CNN 提高多视点人脸检测的准确性。缺点:由弱人脸检测器产生的初始检测窗口限制了精确性。

传统困难样本挖掘:脱机方式,增加了手动操作。

这篇论文的研究
(1)新的框架:通过多任务学习,使用统一的级联CNN来集成这两个任务。
(2)三层网络
第一阶段:通过浅层CNN,快速生成候选窗口。
第二阶段:通过更复杂的CNN,细化窗口以拒绝大量的非人脸窗口。
第三阶段:使用更强大的CNN,细化结果并输出面部标志位置。

这篇论文主要贡献
(1)提出了一种新的基于级联CNNs的人脸检测和对齐框架,为实时性能设计轻量级的 CNN 架构。
(2)提出了一种有效的在线困难样本的挖掘方法。
(3)在基准上进行了大量实验,以表明与目前最先进的人脸检测和人脸对齐任务相比,本文提出的方法在性能上有了显著的提高。

II. APPROACH:

A. Overall Framework:

整体流程
在这里插入图片描述
三级多任务深卷积网络
P-net(全卷积网络):a fast Proposal Network。(1)生成候选窗口及其边界框回归向量(2)利用估计的边界框回归向量标定候选框(3)使用非最大抑制(NMS)来合并高度重叠的候选框。
R-net:a Refinement Network。(1)进一步拒绝大量虚假候选框(2)使用边界框回归进行校准(3)NMS候选框合并。
O-net:the output Network。与R-net类似,产生最后的边界框和5个面部标志位置。

B.CNN Architectures:

CNN人脸检测的性能受限
(1)滤波器权重一样,限制它们产生区分性的描述。
(2)二分类任务需要较少的滤波器数目,但需要更多的区分识别。

为此,mtCNN
(1)减少了滤波器的数量(5×5滤波器->3×3滤波器),以减少计算量
(2)增加计算深度.
这样减少了运算时间。
在这里插入图片描述
网络架构
在这里插入图片描述

C.Training:

我们利用三项任务来训练CNN探测器:人脸/非人脸分类、边界盒回归和面部地标定位。

1)Face classification:
学习目标是一个二分类问题,使用交叉熵损失

L i d e t = − ( y i d e t l o g ( p i ) + ( 1 − y i d e t ) ( 1 − l o g ( p i ) ) ) L_i^{det}=-(y_i^{det}log(p_i)+(1-y_i^{det})(1-log(p_i))) Lidet=(yidetlog(pi)+(1yidet)(1log(pi)))

pi指示的是一个样本是一张脸的概率。
是0,1标注是否为真的标签。

2)Bounding box regression:
对于每个候选窗口,我们预测它与最近的真实数据之间的偏移(即边界框左顶部、高度和宽度)。
学习目标是一个回归问题,采用欧几里德损失

L i b o x = ∣ ∣ y i ^ b o x − y i b o x ∣ ∣ 2 2 L_i^{box}=||\hat{y_i}^{box}-y_i^{box}||_2^2 Libox=yi^boxyibox22

y i ^ b o x \hat{y_i}^{box} yi^box是网络计算出来的回归目标,
y i b o x y_i^{box} yibox是真实的坐标。
y i b o x ∈ R 4 y_i^{box}\in\Bbb{R}^4 yiboxR4:有4个坐标——左边、顶部、高度、宽度。

3)Facial landmark localization:
学习目标是一个回归问题,将欧几里德损失最小化。

L i l a n d m a r k = ∣ ∣ y i ^ l a n d m a r k − y i l a n d m a r k ∣ ∣ 2 2 L_i^{landmark}=||\hat{y_i}^{landmark}-y_i^{landmark}||_2^2 Lilandmark=yi^landmarkyilandmark22

y i ^ l a n d m a r k \hat{y_i}^{landmark} yi^landmark是网络计算出的人脸地标坐标,
y i l a n d m a r k y_i^{landmark} yilandmark是真实的坐标。
y i l a n d m a r k ∈ R 10 y_i^{landmark}\in\Bbb{R}^{10} yilandmarkR10:有5个人脸地标坐标——左眼、右眼、鼻子、左嘴角、右嘴角。

4)Multi-source training:
由于我们在每个CNN中进行不同的任务,因此在学习过程中有不同类型的训练图像,例如脸、非人脸和部分对齐的脸。因此,一些损失函数不能使用。
例如,对于背景区域的样本,我们只计算 L i d e t L_i^{det} Lidet ,另外两个损失设置为0。这可以通过示例类型指示符直接实现。
可以将整个学习目标表述为:

m i n ∑ i = 1 N ∑ j ∈ { d e t , b o x , l a n d m a r k } α j β i j L i j min\sum_{i=1}^N\sum_{j\in{\{det,box,landmark\}}}\alpha_j\beta_i^jL_i^j mini=1Nj{det,box,landmark}αjβijLij
N是训练样本的数量。
α j \alpha_j αj表示任务的重要性。
在这里插入图片描述
随机梯度下降来训练CNN。

5)Online Hard sample mining:
本篇论文:在人脸分类任务中进行在线困难样本挖掘适应训练过程。
操作方法
(1)在每一个小批量中,从所有样本中对在前向传播阶段计算的损失进行排序,选择最前面的70%作为困难样本
(2)只计算从困难样本在后向传播阶段的梯度,忽略那些对训练时加强探测器没有帮助的简单样本。

III. EXPERIMENTS:

概括
(1)评估在线困难样本挖掘策略的有效性。
(2)将mtCNN人脸检测和对齐与先进技术方法进行比较。
(3)评估了mtCNN人脸检测器的计算效率。

A. Training Data:

4种不同的数据标注:
(1)Negatives:真实数据中IoU低于0.3的区域;
(2)Positives:真实数据中IoU高于0.65的区域;
(3)Part faces:IoU在0.4-0.65之间;
(4)Landmark faces:有5个特征地标标记的脸。

Negatives和Positives用于人脸分类任务,Positives和Part faces用于边界框回归,Landmark faces用于人脸地标定位。

每个网络的训练数据如下
1)P-Net:
从WIDER FACE随机地裁剪出几个小块来收集positives,negatives和part face。
从CelebA中收集脸作为landmark faces。
2)R-Net:
从WIDER FACE中用第一层网络探测脸,来收集positives,negatives和part face。
从CelebA中收集脸作为landmark faces。
3)O-Net:
与R-net相似,不过采用前两层网络探测脸收集数据。

B.The effectiveness of online hard sample mining:

评估在线困难样本挖掘策略
训练了两个O-net(在线和不在线困难样本挖掘),并比较了它们的损失曲线。
只训练面向人脸分类任务的O-net,使比较更加直接。
在两个O-net中,所有的训练参数(包括网络初始化)都是一样的,并且使用了固定的学习率。
在这里插入图片描述
图片显示两种不同训练方式的损失曲线。

C.The effectiveness of joint detection and alignment:

评估联合检测和对齐
评估了两个不同的O-net(联合的和不联合的)的性能(使用相同的P-net和R-net),并我们比较了这两种O-net的边界框回归的性能。
在这里插入图片描述
图片表示联合的网络对人脸分类和边界框回归任务都有很大的帮助。

D.Evaluation on face detection:

评估人脸检测方法的性能
比较了mtCNN和最先进的方法,以FDDB和WIDER FACE为基准。
在这里插入图片描述
图片表示在这两个基准测试中,mtCNN始终在很大程度上优于以前的所有方法。

E.Evaluation on face alignment:

比较了mtCNN与下列方法的人脸对齐性能:RCPR, TSPM, Luxand face SDK, ESR, CDM, SDM, TCDCN。
在测试阶段,有13幅图像用mtCNN无法检测到。因此,将这13幅图像的中心区域进行裁剪,并将它们作为O-net的输入。
在这里插入图片描述

F. Runtime efficiency:

在给定级联结构的情况下,该方法在联合人脸检测和对齐方面取得了非常快的速度。我们目前的实现是基于未优化的MATLAB代码。

IV. CONCLUSION:

(1)提出了一种基于多任务级联CNN的集合人脸检测和对齐的框架。
(2)一系列实验表明,mtCNN在准确性上超越了当前先进的方法,并且mtCNN还能保持实时性能。

这篇关于Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447128

相关文章

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear