GUI实现 面部表情识别(Facial Expression Recognition)经典卷积神经网络 Python

基于tensorflow深度学习系统使用卷积神经网络构建模型,通过在FER2013、JAFFE、CK+上进行训练构建一个面部表情分类的交互式系统。该系统可用于检测静态图片中的人脸面部表情(快乐、气愤、惊讶、害怕、厌恶、悲伤、中性)。

模型训练
主要在FER2013、JAFFE、CK+上进行训练,JAFFE给出的是半身图因此做了人脸检测。
Fer2013:由28709张训练图,3589张公开测试图和3589张私有测试图组成。每一张图都是像素为48*48的灰度图。FER2013数据库中一共有7中表情:愤怒,厌恶,恐惧,开心,难过,惊讶和中性。该数据库是2013年Kaggle比赛的数据,由于这个数据库大多是从网络爬虫下载的,存在一定的误差性。这个数据库的人为准确率是65% ±5%。
JAFFE:1998年发布,这是比较小和老的数据库。该数据库是由10位日本女性在实验环境下根据指示做出各种表情,再由照相机拍摄获取的人脸表情图像。整个数据库一共有213张图像,10个人,全部都是女性,每个人做出7种表情。
CK+:发布于2010年,由Cohn-Kanade Dataset的基础上扩展而来的。这个数据库包括123个subjects, 593 个 image sequence,每个image sequence的最后一张 Frame 都有action units 的label,而在这593个image sequence中,有327个sequence 有 emotion的 label,如图4.2.2。这个数据库是在实验室条件下获取的,较为严谨可靠。CK+是人脸表情识别中比较标准的一个数据库,很多文章都会用到这个数据做测试。
在这里插入图片描述
在这里插入图片描述
模型应用
使用该模型构建识别系统,提供GUI界面分析识别面部表情。预测时对一张图片进行水平翻转、偏转15度、平移等增广得到多个概率分布,将这些概率分布加权求和得到最后的概率分布,此时概率最大的作为标签(也就是使用了推理数据增强)。
初始化界面如下图所示:
在这里插入图片描述
选择表情图片:
在这里插入图片描述
结果:在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

项目工程文件:
链接: https://pan.baidu.com/s/1aCUjcYV4HcComAS7rynBzw
提取码:hu49

训练集:
链接:https://pan.baidu.com/s/1byauRHQU2SHpqr8KQKV6ng
提取码:gsk3

文件简述:
文件目录
在这里插入图片描述
dataset文件夹:数据集(ck+,fer2013,jaffe)
input文件夹:输入数据,用来测试GUI
models文件夹:通过训练集 训练好的模型
output文件夹:GUI输出的结果
src文件夹:源码

使用方法

一.直接运行gui.py。
(直接运行gui.py将用已训练好的模型进行表情识别。

二.也可使用train.py 自己训练模型

1.下载训练集(连接在上),将训练集copy到dataset目录下

2.train.py :执行python src/train.py --dataset fer2013 --epochs 300 --batch_size 32
//将在指定的数据集(fer2013或jaffe或ck+)上按照指定的batch_size训练指定的轮次
在这里插入图片描述

原GitHub链接
在这里插入图片描述
我运行Github代码时总是出错,因此自己对代码有所修改。此篇文章是我运行成功后所写。
大家可以自行研究下原GitHub代码

  • 8
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值