该论文发表于ECCV2018
论文链接为http://openaccess.thecvf.com/content_ECCV_2018/papers/yitong_wang_Orthogonal_Deep_Features_ECCV_2018_paper.pdf
一、背景
1、跨年龄人脸识别的难点:同一个人不同年龄段的外貌会有非常大的差异,即存在类内差异大的问题,而年龄相近的两个人却比较相似,即存在类间相似的问题,所以类内差异大、类间相似的问题严重影响跨年龄人脸识别的精度,如图一所示;
2、跨年龄人脸识别的意义:帮助寻找很多年前丢失的孩子、不同年龄段人脸匹配等。
图一
二、贡献
1、为了减少年龄变化导致的类内差异,作者提出了一种称为正交嵌入CNN(Orthogonal Embedding CNNs, OE-CNNs)的框架来学习年龄不变的深度人脸特征。
2、作者还构建了一个大型跨年龄人脸数据集(Cross-Age Face Datset, CAF),该数据集包含313986张人脸图像,共4668个个体,图像经过了清洗且各年龄段图像分布较均匀。
3、实验结果表明,作者提出的OE-CNNs,不仅对跨年龄人脸识别任务有效,且对普通的人脸识别也有效,证明了该算法具有泛化能力。
三、OE-CNN方法
1、 特征分解
x 为最后一个全连接层输出的特征向量,将x分解为,其中。之所这样分解,作者是受人脸识别任务中提出的A-softmax函数的启发,因为经过A-softmax的约束,在映射到超球体空间中时,不同的个体拥有不同的角度,且作者又将xid进行了归一化,用缩放因子s代替,从而剔除了年龄带来的影响,其中A-softmax函数如下式所示:
2、基于age的lable对xage进行回归
其中nxi为向量x的L2范数,f为线性映射函数,具体为f=kx+b,zi为第i个样本对应的年龄的lable。即通过线性函数f来学习nxi和zi之间的关系,为一个回归任务,这里f采用线性函数,而非多层非线性函数映射的网络,是因为nxi为一个一维标量,越复杂的模型越容易过拟合。
3、基于id的lable对xid进行分类
此公式用缩放因子s替换了原本的A-softmax公式中||xid||,因为经过步骤1的特征分解,||xid||=1,所以此处引入s来弥补L2范数带来的损失,实验中取值为32。
4、联合Lage和Lid,训练该网络
两种分量最后通过多任务学习的方式同时训练,最终的损失函数是二者损失的算术叠加,其中为平衡因子,实验中取值为0.01,整个网络结构如图所示:
5、可视化
可视化结果表明,(1)不同的个体被判为不同的角度;(2)A-softmax和OE-CNN的类间间隔明显大于Softmax;(3)OE-CNNs表明同一个个体的不同年龄反应在半径方向上,即半径越长,该个体年龄越大,而其它两个模型没有该规律。
四、作者收集的数据集CAF
该数据集的特点:(1)数量多,313986张人脸图像,对应4668个个体,每个个体大约80张图片;(2)年龄间隔大;(3)经过了数据清洗,使用检测算法MTCNN过滤掉了不含人脸图像的图片,且尽量保证每个年龄段的图片数量相近;(4)通过DEX算法估计图像年龄,生成图像对应的age标签。
五、实验
1、基于MORPH数据集,验证OE-CNN的有效性
(1)对比Softmax、A-softmax和OE-CNN,验证了OE-CNN的有效性
(2)与其他主流跨人脸识别算法对比,验证了OE-CNN的有效性
2、基于人脸识别数据库CACD-VS,证明该算法的鲁棒性
3、基于人脸识别数据库LFW,证明该算法的泛化能力