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图像,引入一种新的编码方式来捕获图像中像素的地心姿态,并且这种新的编码方式比单纯使用深度通道有了明显的改进. 我们建议在每个像素上用三个通道编码深度图像:水平视 ...
随机推荐
- Difference between == and ===
In swift 3 and above === (or !==) Checks if the values are identical (both point to the same memory ...
- In-Out Parameters inout keyword
You write an in-out parameter by placing the inout keyword right before a parameter’s type. An in-ou ...
- RxSwift源码与模式分析一:基本类
封装.变换与处理 // Represents a push style sequence. public protocol ObservableType : ObservableConvertible ...
- 创建一个dynamics CRM workflow (一) - Introduction to Custom Workflows
Workflow: Use this process to model and automate real world business processes. These processes can ...
- WPF添加类库并引用
源码地址:https://github.com/lizhiqiang0204/-WpfApp2.git 首先利用WPF向导创建一个空的项目 using System.Windows; namespac ...
- Spring中xml文档的schema约束
最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version= ...
- Python数据分析1------数据存取
1.CSV格式数据: 1.1普通读取和保存 可以以纯文本形式打开,可以保存多条记录,每条记录的数据之间默认用逗号来分隔,csv就是逗号分割值的英文缩写. 保存为csv文件: import pandas ...
- 训练1-Z
有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个 ...
- [Ynoi2019模拟赛]Yuno loves sqrt technology II
题目大意: 给定一个长为\(n\)的序列,\(m\)次询问,每次查询一个区间的逆序对数. 32MB. 解题思路: 出题人题解 众所周知lxl是个毒瘤,Ynoi道道都是神仙题 二次离线莫队. 对于每个区 ...
- jQuery(基本事件)