Paper-[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression
[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression
ABSTRACT
作者在CenterLoss的基础上,提出了一个新的Loss,在关注类别的类内距离的同时,优化类间距离,使得每个类别拥有更大的margin,从而迫使网络能够学习到更具判别性的特征。
当前问题
在环境不可控(光照,姿态,遮挡,人物状态)等条件下,不同表情间的类间距离往往会大于类内距离。同时因为高的类内距离,同一类别的样本分布趋势呈现出了径向(NormFace中提到的softmax的Scale不变性)
\[ 不同loss情况下类别特征空间分布情况 \]
本文贡献
本文主要有一下贡献:
- 提出了一个新的loss函数,目的是能够得到更具判别性的特征,从而使得类内距离小,类间距离大。
设计了一个机遇IslandLoss的卷积神经网络框架,完成人脸面部表情的识别。
作者在三个数据库上进行了实验,(CK+,Oulu-CASIA 和MMI),并且在SFEW的数据库上进行了验证。对比与传统的SoftmaxLoss和CenterLoss,新提出的Loss效果更好。
理论方法
\(softmax loss\):
\[ L = -\frac{1}{N}\sum_{j=1}^{N}{y_ilog{\frac{exp(z_{y_i})}{\sum_{k=1}^{c}{exp(z_k)}}}} \]\(centerLoss\),在softmax的基础上,新添加了一种loss:
\[ L_c = \frac{1}{2}\sum_{i=1}^{n}||x_i-c_{yi}|| \]
其中,\(yi\)为样本i的类心特征向量。因此整体的Loss为
\[ L = L_{softmax} + \lambda L_c \]
反向更新的时候,每个batch内,每个样本仅仅负责更新该类的类心.\(IslandLoss\) ,在softmax的基础上,优化类间距离:
\[ L_{island}=L_c+ \lambda_{1} \sum_{c_{j} \in N}\sum_{c_k \in N ,c_k \neq c_j}{\frac{c_k \cdot c_j}{||c_k||_2||c_j||_2}+1} \]
公式看着比较复杂,实际上即每个类心求余弦距离,+1 使得范围为0-2,越接近0表示类别差异越大,从而优化Loss即使得类间距离变大。当类别过多时,loss容易溢出.
\[ islandloss 前向公式 \]
\[ L = L_{softmax}+ \lambda L_{island} \]
反向更新过程即求导过程,实际简化为x/||x||的求导,需要注意i==j和i!=j.
\[ islandloss 反向更新公式 \]
\[ islandLoss层次类心的迭代与更新过程 \]
实验过程
实验包含预处理,卷积神经网络超参数。
数据预处理
根据人脸特征点的位置,以双眼为中心,进行人脸对齐。人脸图像缩放到60*60,同时,图像cropSize为48*48,图像随机旋转-10°~10°,并进行水平flip,从而增加训练样本的数量.
卷积神经网络结构
3个卷积层后接Prelu和BN,每一个bn的后面接一个MaxPooling,最终接入两个全连接层,softmax和Islandloss共同驱动最终的loss,采用sgd+momentum batch_size为300,weight_decay设置为0.05,每个全连接后接dropout层。
\[ 卷积神经网络结构图\]
实验结果
作者做了一个简单的可视化,并统计了不同loss中特征类心的距离.
\[ 特征可视化 \]
\[ 不同loss的类别距离 \]
CK+: 7表情94.35%
\[ ck+数据库上islandloss混淆矩阵 \]
\[ ck+数据库上不同算法准确率对比 \]
MMI:6表情70.67%
\[ MMI数据库上islandloss混淆矩阵 \]
\[ MMI数据库上不同算法准确率对比 \]
- Ouli-CASIA: 6表情77.29%
\[ Oulu-CASIA数据库上islandloss混淆矩阵 \]
\[ Oulu-CASIA数据库上不同算法准确率对比 \]
- SFEW: 验证集52.52% 测试集 59.41%
\[ SFEW数据库验证集上islandloss混淆矩阵 \]
\[ SFEW数据库测试集上islandloss混淆矩阵 \]
\[ SFEW数据库不同算法准确率对比 \]
总结
emmmmm,作者在centerloss的启发下,提出了softmax,并且以余弦距离衡量类间分布,相比于centerloss和传统的softmaxloss确实有提高,在网络上,bn或许对网络的性能有损失,而且具体的参数 \(\lambda\)也不好把握,小类别可以尝试。
本文作者: 张峰
本文链接: http://www.enjoyai.site/2018/01/08/
版权声明: 本博客所有文章,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
Paper-[arXiv 1710.03144]Island Loss for Learning Discriminative Features in Facial Expression的更多相关文章
- Learning Discriminative Features with Class Encoder
近来论文看了许多,但没多少时间总结下来.今天暂时记录一篇比较旧的论文,选择理由是 Discriminative features. 做图像说白了就是希望有足够有判别性的特征,这样在分类或者匹配.检索的 ...
- Machine Learning : Pre-processing features
from:http://analyticsbot.ml/2016/10/machine-learning-pre-processing-features/ Machine Learning : Pre ...
- Paper-[acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning
[acmi 2015]Image based Static Facial Expression Recognition with Multiple Deep Network Learning ABST ...
- 【DeepLearning】Exercise:Learning color features with Sparse Autoencoders
Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with ...
- paper 102:极限学习机(Extreme Learning Machine)
原文地址:http://blog.csdn.net/google19890102/article/details/18222103 极限学习机(Extreme Learning Machine) ...
- Paper慢慢读 - AB实验人群定向 Learning Triggers for Heterogeneous Treatment Effects
这篇论文是在 Recursive Partitioning for Heterogeneous Casual Effects 的基础上加入了两个新元素: Trigger:对不同群体的treatment ...
- Paper | PyTorch: An Imperative Style, High-Performance Deep Learning Library
目录 0. 摘要 1. 简介 2. 背景 3. 设计原则 4. 针对易用性的核心设计 4.1 让深度学习模块不过是Python程序 4.2 互用性和可拓展性 4.3 自动差分 5. 针对高性能的PyT ...
- Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition
承接上上篇博客,在其基础上,加入了Wasserstein distance和correlation prior .其他相关工作.网络细节(maxout operator).训练方式和数据处理等基本和前 ...
- Learning Rich Features from RGB-D Images for Object Detection and Segmentation论文笔记
相关工作: 将R-CNN推广到RGB-D图像,引入一种新的编码方式来捕获图像中像素的地心姿态,并且这种新的编码方式比单纯使用深度通道有了明显的改进. 我们建议在每个像素上用三个通道编码深度图像:水平视 ...
随机推荐
- concurrently - npm 同时运行前端和后台服务
项目基于vue(前端)+node(后台),需要启动两个服务 0.文件夹结构及package.json内容: 1.客户端 npm run dev 2.服务器 cd server npm run serv ...
- Vue中的v-model与my97日期选择插件冲突
Vue中的v-model指令只是一个语法糖,其具体实现是:监听input框的input事件,然后将用户输入的值赋值给input框的value属性 <input type="text&q ...
- python tips: is同一性运算符
is用来判断两个对象是不是同一个对象,通过id()函数取对象地址进行判断.python会缓存一些小的整数,以及只包含字母数字以及下划线的字符串.所以在对于这些值的时候,is判断为True. >& ...
- SQL Server 2017 安装问题(转)
遇到问题 Polybase 要求安装 Oracle JRE7 更新 规则失败 安装完毕之后,登录提示:您试图连接的 SQL Server 实例未安装 安装完SQL Server 2017 后,无法启动 ...
- 洛谷P2038 无线网络发射器选址 水题 枚举
刚开始边界写错了(将128写成127). 注意n <= 20,所以可以每读入一个点就将其周边更新,这样最多也只会有 40 * 40 * 20 种位置需要被枚举. Code: #include&l ...
- jmeter目录讲解
1.jmeter目录详解 2.这是bin目录下的examples 3.这是bin目录下的report-template 注意啦:jmeterw.cmd运行不带命令的窗口会侵占8080端口,会和tomc ...
- PART 5: INTEGRATING SPRING SECURITY WITH SPRING BOOT WEB
转自:http://justinrodenbostel.com/2014/05/30/part-5-integrating-spring-security-with-spring-boot-web/ ...
- EasyUI闪屏,EasyUI页面加载提示:原理+代码+效果图
使用EasyUI时,有个经常遇到的问题,页面还没有渲染完成的时候,就展现了. 刚刚开始很混乱,等加载完成后,就好了. 参考这篇文章http://blog.csdn.net/zheng0518/arti ...
- HDU5979 Convex
/* HDU5979 Convex http://acm.hdu.edu.cn/showproblem.php?pid=5979 计算几何 三角形面积公式 * * */ #include <cs ...
- HDU 3306
先转一些 http://www.cnblogs.com/frog112111/archive/2013/05/19/3087648.html Fibonacci数列:F(0)=1 , F(1)=1 ...