【作 者】王博陆,邬小玫
复旦大学,上海市,200433
周围性面神经麻痹是临床常见病和多发病,不受年龄和性别的限制。常由病毒感染、外伤、颅内外肿瘤、咽部或外耳道炎症引起,亦可能由于脑桥或延髓的炎症、缺血或出血导致面神经损伤,但以面神经炎最多见。年发病率约为万分之一点五到万分之四[1]。
突发性面瘫不仅对患者生理造成极大创伤,还对患者心理状态造成冲击,诸多患者合并情绪障碍性疾病。在疾病诊疗过程中,因治疗疗程的长期性与治疗措施的重复性,导致患者情绪激动,诸多患者因心理状况不佳而中断治疗,出现预后不理想现象。而对面瘫进行精准的识别和评估是进行有效治疗的基础。
目前临床面瘫识别与评估主要为医生的主观诊断。医生按照面瘫评估量表的评分项,要求病人做出不同面部动作,对面容和面肌运动状态进行观测,根据面神经麻痹程度,将面神经功能区分为不同的等级。临床上评价面神经功能的量表有几十个,其中较为常用的有House-Brackmann量表[2],该量表是国际上使用最多的量表,现已成为临床最常用、信度较好;此外还有Yanagihara评价标准、The Nottingham System(NS) 评级量表、Sunnybrook量表、面神经麻痹程度分级评分 (DFNP) 量表、面部残疾指数(FDI) 量表等[3]。
李阳等[4]对House-Brackmann (1985)分级、House-Brackmann2010分级和Sunnybrook(1996)分级方法对外周性面神经麻痹的评估进行了比较。认为House-Brackmann(2010)分级和Sunnybrook(1996)分级能够更准确地评价周围面神经的功能,更易于低年资医生掌握。
面瘫诊断多无困难,而医生使用量表进行面瘫评估则一定程度依赖其自身经验,没有足够诊疗经验的医生就有可能对患者的病情造成误判。面瘫的预后诊断需要对患者的病情重新评分,医生基于之前数次的诊断评估做出诊断和治疗调整。而面瘫复诊频率往往是以周为单位的。医生每天需要接诊大量病人,即便有病历的记录,对于复诊的病人仍旧较难回想之前数次的诊疗细节,同时也有病人向多名医生问诊的可能性。而基于计算机的自动面瘫识别和评估不仅可以为医生和患者建立完善的数据库,辅助医生进行诊疗,为可能的联合诊疗提供数据准备;还可以提供量化的治疗效果数据,让患者对治疗效果有直观的感受,使其建立后期治疗的心理准备。
基于计算机算法的面瘫自动化识别与分级评估是将信息技术与医疗诊断结合,以辅助医生对面瘫患者进行精准诊疗。基于计算机的评估方法只需要获取患者的一段视频,在视频中,患者按照要求做出若干表情,如无表情、抬高眉毛、闭眼、鼓起脸颊和露出牙齿等。评估算法的初始数据就是这些特定表情图片和基础的无表情图片。目前,已经有较多的人工智能面瘫识别与评估的方法,大体上分为人工提取面部图像特征(见图1(a))以及通过神经网络提取特征(见图1(b))两大类[5]。评估系统的架构,如图1所示。
图1 计算机面瘫识别与评估方法流程Fig.1 Process of computer-based facial paralysis identification and evaluation
本研究拟综述人工智能方法在面瘫识别与评估中的应用情况。
人工选取患者面部图像特征的面瘫评估方法的基本思路,是建立患者面部图像与面瘫量表评分间的映射关系。考虑到临床上的诊断方法是比较面部的对称性和运动能力,面部标志点或感兴趣区域如眉毛、眼睛、鼻子、嘴与临床诊断有比较密切的关系,因此建立映射关系的关键问题是面部标志点或感兴趣区域的确定,以及在此基础上的特征提取。
首先对面部图像进行预处理,截取原图像面部区域,再以瞳距为水平方向,瞳距中垂线为垂直方向,对面部图像进行旋转,最终得到标准化的面部图像。
面部标志点的定位方法:用于面瘫诊断和评估的面部标志点主要是五官的轮廓,可通过边缘检测算法或者机器学习算法得到。感兴趣区域的定位方法:预处理的面部图像与一个规范化的面部区域分布图(见图2)进行比对,则可以得到面部感兴趣区域。在确定相应标志点或感兴趣区域后,对其周长、面积、高度、角度、高斯曲率、坐标、位移等参数进行计算得到特征[6]。
图2 感兴趣区域图示[6]Fig.2 Region of interest
得到特征后,筛选出与量表评分线性相关的特征,作为分类器的特征输入,对分类器进行训练和测试,最终得到预测的分类结果。下面介绍几个典型的人工选取特征对患者面部图像进行评估的研究。
WANG等[5]提出了一种针对单侧周围性面瘫(unilateral peripheral facial paralysis,UPFP)的非介入性计算机评估框架。该方法对获取的初始图片数据进行面部区域的截取(见图3),并应用人脸对齐算法(supervised descent method,SDM)来获取人脸的标志点,再进行特征筛选,最终进行分类器的训练。
图3 面部区域提取[6]Fig.3 Extraction of facial region
SDM的过程就是寻找一个梯度方向步长Δx,最小化(1)函数的过程,其中,d为m×1维,表示有m个像素,d(x)为p×1维,表示p个标志点,h为非线性的特征提取函数如sift,提取的sift特征h(d(x))为128×1维。
φ*=h(d(x*))是人工标定的p个标记点的SIFT特征向量。
泰勒级数展开后,对Δx求导,令导数等于零,可得:
使用训练样本可以学习(R0+b0),利用迭代来完成特征点x的收敛:
一般经过4到5次迭代可以较好地确定特征点位置。
SDM算法可以得到49个面部标志点(见图4),可以被分为8类标志(见图5)。
图4 标志点确定[6]Fig.4 Determination of mark points
图5 面部标志点分组图示[6]Fig.5 Groups of facial marking points
面瘫诊断评估中使用的特征通常是左右脸相应的面部标志点的形状对称性、位置对称性以及位移对称性。可通过计算相应标志点或感兴趣区域的周长、面积、高度、角度、高斯曲率、坐标、位移得到。通过评估特征与HB量表的线性回归的相关度,筛选出决定系数超过一定阈值的特征值作为支持向量机(SVM)算法对患者评估得分进行分类,减小计算维度的同时,得到更准确的结果。
最终实验的结论为完全准确率为49.9%,宽松准确率(评分误差在1级及以内)为87.97%,样本增大后宽松准确率为90.01%。
本方法选取静态特征作为分类器的基础,有良好的鲁棒性,同时计算量相对于选取动态特征的研究更小。正因没有选取时间相关的特征,损失了部分的面部不对称的信息,影响了算法的准确性,对于相邻分类的分辨会比较模糊,这是此种方法的局限。此外其所设计的自动评估系统操作比较复杂,需要一定的学习周期,进一步对于操作系统的设计同样是应用中重要的一环,需要后续研究跟进。
NGO等[7]提出了一种基于Gabor特征和Local Binary Pattern(LBP)特征的面瘫评估方法。该方法第一步根据瞳孔距的中垂线对人脸进行调整,第二步利用Adaboosting获取面部感兴趣的区域,包括左右眉、左右眼、左右鼻以及左右嘴。将每个感兴趣区域转换为LBP图像,再经过Gabor滤波后得到特征值,使用SVM算法对数据进行训练和评估。
这种方法的核心理念还是通过面部图像的不对称性来对面瘫程度进行评估,确实在当时提高了面瘫判别的准确率,但是因为Gabor滤波器响应时间较长,且参数选择比较简单,最终的完全准确率达到60.7%,宽松准确率为91.3%。
RIDHA等[8]在2020年设计了一种辅助面瘫复健的设备,其中在手机上运行的软件采用谷歌机器学习工具(Google Machine Learning Kit)来取得面部关键点(见图6)。再用标准化后的两侧瞳孔到嘴角距离的差值(见图7),对回归神经网络进行训练,得到判别阈值,最终能对使用者是否患病,病情严重程度做出定量评估。论文中并没有对于网络判断准确率的说明。
图6 面部关键点确定[8]Fig.6 Determination of facial mark points
图7 特征筛选结果[8]Fig.7 Feature selection result
此方法的优势是计算量很小,只用一个特征进行判断,获取结果快速,适合在当前的移动设备上运行。劣势是准确率方面有很大的提升空间。在样本很小的情况下采用神经网络算法,得到的模型是否准确与过拟合需进一步评估。
上述三种人工提取特征方法的共性都是根据临床诊断的量表确定标志点/感兴趣区域(包括眉毛、眼睛、鼻和嘴),在此基础上提取对称性相关的静态特征。面部图像的获取对环境有一定的要求,包括光照、背景等因素。对于面瘫的邻级评估准确率不高。
其中第一种所提方法的专业性比较强,具有良好的鲁棒性,可用于医生的辅助诊断,但是准确性上还有提升空间,有待进一步的研究。第二种所提方法是初期的研究,专业性强,但是反应时间较慢,准确性较低。第三种所提方法的优势是便捷性,适合于需要快速检测和移动检测的情况,虽然理念十分合理,但其特征筛选是否合理以及准确性阈值确定结果仍有待讨论。
为了解决目前人工特征提取方法面瘫邻近评级准确率不高的问题,很多面瘫研究将目光转向深度神经网络。
HSU等[8-9]提出了一种深混合网络实现面瘫自动量化分析的方法。其思路是通过神经网络提取面部轮廓、获得特征点,再通过网络分辨图像上的面瘫部位。
此方法构建了由3个网络组成的深混合网络(Deep Hybrid Network,DHN)。具体工作流程是,数据图像先经过第一个网络Netf,得到面部图像。面部图像输入第二个网络Netm获取相邻标记点相连形成的轮廓线段的网络(Line Segment Network)和进一步获得面部图像的标记点的网络 Double Dropout Network(DDN)。最终将Netf和Netm的输出作为第三级网络的输入,从而检测并标注面瘫区域(见图8)。此方法只对面瘫进行检测与标注。
图8 深混合网络面瘫自动量化分析[9]Fig.8 Deep hybrid network for automatic quantitative analysis of facial paralysis
此方法提出了一种新的三段式网络结构,无需根据标志点或感兴趣区域提取特征,就可以通过网络学习得到面瘫部位以及面瘫的程度。但根据经验,没有专业的医生标注的小样本数,得到的分类结果的权威性不强。对于其结论能否真正用于临床应用仍旧有待进一步研究。
GUO等[5]提出了一种深度卷积神经网络对单侧周围性面瘫进行客观评估的方法。该方法应用GoogLeNet来获取患者面部图像和HB评分的非线性映射关系。该方法进行了样本数微调和数据扩张,并对卷积网络参数进行了优化,面瘫评估的准确率最高达到了91.25%,这也给样本缺乏的面瘫自动评估研究提供了新的思路和方法。
3D卷积神经网络由JI等[10]最早提出,如今其在视频、动作识别、面部表情[11-13]分辨等方面展现出了巨大的优势。
3D卷积相对于2D卷积能更好地捕捉视频中的时间和空间的特征,因为是对连续帧进行操作,将多个连续帧组成立方体,然后用卷积核计算(见图9)。
图9 卷积算法原理Fig.9 Principal of convolution algorithm
3D卷积神经网络通过对视频连续帧进行3D卷积核运算,提取的是时空域的特征,更合适解决动作识别的问题。由于面瘫评估的重要依据就是面部肌肉的运动能力和对称性,所以面瘫评估是适合这个方法的。
目前已经有3D卷积神经网络应用于面瘫评估的研究,STOREY等[14]首次将3D卷积神经网络应用于面瘫检测和评估中,取得了不错的评估准确率,约为88%。此方法通过迁移学习和引入正常数据的方法,在一定程度上弱化了面瘫样本量不足的问题。这表明时空域特征对于面瘫评估来说比较合适,目前的准确率还有提高的潜力,对于如何优化运算速度,节约时间成本,仍有待于进一步的研究。
当前阶段对于面瘫自动评估的研究仍然受制于样本量的限制,因为要保护患者隐私等原因,尚未构建出大量而权威的面瘫视频数据集。
对于传统人工选择特征的评估方法,样本数量较少的情况影响较小,特征点的选择影响着分类器的计算速度与准确度,而对于面瘫相邻评级没有很好的分类效果。
利用神经网络的方法对面瘫相邻评级的问题有较好的准确率,但仍受制于小样本量,需要通过样本增强等方法来提升网络训练效果。
以上两种方法都很少考虑到时间域特征对于整体评估的影响,由于面瘫数据是视频形式的,当下的研究仍采用随机截取特定帧作为分类的数据进行评估研究,如何通过机器学习能自动截取到需要的关键帧;或者更进一步,将一段连续帧作为学习网络的输入,视频时间域上是否有更多的特征有助于更精确的面瘫检测与评估等,有待于进一步深入研究。