人脸检测--Face Detection with End-to-End Integration of a ConvNet and a 3D Model

Face Detection with End-to-End Integration of a ConvNet and a 3D Model ECCV2016 mxnet code:https://github.com/tfwu/FaceDetection-ConvNet-3D

Faster R-CNN 在目标检测上表现出优异性能,本文将其应用于人脸检测,并根据人脸的特殊性做出相应的修改. 本文提出一个简单有效的方法将 ConvNet and a 3D model 结合起来实现端对端人脸检测

将 Faster R-CNN应用人脸检测问题,面临两个问题: 1)RPNs 中需要预定义一组 anchor boxes,这就可能在训练中引入了冗余的 parameter tuning,在检测中不稳定 2)RoI pooling layer without exploiting the underlying object structural configurations,RoI pooling layer 没有深入挖掘物体结构信息,很多类别的物体的结构可能没有共性,但是对于固定的人脸结构信息还是比较容易提取利用的。

主要修改的地方有两点:1)在RPN中取消 heuristic design of predefined anchor boxes,用一个 3D mean face model 代替,2)根据人脸结构信息用一个 configuration pooling layer 取代 the generic RoI (Region-of-Interest) pooling layer 本文是基于 facial key-points 检测来做人脸检测的

1.2 Method Overview 本文使用了 十个人脸特征点: “LeftEyeLeftCorner”, “RightEyeRightCorner”, “LeftEar”, “Nose-Left”, “NoseRight”, “RightEar”, “MouthLeftCorner”, “MouthRightCorner”, “Chin-Center”, “CenterBetweenEyes” 先上个图有个感性认识:

3 The Proposed Method 3.1 3D Mean Face Model and Face Representation 本文一个 3D mean face model 由 n 个 3D 人脸特征点表示,数学上具体为一个 n × 3 矩阵。我们从 AFLW dataset 中的 3D mean face model,里面由21个特征点,这里我们选择了10个特征点。

假定一个人脸 f,由 它的 3D 映射参数 表示其 旋转平移信息,我们从图像中提取到对应的 2D 特征点信息,这里 2D 特征点信息和 3D 模型有一个对应关系 这里我们通过学习得到一个 CNN网络用于 估计这个 3D transformation parameters,就是对每个检测到的特征点估计出对应的 3D mean face model,然后得到人脸矩形框候选区域,再对每个人脸预测出更准确的人脸特征点 The key idea is to learn a ConvNet to (i) estimate the 3D transformation parameters (rotation and translation) w.r.t. the 3D mean face model for each detected facial key-point so that we can generate face bounding box proposals and (ii) predict facial key-points for each face instance more accurately.

3.2 The Architecture of Our ConvNet

网络结构分解: 1)Convolution, ReLu and MaxPooling Layers,采用了VGG网络设计, 5 groups and each group has 3 convolution and ReLu consecutive layers followed by a MaxPooling layer except for the 5th group,最终的特征图缩小了 16倍 2)An Upsampling Layer,因为我们是对比预测的特征点和检测到的特征点位置信息,所以需要放大特征图保留更多的 spatial 信息,upsample the feature maps to 8 times bigger in size,使用 deconvolution 3) A Facial Key-point Label Prediction Layer,11 labels (10 facial key-points and 1 background class) 用于计算 classification Softmax loss 4) A 3D Transformation Parameter Estimation Layer 3D 模型参数估计: 8 parameters 5) A Face Proposal Layer 人脸候选区域提取 6)A Configuration Pooling Layer 将人脸的十个特征点信息组合起来进行池化 7) A Face Bounding Box Regression Layer 对人脸矩形框位置进行回归微调

3.3 The End-to-End Training

这里主要介绍了损失函数的定义

4 Experiments

Results on FDDB

Results on FDDB

AFW dataset

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

如何识别图像边缘?

文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一种地步:计算机可以识别出,这是一张狗的照片,那是一张猫的照片。

1052
来自专栏深度学习自然语言处理

这些神经网络调参细节,你都了解了吗

今天在写本科毕业论文的时候又回顾了一下神经网络调参的一些细节问题,特来总结下。主要从weight_decay,clip_norm,lr_decay说起。

832
来自专栏机器学习、深度学习

人脸对齐--Unconstrained Face Alignment without Face Detection

Unconstrained Face Alignment without Face Detection CVPRW2017 以前人脸对齐主要存在的问题:1)...

2439
来自专栏专知

你真的会用 t-SNE 么?有关 t-SNE 的小技巧

39314
来自专栏AI研习社

丧尸目标检测:和你分享 Python 非极大值抑制方法运行得飞快的秘诀

你知道的,昨晚在我在看《行尸走肉》时,不是享受僵尸野蛮和被迫吃人,或引人入胜的故事情节,我只想建立一个目标检测系统来对僵尸进行识别。

591
来自专栏机器之心

资源 | 用Python和NumPy学习《深度学习》中的线性代数基础

2083
来自专栏数值分析与有限元编程

矩阵方程

对于矩阵 A(n,n) 和 B(n,m) 组成的矩阵方程 [A][X] = [B] 记 X(n,m) 的第i列向量为 Xi(i = 1,2...m), 矩阵B的...

2798
来自专栏云时之间

NLP系列学习:常用的语言平滑模型

不过在MIT的NLP课程ppt中总结说有三种模式:Discounting, Interpolationg, Back-off

3789
来自专栏算法+

大话音频变声原理 附简单示例代码

在当今的主流采集卡上,采样频率一般共分为22.05KHz、44.1KHz、48KHz三个等级,

1032
来自专栏云时之间

机器学习算法推导「代码已经更新」

在重新实现机器学习算法时,重新认识到理论和数学的可理解性,通过非常简单的编程就可以实现BP、Lagrange multiplier、Newton's metho...

3287

扫码关注云+社区