郭文强,赵 艳,张 栋,黄梓轩,侯勇严,肖秦琨,郭志高
(1.陕西科技大学 电子信息与人工智能学院,陕西 西安 710021;2.陕西科技大学 电气与控制工程学院,陕西 西安 710021;3.西安工业大学 电子信息工程学院,陕西 西安 710021)
自动疼痛识别对那些不能用口头表达疼痛的人,如新生患病儿童、痴呆症患者、精神受损或重症监护中的病人等至关重要[1].若能及时利用这些患者的表情进行疼痛评估,便可以及时有效地辅助治疗.随着计算机视觉技术的发展,基于面部分析的疼痛表情识别技术成为了一个快速发展研究领域[2].然而,表情识别过程中因真实场景中光照的变化、个体的姿态及表情的夸张程度等复杂因素会对图像观测准确性带来不利影响.另外,由于目前医疗测试手段的局限性以及建模采用的知识表达具有不确定性,比如,测试手段的局限性会导致面部特征向量局部丢失;建模训练过程中疼痛程度与面部动作单元(Action Unit,AU)关系的复杂性和不唯一性,往往也会使知识表达不精确.因此,基于复杂、不确定性环境下的疼痛评估的建模和分析有着巨大的挑战.
针对不确定性问题的解决方法主要有模糊逻辑、DS 证据理论、粗糙集理论、贝叶斯网络等方法,但目前上述不确定性处理方法在疼痛评估中的应用未见报道.现有的围绕面部表情的疼痛评估研究主要有:文献[3]提出了一种利用卷积深度信念网络进行特征提取,然后采用支持向量机(Support Vector Machine,SVM)对基于面部表情的疼痛出现与否进行识别.但采用的网络模型复杂,且SVM方法对二分类问题有较好的识别效果,对多分类的疼痛评估问题有应用局限性.文献[4]提出了利用多示例学习(Multiple Instance Learning,MIL)构建疼痛表情分类器.但MIL方法依赖于大量的已知样本,而实际中用于学习的有效疼痛样本数量往往非常有限,会导致疼痛识别模型准确率下降.文献[5]提出了一种利用卷积神经网络(Convolutional Neural Networks,CNN)进行面部特征提取,然后采用联合深度循环神经网络(Recurrent Neural Networks,RNN)进行4个面部疼痛强度等级的划分.但CNN与RNN联合的方法其模型复杂,可解释性差.
结合了图论与概率论的贝叶斯网络(Bayesian Network,BN)能清晰、直观地显示变量之间的因果关系,并可以利用概率推理框架有效地应对不确定性建模与推理问题[6].本文提出了一种基于贝叶斯网络建模的疼痛评估方法.首先获取人脸有关疼痛的AU特征样本,并对不平衡的特征样本进行平衡化处理,然后建立疼痛评估BN模型.最后利用BN推理算法进行完全证据下和不完全证据下的推理,实现复杂、不确定性条件下的多分类疼痛强度评估.
本文研究的疼痛评估过程涉及图像采集、特征提取、建模与推理等.由于识别过程复杂且系统中存在较多的不确定性,如测试手段的局限性等,可能会导致局部特征证据的丢失(不完全证据),应用贝叶斯网络研究成果可以较好解决疼痛评估存在的复杂性和不确定性.
为了描述面部肌肉运动和人脸表情的关系,Ekman和Friesen[7]建立了面部动作编码系统 (Facial Action Coding System,FACS).这个系统将人脸区域共分为44个独立的运动单元,并提供了这些运动单元和基本表情的关系.
随后,Prkachin和Solomon提出与疼痛相关的运动单元,图1所示为PSPI分数表征患者疼痛状态的AU的关系[8].AU主要表征为:眉毛聚拢(AU4)、眼窝收紧(AU6和AU7)、提肌收缩(AU9和AU10)以及闭眼(AU43).
图1 人脸关于疼痛的AU表征
Prkachin和Solomon采用的PSPI表达式如公式(1)所示[8].
PSPI=AU4+max(AU6,AU7)+
max(AU9,AU10)+AU43
(1)
式(1)中:max(AU6,AU7)表示取AU6和AU7强度中的最大值,max(AU9,AU10)表示取AU9和AU10强度中的最大值;其中AU43取值为0或1表示睁眼或闭眼,其他AU取值范围均为0 ~5表示各AU发生的强度值,所以PSPI的取值范围为0 ~16.
贝叶斯网络常表示为B(G,θ),其中G代表具有N个节点的有向无环图,图中的N个节点表示N个随机变量,节点间的有向边表示随机变量间的依赖关系;θ代表节点xi同其父节点πxi之间的依赖程度[9].其中变量X1∶N的联合概率分布如式(2)所示[9]:
(2)
式(2)中:πxi表示xi的父节点集合条件概率分布;p(xi|πxi)表示给定父节点值的变量时xi出现的概率.
1.2.1 BN建模
通常,BN建模分为结构建模和参数建模.其中,BN结构建模就是确定与给定训练样本集相匹配的网络结构,常采用基于专家经验或根据给定样本学习的方法来建立[10].BN参数建模是在网络拓扑结构建立好的基础上,依照一定的数学准则,确定BN的参数分布.通常采用基于专家经验法、数据驱动法和两者混合的方法进行参数建模.
E步(Expectation),求期望:计算对数似然函数的期望,如式(3)所示.
(3)
M步(Maximization),求极大:找θ(k+1)∈Θ使满足式(4),对∀θ∈Θ成立
Q(θ(k+1),θ(k))≥Q(θ,θ(k))
(4)
通过E步和M步的不断迭代产生的参数值序列{θ(k)},当满足式(5)时停止迭代,此时{θ(k)}便是参数 的估计.
|L(θ(k+1))-L(θ(k))|<λ(∀λ>0)
(5)
1.2.2 BN推理
BN推理是在已有的BN模型基础上,已知证据节点集合e取值状态,计算非证据节点o的后验概率分布.本文采用运算速度快、应用广的联合树(Junction Tree,JT)推理算法,其表达如式(6)所示[12]:
(6)
本文提出的基于贝叶斯网络建模的疼痛评估流程图如图2所示.主要过程包括:获取人脸有关疼痛的AU特征样本,并对不平衡的特征样本进行平衡化处理,然后建立疼痛评估BN模型.最后利用BN推理算法实现疼痛等级评估.
图2 基于BN模型的疼痛评估流程图
本文根据文献[13]的方法,采用主动外观模型(Active Appearance Models,AAM)获取AU特征样本的过程如下所示:
步骤一:样本选取与标定,通过去除背景、手动标记人脸轮廓得到样本输入数据;
步骤二:对获取的样本人脸进行归一化处理并利用Procrustes变换得到平均形状模型;
步骤三:通过Delaunay三角划分和三角映射得到平均纹理模型;
步骤四:对获取的形状模型和纹理模型进行加权组合得到AAM模型,再利用主成分分析进行降维;
步骤五:将已建立好的AAM模型在当前图像中寻找最佳匹配目标,获取需要的特征参数;
步骤六:利用SVM分类器对以上获取的特征进行AU分类,获取最终的AU特征样本集.
如果获取的样本集存在不平衡问题(如PSPI值为0的样本数量明显多于其他类),则可采用文献[5]中所提到的下采样方法对样本进行平衡化处理.
Lucey等[14]为推动疼痛评估的研究,发布了UNBC-McMaster数据库该数据库包含来自25个患有肩部疼痛患者的200个视频序列,共计48 398帧图像,其中每一帧图像都采用PSPI进行编码.其PSPI值的分布如图3所示,可以明显看出该数据库存在严重的数据不平衡问题,会导致建立疼痛评估BN模型时产生严重的过拟合现象,使疼痛表情识别率降低.本文以样本数量相对较少的"重度疼痛"样本量为划分依据,利用下采样技术解决各类数据不平衡问题,处理后的结果如图4所示.其主要对多数类(如PSPI值为0的无痛类等)序列随机选择并依次排序和划分,达到减少多数类的目的形成实验所需样本集.
图3 UNBC-McMaster数据库中PSPI值分布图
图4 下采样处理后的PSPI值分布图
本文以PSPI值及各类别数据的均衡性作为疼痛等级划分依据,划分结果如表1所示,将疼痛表情共划分为“不痛”、“轻微疼痛”、“中度疼痛”和“重度疼痛”四个等级,且平衡化后各等级样本数量也列于表1中,可以看出平衡化处理后各疼痛等级样本数接近同一数量级.
表1 样本平衡化及疼痛等级划分
根据Prkachin和Solomon等的研究成果[8],基于疼痛与各AU之间的关系分析,本文提出了一种疼痛评估BN结构模型如图5所示.其中,父节点Pain Level代表疼痛等级的4种状态,分别是“不痛”、“轻微疼痛”、“中度疼痛”和“重度疼痛”;AU各节点代表由疼痛触发的面部活动单元,其中子节点AU43共有2种状态,其他AU子节点各有6种状态,代表AU发生的强度.图5简洁、直观地显示了疼痛等级与各AU之间的因果关系.
图5 疼痛评估BN结构模型
在疼痛评估BN结构模型完成的基础上,本文参数建模主要根据样本数据集利用EM算法完成BN参数建模.至此,疼痛评估BN模型已经建模完成.
基于贝叶斯网络的疼痛评估模型建立完成后,将待评估的面部AU特征样本用于疼痛评估模型的输入特征向量,利用联合树推理算法完成推理.每次疼痛等级推理结果分别对应“不痛”、“轻微疼痛”、“中度疼痛”和“重度疼痛”等不同疼痛等级分别出现的概率.通过比较推理得到的疼痛表情属性概率的大小,输出概率最大且唯一时所对应的疼痛表情属性,即可得到疼痛等级评估结果.
为了验证本文方法的准确性和有效性,分别进行完全证据和不完全证据的推理实验,并在完全证据的条件下利用本文的方法与经典的SVM[3]、MIL[4]和RNN[5]识别方法进行实验对比.
本文的仿真实验平台为Windows 10系统,处理器为AMD CPU 1.8GHz,编程工具为MATLAB R2016b,使用的数据集为UNBC-McMaster疼痛数据库[14].
实验中基于BN模型的疼痛评估中结构建模采用专家经验法,参数建模采用数据驱动法.其中基于专家经验所建立的疼痛评估BN结构模型如图5所示.当疼痛评估BN模型的结构确定后,基于数据驱动的方法利用EM算法得到BN模型参数,实验中将EM的迭代次数设为5000.
本次实验选用UNBC-McMaster数据库中平衡化后的样本数(如表1所示)作为实验所需数据集,利用本文基于贝叶斯网络建模的疼痛评估方法实现疼痛等级评估.根据疼痛等级的划分结果和相应的样本数,每类可选取251组数据,其中170组数据作为参数模型训练,剩下的81组数据作为测试集(未用作训练集).为了更直观的表明该模型的疼痛等级评估效果,实验结果采用混淆矩阵的方式表示.
3.2.1 完全证据下的推理
当使用完全6个AU特征证据进行推理验证时,采用基于BN模型的疼痛评估结果如图6所示.
图6 完全证据下的疼痛评估结果
由图6可以看出,在完全证据的推理下,其中“不痛”的识别率可达到100%;“轻微疼痛”和“重度疼痛”的识别率都达到96%,其容易与“中度疼痛”混淆;而“中度疼痛”的识别率为91%.分析可知,基于贝叶斯网络建模的疼痛评估方法可以准确的划分疼痛等级,平均识别率可以达到95.75%.
3.2.2 不同评估方法的实验结果对比
为了凸显本文方法的优势,在相同条件下利用该方法与经典的SVM[3]、MIL[4]和RNN[5]识别方法进行对比.为了更直观的表示各分类模型的优劣,选用曲线下面积(Area Under the Curve,AUC)来进行评价.AUC值一般是通过计算接收工作特性曲线 (Receiver Operating Characteristic curve,ROC curve)下的面积得到的,取值范围为0~1[15].一般随机猜测产生的对角线的AUC值为0.5,AUC值越大说明该分类模型越好.本次实验结果采用平均识别率和AUC的方式来表示,不同分类方法的实验结果如表2所示.
表2 不同评估方法下的实验结果
由表2可以看出,本文方法的平均识别率为95.75%、AUC值为0.97,均高于经典的SVM、RNN等方法,说明了本文方法的有效性.分析可知,本文利用贝叶斯网络强大的模型学习能力较好的解决了疼痛表情识别过程中多分类的建模问题,并使用简洁且因果关系可解释性好的模型,取得了较好的疼痛表情识别结果.
3.2.3 不完全证据下的推理
假设由于真实场景中光照的变化等因素引发局部特征向量AU4缺失时,经典的神经网络无法进行疼痛表情的分类识别,而利用本文方法进行推理的实验结果如图7所示.
图7 不完全证据下(AU4缺失)疼痛评估结果
由图7可以看出,在不完全证据的推理下,其中“不痛”的识别率可达到100%;“轻微疼痛”的识别率达到95%,其容易与“中度疼痛”混淆;“中度疼痛”的识别率为79%;“重度疼痛”的识别率为84%,比完全证据下的识别率略有下降.分析可知,相比较基于经典神经网络的方法,本文评估方法在不完全证据下的推理有着更强的适用性和优越性.
针对疼痛表情识别中的复杂、不确定性问题,本文提出了一种基于贝叶斯网络建模的疼痛评估方法.该方法首先通过AAM模型获取人脸有关疼痛的AU特征向量,并对不平衡的特征样本进行平衡化处理,然后结合专家经验和数据驱动的方法建立疼痛评估BN模型,最后通过BN推理算法实现疼痛强度评估.
实验结果表明:在完全证据的推理下,与经典的SVM,MIL和RNN方法进行对比,表明基于贝叶斯网络建模的疼痛评估方法模型简单、可解释性强且对多分类的疼痛强度评估有着更高的识别精度;在不完全证据的推理下,即当输入特征向量存在局部缺失时,本文方法依然具有较好的疼痛识别结果,为不确定性环境下的疼痛评估提供了一条有效的途径.