Real-time Convolutional Neural Networks for Emotion and Gender Classification--O Arriaga

[1] Arriaga O , Valdenegro-Toro M , P Plöger. Real-time Convolutional Neural Networks for Emotion and Gender Classification[J]. 2017.

本文是2017年的一篇关于表情识别和性别分类的论文,作者设计了一个轻量级卷积神经网络,并在上面测试了表情识别任务和性别分类任务,都取得了不错的效果。这里我主要来总结表情识别的任务。

本文的主要工作是基于Xception网络设计了一个轻量化的卷积神经网络,在fer2013表情数据集上得到了66%的精度,并在实时性上也很不错。

官方的代码(基于Keras):oarriaga/face_classification

我复现的代码及其总结:Pytorch实现表情识别卷积神经网络网络:mini_Xception

1、介绍

目前人类对于{“angry”, “disgust”, “fear”, “happy”, “sad”, “surprise”, “neutral”}这七种表情的正确分类精度达到了65%±5%,本文达到了66%,而不使用预训练模型的SOTA在73%左右(不考虑轻量)。

2、相关工作

普通的CNN网络通常含有FC层,但是比如VGG16中大约90%的参数都集中在FC层,Inception网络结构中使用Global Average Pooling代替全连接层,极大减少了参数量。

Real-time Convolutional Neural Networks for Emotion and Gender Classification--O Arriaga_第1张图片
Global Average Pooling(GAP)其实就是将每个通道计算均值,然后用均值表示原来的整个通道图,参数当然大大减小。

借鉴了Xception,其结构结合了两个最成功的方法:深度可分离卷积和残差结构,不过Xception最后还是使用了全连接层FC。

本文提出了mini_Xception,结构如下:
Real-time Convolutional Neural Networks for Emotion and Gender Classification--O Arriaga_第2张图片
实际上总结起来就三个点:

  • 虚线框重复了4次,但是基本结构都是左边是可分离卷积,而整个虚线结构是残差结构。
  • 最后使用GAP代替了FC层。

3、训练

训练部分文中没说,但是官方提供的代码,也比较简单,可以一窥究竟。

你可能感兴趣的:(论文集,python,表情识别,深度学习,人工智能)