Advertisement

论文笔记-MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Network

阅读量:

MTCNN is an advanced Multi-Task Recursive Convolutional Neural Network designed for Integrated Face Detection and Landmark Estimation.

2016年11月 Kaiwen Zhang. 官方网站 GitHub

摘要

Introduction
本文提出了一种创新性框架,该框架基于统一的级联卷积神经网络(CNN)结合多任务学习策略,实现了对人脸检测与关键点定位两大任务的有效整合。
该网络架构包含三个主要组件:
(1) 第一阶段利用浅层CNN快速生成候选窗口。
(2) 第二阶段采用稍深的CNN模型有效地过滤出大量无脸区域。
(3) 第三阶段应用更深更强大的CNN模型进行结果精简,并准确标记面部关键点位置。 所设计的轻量级CNN架构显著提升了模型在实际应用中的运行效率。

整个流程如图所示:给定任意一张图片时, 首先将输入图像按不同尺度生成多分辨率金字塔作为接下来三层级联框架的基础.

整体框架

图1:整体架构
Stage 1:基于全卷积神经网络的技术(即P-Net),生成候选区域及其对应的边界框回归向量。随后,在预估得到的边界框回归向量基础上进行校准定位。最后,应用非极大值抑制(NMS)算法来消除相互重叠的区域。

P-Net

Stage 2:经过初步筛选的候选窗体块经提取后进入Refine Network(R-Net)模型中,在此过程中通过Refine Network(R-Net)模型进一步去除了大量不准确的候选窗体块。随后应用边界框回归算法对这些区域进行精确校准,并结合非极大值抑制(NMS)方法进一步优化结果。

R-Net

第三阶段:与上一阶段类似,在此阶段主要目标是描绘面部的更多细节特征,并明确地标出五个面部特征点的位置

O-Net

B. CNN Architecture(如图所示)

C.Training
该算法基于三个任务训练CNN检测器:首先是face/non-face分类、其次是bounding box回归以及最后是facial landmark定位。
(1)Face classification
这是一个二分类问题。对于每个样本来说,我们采用交叉熵损失函数(cross-entropy loss)来衡量预测结果与真实标签之间的差异程度。

这里写图片描述

Pi表示样本是人脸的概率,

这里写图片描述

表示ground-truth label(样本是否为人脸的真实取值).

(2)bounding box regression 对于每一个候选框 通过计算与最近ground truth框之间的差异(来自CNN生成的候选框与真实框的实际差异)建立回归关系 回归任务中 对于每一个样本 计算损失值于欧几里得损失函数:

这里写图片描述

其中,

这里写图片描述

regression target来自网络,

这里写图片描述

是四维ground-truth 坐标,包括左上坐标、高和宽。

(3)Facial feature point detection
与边界框回归问题类似,在该任务中需要定位脸部的特征点。为了最小化预测值与真实值之间的误差...,通常采用欧几里得损失函数进行优化:

这里写图片描述

其中,

这里写图片描述

是网络得到的面部特征点坐标,

这里写图片描述

(4)Multi-source training
对于级联架构的CNN模型而言,在不同层级分别承担着各自的任务,在训练过程中采用了分阶段的学习策略,并非所有损失函数都被同步优化;这可以通过一种样本类型指示器得以实现;整体学习目标如下:

这里写图片描述

在多阶段任务串行训练中,各损失函数(检测、边界框、关键点)的作用及权重各有差异。其中N代表训练数据集的样本总数,在计算过程中被赋予具体数值。每个αj指标衡量了各任务的重要程度,并根据需求进行动态调整以优化整体性能表现。此外,在模型构建过程中引入了一种新的参数配置机制——β_j^{(i)}表示样本类型指标,在分类过程中起到辅助决策作用的关键作用。通过随机梯度下降算法优化卷积神经网络(CNNs)参数以实现模型最佳拟合效果

(5)在线难样本挖掘
传统的做法是在分类器完成训练后进行难样本挖掘。本文提出了一种自适应的方法,在每个mini-batch的前向传播过程中对所有处理过的样本按照损失值进行筛选,并选取损失值较高的70%作为难样本用于后续的学习过程。具体来说,在反向传播阶段仅计算这些难样本对应的梯度更新参数。这种设计使得训练过程中能够自动忽略那些对提升检测器效果贡献较小甚至微不足道的样本。

EXPERIMENTS
基于三个标准数据集进行实验对比:Face Detection Benchmark Set (FDDB)、Windward Face Database (Winder FACE)以及Annotated Facial Landmarks in the Wild Benchmark Collection (AFLW)。实验对比结果表明该方法在各数据集上均表现出优异性能。

A.Training Data
因为我们同时进行face detection and alignment,所以在训练过程中使用四种不同类型的数据标注:
(i) Negatives:和任何ground-truth faces 的IoU值小于0.3的regions。
(ii) Positives:和某ground-truth face的IoU值大于0.65。
(iii) Part faces:和某ground-truth face的IoU值在0.4~0.65间。
(iv) Landmark faces:标注了5个特定点位置的脸部。
face classification task:(i) (ii)
bounding box regression:(i) (iii)
facial landmark localization:(iv)
每个网络的训练数据:
(1) P-Net:随机选择WIDER FACE的部分来收集positives,negatives and part faces。从CelebA中选择faces作为landmark faces.
(2) R-Net:用框架的第一阶段从WIDER FACE中检测人脸收集positives,negatives and part faces,从CelebA中选择faces作为landmark faces.
(3) O-net:与R-net类似,但是使用的是框架的前两阶段检测人脸。

本文的人脸检测(召回率与精确率)以及人脸特征点定位(平均误差)的性能都非常出色。其核心优势在于该算法运行速度快,在配备2.6GHz处理器时可实现16帧每秒(fps)的处理速度,在图形处理器(GPU)上则可提升至99 fps。

CONCLUSION
本文提出一种基于multi-task cascaded CNNs的框架进行联合人脸检测和特征点检测。实验结果表明该方法在一些比赛测试集上性能一贯优于当前先进算法且速度快,保持实时性能。未来可以研究人脸检测和其他人脸分析任务内在的联系,提升性能。

相关工作

全部评论 (0)

还没有任何评论哟~