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图像,引入一种新的编码方式来捕获图像中像素的地心姿态,并且这种新的编码方式比单纯使用深度通道有了明显的改进. 我们建议在每个像素上用三个通道编码深度图像:水平视 ...
随机推荐
- js和java中URI的编码和解码
js中对文字进行编码主要有三个函数:escape,encodeURI,encodeURIComponent: 对应解码为:unescape,decodeURI,decodeURIComponent 这 ...
- postman测试实例--断言
postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...
- 在wamp中直接进入项目
这个问题困扰了我很久, 暂时我解决了一半. 进入localhost的页面如图一: 可以看到 我有两个projects,但是点击后会直接转跳到这样的页面 例如点击phyfitness_proj,如图二所 ...
- 容器化haproxy+keepalived
# 拉取haproxy镜像 docker pull haproxy:1.7.8-alpine mkdir /etc/haproxy cat >/etc/haproxy/haproxy.cfg&l ...
- iview关于menu结合router问题
#iview关于menu结合router问题 1. Menu.Item下router问题: 直接在Menu标签上绑定on-select事件,可以获取到name(name为元素绑定name) <M ...
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
转载地址: https://blog.csdn.net/gebitan505/article/details/58166055 VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址 前 ...
- @Autowired 作用范围
一.@AutoWired 可以作用于:构造器.方法.参数.属性 二.作用在方法上 @Component public class Student{ private Book book; public ...
- js cookie 设置
(function () { function getCookie(name) { var start = document.cookie.indexOf(name + "="); ...
- LiquidCrystal库函数
主要资料来源: 极客工坊-知识库 (LiquidCrystal库地址:http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:liqui ...
- SQL-Oracle-创建Dblink
create database link DBLINK_IMARK_RAC connect to imark identified by imarkDB12345 using '(DESCRIPTIO ...