和传统回归方法的比较
回归思路基本沿袭传统方法(思路大体和LBF差不多),都是通过级联的方式,但是也有明显不同于传统的方法,1,在初值选取方面,传统方法是通过归一化后取平均形状作为初值(回归依赖于初值的选取,有时会陷入局部最小值),该方法是通过网络的方法,得到初值的粗略估计(该方法的粗略估计效果并不好,没有传统网络的方法好,原因可能是没有利用全局信息,但是相对于传统的方法效果要好,可通过对比发现)。2,级联方式上,并不是采用双层级联的方式。3,形状索引特征的提取方式上,传统回归的方法提取形状索引特征是根据当前形状寻找最具判别性的特征(两点的像素差,比如ESR),而该方法是通过形状索引池化操作寻找特征。
创新点:
1,在原VGG19的基础上设计新型网络结构;利用网络得到初始化值。
2,设计新的形状索引特征提取方式。

网络结构:
Deep Cascaded Regression for Face Alignment(DCR2015)
操作流程:1,数据处理,对图像进行归一化,然后通过数据增强方法增加训练样本,然后进行裁剪并放缩到输入的大小要求。2,通过上图的(a)阶段,先进行下采样,然后再上采样使图像的输出大小和输入时同样的尺寸。(3),上图(b)阶段,在deconv7的后边加上一个卷积操作,生成特征图的数量和关键点的数量相等,生成的每一个特征图(归一化)代表一个关键点的概率图,然后与ground true的概率图作比较,用交叉熵做损失函数优化得到形状的粗略估计,并作为初始形状S0。(4)上图(c)阶段,在初始形状S0上通过形状索引池化操作提取特征,然后通过全连接层做回归,得到deltS0,更新初始形状为S1,依次重复该步骤,得到最终的形状SK。
阶段(a)的网络结构:
Deep Cascaded Regression for Face Alignment(DCR2015)
理论分析:
我们的目的是给输入S0,输出是Sk,S0是初始输入形状,Sk是在级联回归中的预测形状,迭代更新人脸序列:k=0,1,……,K-1,如下:

Deep Cascaded Regression for Face Alignment(DCR2015)
后面三个分别是形状索引特征、线性回归矩阵和偏置。
每次回归的损失函数如下:
Deep Cascaded Regression for Face Alignment(DCR2015)
通过S1,S2……SK,逐渐更新到最终要求的人脸形状。

流程细节:
(1)数据处理:过程同上面操作流程(1),注意在裁剪时,以边界框为界,拓宽0.2W的宽度。
(2)阶段(a),是在VGG19的基础上设计的网络结构,保留前两个池化层,去掉原来的pool3,4,5层和fc6, fc7, fc8全连接层,在最后加上两个转置卷积,去掉池化层的考量是池化层会使图像的信息损失。注意,它的输入和输出具有相同的尺寸。池化层的采用的是最大池化,步长为22,转置卷积的卷积核大小是44,步长是2*2,每做一次转置卷积,输出的尺寸增大一倍。Deconv7后面接两个操作,一个是为了得到初始形状,另一个是为了进行级联回归。
(3)阶段(b),是在在deconv7的后边加上一个卷积操作,生成特征图的数量和关键点的数量相等,生成的每一个特征图(归一化)代表一个关键点的概率图,然后与ground true的概率图作比较,用交叉熵做损失函数优化得到形状的粗略估计,并作为初始形状S0。之所以选用交叉熵损失函数是因为,卷积后输出的是和输入尺寸相同大小的概率图,而交叉熵衡量的是输出和ground true分布的差异程度。
输出的概率值大小:

Deep Cascaded Regression for Face Alignment(DCR2015)
Z的值是:
Deep Cascaded Regression for Face Alignment(DCR2015)
Ground true的概率分布:
Deep Cascaded Regression for Face Alignment(DCR2015)
其中满足1,在关键点位置的概率最大,2,离关键点的距离越远,概率值越小。
(4)上图(c)阶段,想利用回归进行更新1,要有初始值S0,2,要有索引特征,然后利用公式全连接进行回归即可。形状索引特征顾名思义即是由当前估计的形状索引得到的特征。索引特征的提取是通过形状索引池完成的。索引池化的操作步骤是针对每一个关键点位置(由S0得出)选取池化的范围,就是在关键点位置为中心框出一个小框,框的大小论文中给出是b=2,即是44大小,然后根据最大值池化得到一个池化值,将该关键点的M个特征图进行该操作,得到一个M维向量,将所有的p个关键点执行上边操作,得到一个PM维向量,即是所求的形状索引特征。进行回归,得到deltS0,更新S0->S1,S1=S0+deltS0。重复上面操作,得到最终的形状SK。

实验部分:
平均准确率定义

Deep Cascaded Regression for Face Alignment(DCR2015)
分子部分是预测形状和真实形状的L2损失,分子的Di是两内眼角的距离。该方法的有个弊端,就是Di的距离不仅与真实两内眼的距离有关,而且还受姿态的变化的影响。

CED曲线:累计误差曲线
首先定义误差:

Deep Cascaded Regression for Face Alignment(DCR2015)
其中Ne<=l是ei<=l的图片数量。

1,比较:在三个数据库上和各种算法对平均误差进行比较,可以发现该方法的准确率是很高的。
Deep Cascaded Regression for Face Alignment(DCR2015)
2,在challenging subnet上的CED曲线比较,可以看出该方法的定位性能的优越性。
Deep Cascaded Regression for Face Alignment(DCR2015)
3,不同的网络深度和不同的输入尺寸大小比较,网络越深,输入尺寸越大,预测的形状越接近真实形状。
Deep Cascaded Regression for Face Alignment(DCR2015)
4,在三个数据集上local mapping function的定位性能,可以看出初始化的效果并不是太好,可能是没有利用全局信息导致。
Deep Cascaded Regression for Face Alignment(DCR2015)

相关文章: