FER 人脸表情识别
随着以深度学习为代表的人工智能技术的发展,人工智能现已涉及到我们生活的方方面面,也有越来越多的人转行开始从事人工智能技术的研究和实现。本人也刚刚接触深度学习不久,凭着兴趣爱好在业余时间学习了一些深度学习方面的基本知识和技能,因此想把自己在最近一段时间内学到的东西写下来。接下来我会写一系列文章,主要以表情识别为核心问题,以caffe为主要框架,并将涉及云计算、人脸检测等一系列技术,向大家介绍一个完整的深度学习模型的开发流程。系列文章如下:
【深度学习】基于caffe的表情识别(一):概述
【深度学习】基于caffe的表情识别(二):数据集介绍及处理
【深度学习】基于caffe的表情识别(三):搭建网络结构
【深度学习】基于caffe的表情识别(四):在Intel AI DevCloud上训练模型
【深度学习】基于caffe的表情识别(五):使用python接口测试
【深度学习】基于caffe的表情识别(六):加入基于opencv的人脸检测
一、总述
1.文章内容介绍
本文主要实现了一个人脸检测+表情识别的功能。具体来说就是给定一张彩色图片(图片可以是一个人的半身照也可以是全身照),我们可以检测出这张图片的人脸位置并裁剪下来,送到我们自己做的表情识别模型中,得到这张图中人的表情。文章的重点在于表情识别部分,后面的第二到五篇文章我将对表情识别中的数据集、网络结构、训练过程以及测试做详细介绍,最后一篇文章简要介绍基于opencv的人脸检测的实现。
2.提前准备
读者需要对神经网络有基本的了解(至少知道一些概念如前向传播、反向传播、梯度下降等等)
读者需要了解一些卷积神经网络(CNN)的基本知识(可以百度解决,看几篇文章就会懂CNN的大概原理)
读者需要对caffe有基本了解(不需要对caffe很熟悉,用caffe跑过mnist数据集就能看懂后面的文章)
3.开发环境
操作系统:Linux操作系统,我是在ubuntu16.04下进行开发的,如果读者是windows用户,可以考虑装个虚拟机。
深度学习框架:caffe
开发语言:python
Intel AI DevCloud,这是intel提供的一个云服务,是我们用来做训练时用的,比本地笔记本快的不止几十倍。
二、表情识别
表情识别,顾名思义就是让机器去识别人的表情。在这次实验中,我们使用卷积神经网络来构建一个表情识别模型,通过输入人脸图片得到输出人脸表情。得到的表情共有7种,分别是:生气(anger)、厌恶(digust)、恐惧(fear)、开心(happy)、伤心(sad)、惊讶(surprised)、中性(normal)。
三、caffe
Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一个清晰,可读性高,快速的深度学习框架,在视频、图像处理方面应用较多。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。这是百度百科上给出的caffe介绍。
相信当你认真读这系列文章时,你已经对深度学习或是对卷积神经网络有一个初步的了解了,因为事实上这系列文章并不是介绍深度学习的入门知识的,是希望能够帮助大家快速地开发一些简单的卷积神经网络模型,从而加强对深度学习的认识。该系列文章对读者的要求包含读者需要用caffe跑过一次mnist数据集,因此如果你现在对caffe一无所知或是电脑上还没有编译caffe,那么首先要做的就是在自己的电脑上安装编译caffe,我建议最好还要用caffe跑一次mnist数据集再来继续阅读该系列文章后面的内容。
在这里我不要脸地附上我总结的caffe安装编译过程,也是参考了很多版本,是在ubuntu16.04下编译的,其他版本的操作系统可以百度解决。Ubuntu16.04下caffe安装编译全过程(CPU)
四、Intel AI DevCloud
我们知道神经网络的关键部分就在于训练,然而由于深层次的网络结构和十分庞大的数据集,使得训练过程对处理器的要求十分高,以至于通常我们台式机和笔记本的计算能力是远远不够的,因此需要有强大计算能力的处理器集群来为我们的训练提供计算服务,Intel AI DevCloud就是一个为我们训练网络模型提供计算的云服务。这里我们只简要介绍这样一门技术,让读者对我们实验中所使用的技术有一个初步了解,后面我将会详细介绍如何使用它训练我们的网络模型。
五、人脸检测
在实验中,我们只是调用opencv中人脸检测的相关接口,并不会详细介绍如何去实现人脸检测,因为我们的重点在于表情识别,加入人脸检测是为了使表情识别的效果更好,因为我们日常生活中获得的图片往往不只有人的脸部,还可能会有人的身体甚至其他任何东西,因此需要通过人脸检测功能将我们所关注的人脸部分截取下来,再做识别,提高识别率。
FER 人脸表情识别相关推荐
- 【完结】如何掌握基于图像和视频的人脸表情识别,这9篇文章可以作为一个参考...
文/编辑 | 言有三 人脸表情识别(Facial Expression Recognition,FER)作为人脸识别技术中的一个重要组成部分,近年来在人机交互.安全.机器人制造.自动化.医疗.通信和驾 ...
- 深度学习项目-人脸表情识别
人脸表情识别 简介 使用卷积神经网络构建整个系统,在尝试了Gabor.LBP等传统人脸特征提取方式基础上,深度模型效果显著.在FER2013.JAFFE和CK+三个表情识别数据集上进行模型评估. 环境 ...
- 高精度人脸表情识别(附GitHub地址)
编者按:本文原作者吴捷,目前于中山大学就读研究生.研究领域为计算机视觉与自然语言处理.本文原载于知乎,经作者授权发布.欢迎去GitHub给大佬加星. 先放出GitHub地址: https://gith ...
- 基于堆栈二值化自动编码器和二值化神经的无约束人脸表情识别算法(An efficient unconstrained FERa based on BAEs and BNN)
摘要(abstract) 虽然深度学习在许多模式识别任务中都取得了良好的效果,但对于含有大量参数集.标记数据有限的深度网络,过拟合问题仍然是一个严重的问题.在这项工作中,二进制自动编码器(BAEs)和 ...
- 【技术综述】人脸表情识别研究
李振东 北京邮电大学硕士在读,计算机视觉方向 言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 作者 | 李振东/言有三 编辑 | 言有三 随着机器学习和深度神经网络两个领域的迅速发 ...
- 人脸表情识别 实战项目
一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Time of completion:2022.12.12 La ...
- 人脸表情识别 项目实战
人脸表情识别 文章目录 1 项目说明 2 实验结果 3 可视化 1 项目说明 项目分为FER_train和FER_deploy两个文件夹: FER_train: **CK+.JAFFE.RAF_D ...
- 情感计算——人脸表情识别CNN实现
表情识别CNN实现 目 录 任务简介 解决思路 数据集介绍 模型设计 代码实现 结果分析 任务简介 人脸表情识别(facialexpression recognition, FER)是计算机视觉领域中 ...
- 一文掌握基于深度学习的人脸表情识别开发(基于PaddlePaddle)
目录 一.概述 1.1 表情分类 1.2 表情识别方法 1.2.1 人工特征方法 1.2.2 神经网络方法 1.3 本文实现 二.环境准备 2.1 安装PaddlePaddle 2.2 安装Paddl ...
最新文章
- hive 列转行_掌握这个SQL技巧超越80%的人——行转列/列转行
- 网传京东某程序员因压力太大,在商品页面置入骂人代码!京东辟谣:不关我们的事,外部商家干的!...
- 本来想用“{{”秀一波,结果却导致了内存溢出!
- Vue中使用form表单提交刷新问题
- linux 统一设备模型 pci,Linux设备驱动模型摘抄
- python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
- 学习笔记(01):英特尔® OpenVINO™工具套件初级课程-如何加速视频处理进程?
- springboot + ApplicationListener
- Vim常用按键操作学习
- django 模板mysql_59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用...
- JSK-134 求出现次数最多的字符【入门】
- WPF-使用代码创建Grid行与列,并将控件添加到Grid中的指定行指定列
- IDEA JetBrains Mono 字体安装
- 一个十分简单有效的改善origin下载速度慢的方法
- 线性代数 n维向量思维导图总结(看这一张就完事了)
- mapabc 国人推荐
- 顶级区块链开发人员工具:涉及框架、IDE、安全工具、测试网络、区块链预言机和节点服务
- 怎么入门学习Java编程
- 手把手教你做一个网页
- SSR在天猫优品大促会场的探索实践