科大讯飞CV赛题:人脸情绪识别挑战赛Baseline(Pytorch与Keras双版本)
赛题名称:科大讯飞人脸情绪识别挑战赛
赛题报名链接:http://challenge.xfyun.cn/topic/info?type=facial-emotion-recognition&ch=dw-sq-1
赛题介绍
人脸表情是传播人类情感信息与协调人际关系的重要方式,表情识别是指从静态照片或视频序列中选择出表情状态,从而确定对人物的情绪与心理变化。

在日常生活中人类习惯从面部表情中吸收非言语暗示,那么计算机可以完成类似任务吗?答案是肯定的,但是需要训练它学会识别情绪。
赛事任务
给定人脸照片完成具体的情绪识别,选手需要根据训练集数据构建情绪识别任务,并对测试集图像进行预测,识别人脸的7种情绪。
赛题数据由训练集和测试集组成,训练集数据集按照不同情绪的文件夹进行存放。其中:
训练集:2.8W张人脸图像;
测试集:7K张人脸图像;
为了简化任务赛题图像只包含单张人脸,所有图像的尺寸为48*48像素。数据集包括的情绪标签包括以下7类:
angry
disgusted
fearful
happy
neutral
sad
surprised
赛题baseline思路
赛题为一个典型的图像分类任务,所以可以使用CNN来完成图像分类过程。具体实现步骤如下:
定义数据读取和数据扩增
定义CNN模型
模型训练与验证
Keras实现
首先定义网络模型,这里可以自定义一个多层CNN网络模型结构,最后加上全连接层。
定义数据读取,划分20%数据作为验证集:
一行代码完成模型训练过程:
Pytorch实现
定义网络模型,这里可以用预训练的CNN网络模型,精度会更高:
定义模型的正常传播和反向传播:
完成模型的训练与验证:

所有代码已开源在Gitee上:
https://gitee.com/coggle/competition-baseline/tree/master/competition/%E7%A7%91%E5%A4%A7%E8%AE%AF%E9%A3%9EAI%E5%BC%80%E5%8F%91%E8%80%85%E5%A4%A7%E8%B5%9B2021/%E4%BA%BA%E8%84%B8%E6%83%85%E7%BB%AA%E8%AF%86%E5%88%AB%E6%8C%91%E6%88%98%E8%B5%9B
赛题链接:http://challenge.xfyun.cn/topic/info?type=facial-emotion-recognition&ch=dw-sq-1

