基于深度学习的人脸表情识别开发

目前深度学习很流行,很大程度减轻了图像开发的难度。表情识别是图像算法的重要研究方向,本文提供一种基于深度学习的表情识别方法。

1,获取模型

深度学习的框架比较多,有TF,CAFFE,PYTORCH,KERAS等,然后有很多网络比如resnet,mobilenet等。本文采用keras库,使用mobilenetV2网络,训练一个模型。人脸表情库有7种表情,大家可以到相应的官网下载数据集。数据集无所谓,只要有充足的样本用来训练就行。用KERAS采用mobilenetV2训练后得到一个.H5的模型文件,然后将.H5的模型文件转换为.PB文件,这样OPENCV就能调用了。OPENCV的DNN模块调用比其他方法快9倍左右,不需要其他依赖,很适合工程化,适合C++开发,产品落地。假如用python开发,则不需要转换.H5文件,直接用来预测人脸表情就行了。

2,检测人脸并识别表情

人脸检测有很多方法,比如传统的haar检测人脸,深度学习的MTCNN,还有别的一些方法。综合起来,MTCNN在精度和速度上很有优势。MTCNN检测人脸后,人脸宽度比较小,要对人脸宽度进行扩充,对预测结果更有好处。当已经得到人脸检测的区域后,将该区域提取出来,用得到的深度学习模型进行预测分类,从而得到人脸表情的种类。

3,预测时间和正确率

首先加载模型,然后对文件夹几十个文件统计时间求平均值。深度网络加载时间不算进来,只计算每幅图的人脸检测和表情识别分类的时间,大概平均每幅图在70ms左右,采用CPU,2.5GHz,4G内存。正确率在90%附近。

效果测试  https://download.csdn.net/download/hnsdgxylh/11573446

有一起研究的大神可以加Q 2830025146,共同进步

最新的表情识别,采用Yunet检测人脸,fer表情识别,支持C++/PYTHON

yunet人脸检测,fer表情识别

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值