基于树莓派的实时人脸表情识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子技术与软件工程
Electronic Technology & Software Engineering
计算机与多媒体技术
Computer And Multimedia Technology
基于树莓派的实时人脸表情识别
牛犇滕运江
(金陵科技学院电子信息工程学院江苏省南京市211169 )
摘要:本文设计一种基于树莓派的实时人脸表情识别系统,将深度学习框架应用于智能硬件树莓派上,与传统的人脸表情识别算法 相比,采用深度学习框架的人脸表情识别能够达到更高的识别精度。

关键词:人脸表情识别;特征提取;深度学习框架;树莓派
人脸表情能够快速、准确传递出当事人的状态、思想和态度等 内在心理,成为众多情感表达中最自然、最直接有效的方式。

基于 非接触式图像和视频序列的人脸表情识别成为人机交互及人工智能 领域不可或缺的环节,具有重要的研究意义。

人脸表情识别在生活 中的应用非常广泛,如情感机器人能够通过捕捉人脸表情来感知人 类的喜怒哀乐;医疗服务方面,可以通过对病患的人脸表情识别判 断其痛苦情况,辅助医生进行诊断;交通安全方面,通过对车辆驾 驶员进行实时人脸表情识别,可以在疲劳驾驶和突发情况时及时给 予提示;公共安全方面,通过人脸表情识别可以预测人们的心理变 化,从而预防恶性事件的发生;教育方面,可以通过实时的人脸表 情识别来反映学生的学习状态[1]。

著名心理学家E k m a n 定义了 6种基本表情和1种无表情状态, 即:生气、厌恶、恐惧、高兴、悲伤和惊讶,无表情状态也称为 “自然表情”。

E k m a n 等根据面部肌肉的运动将人脸划分成不同区 域,建立了 “面部动作编码系统”(Facial Action C o d i n g S y s t e m ,
F A C S
)。

不同的肌肉运动过程,能够产生不同的表情,从而实现
人脸表情识别[2]。

研究人员在此基础上开展了大量的研究工作。

目 前人脸表情识别主要基于两种方法:传统的特征提取方法和深度学 习方法。

传统的人脸表情识别方法依赖于特征提取的有效性及分类 器设计的合理性,常用的特征提取方法主要有局部二值模式(Local
Binary Pattern , L B P )、G a b o r 小波变换、方向梯度直方图(Histogram of Oriented Gradients , H O G )

尺度不变特征变换(Scale-Invariant
Feature T r a n s f o r m ,S I F T )
等,常用的分类器主要包括K 近邻分
类器(K Nearest N e i g h b o r ,K N N )、朴素贝叶斯分类器(Naive
B a y e s ,N B
)

支持向量机(Support Vector M a c h i n e , S V M )


机森林(R a n d o m Forest ,R F )、
决策树(Decision Tree , D T )等[3】〇
对于传统人脸表情识别方法,特征提取具有较强的人为干扰因素, 且分类器选取也决定了识别精度,因此鲁棒性不强。

深度学习方法 能够自动地提取更深层次的表情特征,排除了人工选取特征的不利 因素,从而大大提高了识别率。

使用卷积神经网络进行人脸表情识 别,通常是将整张图片作为输入,通过网络模型的训练以达到分类 识别的目的[4]。

本文主要研究基于深度学习的人脸表情识别方法,
并在树莓派中实现实时人脸表情识别。

1树莓派简介
2012年3月,树莓派是由英国的“ Raspberry P i 基金会”研发成功, 被誉为最小的台式机,因为外形的大小跟信用卡相近,所以又被称 为卡片式电脑。

树莓派自发售以来,风靡全球,受到广大计算机爱好者的广泛 追捧。

树莓派具有图形化的操作界面,可以作为一台微型电脑使用, 实现常用的文档编辑、网页浏览、音视频播放等功能。

树莓派也可
图1:较弱光照条件下的人脸表情识别
图2:人脸部分遮挡条件下的表情识别
以用于硬件智能化,实现智能小车、电子相框、人脸识别、语音识 别等嵌入式开发工作。

树莓派4B 使用1.5G H z 四核A R M Cortex -A 72处理器,4G 内存, 并引入U S B 3.0接口,支持双频无线W i -Fi ,5V /3A 的U S B -C 接口 供电,具有良好的性能和丰富的接口 [51。

2基于树莓派的实时人脸表情识别系统设计
本文所设计的基于树莓派的实时人脸表情识别系统采用树莓派 4B 作为载体,软件平台及版本为Py t h o n 3.7+O p e n C V 4.2.0+Tensorfl
I o w 2.0.0+Keras 2.3.1,人脸检测采用H a a r -like 特征算法,分类器模
型为深度学习卷积神经网络模型,该模型具有训练简单、权值损失 小、能够并行学习、复杂度低等优点。

基于树莓派的实时人脸表情 识别系统主要分为以下几个部分。

获取图像:图像的获取可以直接上传拍摄的照片,也可以选择 用摄像头实时捕捉画面,本系统采用摄像头进行实时人脸检测。


码实现主要通过语句cv 2.VideoCapture (0)获取视频巾贞,然后传入一 个变量c a p ,最后调用语句cap .s e t O 绘制视频窗口,通过获取的视 频帧图像形成视频流,从而达到实时检测的目的。

人脸检测:该系统调用O p e n C V 自带的基于H a a r -like 特征的 人脸检测模型对当前帧图像进行检测,对人脸区域进行标注。

代码 实现使用 cv 2.CascadeClassifier ()语句导入 O p e n C V 的 haarcascade _
frontalface _default .x m l
模型,然后使用c a p .read ()语句读取视频巾贞图
像,使用face _classifier .detectMultiScale ()语句进行检测参数的设置, 最后把检测到的人脸特征传入faces 变量,即完成了人脸检测部分 的功能。

特征提取:该阶段通过事先训练好的人脸表情分类器提取视
频中贞图像的人脸表情特征。

首先安装T e n s o r f l o w 框架,然后再安装 一个K e r a s 模块来加载训练模型,完成环境的搭建后,使用load _
m o d e l ()语句加载事先训练好的模型,将检测到的人脸特征即上文
提到的faces 变量导入人脸表情分类器模型即可。

表情分类:使用训练好的深度学习模型检测提取到的人脸表情
•基金资助:2019年12月金陵科技学院校级教育教改研究课题(课程思政专项)__ “课程思政”理念下信息工程专业课程教学模式 探索与研究(K C S Z 2019-11 ) ; 2017年4月金陵科技学院高层次人才科研启动基金——基于视频的机场跑道异物检测关键技术研究
(jit -b -201704 )。

135
计算机与多媒体技术
Computer And Multimedia Technology
电子技术与软件工程Electronic Technology & Software Engineering
特征。

通过将所提取的人脸表情特征进行分类,即可得到当前图像 中的人脸表情类别。

代码实现需要定义一个字典表示7种表情,因为从表情分类器模型中返回值是0〜6的数字,然后把数字传入字典 后得到所定义的表情类型。

输出结果:将识别结果在原图像中进行标注。

代码实现主要是 先从fac e s变量中提取四个参数,然后使用cv2.rect a n gle()语句绘制 人脸区域,之后使用c v2.putText()语句在绘制出的人脸区域上方输 出对应的人脸表情标签。

3实验结果与分析
3. 1实验测试
本文采用摄像头在真实环境下进行面部表情采集,通过改变光 照条件、肤色条件等对基于树莓派的实时人脸表情识别系统进行测 试。

3.1.1正面人脸的实时表情识别测试
正面人脸表情采集环境为大学宿舍室内,具有简单的室内家具 环境,测试对象性别均为男性,年龄22-25岁,黄种人,人脸正对 设备,共测试自然(neutral)、高兴(h a p p y)、惊讶(surprise)、悲伤(s a d)、生气(a n g r y)、恐惧(fear)、厌恶(disgust)七种 表情。

在正常光照情况下,该系统能够成功检测出人脸区域,进行 实时人脸表情识别,并显示表情类别标记。

考虑到光照对于图像检 测的影响,改变光照条件,在光照较为微弱的环境下进行测试。

测 试对象为男性,23岁,黄种人,人脸正对设备,共测试七种表情。

人脸表情识别结果如图1所示,在室内较弱光照环境下,虽然图像 对比度较低,但该系统仍能成功检测出人脸区域,正确识别出人脸 表情,并显示表情类别标记。

本文所设计的基于树莓派的人脸表情识别系统在不同光照条件 下均能够达到较好的识别效果。

不同测试对象在不同的表情下具有 非常强烈的个人特征,本系统可以正确识别不同人脸的表情。

共进 行十组实验,人脸表情的平均识别率为93.4%,其中厌恶和生气两 种表情在识别过程中容易发生混淆,需要测试者做出较为夸张的表 情才能够正确识别,可能的原因是该两种表情在面部肌肉的运动表 现较为相似,从而造成一定的识別误差。

3.1.2非正面人脸及部分遮挡人脸的实时表情识别测试
在实际应用场景中,所采集到的人脸图像可能并不是正面人脸,本文对非正面人脸进行测试。

实验分别测试了人脸旋转45度和旋 转90度的人脸表情图像,从实验结果可以看出,本文所设计的基 于树莓派的实时人脸表情识别系统对于角度较大的非正面人脸表情 识别效果并不理想,需要进一步改进完善。

在实际应用场景中,所采集到的人脸图像可能会发生遮挡,比如测试对象佩戴帽子、眼镜等,本文对部分遮挡人脸进行表情识别 测试。

如图2左边两个图像为佩戴眼镜的人脸表情识别结果,右边 三个图像为使用纸张对人脸进行部分遮挡情况下的表情识别结果。

从实验结果可以看出,对于佩戴眼镜的人脸表情识别效果较为理想,但是对于纸张遮挡部分人脸的表情识别效果较差。

3.1.3不同种族及多人脸情况下的实时表情识别测试
在实际应用场景中,所采集到的可能是不同种族的人脸图像,比如白种人,黑种人和黄种人,本文对于不同种族的人脸进行表情 识别测试。

实验结果表明,对于不同肤色的人脸表情同样能够正确 识别。

在实际应用场景中,可能会出现多张人脸的情况,本文对于 多张人脸进行实时表情识别。

在实际的实验过程中,会出现个别人 脸表情无法正确识别的情况。

3. 2结果分析
通过以上实验结果可以看出,由于硬件限制,识别结果会出现 一定的延时。

此外,受摄像头像素和光照条件等因素的影响,部分 人脸表情识别结果不够准确,人脸的偏转角度也对人脸表情识别结 果具有一定的影响。

在实验过程中,每个测试对象的表情强度各不相同,从而引起 面部变化的不同,因此可能造成不同的识别结果。

实验结果表明,在背光、昏暗的室内进行人脸检测时,由于人脸的阴影面积较大,造成人脸检测较为困难,从而无法进行后续的表情识别。

在光照良 好的条件下,当人脸一侧背光时,则无法准确检测出人脸,造成表 情识别错误,而当人脸曝光良好时,识别结果较为准确。

实验结果 表明,生气和厌恶这两种表情识别较为困难,可能的原因是该两种 表情在面部肌肉的运动表现较为相似,同时也与表情强度有关。

复杂情况下人脸检测难度较大,造成人脸表情识别困难,人脸 转动一定角度时无法正确检测到人脸,从而导致了人脸表情识别错 误。

在人脸被部分遮挡时,佩戴透明或透光性较差镜片的眼镜时能 够正确识别人脸表情,而使用不透光的纸片遮挡眼部、眼鼻部、嘴 部等情况下都无法识别人脸表情。

通过对不同种族的人脸表情进行识别,发现人脸表情识别仍较 为准确。

但在多个人脸表情识别时会发生个别人脸检测不到,无法 进行表情识别的情况。

通过对实验中所使用的表情进行分类对比,不难发现,现实生 活中最常见的表情更容易识别,如开心、惊讶、悲伤。

另外几种表 情在实验过程中识别较为困难,可能是因为面部肌肉运动较难区分,同时表情强度较弱。

从实验结果可以看出,人脸表情识别受环境因素影响很大,在 后续的研究中可以通过优化分类模型来改善识别效果,同时也可以 通过调整实验环境来达到识别效果的最优化。

4结语
本文设计了 •种基于树莓派的实时人脸表情识别系统,对人脸 表情识别的主要方法进行了分析,使用深度学习框架Tensorfllow 在树莓派上实现对人脸表情的实时识别。

实验结果表明,本文设计 的基于树莓派的实时人脸表情识别系统对于正面人脸表情识别具有 较好的识别精度和较高的鲁棒性,但对于旋转角度较大的非正面人 脸表情和低分辨率多人脸表情识别效果不佳。

后续将围绕非正面人 脸表情和低分辨率多人脸表情实时识别开展研究工作,对深层网络 模型进行优化。

参考文献
[1] 潘峥嵘,贺秀伟.人脸表情识别在智能机器人中的应用研究
[J].计算机技术与发展,2018, 28 (2): 173-177.
[2]李珊,邓伟洪.深度人脸表情识别研究进展[J].中国图象图
形学报,2020, 25 (11): 2306-2320
[3]高涛,邵倩,张亚南等.基于深度残差网络的人脸表情识别研
究[J].电子设计工程,2020, 28 (23): 101-104.
[4]薛建明,刘宏哲,袁家政等.基于CNN与关键区域特征的
人脸表情识别算法[J].传感器与微系统,2019, 38 (10): 146- 149, 153.
[5]苏安琪,王文韬,袁玮含等.一种基于树莓派的智能导盲装置
设计[J].中国科技信息,2020 (24): 54-55.
作者简介
牛犇(1982-),男,河南省洛阳市人。

博士学历,金陵科技学院 电子信息工程学院讲师。

研究方向为人脸表情识别及智能硬件。

滕运江(1997-),男,江苏市宿迁市人。

学士学位,金陵科技学 院电子信息工程学院本科生。

研究方向为人脸表情识别及智能硬件。

136。

相关文档
最新文档