人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping

《Pose-Robust Face Recognition via Deep Residual Equivariant Mapping》 阅读笔记


原文链接:https://arxiv.org/pdf/1803.00839.pdf
这是一篇CVPR2018的论文。
做人脸的童鞋都知道,算法在输入图片为侧脸时,往往很难和正脸图片匹配,即使是同一个人,特征之间的相似度也会很低。这篇文章就是商汤为了解决人脸识别中的侧脸问题而做的。
废话不多说,来看看论文给的解决方案。

算法原理

论文基于这样的假设,存在一种映射可以使得侧脸图片的特征可以映射为正脸图片特征,如图所示:
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
用数学语言表达,假设CNN为一个映射Φ,可以将某张图片x映射为Φ(x), 再假设由正脸到侧脸为g,则有:
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
那么,我们只要学习到一个映射Mg即可,为了拟合这样一个映射,文中使用了称为 Deep Residual EquivAriant Mapping (DREAM) 的模块,其结构如下:
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
DREAM模块通过Residual来模拟需要的残差。并且通过一个角度估计模块来得到头部的偏转置信度,作为一个软开关,残差会乘以y(x),然后添加到原特征上,文中也给出了公式化的表达,可以很清晰的看出文章的思路。
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping

DREAM结构分析

第一个额外的结构是Residual,这里的Residual是两个简单的全连接层,并且使用了PReLU作为激活函数,用来拟合映射的残差。
另一个结构是角度估计模块,它使用脸部的21个关键点作为输入,使用了另一篇论文 Appearancebased gaze estimation in the wild的方法来估计脸部的偏转角度(yaw),然后通过一个非线性变换来得到一个[0,1]之间的置信度,即:
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
式中y表示偏转角,delta表示sigmoid函数。

实验

文中提到了三种使用DREAM模块的方式:
1.Stitching 主CNN网络先训练好,插入DREAM模块后,直接训练DREAM模块;
2.End-to-end 直接一起从头训练;
3.End-to-end+retrain 一起从头训练到收敛,之后固定主CNN模块,只训练DREAM。

实验结果

1.基于CFP数据集的Frontal-Profile集,和其他一些算法的对比
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
2.基于IJB-A数据集,和其他算法的一些对比
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
3.关于DREAM插入的位置的实验
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping
4.关于对偏转角度使用怎么样的映射来得到偏转置信度
人脸识别系列(十九 ):Pose-Robust Face Recognition via Deep Residual Equivariant Mapping

                                </div>
上一篇:ROS机械臂开发:从入门到实践---学习笔记(7)


下一篇:python 读取图片轮廓使用工业机器人绘制