- 《Island Loss for Learning Discriminative Features in Facial Expression Recognition》
2017,Jie Cai et al. Island Loss
参考:https://www.cnblogs.com/LaplaceAkuir/p/8243180.html
引言:
由于微妙的面部外观变化、头部姿势变化、光照变化和遮挡而引起的变化,在真实环境下的人脸表情识别性能显著降低。
本文提出了一种新的损失函数island loss,来提高深层学习特征的识别能力。减少类内差异,同时扩大类间差异。
IL-CNN 网络结构:
3个卷积层后接Prelu和BN,每一个bn的后面接一个MaxPooling,最终接入两个全连接层,softmax和Islandloss共同驱动最终的loss,采用sgd+momentum batch_size为300,weight_decay设置为0.05,每个全连接后接dropout层。
数据预处理
根据人脸特征点的位置,以双眼为中心,进行人脸对齐。人脸图像缩放到6060,同时,图像cropSize为4848,图像随机旋转-10°~10°,并进行水平flip,从而增加训练样本的数量.
损失函数:Island Loss
1.softmax loss
2.centerLoss,在softmax的基础上,新添加了一种loss:
给每个label的数据定义一个center,大家要向center靠近,
c
y
i
c_{y_{i}}
cyi表示
y
i
y_{i}
yi类别的特征中心。
因此整体的Loss为
3.IslandLoss ,在center loss的基础上,优化类间距离:
即每个类心求余弦距离,+1 使得范围为0-2,越接近0表示类别差异越大,从而优化Loss即使得类间距离变大。
4.CNN训练的整个损失函数为:
IslandLoss算法流程:
对比softmax loss 、center loss 、island loss 的特征图示:
对比不同损失函数的类内和类间距离:
总结:
作者在CenterLoss的基础上,提出了一个新的Loss,在关注类别的类内距离的同时,优化类间距离,使得每个类别拥有更大的margin,从而迫使网络能够学习到更具判别性的特征。