当前位置:文档之家› 运行于树莓派的情绪感知方法与相关技术

运行于树莓派的情绪感知方法与相关技术

运行于树莓派的情绪感知方法与相关技术
运行于树莓派的情绪感知方法与相关技术

图片简介:

本技术介绍了一种运行于树莓派的情绪感知方法,本技术以树莓派为嵌入式以及深度学习开发平台,能够采集用户的情绪状态并给出相应的数据分析。模型采用优化后的ResNet18SVM、A CRNN分类网络,针对于用户的情绪分析问题,我们以七种基本情绪为指标分别从图像和语音进行预测并给出相应的检测结果和数据分析,系统取得了理想效果。技术提出的情绪感知系统,降低了情绪检测的成本,并能够统计出一段时间内用户的情绪数据,可以在一定程度上解决公共心理健康资源稀缺等问题。

技术要求

1.一种运行于树莓派的情绪感知方法,其特征在于,该方法具体包括以下步骤:

步骤1、数据预处理:;在图像输入方面,对摄像头捕捉的环境进行人脸检测并裁剪出人脸,再对裁剪后的人脸图片归一化,以实现后续的特征提取;在语音输入方面,对麦克风收集到的声音信息先做静音检测,经滤波器滤波加窗,以滤除环境中不必要的杂音;;

对提取到的表情数据转化成灰度图,进一步采取灰度图归一化,使其像素的灰度值分布在0至255之间,避免图像对比度不足,还能加快网络的训练速度;由于在情绪识别中,最关键的问题是根据人脸的表情来提取特征,所以使用灰度归一化将原来的三维数据降到二维,进而能大大提升网络的训练速度;

步骤2、数据增强:

对步骤1处理后图像进行仿射变换;

步骤3、对步骤1中提取到的环境人声,进行预加重、分频和加窗,进一步提取梅尔声谱图及其一阶、二阶差分图,组成三通道的图像数据送入神经网络中进行下一步的特征提取;

步骤4、网络模型优化:去掉18层的残差网络ResNet18最后的分类层并用支持向量机进行替代;在语音处理方面,在CRNN的基础上加入注意力机制,对提取到的声谱图进行进一步的特征提取;

步骤5、模型训练:在图像处理的神经网络中,先使用14种复合情绪进行训练,后使用迁移学习对7种基本的情绪进行微调;前者能够加强模型的鲁棒性与泛化能力,后者使用七种基本情绪微调使之能与适应语音模型的输出结果来支持进一步的分析;通过试验得到最佳的超参数,最后经过训练得到分类性能最佳的图像和语音模型;

步骤6、数据融合:经神经网络分类之后会得到两列7*1的向量,分别代表从人脸识别得的情绪分类与从语音获得的情绪分类结果,储存于文件中;对于一段时间内采集到的数据,根据用户所处的环境不同,用户可选择最佳的图像数据与声音数据权重,得到该段时间内的情绪概率结果;

步骤7、模型移植:将树莓派平台配置的深度学习框架Tensorflow作为桥梁,将训练的到的深度学习模型运行在树莓派终端;这样既能充分利用树莓派系统的可迁移性、便捷性,还能够最大程度提升系统的性价比;

步骤8、基本情感的检测:使用打开设备之后,系统每隔一定时间捕捉摄像头数据与环境声数据,通过剔除极端数据和多次数据取平均采样最后经分析得到一段时间内的情绪概率模型、PAD三维空间情感的映射分析数据。

2.根据权利要求1所述的一种运行于树莓派的情绪感知方法,其特征在于,所述的仿射变换包括但不局限于对图像的缩放,旋转,剪切,翻转和平移的组合。

3.根据权利要求1所述的一种运行于树莓派的情绪感知方法,其特征在于,对步骤1中提取到的环境人声,进行预加重、分频和加窗,其中窗函数公式如下:

其次对每一个短时分析窗进行FFT,即短时傅里叶变换得到相应的频谱,来获得分布在时间轴上不同时间窗内的频谱:

xi为信号x的第i帧,其中N通常为256或512;

最后将频谱通过Mel滤波器得到Mel频谱;公式如下:

Mel(f)=2595*10g10(1+f/700)。

技术说明书

一种运行于树莓派的情绪感知方法

技术领域

本技术涉及人工智能领域,涉及一种运行于树莓派的情绪感知方法。

背景技术

于2018年发布的中国城镇居民心理健康白皮书显示,中国城镇居民有73.6%为心理亚健康,16.1%存在不同程度的心理问题,心理健康仅占10.3%。可见随着我国经济的发展,人们的物质需求已经日益满足,但是在这样日新月异、飞速发展的社会中,心理健康逐渐成为我国重要公共卫生问题。

在深度学习算法的飞速发展的过程中,科学家们试图赋予计算机理解人类表情的能力,以实现更好的人工智能。深度学习在人脸识别,自然图像分类,物体检测中已经取得了不错的成绩。在情绪识别方面,不论是从图像识别还是从语音识别,深度学习都提供了全新的实现思路。

国内外都有许多机构致力于情绪识别的研究,也都取得了不错的理论突破。但是这些研究大多都停留在理论上的算法研究,很少与实际相结合,并且多数研究只是对图像信息或语音信息单独进行识别或者分析并没有综合考虑二者的共同作用,使得最终结果的泛化能力不强。纵观国内表情识别市场,许多的表情识别产品或者相关心理疏导服务价格高昂,并且其服务内容主要是是专业的测谎、对罪犯进行监测,并没有面向广大群体

从上述现象可看出,国民心理健康问题日趋严重,但情绪识别的相关算法很少实现并落地,情绪识别、相关心理疏导的服务价格高昂,公共心理健康资源稀缺等问题都亟待解决,所以一种较便捷、能进入群众生活的情绪感知调节系统是市场的一个空缺。该系统使用人工智能的方法实现情绪感知,能最大限度降低相关的成本,并走进大部分老百姓的生活,相信这样的产品会受很大一部分面临心理压力的人群的青睐。

技术内容

为解决目前公共心理健康资源稀缺等问题,本技术提出基于树莓派的情绪感知调节方法。采用深度学习方法实现一个能够根据用户的表情和环境声感知用户的情绪。在人们面临心理压力、内心孤独之时能够缓解人们的不安的情绪,避免因情绪过度极端化而导致心理问题甚至意外的发生。

本技术一种运行于树莓派的情绪感知方法,包含以下步骤:

步骤1、数据预处理(Data Pre-processing):本系统采用图像和环境人声对人所处的可能情绪做出判断。在图像输入方面,对摄像头捕捉的环境进行人脸检测并裁剪出人脸,再对裁剪后的人脸图片归一化,以实现后续的特征提取;在语音输入方面,对麦克风收集到的声音信息先做静音检测,经滤波器滤波加窗,以滤除环境中不必要的杂音;

对表情数据转化成灰度图,进一步采取灰度图归一化,这样能使其像素的灰度值分布在0至255之间,避免图像对比度不足(图像像素亮度分布不平衡),还能加快网络的训练速度。由于在情绪识别中,最关键的问题是根据人脸的表情来提取特征,所以可以使用灰度归一化将原来的三维数据降到二维,进而能大大提升网络的训练速度。

步骤2、数据增强(Data Augmentation):

对步骤1处理后图像进行仿射变换;

步骤3、对于步骤1中提取到的环境人声,进行预加重、分频和加窗,进一步提取梅尔声谱图及其一阶、二阶差分图,组成三通道的图像数据送入神经网络中进行下一步的特征提取。

步骤4、网络模型优化(Optimization):去掉18层的残差网络(ResNet18)最后的分类层并用支持向量机(Support Vector Machine,SVM)进行替代。在语音处理方面,在CRNN的基础上加入注意力机制(Attention Mechanism),对提取到的声谱图进行进一步的特征提取。

步骤5、模型训练(Modeling):在图像处理的神经网络中,先使用14种复合情绪进行训练,后使用迁移学习对7种基本的情绪进行微调。前者能够加强模型的鲁棒性与泛化能力,后者使用七种基本情绪微调使之能与适应语音模型的输出结果来支持进一步的分析。通过试验得到最佳的超参数,最后经过训练得到分类性能最佳的图像和语音模型。

步骤6、数据融合(Data Fusion):经神经网络分类之后会得到两列7*1的向量,分别代表从人脸识别得的情绪分类与从语音获得的情绪分类结果,储存于文件中。对于一段时间内采集到的数据,根据用户所处的环境不同,用户可选择最佳的图像数据与声音数据权重(权重数据由实验验证获得),得到该段时间内的情绪概率结果;

步骤7、模型移植(Transplantation):将树莓派平台配置的深度学习框架Tensorflow作为桥梁,将训练的到的深度学习模型运行在树莓派终端。这样既能充分利用树莓派系统的可迁移性、便捷性,还能够最大程度提升系统的性价比。

步骤8、基本情感的检测:使用打开设备之后,系统每隔一定时间捕捉摄像头数据与环境声数据,通过剔除极端数据和多次数据取平均采样最后经分析可以得到一段时间内的情绪概率模型、PAD三维空间情感的映射等分析数据。

所述的多种数据增强方法包括随机水平/竖直翻转、随机旋转和边缘锐化。

本技术的有益效果是:

1)人脸处理方面,本系统采用优化后的ResNet18-SVM分类网络,在训练模型时先使用复合表情的数据集进行训练,增加模型的泛化能力,后迁移至八分类数据集进行训练以适配后续输出。

2)环境人声处理方面,本系统采用优化后的CRNN网络,利用CNN强大的特征提取能力来处理语音的分类问题,并使用Attention模块对输出的结果赋予不同的权重,使得模型更加有选择性。

3)同时对人脸数据与环境人声进行采集,根据使用者所处环境对二者进行不同程度的加权求和,融合多方面的数据,增大情绪感知系统的容错性,提高最终识别的准确度,以便后续的数据分析。

4)提出了一种便捷的情绪检测方法,使用者都只需要打开树莓派并将其置于能拍摄到人脸的地方,设备就会捕捉一段时间内人脸和环境人声数据,并得出的各类的数据分析,能够很方便的对一些面临巨大心理压力的人群进行情绪检测。整个过程只需要使用者将摄像头至于可检测范围内即可,兼具测试方便、运行快速、结果准确等优点。

附图说明

图1为本技术情绪感知系统检测方法的基本流程图;

图2为本技术网络结构改进图;

图3为本技术中图像处理示意图;

图4为本技术中语音处理流程图;

图5为本技术中网络模型结构创新流程图;

图6为本技术方法系统流程图;

具体实施方式

下面结合附图和具体实施例对本技术作进一步的说明。

用于测试的设备是:Raspberry Pi 4Model B,硬件环境是CPU BroadcomBCM2711,quad-core Cortex-A72(ARM v8)64-bit SoC@1.5GHz,运行环境是python3.6以及相关扩展包TensorFlow和Keras。

采用深度卷积神经网络ResNet18-SVM以及A-CRNN,即使用SVM算法改良的ResNet18网络,和加入Attention模块进

行优化的CRNN网络。

对于ResNet18-SVM网络部分,实验证明,在情绪处理的分类问题中,使用SVM作为分类器效果会优于使用神经网络中以Softmax层为最后的分类器。并且在该网络训练的过程中,由于一般方法七种基本情绪过于简单,使得模型难以应对现实生活中复杂的情绪,因此我们使用FAR-DB数据集作为样本,其中包含生活中更常见的十二种复合情绪,更能符合现实情况。为了能够实现后续的情绪分析,我们使用迁移学习,用七种基本情绪微调SVM分类器。这样能够训练出不破坏数据维度且特征提取能力更强的模型。

不同的情绪所对应的频谱具有不同的特征。因此在A-CRNN网络部分,我们提取音频信息的梅尔声谱图及其一阶、二阶差分图,组成三通道的图像数据。这样能充分发挥CNN的图像特征提取能力和RNN对序列数据的处理能力来提取使用者所处环境中所蕴含的情感信息。

如图1所示,本技术基于卷积神经网络和循环神经网络的七类表情识别和情绪推断以及有关情绪分析,包括数据预处理、卷积神经网络、循环神经网络学习分类器、树莓派平台深度学习环境、嵌入式环境的搭建与开发。

具体步骤如下:

A)原图像尺寸为600*600,经过人脸裁剪和灰度归一化。并统一图像尺寸,加速模型训练,将图像尺寸压缩为100*100并将数据的像素值归一化到0,1区间。

灰度变换归一化的公式为:

式中,I(i,j)和N(i,j)分别表示原图像的灰度值、变换后图像的灰度值,min和max分别表示原图像的最小灰度值、最大灰度值。

B)同时为了扩充我们的数据集,我们加入图像的仿射变换。仿射变换主要涉及到图像的形状、位置、角度变化,是深度学习预处理中常到的功能。仿射变换具体到图像中的应用,包括但不局限于对图像的缩放scale,旋转rotate,剪切shear,翻转flip和平移translate的组合。仿射变换相当于建立每个因子特征与相应类别的权重关系,减弱背景(或噪音)因子的权重,这样不仅可以扩充数据集,更能增加训练出的模型的鲁棒性。

C)对于语音信息,我们首先对语音进行预加重、分频和加窗以提高信号的性能(精度,信噪比等)。窗函数公式如下:

其次对每一个短时分析窗进行FFT,即短时傅里叶变换(Short-Time Fourier-Transform,STFT)得到相应的频谱,来获得分布在时间轴上不同时间窗内的频谱:

其中N通常为256或512最后将上面产生的频谱通过Mel滤波器得到Mel频谱。公式如下:

Mel(f)=2595*log10(1+f/700)

这样通过上述处理,我们可以将采样率为256kbs的原始信号数据转换成梅尔声谱图及其一阶、二阶差分图,组成三通道的图像数据。

D)基于卷积神经网络的ResNet18-SVM(Support Vector Machine)。SVM即支持向量机,是一种有监督的学习模型,通常用来进行模式识别、分类以及回归分析。SVM算法的本质就是升维和线性化,利用非线性映射把样本空间映射到一个高维的Hilbert特征空间,使得在原来的样本空间中非线性可分的问题变得线性可分。在人脸表情识别的问题中,使用SVM作为分类器效果会优于使用神经网络中以Softmax层为最后的分类器,再加上ResNet18中卷积层本身具有的强大特征提取的能力,能够实现对人脸表情的辨识。

E)在训练过程中,采用的迁移学习方法。前期为了增强模型的特征提取能力和鲁棒性,先使用ResNet18对不同于传统七分类的十四分类复合情绪数据集进行训练,后期利用七分类情绪训练样本对已经训练完成的分类器模型进行微调,使得网络的模型输出对应七分类基本情绪。训练过程设置初始学习率为1e-4,选用Adam+SGD作为本次模型的优

化器,先使用Adam加速梯度下降的过程,再使用GSD微调加强模型的鲁棒性和准确度,最终得到分类性能不错的模型。

F)在训练好模型之后,我们将测试集送入模型进行预测,根据预测结果再计算得到图像级别分类的评价指标。我们将评价最优的模型的权重移植到已经搭建好深度学习环境Tensorflow、Keras的树莓派中。

G)在树莓派的嵌入式开发中,安置摄像头和麦克风来采集使用者的人脸数据和环境人声,在具体的使用中,每个采样的时间点会同时采取五次数据,以便提升后续的数据分析的准确性。

H)采集图像数据时会先进行人脸检测,而采集环境人声数据时会先进行静音检测,以确保数据的有效性。采集到的人脸图像经灰度转化、灰度归一化后resize成100*100的图像数据;类似地,对于语音数据转化成梅尔声谱图后resize成300*40*3的图像数据。这之后需要获得重构图像的每个像素点的RGB值并赋值给四维矩阵进而生成两组四维Tensor,这两项前置工作就将所需的图像转换成了模型可以识别的四维Tensor。

I)将得到的人脸数据和语音数据所转化得到的Tensor数据分别送入对应的神经网络。在Tensorflow框架中,系统会默认的图(Graph)中启动相关的会话(Session),并使数据前向流动得到推理的情绪结果。

J)最后将经过数据处理,可以得到各个采样时间点的情绪概率,一段时间内的情绪分析,PAD三维情绪分析等等情绪相关数据。

如图2所示,本技术方法,通过使用ResNet18-SVM、A-CRNN更优网络结构,不仅能加速网络收敛,提升模型稳定性,还能同时分析使用者的表情与所处的环境人声。

如图3、4所示,为了解决较早出现的过拟合问题,提高模型的泛化性能,我们在图像数据集上使用了数据增强,如水平翻转、随机裁剪、边缘锐化等;同时与A-CRNN网络相适配的,我们对输入的语音数据进行处理,提取出其梅尔谱图,并做一阶二阶差分,组成三通道的数据。

如图5所示,树莓派系统的输入信息为人脸信息(摄像头采集,二轴舵机扩大图像采集范围)、环境语音信息(麦克风采集),并出储存相关的情绪数据与系统内存中,输出可以提供由情绪变化的灯光效果(驱动智能LED)、音乐效果(驱动蓝牙音响)等。

如图1,图6所示,本技术方法,提出了一种运行于树莓派的情绪感知系统。该方法通过移植训练好的模型,采集用户的表情、环境语音等数据传入Tensorflow工具集的分析接口,能在内存中记录用户的情绪数据以及相关的数据。

以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本技术构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术保护范围内。

相关主题
文本预览
相关文档 最新文档