APP下载

基于深度学习的树莓派人脸与表情识别系统研究与设计

2019-12-07◆陈

网络安全技术与应用 2019年12期
关键词:树莓人脸人脸识别

◆陈 超 黄 佳

基于深度学习的树莓派人脸与表情识别系统研究与设计

◆陈 超 黄 佳

(江苏建筑职业技术学院信电工程学院 江苏 221116)

随着智能机器和人工智能的快速发展,让机器人能够理解人类语义变得越来越迫切,目前机器翻译已经达到了很高的水平,与此同时,只有让机器人理解人类情感,才能够更好理解人类语义,实现无障碍沟通。本文基于深度学习,在树莓派上实现人脸识别和表情识别。首先人脸识别是让机器人能够确定交流的主体是谁,这里本文采用了深度神经网络,在Linux上安装TensorFlow、Keras、OpenCV等套件,采用HOG进行特征提取,进行试验后,确定了2层卷积层,2次pooling等参数。对于表情识别,本文使用深度卷积神经网络DCNN来提取表情特征,具有良好的面部表情特征的分类性能。

深度学习;人脸识别;表情识别

任正非在全国科技创新大会上说了一句特别引人深思的话,“在未来的二三十年里,人类将会进入到一个完全智能化的社会。”据不完全统计,从2012年到2018年全球机器人的市场销售规模年均增长23.5%,预计之后几年该规模仍然会持续扩张。近几年全球工业机器人的数量呈明显的上升趋势,这恰恰说明了现如今的整体的市场需求已从传统的人工或半人工转换为智能化处理。在现在这个社会,智能化已成为全球工业的首要趋势。未来社会将会是一个完全智能化的社会,智能产品也将涉及人类生活之中的方方面面,人工智能将成为未来科学发展的主流形式,以此推动整个时代的发展与进步。而在未来智能社会的发展中,如何让机器人像人类一样理解、交流、表达情感,从而实现人机交互的流畅舒适,是当前对人工智能研究的一个重要难题。

如今,各大类社交软件横行,聊天方式也从传统的文字转化为各种“表情包”,“表情包”因涵盖了人类的特征表情,所以很容易便被人们广泛使用。而随着社会的快速发展,我们进入了一个初级的智能化社会,视频监控也正逐日普及。应广大用户的需求,众多的视频监控迫切需要一种可以在用户未配合状态下并且远距离的快速身份确认技术,以求远距离快速确认人员身份,实现智能预警的功能。人脸与表情识别是一个交织的学科,其研究的内容涉及范围非常广泛,几乎涵盖了大部分的学科领域。而随着技术的进一步成熟和社会认同度的提高,人脸识别或者表情识别技术将会应用在更多的领域。

1 国内外研究现状

1.1 国外研究现状

1872年达尔文的《人与动物的表情》一书出版并发行,他在书中根据人的神情特征把人类的心思情绪大致分为:痛苦、悲哀、快乐、不快、愤怒、厌恶、惊奇和害羞。2003年Kevin W.Bowyer等人提出人脸识别技术一般分为全局方法和局部方法[1],其中主成分分析(PCA)是最突出的一种全局方法。2008年Mpiperis,I.等人提出了一种可以联合处理三维人脸和面部表情识别的双线性模型[2],该方法提出了一种建立一组人脸之间对应关系的弹性变形模型算法。2009年Javier RuizdelSolar等人进行了一种适合在无约束环境中工作的人脸识别方法的比较研究[3]。分析的方法主要是通过它们在以前的比较研究中的表现来选择的,不仅是实时的,每人只需要一个图像,而且还是完全在线的。2011年Hermosilla等人提出了一种基于局部兴趣点和描述符的鲁棒热面人脸识别方法[4]。2015年Monu U.Ragashe等人提出了一种可以在部分遮挡流视频中实时人脸识别方法[5],这种方法可以通过监控摄像机实现实时的人脸检测。2018年Gerig等人提出了一种基于高斯过程的人脸配准新的开源管道,以及在人脸图像分析中的应用。2019年Vanita Jain等人提出了一种融合局部特征和全局特征的面部表情识别模型[6],该模型通过将人脸划分为多个区域并仔细选择有助于减少冗余的感兴趣区域来提取局部特征。

1.2 国内研究现状

2008年黄英杰提出了一种基于PPBTF的人脸表情识别方法,并设计了一个实时的表情识别系统[7],这个系统在进行表情识别时不仅识别速度很快。2009年董李燕等人提出了一种基于人脸局部特征的表情识别方法[8],这种方法主要是先选取人脸中比较重要的局部特征,然后对这些特征进行主成分分析,之后再用支持向量机(SVM)设计一个局部特征分类器来确定测试表情图像中的局部特征。2014年朱明旱等人提出了一种基于稀疏表示的遮挡人脸表情识别方法,该方法使待测图像的分解系数变得更稀疏,同时又避免了身份特征对表情分类的干扰。2016年陈向震等人设计了一种基于连续卷积的深度卷积神经网络模型,该模型采用小尺度的卷积核来更细致地提取面部的局部特征,并借助连续的两个卷积层增加模型的非线性表达能力。2018年杨欣利提出了一种基于改进的卷积神经网络的人脸表情识别算法,利用改进的连续卷积的思想,通过修改Alex Net卷积神经网络,从而构建了一个新的卷积神经网络。2019年彭先霖等人提出了一种分层任务学习的人脸表情识别方法,该方法是以现有深度卷积神经网络为模型基础构造双层树的分类器,然后再以替换输出层的平面softmax分类器构建深度多任务学习框架。

2 人脸与表情识别的实现原理

2.1 人脸识别的实现原理

2.1.1识别流程

人脸识别的流程大致分为以下几步:

(1)人脸图像采集及检测

要让计算机识别一个人脸,要先让计算机进行大量的数据训练,从而进行准确的识别,这就需要我们前期采集大量的人脸图像数据。本文在相关研究的基础上,设计了基于HOG算法、CLNF算法和旋转变换算法的人脸姿态校正方案。通过树莓派采集人脸信息,研究分析人脸结构采用DNN算法对采集好的人脸进行训练然后生成模型用于下一步的人脸识别。

(2)人脸图像特征提取

在图像预处理之后我们就可以进行人脸图像特征提取,人脸都有一个共性,包括眼睛、眉毛、鼻子、嘴等显著特征。只要我们提取这些特征点,我们就可以识别出这是一张人脸,而不会是其他的什么东西。

2.1.2技术原理

人脸识别的技术核心其实就是“局部人体特征分析”和“图形/神经识别算法”,这种算法是利用人体面部各器官及特征部位的方法。比如对应几何关系的数据形成识别参数与数据库中所有的原始参数进行比较、判断与确认,一般要求判断的时间低于1秒。一般情况下分为三步:

(1)建立人脸的面像档案:即用摄像机采集单位人员的人脸的面像文件或者获取他们的照片形成面像文件,然后将这些面像文件生成面纹(Faceprint)编码贮存起来。

(2)获取当前人脸的面像:即用摄像机捕捉当前人员的面像,或者取照片输入,最后将当前的面像文件生成面纹编码。

(3)用当前的面纹编码与档案库存相比对:即将当前的面像的面纹编码与档案库存中的面纹编码进行检索比对。

(4)在进行人脸识别时,我们首先要将需识别人的人脸图片上传到本地文件夹的图片数据库中,然后训练模型,让计算机熟悉人脸,上传的照片越多,识别的精确度也就越高,一般情况下不能少于5张照片,否则将识别错误。

具体识别的流程框架如图1所示:

图1 人脸识别具体流程

2.2 表情识别的实现原理

(1)人脸图像的采集与检测

在进行表情识别之前我们需要采集人脸图像,然后进行检测。目的是为了让计算机通过大量的数据训练进而“熟悉”人脸,这样后期识别的时候可达到一个相对准确的状态结果。

(2)人脸图像特征提取

在进行表情识别的时候我们需要对人脸进行图像特征的提取,我们要先识别出这是一个人脸,然后才能进一步的识别这个人脸具有什么样的表情。

(3)人脸表情的分类

表情识别其实就是在进行了人脸识别之后,将这个人的表情进行分类处理,将识别到的表情划分到悲伤、高兴、吃惊、生气、厌恶、和恐惧这六个基本表情中,最后呈现给用户识别出的结果。

2.3 基于深度学习的人脸与表情识别方法

2.3.1使用深度卷积神经网络模型

一个卷积神经网络包括一个输入层、一个卷积层以及一个输出层,但我们在平时在实现特征提取时会使用多个卷积层,因为提取出来的特征是抽象的,而越抽象的图像则越容易被识别和分类出来。通常情况下,一个卷积神经网络在卷积层之后还包括池化层和全连接层,最后才是输出层。在本文研究中使用卷积神经网络模型。

众所周知,在一幅图像中相邻位置的像素是相关的,所以当我们人为的按照一定的规律挡住部分图像时依然能看出原来的图像。

池化便是在这个基础上进行的,使用一个小的特征图像块在卷积处理的分解图像上从左到右、从上到下进行“扫描”,大多情况下我们使用的是最大池化。

2.3.2使用DNN进行分类输出

DNN可以理解为一个有着两层或者很多层Hidden Layer的神经网络,在这个网络之中,层与层之间是互连的,而且是以全连接的方式连接,这样就产生了一个线性关系Z=∑WiXj+b再加上一个激活函数δ(Z)。

未来解决分类的问题,需将全连接的DNN进行改良,最后的输出神经元相当于最后分类的类别,据此可将输出层的第n个神经元的激活函数。

本文研究采用树莓派作为识别的硬件设备,树莓派有着体积小、成本低、功能较全面的主要特点,与其他嵌入式微控制器相比,不仅可以完成相同的IO引脚控制,还能运行相应的操作系统,与此同时可以完成更复杂的任务管理与调度,还能够支持更上层的应用与开发,为开发者提供更广阔的应用空间。

3 人脸与表情识别的具体实现

3.1 前期准备

搭建卷积神经网络模型并进行训练,本文研究使用在输入层之后加入一个1×1的卷积层的方法来搭建这个模型,该方法具有既增加非线性表示、加深网络、提升模型表达能力又基本不增加原始计算量的优点。随后根据VGG3模型网络的思路将5×5的网络拆分为两层3×3的,但是最后效果不太理想,在尝试了多种不同模型并不断调整之后,定下了最终的模型结构,如表1所示:

表1 模型结构

在训练过程中本文研究使用了ImageDataGenerator来实现数据增强,同时通过flow_from_driectory根据文件名称来划分标签,优化算法使用SGD,而激活函数使用ReLU。ReLU有着收敛快、计算简单、不容易过拟合的特点。

3.2 识别结果

(1)人脸识别结果

人脸识别部分的识别结果如图2所示:

(2)表情识别结果

戴眼镜识别与不戴眼镜的无表情识别如图3所示:

图3 戴眼镜与不戴眼睛无表情识别对比

4 结束语

本文提出了一种基于深度学习的树莓派人脸与表情识别系统,利用深度神经网络的知识联合树莓派设计并实现了人脸与表情的识别系统,在实际中可运用到机器人方面,以改善机器人对人脸表情的识别。本文研究还存在一些不足,从第四章实验结果可以看到,情绪感知结果还有些差强人意,主要是由于人类情绪是一个复杂过程,需要综合其表现出来的表情、发出的声音以及脑电波等生理和非生理指标进行判断。

[1]Chen X,Flynn P J,Bowyer K W.PCA-Based Face Recognition in Infrared Imagery:Baseline and Comparative Studies[C]//IEEE International Workshop on Analysis & Modeling of Faces & Gestures. IEEE,2003.

[2]Mpiperis I,Malassiotis S,Strintzis M G . Bilinear Models for 3-D Face and Facial Expression Recognition[J]. IEEE Transactions on Information Forensics and Security,2008,3(3):498-511.

[3]Ruizdelsolar J,Verschae R,Correa M . Recognition of Faces in Unconstrained Environments:A Comparative Study[J]. Eurasip Journal on Advances in Signal Processing,2009,2009(1):1-19.

[4]Hermosilla G,Loncomilla P,Javier R D S. Thermal Face Recognition using Local Interest Points and Descriptors for HRI Applications[M]// RoboCup 2010: Robot Soccer World Cup XIV. Springer Berlin Heidelberg,2011.

[5]Ragashe M U,Goswami M M,Raghuwanshi M M . Approach towards real time face recognition in streaming video under partial occlusion[C]// IEEE International Conference on Intelligent Systems & Control. IEEE,2015.

[6]朱明旱,李树涛,叶华.基于稀疏表示的遮挡人脸表情识别方法[J].模式识别与人工智能,2014,27(08):708-712.

[7]牛连强,陈向震,张胜男,王琪辉.深度连续卷积神经网络模型构建与性能分析[J].沈阳工业大学学报,2016,38(06):662-666.

[8]杨欣利.基于卷积神经网络的人脸表情识别算法研究[D].兰州理工大学,2018.

[9]姚乃明,郭清沛,乔逢春,陈辉,王宏安.基于生成式对抗网络的鲁棒人脸表情识别[J].自动化学报,2018,44(05):865-877.

[10]汤春明,赵红波,张小玉.基于流形学习2D-LDLPA的东亚人脸表情识别算法[J].计算机工程与应用,2018,54(17):146-150.

[11]彭先霖,张海曦,胡琦瑶.基于多任务深度卷积神经网络的人脸/面瘫表情识别方法[J].西北大学学报(自然科学版),2019,49(02):187-192.

猜你喜欢

树莓人脸人脸识别
山间“小精灵”
——树莓
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
基于树莓派的骑行智能头盔设计
人脸识别技术研究与应用进展概述
三国漫——人脸解锁
黄金水果红树莓