微表情识别

表情识别2019.12更新了仓库依赖。简介使用卷积神经网络构建整个系统,在尝试了Gabor、LBP等传统人脸特征提取方式基础上,深度模型效果显著。在FER2013、JAFFE和CK+三个表情识别数据集上进行模型评估。环境部署基于Python3和Keras2(TensorFlow后端),具体依赖安装如下(推荐使用conda或者venv虚拟环境)gitclonehttp…

大家好,又见面了,我是你们的朋友全栈君。

表情识别

2019.12更新了仓库依赖。

简介

使用卷积神经网络构建整个系统,在尝试了Gabor、LBP等传统人脸特征提取方式基础上,深度模型效果显著。在FER2013、JAFFE和CK+三个表情识别数据集上进行模型评估。

环境部署

基于Python3和Keras2(TensorFlow后端),具体依赖安装如下(推荐使用conda或者venv虚拟环境)

  • git clone https://github.com/luanshiyinyang/ExpressionRecognition.git
  • cd ExpressionRecognition
  • pip install -r requirements.txt

数据准备

数据集和预训练模型均已经上传到百度网盘,链接给出,提取密码为2pmd。

项目说明

  1. 传统方法
    • 数据预处理
      • 图片降噪
      • 人脸检测
        • HAAR分类器检测(opencv)
    • 特征工程
      • 人脸特征提取
        • LBP
        • Gabor
      • 分类器
        • SVM
  2. 深度方法
    • 数据预处理
      • 人脸检测
        • HAAR分类器
        • MTCNN(效果更好)
    • 卷积神经网络
      • 用于特征提取+分类

网络设计

使用经典的卷积神经网络,模型的构建主要参考2018年CVPR几篇论文以及谷歌的Going Deeper设计如下网络结构,输入层后加入(1,1)卷积层增加非线性表示且模型层次较浅,参数较少(大量参数集中在全连接层)。 

微表情识别

 微表情识别

模型训练

主要在FER2013、JAFFE、CK+上进行训练,JAFFE给出的是半身图因此做了人脸检测。最后在FER2013上Pub Test和Pri Test均达到67%左右准确率(该数据集爬虫采集存在标签错误、水印、动画图片等问题),JAFFE和CK+5折交叉验证均达到99%左右准确率(这两个数据集为实验室采集,较为准确标准)。

训练过程见train.ipynb文件 

微表情识别

模型应用

与传统方法相比,卷积神经网络表现更好,使用该模型构建识别系统,提供GUI界面和摄像头实时检测(摄像必须保证补光足够)。预测时对一张图片进行水平翻转、偏转15度、平移等增广得到多个概率分布,将这些概率分布加权求和得到最后的概率分布,此时概率最大的作为标签。

注意,GUI预测只显示最可能是人脸的那个表情,但是对所有检测到的人脸都会框定预测结果并在图片上标记,标记后的图片在results目录下。

  • GUI界面
    • 运行scripts下的gui.py即可(图片来自百度,侵删。)
    • 效果图
      • 微表情识别
      • 微表情识别
  • 实时检测
    • 运行scripts下的recognition_camera.py即可
    • 效果图(图片来自百度,侵删。)
      • 演示不便

补充说明

具体项目代码、数据集、模型已经开源于我的Github,欢迎Star或者Fork。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127452.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • pcie和minipcie区别_minipcie接口定义

    pcie和minipcie区别_minipcie接口定义1,产品介绍:MCIeCAN系列miniPCIe接口CAN卡,具有1~2路CAN通道和一路PCIExpressmini接口,插到工控机或单板电脑的PCIExpressmini卡槽上,快速扩展出1~2路CAN通道。CAN接口电气隔离高达2500VDC,具有优秀的EMC性能,可靠性测试项目:ESD接触放电8KV、浪涌±1KV、脉冲群±2KV,工业级,通过CE-EMC和FCC认证。,2,配套功能配套测试软件LCANTest使用,接收、发送、查看、分析、记录、回放CAN报文;配套丰富驱动;配套包含库函数、

    2022年9月5日
  • Oracle INSERT 语句

    Oracle INSERT 语句–Start–更多参见:OracleSQL精萃– 声明:转载请注明出处–Lasteditedon2015-06-17–Createdby ShangBoon 2015-06-17–End

    2022年7月25日
  • 解决H5页面在微信浏览器中打开 input file 在安卓上没有拍照选项

    解决H5页面在微信浏览器中打开 input file 在安卓上没有拍照选项有时候我们会在微信公众号里开发会遇到上传图片的功能,当你写<inputtype="file">的时候,在IOS上可以成功调起拍照和图库两块,在安卓手机上只能调取图库而没有拍照功能,解决办法:给input加上accept属性<inputtype="file"accept="image/*"/> //调用相机,图片或者相册(两者都行)加上了capture=…

    2022年7月17日
  • 深度学习-目标检测评估指标P-R曲线、AP、mAP[通俗易懂]

    深度学习-目标检测评估指标P-R曲线、AP、mAP[通俗易懂]mAP评估

    2022年6月29日
  • C# Form实现自定义光标

    WinForm代码如下:1usingSystem;2usingSystem.Reflection;3usingSystem.Runtime.InteropServices;4us

    2021年12月20日
  • php递归函数详解_用php递归函数实现阶乘计算

    php递归函数详解_用php递归函数实现阶乘计算本节内容:PHP递归算法。PHP递归算法代码:复制代码代码示例://定义PI一分的角度的值define(“PII”,M_PI/180);//新建图像资源,并定义其背景为白色,前景色为黑色$im=imagecreate(670,500);$white=imagecolorallocate($im,0xFF,0xFF,0xFF);$g=imagecolorallocate($im,0x00,0x0…

    2022年8月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号