时间:2024-09-03
◆杨林 侯俊科
基于人工智能的情绪识别系统综述
◆杨林 侯俊科
(山东省淄博第一中学 山东 255000)
情感是一种整合人的思想和行为的状态。它在人们的交流中起着重要的作用。它包括人们对外界或自我刺激的心理反应,包括伴随这种心理反应的生理反应。在各种人机交互系统中,如果系统能够识别人的情感状态,人与机器之间的交互将变得更加友好和自然。随着人工智能、计算机图形学和各种硬件设备的不断发展和演变,这种发展趋向于更加现实,具有很强的现实意义。因此,情绪分析与识别是神经科学、心理学、认知科学、计算机科学和人工智能领域的一个重要跨学科研究课题。
人脸检测;情绪识别;计算机科学;人工智能
情绪认知在日常社会生活中起着非常重要的作用。良好的情绪认知能力是人们顺利社交的重要保证。情感通常通过表情来传递情感信息,包括面部表情、身体表情和言语表情。面部表情可以传达更多的情感信息。通过对他人面部表情的认知,我们可以了解他人的情绪状态、性别、年龄、身份等信息。此外,表达,即情感识别,在当代社会中可以发挥重要作用。例如,“微表情”识别在警察巡逻清查中的应用。在警察巡逻清查活动中,通过对清查对象面部微表情的识别,可以快速筛选出重点清查对象,实现预警,从而提高巡逻清查的效率,降低警察的执法风险。例如,近年来,青少年抑郁症患者的数量逐渐增加。情绪识别对解决当代大学生的行为抑制问题具有一定的参考价值,主要表现在对求助、亲密、自信、拒绝、信任和服从等行为的抑制,以及与心理健康水平相关的问题。总之,情感识别是人工智能发展趋势和人类社会发展需求的综合体现。它对现代社会具有重要的研究意义。
人脸检测用于在所制定的图片信息或者视频序列中检测出人脸所在位置,并进行标识显示,人脸检测是自动人脸识别系统中的一个关键环节。随着电子商务等应用的发展,人脸识别成为最有潜力的生物身份验证手段,人脸检测采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回一脸的位置、大小和姿态。本次试验采用OpenCV(开源计算机视觉库)的特征提取算法以及人脸检测识别算法进行实验测试。OpenCV系统中,已经存在的程序可以完成对haar-like特征分类器的训练,训练完成之后形成的级联分类器会储存在xml文件中。OpenCV利用样本的Haar特征进行的分类器训练,得到的级联分类器(Cascade Classification),通过该级联分类器内部封装算法先将获取图像进行灰度化作用,再通过多矢量检测函数(detectMultiScale)检测出所有的人脸,并用vector保存各个人脸的坐标、大小(用矩形表示),实现人脸检测的目的。
人脸表情识别实现的难点主要在于特征的提取、学习与分类,这也会在很大程度上直接影响最后识别的准确率。在此介绍两种常用表情特征提取方法。
(1)基于卷积神经网络及特征提取的面部表情识别算法
卷积神经网络(Convolutional Neural Networks,CNN)是深度学习的代表算法之一,是一种包含卷积计算且具有深度结构的前馈神经网络。因为可以进行平移不变分类(Shift-Invariant Classification),所以卷积神经网络也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks,SIANN)。卷积神经网络主要由卷积层、池化层、全连接层三部分组成。其中卷积层主要是实现在原始的输入上进行的特征提取操作;池化层的作用是对特征图进行特征压缩,以减少数据量;全连接层是对特征进行整合分类,得到最终的分类结果。基于神经网络(CNN)的特征提取方法主要由以下几部分构成:数据集的选取,数据预处理,神经网络搭建,从而实现人脸特征识别。数据集是面部表情的集合,通常是48*48像素的灰色图像。标准的FER数据集用于分类面部表情,包括积极、中等和消极的表情成分。数据预处理将FER数据集分为两部分:训练集和测试集,以便于后续训练。然后,对所有数据进行统一的灰度处理,以减少噪声干扰。为了防止网络拟合过快,最好的方法之一是使用更多的训练数据。因此,在分割数据集之后,将对图像执行一些操作,例如旋转和剪切,以增加数据量。面部表情识别基本框架如图1所示。
图1 面部表情识别基本框架
(2)基于几何的特征提取法
人脸几何特征包括眼睛、鼻子和嘴巴等人脸特征的局部形状特征、人脸形状特征以及五官在人脸上分布的几何关系特征。
基于几何的特征提取方法是一种基于统计的特征提取方法。它是一种通过计算人脸各特征点之间的距离并将其与标准进行比较来进行情感判断的识别方法。一般采用灰度差分投影法确定人脸轮廓,采用积分投影法或水平差分累积法进行眼睛定位。人脸特征提取主要依赖于Dlib库和ERT算法。ERT(集成回归树)算法,也称为级联回归算法,是一种基于梯度改进学习的回归树方法。该算法需要一个事先标定好的图片集作为训练集进行训练,从而得到训练模型,以用于后续特征分类。在该算法中,会使用基于特征选择的相关性方法,将输入数据随机投影到一个方向上,并选择一对特征(u,v),计算该特征与输入数据之间的样本相关性,并通过不断调整特征(u,v)的值,来寻找与输入数据具有最高样本相关性的特征。每当输入一个新的图像时,算法会首先估计一个大致的特征点位置,然后采用Gradient Boosting算法选取与输入平方差最小的特征点。该算法一般采用最小二乘法来减少误差,以得到每一级的级联回归因子。ERT算法的核心公式如下所示:
其中,表示级联序号,r表示当前级的回归器regressor。为输入图像。每个回归器可以由若干棵树组成,使用梯度提高学习的回归树训练每个回归器,同时不断使用最小二乘法来最小化误差。
图2 程序大致流程
本文采用OpenCV内置的人脸检测算法与关于神经网络(深度学习)相关算法相结合的方式,并通过python进行可视化界面设计与显示的过程,进行本次试验。通过采用标准FER数据集作为训练模型的样本,结合相关开源代码,完成本次试验。实现人脸检测(框选出人脸)与表情识别的检测,并实时显示在可视化界面上(见图2)。
借助Python,从我们的网络摄像头获取图像流,使用OpenCV检测并添加边界框,从我们的神经网络获取预测并将标签添加到网络摄像头图像,最后返回最终的图像流(见图3)。
图3 实例
人脸表情特征识别是人工智能快速发展的一个主要方向。具有很强的现实意义。它与深度学习和计算机图形学密切相关,占主导地位的是神经网络(CNN)。在识别方面,神经网络算法依赖于其自身的分布式特征表示。在训练足够的人脸表情图像后,识别精度明显高于其他传统方法,但需要更高的计算能力。因此,需要更多的方法尽可能提高算法效率,如预处理环节的处理,如有效减小图像大小等;在显示方面,如何以更自然、流畅、和谐的人机界面与用户沟通也显得尤为重要。在OpenCV处理动态视频序列的基础上,还需要进一步优化流畅性和友好性。
总之,人脸表情特征识别在实际领域具有重要的理论意义和良好的应用前景,虽然目前有了一定的成效,但有效地解决真实复杂场景下的人脸表情检测的准确性、迅速性等问题还有待进一步的研究。
[1]聂聃,王晓韡,段若男,等.基于脑电的情绪识别研究综述[J].中国生物医学工程学报,2012,31(04):595-606.
[2]宋晓辉.论“微表情”识别在警务巡逻盘查工作中的运用[J].北京警察学院学报,2017(05):106-110.
[3]徐振国. 智慧学习环境中学习画面的情感识别及其应用[D].山东师范大学,2019.
[4]白乐乐. 大学生行为抑制的研究[D].曲阜师范大学,2016.
[5]王怡文.基于卷积神经网络及特征提取的面部表情识别算法[J].电脑知识与技术,2019,15(16):203-205.
[6]翟蒙锁. 人脸表情特征提取与识别算法研究[D].安徽工程大学,2019.
[7]王忠民,李和娜,张荣,等.融合卷积神经网络与支持向量机的表情识别[J].计算机工程与设计,2019,40(12):3594-3600.
[8]刘卫华,吴丹.基于OpenCV的人脸检测[J].科技创新与应用,2019(31):18-19.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!