• EmotiW2015比赛静态表情识别的亚军,采用的方法为cnn的级联,人脸检测方面也采用了当时3种算法的共同检测,通过在FER2013数据库上进行模型预训练,并在SFEW2.0(比赛数据)上fine-tune,从而在比赛的验证集和测试集上取得55.96%和61.29%的准确率,远远超过比赛的baseline(35.96%,39.13%)。
  • 作者本文主要贡献如下:

    • 1.实现了CNN架构,在表情识别方面性能卓越。
    • 2.提出了一种数据增强和投票模式,应有提高CNN的性能。
    • 3.提出了一种优化方法自动的决定级联CNN的权重分配问题。
  • 多种串联方式检测人脸
  • 由于SFEW数据库给出的静态图像,背景非常复杂,同时为了后续的CNN表情分类,人脸的检测与对齐是非常重要的,因此作者级联了三个state-of-the-art的人脸检测算法,从而保证人脸检测的正确性.三种检测算法为(JDA,DCNN,MoT),图像事先resize为1024x576.总共帧为372,实验结果如下表所示:

    Method JDA DCNN MoT JDA+DCNN JDA+DCNN+MoT
    Det # 333 358 352 363 371
  • 2 五个卷积层,三个随机池层和三个完全连接的层的网络结构。
  • 3 较完整地对训练图片进行随机裁剪、翻转、旋转、倾斜等等。
  • 数据预处理对后续的识别有极大的影响,良好的数据预处理可以去除样本间的无关噪声,并能够一定程度的做到数据增强。图像尺寸归一化(48x48)直方图均衡化,去均值除方差。样本扩增(论文5.2),由于FER数据库包含35000+的图片,因此作者采用fer数据库进行预训练,作者对数据进行了随机的旋转,从而生成了更多的样本,使得网络训练的结果更具有鲁棒性。,样本生成公式以及效果图如下图所示:
    • 其中θ是从三个不同值随机采样的旋转角度:{ - π/18,0,π/18}。
    • s1和s2是沿着x和y方向的偏斜参数,并且都是从{-0.1,0,0.1}随机采样的。
    • c是随机尺度参数。定义为c = 47 /(47 - δ),其中δ是[0,4]上随机采样的整数。
    • 实际上,用下面的逆映射产生变形的图像:
    • 其中A是歪斜,旋转和缩放矩阵的组成。输入(x'∈[0,47],y'∈[0,47])是变形图像的像素坐标。简单地计算逆映射以找到对应的(x,y)。由于所计算的映射大多包含非整数坐标,因此使用双线性插值来获得扰动的图像像素值
    • t1和t2是两个平移参数,其值从{0,δ}被采样并且与c耦合。
  • 4 扰动的学习和投票:
    • 架构最后有P个Dense(7),这P个扰动样本的输出结果的平均投票,(合并后)作为该图像的预测值。
  • 5 预训练:
    • 样本随机扰动
    • 训练时候增加了超过25%或者连续5次增加train loss ,则降低学习率为之前的一半,并重新加载之前损失最好的模型,继续训练.
  • 6 克服过拟合问题:
    • 冻结所有卷积图层的参数,只允许在完全连接的图层上更新参数。
  • 7 上述都是单一网络,现采用集成多网络方式。
    • 常用方法是对输出响应进行简单平均。
    • 此处采用自适应地为每个网络分配不同的权重,即要学习集合权重w。采用独立地训练多个不同初始化的CNN并输出他们的训练响应。在加权的集合响应上定义了损失,其中w优化以最小化这种损失。在测试中,学习的w也被用来计算整体的测试响应。
    • 在本文中,我们考虑以下两个优化框架:
      • 最大似然方法
      • 最小化Hinge loss
      • 实验结果

        作者分别列出了在FER,SFEW上数据库的单独训练结果以及,采用提升的级联方式对最终结果的提高。

        FER数据集trainval结果FER数据集trainval结果

        FER数据集不同Loss与级联方式的结果FER数据集不同Loss与级联方式的结果

        SFEW数据集VoteNoVote的结果SFEW数据集VoteNoVote的结果

        SFEW数据集不同Loss与级联方式的结果SFEW数据集不同Loss与级联方式的结果

        SFEW数据库上的测试混淆矩阵SFEW数据库上的测试混淆矩阵

        结论

        预训练+提升的级联方式对最终的识别效果有效。同时,样本扩增对实验提升也是有作用的。

《Hierarchical Committee of Deep CNNs with Exponentially-Weighted Decision Fusion for Static Facial Expression Recognition》

EmotiW 2015的冠军,和《2015-Image based Static Facial Expression Recognition with Multiple Deep Network Learning》类似的方法。

  • 先对图片做align,
  • 然后设计了三种CNN,由不同的输入,不同的训练数据和不同的初始化训练了216个model,
  • 然后用自己提出的方法将这些model组合起来
  • 都是想办法增加训练集,让一张图片生成多张,
  • 又比如训练多个model结合起来
  • 就经常见到的那些方法。

表情识别(四)--多网络级联表情识别相关推荐

  1. 如何识别哭泣csdn_网络表情NLP(一)︱颜文字表情实体识别、属性检测、新颜发现

    这是一篇一本正经无聊的小研究项目.. 互联网现在面临很多新网络文体,比如弹幕文体.小红书的种草文体.网名等,这些超短文本中本身字符特征就比较少,但是表情包占比却很多,这是重要信息呀. 之前参加比赛, ...

  2. 【计算视觉】人脸属性识别算法 | 性别+种族+年龄+表情

    随着社会的发展,快速有效的自动身份验证在安防领域变的越来越迫切.由于生物特性是人的内在属性,具有很强的自身稳定性和个体差异性,是身份验证的最理想依据.利用人脸属性进行身份验证又是最自然直接的手段,相比 ...

  3. 面部表情识别3:Android实现表情识别(含源码,可实时检测)

    面部表情识别3:Android实现表情识别(含源码,可实时检测) 目录 面部表情识别3:Android实现表情识别(含源码,可实时检测) 1.面部表情识别方法 2.人脸检测方法 3.面部表情识别模型训 ...

  4. 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)

    面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 目录 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 1.面部表情识别方法 2.面部表情识别数据集 ...

  5. android实现基于表情识别和敲击识别的认证系统,表情识别支持自动的连续隐藏式拍照

    一个演示用的基于表情识别和敲击识别的App 演示用app,表情识别基于微软人脸识别API,可以在点击表情后自动多次拍照,拍照界面已经做了隐藏处理,当与预定义的表情序列匹配后人之成功. 敲击识别的功能上 ...

  6. 【LSTM】基于LSTM网络的人脸识别算法的MATLAB仿真

    1.软件版本 matlab2021a 2.本算法理论知识 长短时记忆模型LSTM是由Hochreiter等人在1997年首次提出的,其主要原理是通过一种特殊的神经元结构用来长时间存储信息.LSTM网络 ...

  7. 创业基础-乐训课堂-第四章 创业风险及识别与管理-习题

    第四章   创业风险及识别与管理 ---------------------------建议使用CTRI+F,在页面中搜索            P.S.此答案为本人自写,不保证完全正确,尤其是简答题 ...

  8. 创业基础-乐训课堂-第四章 创业风险及识别与管理-课堂笔记

    第四章   创业风险及识别与管理 4.1  4.2   创业风险的基本内容 要点: 理解创业风险的含义.构成与分类 树立科学的创业风险意识 创业就是创业过程中损失的不确定性 产生风险的因素: 政策的变 ...

  9. 全卷积网络用于手语识别

    Fully Convolutional Networks for Continuous Sign Language Recognition 年份 识别类型 输入数据类型 手动特征 非手动特征 Full ...

最新文章

  1. 热敏电阻如何查表计算温度_如何为温度传感器选择正确的热敏电阻
  2. .NET Framework总结二
  3. Android Ap 开发 设计模式第七篇:生成器模式
  4. 正式发布!Azure Functions OpenAPI Extension
  5. Logstash配置语法及相关命令
  6. 论文浅尝 - AAAI2020 | 从异质外部知识库中进行基于图的推理实现常识知识问答...
  7. qt.pro转成vs程序
  8. 干掉项目中杂乱的 if-else,试试状态模式,这才是优雅的实现方式!
  9. 零基础想学Python,明白这2点,越快年薪30W!
  10. 程序员编程艺术:第五章、寻找满足和为定值的两个或多个数
  11. warning: left shift count = width of type
  12. python 数据处理(以Pandas为主)
  13. Janis—CCR闭循环系列探针台
  14. 原生html5时间组件,amazeui时间组件的实现示例
  15. 计算机主板大小性能区别,电脑主板是大板好还是小板好 主板中大板和小板的区别介绍...
  16. 在新加坡工作会是一个什么体验
  17. 在线打包app平台以及流程平台分析(AndroidiOS)
  18. onnxruntime.capi.onnxruntime_pybind11_state.InvalidProtobuf: [ONNXRuntimeError] : 7 : INVALID_PROTOB
  19. 点击苹果手机计算机页面慢,苹果平板电脑浏览器打开慢怎么办
  20. 维基百科创建需要注意哪些问题?

热门文章

  1. dumpsys使用方法
  2. repo/git下载android源码断后重新下载
  3. tensorflow之安装PIL
  4. Linux主机无法安装软件故障排查
  5. CentOS虚拟机 Device eth0 does not seem to be present
  6. linux PE制作ramdisk,PE怎样在中建立一个Ramdisk盘
  7. java 容易犯错_写Java程序最容易犯错误有哪些呢?
  8. python 全部缩进一行_每天三分钟一起学python之(三)python的基本语法
  9. 搜索很久_装了SSD你还需要这个软件才更快,搜索查找文件数据从此不再等待
  10. MySQL中查询字段为空或者为null方法