周报(0109-0115)

        本周阅读了五篇文献,下文是我对这几篇文献的具体理解,对人脸识别有了进一步了解。

目录

论文:《RetinaFace: Single-stage Dense Face Localisation in the Wild》

一、具体内容

1、引言

2、论文思想

3、相关工作

二、RetinaFace

2、1 Multi-task Loss

2、2 Dense Regression Branch

三、实验

3、1 数据集

3、2 实现细节

四、实验结果

五、小结

论文:《Pose-Robust Face Recognition via Deep Residual Equivariant Mapping》

一、论文原理

二、具体工作

2、1 特征等方差

 2、2 DREAM模块

三、实验

3、1 三种使用DREAM模块的方式

3、2 具体实验结果

四、小结

论文:《DeepFace: Closing the Gap to Human-Level Performance in Face Verification》

一、人脸对齐

2D对齐

3D对齐

 二、人脸表达

 DNN Architecture and Training

Normaliaztion

三、实验

 3、1 SFC

3、2 LFW

3、3 YTF 

四、小结

论文:《RegularFace: Deep Face Recognition via Exclusive Regularization》

一、相关工作

1、1 Softmax-free Methods

1、2 Softmax-based methods

二、Exclusive Regularization

2、1 Exclusive Regularization的公式

2、2  利用投影梯度下降优化

 2、3 Exclusive Regularization的梯度

 三、实验

 3、1 RegularFace网络框架

3、2 训练数据

四、实验结果

4、1 在MNIST数据集上的实验

4、2  在LFW和YTF数据集上的实验

五、小结

论文:《AdaptiveFace: Adaptive Margin and Sampling for Face Recognition》

一、背景介绍 

 二、相关工作

2、1 Adaptive Margin Softmax

2、2  损失函数

三、实验

 四、实验结果

 4、1 在MegaFace上的实验

 4、2  在LFW和LFW BLUFR上的实验

五、小结


论文:《RetinaFace: Single-stage Dense Face Localisation in the Wild》

        《RetinaFace:在野外的单阶段密集人脸定位》。论文针对在野外不能有效、准确的定位人脸问题,提出了一种单级人脸检测器,利用联合额外监督和自监督多任务学习,对不同尺度的人脸进行像素级人脸定位。文章主要做了以下贡献:

1)、在WIDER FACE数据集上手动标注了五个面部标志,在这个额外监督信号的帮助下硬面检测得到显著提升;

2)、增加一个自监督网格解码器分支,与现有的监督分支并行预测像素级的3D形状人脸信息;

3)、在WIDER FACE的hard测试集上,RetinaFace的平均精度比最先进的平均精度提升了1.1%;

4)、在IJB-C数据集上,RetinaFace有助于提高ArcFace的验证精度;

5)、采用轻量级骨干网络,RetinaFace可以在单个CPU内核上实时运行VGA分辨率的图像。

一、具体内容

1、引言

         1)、最近,人脸检测最先进的方法是集中在单阶段上,具有良好的性能和应用速度,本文借鉴了单阶段思想,改进了单极人脸检测框架;

        2)、借鉴了MCTNN,再增加5个人脸关键点,提高了检测算法在hard部分的精度;

        3)、使用网格解码器分支,通过自监督学习和现有监督分支并行预测像素级3D人脸形状。

2、论文思想

图1 网络的检测框架(来源于论文)

         如图1所示,检测框架部分有四个并行的分支,分别是:人脸分类、人脸框回归、5个关键点检测、人脸像素的三维位置和对应关系

3、相关工作

图像金字塔vs特征金字塔

        之前在图像金字塔上的滑动窗口是主要的检测方式,但随着特征金字塔的出现,在多个尺度特征图上的滑动框迅速主导了人脸检测。

两阶段vs单阶段

        目前人脸检测方法主要分为两类:两阶段方法(如Faster RCNN)和单阶段方法(如SSD和RetinaNet)。两阶段方法采用“proposal and refinement”机制,具有较高的定位精度。而单阶段方法密集采样人脸位置和尺度,导致训练过程中正样本和负样本极度不平衡。相比两阶段方法,单阶段方法更高效并且有更高的召回率,但存在误报率更高和影响定位精度的风险。

上下文建模

        主要是为了增强模型捕捉微小人脸的上下文推理能力。SSH和PyramidBox在特征金字塔上采用了上下文模块来增强欧几里得网格中的感受野,形变卷积网络(DCN)采用新的形变层对几何变换进行建模,增强了CNN的非刚性变换建模能力。

多任务学习

        联合人脸检测与对齐被广泛应用,因为对齐的人脸形状为人脸分类提供了更好的特征。在Mask R-CNN中,通过在现有分支的基础上增加一个用于预测对象掩码的分支,检测性能显著提高。

二、RetinaFace

2、1 Multi-task Loss

        对于每个训练框i,我们利用以上公式最小化多任务损失:

1)、人脸分类损失L_{cls}(p_{i},p_{i}^{*})p_{i}表示预测框i为人脸的概率,p_{i}^{*} 表示真值,p_{i}^{*}为1表示正样本anchor,为0表示负样本anchor。L_{cls}(p_{i},p_{i}^{*})采用softmax loss,即二分类情况(人脸/非人脸)的应用。

2)、人脸框回归损失L_{box}(t_{i},t_{i}^{*}),其中t_{i}={t_{x},t_{y},t_{w},t_{h}},t_{i}^{*}={t_{x}^{*},t_{y}^{*},t_{w}^{*},t_{h}^{*}},分别代表正样本anchor相关的预测框和真实框(ground-truth box)的坐标。论文按照 Fast R-CNN的方法对回归框目标(中心坐标、宽和高)进行归一化,使用L_{box}(t_{i},t_{i}^{*})=R(t_{i}-t_{i}^{*}),这里R是smooth-L1损失函数。

3)、人脸关键点回归函数L_{pts}(l_{i},l_{i}^{*}),其中l_{i}=\left \{ l_{x1},l_{y1},...,l_{x5},l_{y5} \right \}l_{i}^{*}=\left \{ l_{x1}^{*}, l_{y1}^{*},..., l_{x5}^{*}, l_{y5}^{*} \right \},分别代表预测的五个人脸关键点和真实边界框坐标(ground-truth),五个人脸关键点的回归也采用了基于anchor中心的目标归一化。

4)、密集回归损失函数L_{pixel}\lambda _{1}-\lambda _{3}表示权重因子,分别设置为0.25、0.1、0.01。

2、2 Dense Regression Branch

Mesh Decoder (网格编码器)         

        采用用网格编码器(网格卷积和网格上采样),是一种基于快速局部化频谱滤波的图卷积方法,如下图2(a)所示。

图2 密集回归(来源于论文)

         如图2(a)所示,一个2D卷积操作是将一个欧几里得网格感受野中的“核加权近邻求和”(kernel-wighted neighbour sum)。图卷积利用了图2(b)中的类似感念,图近邻距离的计算方法是通过连接两个顶点的边的最小数量。
Differentiable Renderer(可微渲染器)

        预测了形状和纹理参数后,利用一个高效可微3D网格渲染器来将彩色网格投影到一个2D图像平面上。

Dense Regression Loss(密集回归损失)

 

        一旦我们得到渲染的2D人脸R(D_{P_{ST}},P_{cam},P_{ill})_{i,j},我们使用以上损失函数比较渲染的和原始2D人脸的像素差异 ,其中WH,分别表示框I_{i,j}^{*}的宽度和高度。

三、实验

3、1 数据集

        采用WIDER FACE数据集,通过从61个场景类别中随机采样,将WIDER FACE数据集分为训练(40%)、验证(10%)和测试(50%)子集。并且作者定义了5个人脸质量级别,依据人脸关键点标注困难程度标注了5个关键点(眼睛中心,鼻尖,嘴角),如图3所示。对于WIDER FACE数据集,作者标注了84.6k个训练集人脸和18.5k个验证集人脸。

图3 5个标注的关键点(来源于论文)

3、2 实现细节

Feature Pyramid(特征金字塔)

图4 特征金字塔(来源于论文)

         RetinaFace采用从P2到P6的特征金字塔,其中P2到P5是从Resnet残差级(C2到C5)计算而来。P6是通过C5的一个3x3的步长为2的卷积层得到。C1到C5是来自于在ImageNet-11k数据集上预训练的ResNet-152分类框架,而P6通过“Xavier”随机初始化得到。

Anchor设置

        

表1 anchor的设置

         特征金字塔从P2到P6使用特定尺度的anchor,P2通过平铺小框用于抓取较小的人脸,但代价是费时和误报增加。我们将比例步长设置为2^{1/3},长宽比设置为1:1。当输入图像大小为640x640时,anchor可以覆盖特征金字塔级别上从16x16到406x406的尺度。总共有102300个anchor,其中75%的anchor来自P2。其中102300个anchor是这么来的:(160x160+80x80+40x40+20x20+10)x3 = 102300。

四、实验结果

图5 RetinaFace和24种最先进的人脸检测算法比较(来源于论文)

         明显看出RetinaFace的平均精度高于其他先进的人脸检测算法,而与最近表现最好的方法相比,在包含大量小人脸的Hard子集上,RetinaFace创造了新记录(91.4% vs 90.3%)。

图6 密集人脸检测效果(来源于论文)  

        除了精确的边界框外,RetinaFace预测的五个人脸关键点在姿态、遮挡和分辨率的变化下也具有很强的鲁棒性。尽管在重度遮挡下存在一些密集人脸定位失败的情况,但在一些清晰和大型人脸上的密集回归结果良好,甚至显示出表情变化。

五、小结

        本文研究了在任意尺度图像下同时进行密集回归和对齐的问题,第一个提出单阶段解决方案。RetinaFace被称为当前最好的检测方法,当它与最好的人脸识别方法结合时,识别准确率也进一步提升。RetinaFace有很多值得学习的地方,如为了提高速度,在单阶段的通用检测器上进行改进;加入上下文建模;增加人脸关键点分支;多损失函数的融合;自监督方法的引入等等。

论文:《Pose-Robust Face Recognition via Deep Residual Equivariant Mapping》

        《基于深度残差等变映射的姿态鲁棒人脸识别》。通常在人脸识别算法的输入图像是侧脸时,比正脸的识别效果要差,侧脸难以与正脸相匹配。针对输入图像为侧脸时人脸识别的效果不佳,作者提出了基于深度残差等变映射的姿态鲁棒人脸识别方法。

一、论文原理

图1 论文原理(来源于论文)

        1)、作者假设正面脸和侧面脸之间存在固有映射,在特征空间将侧脸特征通过等变映射转换为正脸特征,从而提高侧脸识别的准确率。给定一个任意姿态的输入图像,我们可以通过添加残差的映射函数将其特征映射到正面空间。

        2)、通过阅读文献,发现许多深层的表示依赖于输入图像的转换。这种转换可以通过映射函数从数据中学习,然后这个函数可以用于操作输入图像的表示以实现所需的转换。

        3)、为了利用这种映射,作者制定了一种新的深度残差等变映射(DREAM)块,该块能够自适应地向输入深度表示添加残差,从而将一个侧脸表示转化为一个标准正脸姿态,简化了识别。本研究是首次尝试在深度特征空间中进行侧脸到正面的转换 。       


DREAM模块优点:

1)、实现简单,DREAM 模块是一个简单有效的门控残差分支。它能够通过块拼接,将DREAM模块集成到现有的CNN结构,并且不改变面部表示的原始维度,还可以用标准反向传播进行端到端的训练。
2)、规模较小。和原有的模型相比,该模块只是加入了很少的参数和计算量。
3)、可以帮助已经在近正面人脸识别方面表现良好的基础网络在识别极端姿态变化的人脸时获得更好的性能,并且不需要数据增强和人脸归一化。


二、具体工作

2、1 特征等方差

         作者基于这样的假设,存在一种映射可以使得侧脸图片的特征可以映射为正脸图片特征。用数据公式来描述就是:将CNN表示为一个函数\phi,对于输入图像x,经过一个CNN映射后可以得到特征图像表示为\phi (x),存在一个侧脸到正脸的变换g,输入变成了gxM_{g}表示的是特征之间的映射,公式如下:

        为了更好的将M_{g}和CNN结合,将M_{g}\phi (x)用残差的方式表示:

 

         其中,x_{p}表示侧脸图片,x_{f}表示正脸图片,R(\phi (x_{p}))表示经过残差模块的的侧脸图片特征,Y(x_{p})表示偏转系数。Y(x) \epsilon [0,1],作为残差模块的软门控机制,当人脸图像是正面,则Y(x)=0,当人脸姿态从正面转移到完整的侧面时,Y(x)的值从0逐渐变化到1。

2、2 DREAM模块

图2 DREAM模块(来源于论文)

Stem CNN

        选用ResNet-18或者ResNet-50,用来提取输入图片的特征,为了使得ResNet适应识别任务,在平均池化层和全连接层之间加入一个256维的全连接层,用作特征层。
Residual残差分支

        用来生成残差R(\phi (x)),用PReLU作为激活函数。这层的参数用侧脸图片和正脸图片之间的欧式距离和SGD学习,用在从MS-Celeb-1M数据集中采样的正面轮廓对上训练这个分支。
Head Rotation Estimator

        第二个分支,用于产生头部偏转系数。借鉴《Appearance-based gaze estimation in the wild》CVPR2015中的算法,将原算法中6点3D人脸模型扩展为21点模型输入,这21点输入是人脸的21个关键点。最终,将三部分的输入按照公式输入,得到最终的特征。

三、实验

3、1 三种使用DREAM模块的方式

Stitching

        最简单的方法,直接将DREAM模块和已经训练好的Stem CNN网络连接,不需要改变原网络的参数,只需要将DREAM和Stem CNN网络的最后一个全连接层连接就行。

End-to-end

        DREAM模块也可以端到端的方式和Stem CNN 一起训练。如果这个CNN不够简单或是之前训练过,可以使用现有的面部识别损失(例如验证损失、识别损失或两者都有)用端到端的方法训练 DREAM 模块时对 CNN 进行微调。如果是用这种方法,模型在侧脸识别方面的表现无法保证,因为 DREAM 模块可能无法分辨正面和侧面,原因是在模块训练过程中没有具体地将一张脸的正面和侧面配对。

End-to-end+retrain

        先将 CNN 和 DREAM 同时训练,再用成对的正面侧面的数据对 DREAM 模块进行有针对性地训练。

3、2 具体实验结果

        论文实验是在CFPIJB-A两个数据集上进行测试。

Evaluation on CFP with Frontal-Profile Setting

表1 CFP数据集结果

1)、对于测试数据集

        数据集包含500位名人,每个名人有10张正面和4张侧面脸图像。在评估中遵循标准的10倍协议,整个数据集被分为10个折叠,每个折叠包含50个个体生成的350对相同和350对不同的对(每个个体有7对相同和7对不同的对)。 

2)、Stem CNN

        使用ResNet-18作为我们的基础网络,也尝试ResNet-50网络。

3)、基准

        作者将该方法与三个具有代表性的基准(CDFE、JB、FF)进行了比较,这三个基准也有助于减少正脸和侧脸验证间的差距。

        由表1可知,DREAM方法表明,在深层特征空间中执行“正面化”比在图像空间中执行“正面化”效果更好。

Evaluation on IJB-A with Full Pose Variation

表2 IJB-A数据集结果

1)、对于测试数据集

        数据集包含500个主题,其中5712个图像和20414帧从视频中提取。IJB-A数据集中的人脸包含极端的姿势和光照,比LFW更具挑战性。

2)、网络

         使用ResNet-18和ResNet-50进行训练MS-Celeb-1M作为stem CNN。
3)、结果

        论文中的模型在MS-Celeb-1M上进行训练,并直接在IJB-A上进行测试,没有进行微调。该方法只训练使用典型的loss,没有微调。

        DREAM块由于face yaw系数的存在,使得该块不改变人脸的正面表现,因此非侧脸人脸识别的性能影响不大

四、小结

        该论文提出了一种深度残差等变映射(DREAM)块来提高轮廓人脸的识别性能,这种方法是具有创新性的,它采取了一种完全不同的方法来处理轮廓脸。而且通过文中描述,在特征空间中执行正面化比在图像空间中执行人脸验证任务更有成效。论文所提出的DREAM块并不局限于具有姿态变化的人脸识别,它也适用于其他问题,例如跨年龄的人脸识别。

论文:《DeepFace: Closing the Gap to Human-Level Performance in Face Verification》

        本文研究依照传统人脸识别流程:人脸检测-人脸对齐-人脸表达-人脸分类,它的创新在于对人脸对齐和人脸表示环节的改进。在人脸对齐阶段,使用显示3D人脸建模系统;在人脸表达阶段,利用一个9层的深度卷积在包含4000人、400万张人脸的数据集上学习人脸表达,这个9层的DCNN网络有超过1.2亿个参数。论文的模型在LFW数据集上取得了97.25%的平均精度,逼近了人类的极限。

一、人脸对齐

       虽然对齐被广泛采用,但在无约束人脸验证的背景下,目前还没有完整的物理正确的解决方案。但是,由于人脸是3D对象,论文认为只要操作正确,便是正确的选择。本文提出了一个系统,该系统包括基于基准点的人脸分析3D建模,用于将检测到的人脸裁剪扭曲为3D正面模式(正面化)。

图1 人脸对齐模型(来源于论文)

2D对齐

        通过检测检测裁剪内的6个基准点开始对齐过程,以眼睛中心、鼻尖和嘴的位置为中心,如图1所示。总对齐步骤如下:

a)、检测到的人脸,具有6个初始基准点;

b)、诱导的2D剪切目标图像;

c)、检测67个面部关键点,并对人脸进行三角剖分;

d)、将3D形状转换为2D对齐的裁剪图像平面;

e)、配备3D-2D摄像机的三角可视度,黑色三角形不太明显;

f)、由3D模型诱导的67个基准点,用于指导分段仿射扭曲;

g)、最后的正面化的剪切图片;

h)、由三维模型生成的新视图(本文中未使用)。

         通过拟合T_{2d}^{i} := (s_{i},R_{i},t_{i})将图像大致缩放、旋转和平移到三个定位点(眼睛中心、鼻尖、嘴)定位到图1(a)中的位置,其中x_{anchor}^{j} := s_{i}[R_{i} | t_{i}] * x_{source}^{j},j={1,...,6}(面部6个基准点),然后经过在新扭曲的图像上迭代,直到没有实质性变化,最终构成最终的2D相似性变换:T_{2d} := T_{2d}^{1} * ... *T_{2d}^{6},这个聚合变换生成一个2D对齐的作物,如图1(b)所示。

3D对齐

        1)、为了对齐进行平面外旋转的面,使用一个通用的3D形状模型并配备一个3D仿射摄影机,用于将二维对齐裁剪扭曲到三维形状的图像平面,生成一个裁剪的3D对齐版本图1(g)。

        2)、而图1(g)是通过使用第二个SVR定位2D对齐裁剪图c中的额外67个基准点x_{2d}来实现的。

        3)、作为一个3D通用形状模型,我们只需从USF Human-ID数据库中获取3D扫描的平均值,这些扫描经过后处理,表示为对齐的顶点v_{i} = (x_{i},y_{i},z_{i})_{i=1}^{n}

        4)、在3D形状上手动放置67个定位点,实现67个检测基准点与其3D参考之间的完全对应。使用已知协方差矩阵\Sigma的线性系统x_{2d} = X_{3d}\vec{P}的广义最小二乘解拟合仿射3D到2D摄像机P,也就是使以下损失最小化的\vec{P}

loss(\vec{P}) = r^{T}\Sigma^{-1} rr=(x_{2d} - X_{3d}\vec{P})

        其中r是残差向量,X_{3d}是一个(67x2)x8的矩阵,由2x8个矩阵[x_{3d}^{T}(i),1,\vec{0};\vec{0},x_{3d}^{T}(i),1]堆叠而成,其中\vec{0}表示每个参考基准点x_{3d}(i)的四个0的行向量。大小为2×4的仿射相机P由8个未知量的向量\vec{P}表示。利用\Sigma的Cholesky分解,将问题转化为普通最小二乘法,可使损失最小化。

 二、人脸表达

图2 DeepFace架构模型(来源于论文)

DNN Architecture and Training

         对DNN进行多类人脸识别任务的训练,即对人脸图像的身份进行分类。含最大池化层的前端自适应预处理阶段:包括C1/M2/C3。

1)、

C1:152×152像素的3D对齐3通道(RGB)的输入图像被提供给卷积层(C1),卷积层(C1)具有尺寸为11x11x3的32个滤波器(用32x11x11x3@152x152表示)。

M2:将生成的32个特征图送到最大池化层(M2),该层以2的步长分别为每个通道获取3x3个空间邻域的最大值。

C3:卷积层(C3),它有16个大小为9x9x16的滤波器。

        这三层的目的是提取底层特征,如简单的边缘和纹理。 最大池化层使卷积网络的输出对本地转换更加健壮,当应用于对齐的人脸图像时,它们使网络对较小的配准错误更加具有鲁棒性。

2)、

        L4/L5/L6三层局部连接层,其特点是不共享权值。它们是局部连接的,就像卷积层一样,它们应用过滤器组,但特征图中的每个位置都学习一组不同的过滤器。总的来说就是,利用人脸对齐这一机制,定制DNN的结构。

3)、

        最后,上面两层(F7和F8)完全连接:每个输出单元连接到所有输入。这些层获取特征图上不同图像区域之间的联系,例如眼睛的位置和形状以及嘴的位置和形状。网络中第一个完全连接层(F7)的输出将用作本文中的原始人脸表示特征向量,F7输出作为原始表达与LBP进行对比。

Normaliaztion

        作为最后阶段,将特征归一化为0到1之间,以降低对光照变化的敏感性:特征向量的每个分量都除它在训练集中的最大值。然后是L2归一化:f(I) := \bar{G}(I) / \left \| \bar{G}(I) \right \|_{2},其中\bar{G}(I)_{i} = G(I)_{i} / max(G_{i},\epsilon )。作者采用了ReLU激活,系统对图像强度的重新缩放并不是不变的。 如果DNN中没有偏差,就可以实现完全等值方差。

三、实验

3、1 SFC

数据集:

         SFC数据集包括来自4030人的440万张贴有标签的脸,每个人有800到1200张脸,其中每个身份的最新5%的脸图像被排除在测试之外。

测试SFC:

          首先使用基于GPU的引擎在SFC上将深度神经网络训练为多类分类问题,通过动量随机梯度下降(SGD)(设置为0.9)在前馈网络上实现标准反向传播。以5%的SFC数据作为测试集,根据分类误差评估了DNN的不同设计选择。使用大小为1.5K、3K和4K人的子集(分别为1.5M、3.3M和4.4M)来改变训练/测试数据集的大小,这验证了使用大规模人脸数据集和深层架构的必要性,效果如下表所示:

        使用网络架构,训练了三个网络,分别表示为DF-1.5M、DF-3.3M和DF-4.4M。分类误差仅从1.5K人的7.0%略微增长到3K人分类时的7.2%,这表明网络的容量能够很好地适应3M训练图像的规模 ,DF-4.4M错误率适度增长,说明网络规模适用更多的数据。

3、2 LFW

数据集:

        由5749位名人的13323张网络照片组成,这些照片分为10个部分,共6000张脸对,检测性能通过使用平均识别精度来衡量。

 测试LFW:

        DeepFace将基于前馈的大型模型与精细3D对齐相结合,所有LFW数据集中的图像都用在SFC数据集上进行训练的同一管道进行处理,表示为DeepFace-single。 为了单独评估人脸表征的辨别能力采用无监督设置直接比较一对归一化特征的内积,这达到了95.92%的平均精度。遵循受限协议,在x_{2}距离向量的基础上学习一个SVM核(C=1),即每个分割只有5400对标签可用于SVM训练,实现了97.00%的准确。之后作者通过向DNN送入不同类型的输入来训练的多个网络组合起来(数据增强),进一步实验训练Siamese Network ,最终检测效果达到97.25%,如下表所示。

3、3 YTF 

        在视频级人脸验证数据集上进一步验证了DeepFace。通过为每对训练视频创建50对帧(每个视频一对帧),直接使用DeepFace-single表示,并根据视频训练对将这些帧标记为相同或不相同。然后学习\chi ^{2}加权模型,给定一个测试对,从每个视频中随机抽取100对帧,并使用学习到的加权相似性的平均值。DeepFace-single测试结果准确率91.4%,去除标注标注错误的样本92.5%。

四、小结

        这篇论文是最早将深度学习用于人脸验证的开创性研究,而且对大数据发展以及深度学习方法为什么得到广泛应用的原因做了简单的介绍。将基于3D模型的对准与大容量前馈模型相结合,使用改进型的深度神经网络和学习方法,使得该网络能够从大规模数据集中学习到能够用于其他数据集的人脸特征。在人脸识别方面表现出显著效果,证明了这种耦合在其他视觉领域也具有重要的潜力。同时,对传统的人脸识别验证方法做了总结,对比说明本文的方法优势。

论文:《RegularFace: Deep Face Recognition via Exclusive Regularization》

        《RegularFace:通过独家正则化进行深度人脸识别》。一般在人脸识别任务中,都是希望同一人脸的图片在特征空间中距离比较近,而不同人脸在特征空间中距离比较远。论文提出“exclusive regularization”——独家正则化,关注到了类间可分离性,目的是拉开不同类别之间的距离,这在许多方法中都被忽略了。RegularFace思想是通过惩罚目标类别和它最接近类别的角度来定义图片的距离特征,从而产生鉴别性的人脸表示。

一、相关工作

        人脸识别算法可以根据损失函数划分成两类:Softmax-based methods和 Softmax-free methods。

1、1 Softmax-free Methods

        softmax-free这种方法主要是通过输入图像对以及成对的标签来训练特征表示,由于在训练过程中身份标签是不可见的,因此模型不能利用分类损失(如softmax-loss)作为监督。Siamese networks、contrastive loss、triplet loss这几种思想都在于拉近同类人的人脸图像距离,拉远不同人之间的人脸距离。

1、2 Softmax-based methods

       softmax-based方法则与上一种方法相反,它使用类别标签作监督,用分类loss来提高识别精度和特征判别性。

二、Exclusive Regularization

2、1 Exclusive Regularization的公式

Exclusive Regularization公式如下:

        这里的W就是一个对应的类别的聚类中心,主要的目的是最小化每个类别W_{i}与其最近的类别W_{j}之间的余弦距离。这个正则化项与其他的softmax-based loss联合作为网络的总损失函数,以进一步提高性能,总损失函数公式如下:

         \lambda是两项之间的平衡因子,其中L_{s}(angular softmax loss)可以用其他高级损失函数代替。exclusive regularization与angular softmax loss联合,一方面专注于类内紧凑性,另一方面专注于类间分离性,模型将学习到一种特别强调类间可分离性的判别表示。

2、2  利用投影梯度下降优化

利用随机梯度下降(SGD)对\theta进行优化,其中\alpha为学习率:

利用投影梯度下降来优化W

         由于本文方法中,类别矩阵W要投影到超球面上,计算angular softmax loss,SGD梯度优化会将W拉离超球表面,因此采用投影梯度优化。以上公式13中第二步会将更新了的参数投影到最近的约束边界,由于W被限制在球面上,我们简单地对W的列进行L_{2}归一化。

2、3 Exclusive Regularization的梯度

        W_{j}是类别矩阵W的第j列,{W}'_{j}是靠W_{j}聚类中心最近的,\mathbb{C}是靠W_{j}最近的列的集合。

 

 三、实验

3、1 RegularFace网络框架

         如上图所示,RegularFace网络框架采用ResNet20架构。其中conv3x3@64表示3x3的卷积层,输出64个特征映射,W是一个矩阵,它表示将人脸表达映射到输入图像属于人脸身份的概率。网络由112×96的RGB图像作为输入,经过4个残差块,总共包含20个卷积层,输出特征图的形状为7×6×512。然后,第一个全连接层(FC1)将特征图映射到512D向量,该向量用于在测试阶段计算相似性得分。在训练过程中,另一个全连接层FC2被附加到FC1的后面,以便进行分类。

3、2 训练数据

        作者使用CASIA-WebFace和VGGFace2数据集来训练CNN模型。在数据预处理阶段进行人脸对齐,以保证所有眼球都保持在图像中的相同位置。在检测阶段使用MTCNN检测面部标志,并根据检测到的标志将图像裁剪为112x96。如果检测到多个人脸,则保留离图像中心最近的人脸,并丢弃所有其他人脸。如果没有检测到人脸,如果它是训练样本,我们删除图像,如果它是测试样本,我们执行中心裁剪。

四、实验结果

4、1 在MNIST数据集上的实验

        作者在MNIST数据集上验证RegularFace的几何特性,同时利用不同loss训练模型,观察Softmax Loss、Center Loss、SphereFace与RegularFace的差异。由图可看出,图(a)使用softmax loss训练模型时,形成可分离的聚类,不同数字类别的表示形式之间存在明显的边界。图(b),通过惩罚表示法与其特定类别中心之间的欧几里得距离,中心损失使同一类别变得更加接近和紧凑。图(c),与压缩欧几里得距离得到图形中的中心损失不同,角边缘softmax损失通过在决策边界上施加角边缘来夹住超球面中的同类。图(d),exclusive regularization方法通过扩大类间可分性来增强可分辨性,当模型采用exclusive regularization训练时,不同类别之间往往有角度上的距离。

4、2  在LFW和YTF数据集上的实验

         由上表可知,利用exclusive regularization,作者提出的RegularFace方法可以显著提高原有softmax损失的性能。RegularFace+SM(SM:Softmax Loss)组合的性能优于原来的softmax损失,具有非常明显的边际。

五、小结

        这篇论文提出了“exclusive regularization”,明显扩大了鉴别人脸识别的类间距离,本文的创新点和优点有:
1)、用类别中心间的角度距离来评估类间分离性;
2)、提出了“Exclusive Regularization”来拉大不同类别间的距离;
3)、此方法具有正交性,可以配合其他现有方法来进一步提高性能;
4)、在多个数据集上的检测性能都有显著的提升。

论文:《AdaptiveFace: Adaptive Margin and Sampling for Face Recognition》

        本文是对Margin based Softmax Loss的改进,主要针对公共人脸数据集类别不平衡的问题,以及难类别/难样本的挖掘,让训练过程变得高效。

一、背景介绍 

        基于Margin的Softmax Loss有一个前提假设:即所有的类别都有足够多的样本来描述该类别的分布,因此一个预设的常量margin就足以缩小每一个类别的类内差异。但是实际上人脸数据集的样本很不平衡,类别的样本数量之间有很大差异,如下图所示:

        大规模人脸数据集始终包含数十万个类别和数百万个样本,但是只有一小部分可以帮助进行区分训练。明智地选择有价值的类别和样本来进行训练,可以使训练更加有效。

 二、相关工作

        在本文中,我们提出了一种新的损失函数,Adaptive Margin Softmax loss (AdaM-Softmax),用于自适应地为不同类型的类寻找合适的裕度。本文主要贡献:

1)、引入自适应裕度,使模型学习每个类别的特殊裕度,来自适应地压缩类别内的变化;

2)、提出Hard Prototype Mining(HPM),通过在分类训练中自适应地挖掘少量的hard原型,使网络训练集中在hard类上;

3)、建立从分类层到数据层的反馈通道,寻找有价值的样本进行网络训练。

2、1 Adaptive Margin Softmax

        我们通过二分类任务可视化人脸数据集类别不平衡造成的影响,如上图所示,蓝色区域表示样本不足且内部变形较小的劣类C1的特征空间,半透明蓝色区域表示C1的真实特征空间。红色区域表示样本充足且类内变形较大的C2的特征空间,因此认为半透明的红色区域与红色区域相同。可以看出,CosFace损失不能很好地压缩C1的特征,因为它看不到真实的边界样本。为了解决这个问题,我们提出了Adaptive Margin Softmax Loss (AdaM-Softmax),它将固定的Margin m改进为一个可学习的和与类相关的参数。

2、2  损失函数

        以上公式(1)是原始的无偏置的softmax loss,其中p_{ij}是表示x_{j}被正确划分为y^{(j)}类的后验概率,M为批大小,N表示类别数,W表示权重,x表示特征,这里将偏置bias置为0。然后对w_{i}x_{j}进行L2归一化,对球面上的特征进行优化,特征距离可表示为特征角,如下公式(2):

         其中\theta _{ij}w_{i}x_{j}的夹角,基于以上公式(2),一些方法引入了裕度来提高类内紧凑性,以下以CosFace为例:

         将权重和特征都进行归一化处理,使得类与类之间的相似性只与角度有关,s是比例因子,m是一个固定的余量,以上公式(3)就是CosFace的LMCL损失函数,而且CosFace中的裕度m通常是手动设置的,并在训练过程中保持恒定。为了处理2、1节中描述的问题,作者的目标是将边际提高到一个可学习的和类相关的参数。公式(3)可以修改为:

         公式(4)中的m_{y^{(j)}}是类y^{(j)}对应的边距,作者希望使用更大的m以减少类内差异,所以在这阶段中,我们限制了数据库视图中的边距:

        所有类的余量m相加求个平均,由于自学习的m可能为0,所以使用L_{m}加以约束,将以上公式(4)和公式(5)结合起来就是我们的总损失函数(AdaM-Softmax):

        其中\lambda控制边缘约束L_{m}的强度,本文提出的自适应裕度可以应用于任何基于Softmax损失的裕度。

三、实验

 AdaptiveFace

 

 图1 AdaptiveFace整体框架图(来源于论文)

数据预处理

        作者使用FaceBox检测器检测人脸,并通过一个简单的6层CNN定位5个坐标(两只眼睛,鼻尖和左右两个嘴角)。所有人脸通过相似度变换归一化,裁剪成120 × 120 RGB图像。

CNN架构

        实验中所有的CNN模型都是相同的架构,即与LResNet50A-IR相同的50层残差网络。它有四个剩余块,最后通过平均池化得到512维的特征。网络在TITANX GPU上进行训练,批处理大小设置为填满所有GPU内存。

训练数据

        文中所有模型都在MS-Celeb-1M数据集上训练,包含98685名名人和1000万张图片。由于噪声比较大,所以处理了一下数据。目前还有79077个人和500万张图片,这些人脸图像被水平翻转以进行数据增强。

评价标准

        对于每张图像,我们只从原始图像中提取特征作为最终表示。评价分数是通过两个特征的余弦距离来衡量的,最后,通过阈值化和评分排序进行人脸验证和识别。作者在LFW、LFW BLUFR和MegaFace上评估模型。

 四、实验结果

 4、1 在MegaFace上的实验

表1 在MegaFace上的实验结果

        以上表展现了AdaptiveFace在MegaFace large协议上训练的模型的检测结果。与Softmax、SphereFace、CosFace和ArcFace等相关基线方法相比,本文提出的AdaptiveFace在识别和验证任务上都获得了最好的性能。而且与CosFace相比,AdaptiveFace的MF1 Rank1从93.942%提高到95.023%,MF1验证性能从94.115%提高到95.608%,证明了该方法的有效性。

 4、2  在LFW和LFW BLUFR上的实验

表2 在LFW上的实验结果

 表3 在LFW BLUFR上的实验结果

       由表2可以看出在LFW上AdaptiveFace将性能从99.53%提高到99.62%。考虑到LFW已经很高效,作者进一步在更具挑战性的LFW BLUFR协议上测试,该协议专注于低FARs。由表3可以看出,AdaptiveFace优于目前所有最先进的方法。

五、小结

         作者提出了一种新的人脸识别方法AdaptiveFace,该方法由三个部分组成,分别是:AdaM-Softmax;硬原型挖掘;自适应数据采样。该方法在几个人脸基准测试中有显著效果,在实践中对大规模的不平衡数据训练有很大的帮助。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值