杨鑫城,吕孝梅,展恩德,刘庆海
(青岛理工大学机械与电子工程系,山东临沂 276000)
抑郁症是一种常见的精神类疾病。WHO 预测,截至2030年,抑郁症将成为全球疾病负担第一位的疾病。而根据《柳叶刀》期刊上发表的题目为《Global prevalence and burden of depressive and anxiety disorders in 204 countries and territories in 2020 due to COVID-19 pandemic》的研究显示,全球范围内重度抑郁症增加了28%。根据Meta的研究显示,当代中国大学生抑郁症(或者抑郁情绪)的患病发生率为30.39%。对于经历过疫情的当代的大学生来说,不断地接受各种复杂的负面消息,且在自我辨别能力不足、心智发育尚未健全的情况下,很容易被负面情绪所影响,因此产生低落沮丧的抑郁情绪[1-2]。
本研究通过所设计的抑郁度分析系统分析抑郁症患者脸部表情以及肢体行为的变化与抑郁症之间的对应函数关系,进而达到通过人脸识别以及肢体动作判断是否患有抑郁症。并且评估深度学习模型在识别抑郁症表现方面的效用,为深度学习算法更好地应用于抑郁症的检测以及诊断提供强有力的理论依据。
本项目使用Python语言[3-4]基于MTCNN主要包括两大部分:人脸表情识别以及肢体运动信息识别,本系统首先会在一个周期内,完成不同角度的人脸图像的获取以及肢体运动信息数据的采集。然后将捕捉到的人脸图像以及采集到的肢体运动信息进行数据处理,随后通过决策网络判断此次数据当中是否含有可以利用的人脸数据并进行进一步的处理。在得到被检测人员的面部数据特征之后,与肢体运动的数据信息进行融合,形成综合特征数据信息。
在面部特征数据提取期间,眼部特征检测模块会提前对被检测人员的眼部图像进行单独的提取,并优于人脸图像输入模型中用以说谎判断。
最后,通过表情识别网络对得到的综合数据进行分析处理,并根据分析处理结果判断属于哪一种程度的抑郁症,并通过显示器给出相应的警告。
肢体运动信息的检测[5]部分从肢体的时间序列特征、动作位移、动作数据帧数以及频率方面进行。肢体运动信息的时间序列特征主要表现在,当被检测人的情绪有很明显的变化之后,人体的骨架关节点会比变化之前有着明显的位移情况;肢体动作位移的变化,主要是根据收集到的特征数据计算出一个周期T内总的位移量以及平均速度。然后将情绪变化前后的位移与平均速度进行对比。将位移总量记为S,则计算方法由式(1)所示。
平均速度记为Vp,也可由t、x 以及n(周期个数计算)计算方法由式(2)所示。
本项目对肢体信息的采集使用Kinect 设备。Kinect是一种基于深度传感器的肢体动作识别设备,主要的原理是在深度图像中快速准确地推测出身体各个关节骨架关键部位的空间位置。
人脸识别检测主要包括面部特征数据提取网络[6]和表情识别网络[7]。
在面部图像获得的过程中,要对图像进行面部检测、关键点定位和面部关键子区域的划分。面部检测是用于确定所捕获的图像中是否存在着人脸图像数据,关键点定位是为了确定所要划分的关键区域的位置并根据关键点划分出面部的三个关键子区域。查阅相关资料发现,在表情识别中,有效识别区域是左眼区、右眼区和嘴部区。本项目对三个子区域划分进行了边缘扩大化,分别为左右眼区域包含眉毛区域、嘴部区域包含鼻子部分。
面部特征数据的提取首先要按照特定方式选取的三帧图像FL、FM、FR输入定位层网络中进行处理。处理完毕后,对FL、FM、FR 图像进行标记,然后输入多维特征提取卷积网络中。随后,多维特征提取卷积网络根据输入进来的数据前缀分类,送入相应的处理模块进行分析,最后将三个不同维度的面部数据进行特征融合,形成最后的面部数据特征。
本项目面部识别借鉴多任务级联卷积神经网络(Multi-task Cascaded Convolutional Networks,MTCNN),并对其进行整改。在MTCNN 的基础上本项目增加“时空特征提取模块”,提取这些面部特征数据中包含的时间、空间等维度的特征数据,形成多维度的综合数据。时空特征提取模块[8]采用的是一个3×3的卷积核和两个残差模块串联而成,并且采用扩大卷积核的方式,针对捕获的被检测者人脸图像中的时间和空间数据进行分析提取。面部数据提取过程中,对于图像处理使用的是“滑动划分”。即在分块处理的时,使用固定大小的窗口(d×d)设定滑动步长(s),然后逐步滑动的方式对人脸图像进行滑动选取。
表情识别网络由两个卷积层、两个池化层和一个softmax分类器组成。卷积和池化的通道数分别是128和256,卷积核是3×3,步长为1×1。softmax 分类器可以实现多任务进行分类,这里需要的是三分类任务,即正常、轻度抑郁和重度抑郁三种。
被检测人的面部数据对于本项目的检测至关重要,因此被截取的人脸图像分辨率不能太低。但在一般的人脸识别网络中所使用的图像金字塔,将minsize设置为一个固定的数值,使得图片清晰度较低,导致最后的结果出现误差。因此本项目使用的是“可变的minsize图像金字塔”。
可变minsize 图像金字塔[9],即在被检测的图像输入到卷积网络之前,先获取图像的宽度(w)和高度(h),并由w和h确定s的值,具体由式(3)所示。
然后根据s的值,结合对应的函数关系f(x)最终确定适合本次变化的minszie 的值。并且其可以根据输入的图像的大小,动态地指定本模型中可以识别的最小人脸,从而减少迭代的次数,提高系统整体的运算速度。
决策网[9]主要是为了解决面部遮挡对检测结果产生的影响,剔除遮挡比例较高的区域,保留遮挡比例较小的区域,最大程度地关注非遮挡区域,提高系统检测的准确率。假设将决策网的判断结构记为ηi(表示第i个区域的判定结果),则ηi由式(4)所示。
δ(·)是决策网中的一个基于分类函数的操作,其表达式如式(5)所示。
其中Ob表示关键区域的遮挡比例,β表示提前设定的遮挡比例的阀值。当Ob大于固定的阈值时置δ(·) = 1,此时不会丢弃图像,反之丢弃。
眼部特征提取模块基于循环神经网络[10](Gated Recurrent Unit,GRU)设计,通过对周期内眼部主要信息进行获取、对比、分析、分类,然后基于检测的眼部的特征数据,判断是否有说谎的行为。在查阅相关资料后,本项目检测从:眼部的注视、瞳孔变化以及眨眼这三个方面进行。
GRU网络是一种基于门控制的循环神经网络,它可以直接对前一层进行记忆控制,并且参数相对较少,运行速度更快,对短距离记忆效果更好,更容易捕捉眼部细微的表情变化。GRU中的更新门,帮助模型决定将多少过去的信息传递到未来,或者决定有多少信息需要继续传递的。GRU 中重置门的作用是决定当前时刻的候选状态是否需要依赖上一时刻的网络状态以及需要依赖多少。
本系统首先由摄像头及根据可穿戴设备实时捕捉人脸信息以及肢体信息,作为抑郁度分析的基础数据。在捕捉被检测者的图像信息和实时收集数据的同时,也会有实时反馈,用以监督网络是否运行通畅以及实现检测的可视化操作,如图1所示。
图1 实时显示
接下来,由“可变minsize金字塔”将捕捉到的人脸图片进行缩放,然后输入到定位层网络。随后进入时空提取模块。在此模块中,会对于三个角度的图像进行更加细致地提取,以更好地保留微小的面部特征数据,最后完成多维的特征提取后,按照一定的融合方式,将多维数据进行特征融合。与此同时,实时收集到的肢体运动信息会在特征提取网络中,进行肢体的时间序列、关节点的时空位移以及运动帧数以及频率的提取,完成特征提取后,与面部数据特征进行不同形态的特征融合。
特别注意,经过相关研究发现,面部识别的准确度、效率等高于肢体识别,又鉴于真实的实验中,面部识别检测得准确更精确,因此在进行特征融合时,我们采用的是加权的方式。(加权的方式,就是根据不同的检测结果的可靠程度,在特征融合时,乘以其不同的权重比例,以达到检测结果更加精确的目的)。
将融合后的特征向量特征输入到表情识别网络,经过进一步的卷积池化,使得数据的特征更加明显,然后经过softmax 分类器的分类,得到最终的检测结果,如图2所示。
图2 最终显示结果
本文基于肢体行为检测和人脸识别的基础上,对抑郁症的识别分析进行了相关的研究。完成了本文既定的检测目标,达到了预期效果。主要的研究内容包括:以MTCNN 为主题进行人脸识别检测并且使用Kinect设备对肢体信息进行采集;采用可变minsize图像金字塔解决图像清晰度问题并提高模型的检测效率;将决策网络加入模型中用以筛选符合要求的图像;增加测谎模块用以减少主观因素对检测结果的影响;引入时空特征提取模块用以检测图像中包含的时间与空间信息,最后通过识别网络进行分类处理以完成抑郁症的分析检测。
在研究的过程中,尚存在一定的不足,比如对MTCNN 模型的熟悉度不高,在模型设计的过程中对抑郁症的认知不足,导致在模块设计中没有与实际情况相结合造成部分功能实现较为困难等。接下来,本项目将深入地了解抑郁症的相关知识,逐渐完善系统功能,并且进一步提高模型的检测准确度以及检测效率,争取能够在抑郁症分析中更进一步。