林 怡, 王 斌, 许家佗, 屠立平
(1. 南京财经大学 信息工程学院, 江苏 南京, 210046; 2. 上海中医药大学 基础医学院, 上海, 201203)
中医(TCM)作为世界传统医学的代表之一,具有完整的理论体系、丰富的临床实践经验,在世界范围内被广泛应用[1]。中医认识疾病和治疗疾病的基本原则是辨证论治,其中望诊在辨证论治中占有重要地位。望诊是通过观察患者整体或者局部的神色、形态变化,并结合自身的临床知识分析患者的身体健康情况。面诊是中医望诊的重要组成部分,面色是人体脏腑气血的外在表现,可反映人体疾病的变化[2]。中医面诊可以了解人体健康状况,具有无损伤、无疼痛等优点[3]。
人体面部皮肤暴露较多,中医望诊时观察方便,一般常作为辨别人体皮肤颜色的主要依据。中医将人的面色分为常色与病色,其中病色又划分为青、赤、黄、白、黑5种颜色,俗称“五色诊”,而青色面色在实际情况中案例较为稀少,临床采样比较困难,故暂不考虑,故本研究采用的面色分类包括赤、黄、白、黑4种颜色。传统望诊多依靠医生的治疗经验,而患者面色易受多种因素影响。应用机器视觉对中医面色进行研究,可以弥补传统诊断方法的不足。本研究以中医证候理论为基础,采用科学定量的方法,在半封闭环境下进行图像拍摄,建立人脸图像数据库,减少外部环境对诊断结果准确性的影响。本研究观察在实现人脸的自动检测、面部图像的感兴趣区域(ROI)自动分割和提取面部相关特征融合后进行面色自动分类的效果,现报告如下。
本研究主要框架及算法流程见图1。其流程主要分为5个部分,即面部ROI的皮肤块分割、颜色特征的提取、纹理统计特征的提取、口唇颜色特征的提取和最终面色的分类识别。首先,采集的图像先经过γ校正等预处理,运用调试好的人脸检测模块,在中医面诊理论的指导下对人脸图像进行皮肤块分割; 其次,在RGB、HSV、Lab、YCbCr颜色空间中提取不同的颜色信息作为颜色特征,融合灰度共生矩阵(GLCM)纹理统计特征和口唇部位RGB颜色特征; 最后,使用最邻近节点算法(KNN)、支持向量机(SVM)、反向传播神经网络(BP神经网络)等分类方法对提取到的面色特征进行评估。
图1 基于面部图像特征融合的面色分类流程图
根据传统中医理论,人体五脏的健康状况可由面色表现出来。由于直接研究整体面部图像的特征较为困难,本研究将人体面部分割为典型区域的皮肤块,提取面部ROI, 排除了部分外界因素的干扰,提高了研究的可行性。
对图像进行预处理后,本研究运用Dlib工具箱[4]中人脸关键点检测器和人脸识别模型,得到一幅包含68个关键点位置的标定图像。由于本研究选用数据均是在固定环境中拍摄取得,不存在人脸扭转、歪斜等情况,因此运用该算法识别效果较好。本研究根据中医理论将人脸分割成9个代表性ROI,分别为庭、阙、明堂、颏、颧(2个)、颊(2个)、唇。庭为额头发际线至双眉连线1/2处与前正中线的交点附近; 阙为双眉内侧连线与前正中线交点附近; 明堂为前正中线过鼻部附近; 颏为前正中线过下颌附近; 颧为目外眦垂线过颧骨凸起处附近; 颊为目内外眦连线中点垂线与明堂平行处交点附近。根据人脸的几何位置关系和68个关键点的位置信息,可确定9个ROI的位置信息,如明堂部位的ROI可根据30、31、34号点的坐标信息确定,颧部ROI可根据眼位关键点37、46和山根部位关键点29的坐标信息确定。最后根据这些位置信息自动选取肤色框并进行分割。见图2。
面部颜色是中医望诊中最重要的信息特征。面部的颜色特征多样,而不同颜色空间所反映的信息也不相同,本研究在多个颜色空间分别提取信息并进行融合,包括RGB、HSV、Lab、YCbCr等。考虑到胡须、黑痣、头发等的影响,而人体肤色在YCbCr空间具有聚类特性,且肤色不依赖于面部的细节特征,对于旋转、表情等变化情况都能适用,具有相对的稳定性,并且能与大多数背景物体的颜色相区别,首先将皮肤块图像从RGB颜色空间转换到YCbCr空间,公式(1)为
A: 人脸68个关键点定位; B: 皮肤块采集部位; C: ROI分割图2 基于中医理论和人脸关键位置信息的面部ROI划分
本研究应用基于YCbCr空间的椭圆肤色聚类模型对肤色进行检测[5]。当采用非线形分段肤色分割得到肤色区域时,在YCbCr 空间中近似于椭圆,公式(2)、(3)为
其中x、y值可根据公式(3)计算得出,Cb、Cr为图像的颜色值,x、y分别代表图像均值的横、纵坐标,θ=2.53,cx=109.38,cy=152.02,a=25.39,b=14.03,ecx=1.60,ecy=2.41, 计算出的x、y值代入到椭圆方程(2)的左侧,左侧的计算值若大于1, 即不在椭圆区域内,则不是肤色,否则为肤色。使用该椭圆肤色模型,可以把肤色和眼睛、眉毛等背景分离开,经过判断后再计算皮肤块的平均RGB值,再根据相关理论,可将RGB颜色空间转换到HSV颜色空间和Lab颜色空间。
除了颜色,人脸图像还包含很多对人脸分类有用的信息。虽然面部颜色特征稳定性较强,但是其在皮肤上区分性较弱,所以需要融合其他特征让分类器去学习,能有效提高分类准确度。纹理是对图像灰度空间分布模式的提取和分析,描述图像像素与像素之间的分布规律,它的存在不受目标颜色或者亮度变化的影响,它是物体表面共享的一种特性。
GLCM是一种经典的用于纹理特征提取的二阶统计方法,它是表示以特定的距离处所存在的一对灰度级的以特定角度θ存在的相对频率。一幅大小为m×n的图像I, 距离d的取值范围为d∈[1,m×n], 而θ取这4个值的任意1个(0°,45°,90°,135°), 从不同的角度和距离对产生的GLCM得出了相当不同的特征值。对于选定的一对距离和角度,计算GLCM: 计算一定距离和角度下的每个参考像素对以及其相邻像素对的相对频率,寻找其GLCM矩阵。本研究提取了皮肤块4个方向的统计特征,包括能量(Asm)、对比度(Con)、熵(Ent)、逆差矩(Idm),公式(4)为
公式(4)中P(i,j)是指灰度级之间联合条件概率密度,即在给定空间距离d和方向θ时,灰度以i为起始点(行),出现灰度级j(列)的概率。这些统计特征从不同的角度描述了图像的局部特征,可反映不同皮肤的纹理特性。
传统中医望诊中,口唇颜色与人的气血、中焦、脾胃等关系密切,不仅能反映全身气血的盛衰,而且能反映全身各脏腑、组织、器官的功能状况。然而,目前国内在此领域的研究尚显不足。本研究提取唇部的颜色特征并融合于基础面部皮肤特征中,寻找唇部颜色特征与中医面色分类的科学联系。
经大量研究发现,唇色特征在YIQ颜色空间中具有较好的聚类特性。在YIQ颜色空间中,Y表示亮度信号,I和Q表示色度信号,Q分量代表的颜色变化正好覆盖了嘴唇的颜色范围。因此,通过对嘴唇样本的分析,得到嘴唇区域在YIQ颜色空间中的分布范围,以此来判断唇色。YIQ颜色空间与RGB颜色空间对应的公式(5)为
其中,R、G、B分别对应某个像素点RGB颜色空间下R、G、B分量的值。本研究根据大量实验及前人经验,得到唇色YIQ的分布结果,即Y分量范围为(80, 220),I分量范围为(12, 78),Q分量范围为(7, 25)。对于当前像素,先转换为YIQ颜色空间值,然后分别判断YIQ分量是否符合上述唇色分布结果。如果符合,则该像素为唇色像素,然后根据这些唇色像素计算RGB值均值作为样本口唇部位的颜色特征。经过唇色判定处理后的图像效果见图3。
图3 唇色识别及分割
本研究图片资料采集于上海中医药大学附属曙光医院体检中心,采集到的图像经过至少3名中医基础诊断专家的一致性判读,分为赤、黄、白、黑4类面色样本。本研究应用TFDA-1面诊仪采集标准条件下的面色图像,该仪器是国家重点研发计划、中医药现代化研究重点专项“中医智能舌诊系统研发”(2017YFC1703300)专用仪器。TFDA-1面诊仪主要由标准光源、半封闭式采集光路、成像传感器等组成,其中标准光源的色温约5 100 K, 显色指数97。本研究采用的赤、黄、白、黑实验样本图片数量分别为144、161、118、152幅,由专业单反相机拍摄,格式为jpg, 分辨率为5 568×3 712。
由于人脸包含许多重要信息,作者将上文提取的5类特征作为融合特征,使得算法在光照、分辨率不同的情况下具有更好的鲁棒性,能够得到更加贴近人脸的特征描述。本研究主要涉及到的机器学习算法有KNN、SVM和BP神经网络。由于样本数目有限,本研究采用十折交叉验证的方法来验证所提出方法的准确率,样本集被随机分为10份,每次取9份作为训练集,1份作为测试集,重复10次取平均准确率。
为了验证经过分割后的ROI皮肤块图片是否具有研究意义,本研究将未分割的整张面色图片和分割后的ROI图片分别作为样本进行分类训练和测试,以经过椭圆皮肤检测处理后的RGB、Lab、HSV、YCbCr颜色特征作为分类特征,将赤、黄、白、黑分别以0、1、2、3标签表示。样本1表示未分割的整体面色图像,样本2表示经过分割的ROI皮肤块,样本3表示综合ROI和整体面色图像,分类准确率见表1。结果表明,在中医理论指导下对皮肤ROI进行分割后再进行分类是准确而有效的,能更为准确地反映面部颜色的特征,且分割处理速度很快。当只考虑面部颜色特征时, SVM和BP神经网络的分类效果并无显著差异,总体分类效果在75%左右,性能优于KNN分类器。
表1 不同分类器在不同样本选择上的分类准确率 %
为了评估皮肤颜色、纹理、口唇颜色等不同特征的分类性能,分析对面色分类影响最大的特征,本研究分别以不同的单种特征作为分类依据进行实验。面色识别准确率见表2。结果显示,在面部诸多特征中,颜色仍然是判别面色分类的最重要特征,单以RGB值作为分类依据,准确率最高可以达到67.77%; 其他2种特征单独使用时准确率都较低,均未超过40.00%。
表2 不同分类器在不同单种特征上的分类准确率 %
为了探讨面部不同特征对于分类效果的影响,本研究采用了4种特征进行分类测试,即特征1为(R,G,B), 特征2为(R,G,B,H,S,V,L,a,b,Y,Cb,Cr), 特征3为(R,G,B,H,S,V,L,a,b,Y,Cb,Cr,Asm,Con,Ent,Idm), 特征4为(R,G,B,H,S,V,L,a,b,Y,Cb,Cr,Asm,Con,Ent,Idm,R′,G′,B′)。特征2是皮肤的颜色特征,包含了9个ROI皮肤块在RGB、HSV、Lab、YCbCr颜色空间值; 特征3中加入了皮肤的纹理统计特征; 特征4中的R′、G′、B′代表的是口唇部位的RGB颜色特征值。为评估4种融合特征的分类性能,选择同样的图片样本进行测试,由于样本数量有限,采用十折交叉验证的方法进行验证,面色分类准确率见表3。
表3 不同分类器在不同特征上的分类准确率 %
结果显示,在中医面色分类识别研究中,颜色特征仍然是最重要的特征之一,使用多个颜色特征作为融合特征进行分类的准确率可达79.81%; 以RGB单个颜色特征进行面色分类时,KNN、SVM、BP神经网络的分类准确率都较低; 加入纹理统计信息之后,分类结果为87.56%,高于融合颜色特征的分类效果; 而融合面部皮肤颜色特征、纹理特征、唇部颜色特征的分类准确率最高达91.03%,是分类效果最好的,证明这些面部特征具有分类互补特性; SVM和BP神经网络在不同的特征组合上分类效果表现都较为优秀,说明不同的分类器适用于不同的特征组合,且融合多特征进行研究可大幅提高分类准确率。
在中医诊断标准化的研究过程中,诊断指标的量化及概念的量化是中医客观化研究的主要内容[6-8]。实现人脸图像分割是面部特征识别与分类的基础,在对人脸图像进行分割后,还要对面部区域实现定位[9]。陈梦竹[10]根据中医面诊对人脸分割的特殊需求,在研究[11]提出的椭圆聚类的皮肤模型基础上,设计了用于面诊的人脸分割算法和快速的分割算法。HUAN EY等[12]构建了一个全新的卷积神经网络,运用该网络提取人脸图像的特征并融合所提取的颜色特征,对患者体质进行分类,证明了神经网络模型在中医面诊自动化诊断领域的可行性。杨云聪[13]采用类Haar与Adaboost分类器结合的方法提取人脸区域,通过直方图对图像进行归一化处理,并采用Gabor小波变换与积分投影结合的方法找到人眼的位置,并使用Fisher线性分类器分割口唇,再分割脸颊和口唇。侯国松[14]在条件生成对抗网络的基础上搭建多尺度特征融合网络,将多尺度特征融合网络作为生成器,使用不同分辨率的特征图对人脸图像进行分割。MIYAMOTO K等[15]开发了一种数字图像分析系统,该系统能对人脸面部色素沉着点进行量化分析,能自动检测脸颊和眼眶周围的色素沉着点,并正确测量其面积和平均皮肤色调。
上述研究的方向主要是面部的颜色特征,在RGB、Lab、HSV等颜色空间进行特征提取,较少考虑其他面部特征的影响。本研究的创新点有: ① 采用专业设备进行标准化图片数据采集,构建科学的、合理的人脸图像数据库,背景单一,光源稳定,干扰因素较少,标签结果更为准确可信。② 实现人脸部皮肤块的分割方法较为简单易行,实现速度快,分割效果好,较未分割图像分类效果更好,更易推广、应用。③ 本研究创新性地增加了纹理特征、唇部颜色特征等,并使用机器学习算法对提取到的面部特征进行融合和面色分类,集成度高,运行速度快,准确率有所提高,综合效率也有所提升。
本研究在中医理论指导下,运用人脸识别和关键点定位技术,对传统中医面诊所关注的皮肤区域进行合理分割,以便于更科学、更客观地提取人体面部更多的特征[16]; 使用通过专业仪器采集的人脸图像数据库进行实验,在中医诊断专家的指导下进行专业化的研究; 创新性地融合了唇色提取方法,丰富了面部提取特征,并且探讨了多特征不同的融合方法对分类效果的影响。本研究证实了面部多种特征在面色分类上具有互补特性,不同的分类器适用于不同的特征组合,融合使用多特征进行分类可大幅提高准确率。本研究结果表明,融合面部皮肤颜色特征、纹理特征、唇部颜色特征的最佳识别率可达91.03%, 对中医临床诊断有一定的参考价值。由于测试样本的有限性,本研究纳入对象多为亚洲人,肤色整体偏黄,导致黄色样本较其他样本数量较多,白色样本较少,可能会影响分类的效果。本研究尚停留在对面色进行分类的阶段,后续实验将扩大样本,进一步分析面部其他特征的提取效果及分类器选择。