基于图像修复的舌象采集标准化处理及验证研究*
2023-01-21吴文珍谢建辉李倩杨小波王瑞轩李青海黄旭东潘宇翔王羽飞黄嗣宗
吴文珍,谢建辉,李倩,杨小波△,王瑞轩,李青海,黄旭东,潘宇翔,王羽飞,黄嗣宗
(1.省部共建中医湿证国家重点实验室(广州中医药大学第二附属医院),广东广州 510120;2.广东省中医院,广东广州 510120;3.中山大学,广东广州 510275;4.广东精点数据科技股份有限公司,广东广州 510000)
中医在我国发展历史悠久,舌象诊断是中医望诊中的重要组成部分,其主要依赖于舌象的外观表现,通过观察舌质和舌苔的变化情况来感知患者疾病。现代硬件技术已能达到良好舌象获取标准,目前舌象标准化采集的研究主要聚焦于采集光源与采集设备。在采集光源的研究上,石强[1]通过比较标准光源D50和自然光源下舌像诊断结果的相似度,认为D50光源稳定性强,在舌象采集中有较好效果;在采集设备的研究上,王忆勤团队研制的ZBOX-1型舌脉象数字化分析仪构建了中医舌脉象规范采集和信息处理方法[2],蔡轶珩团队设计的以计算机为核心的标准舌像分析仪实现了舌像采集、处理、分析与定量化的标准流程[3];在专利研究方面,目前已研究出LED光源手持式中医舌诊仪、微云智能舌诊仪、电子舌诊仪、电子舌面镜等[4],满足了各应用场景的舌像采集需要。但是,现存的舌像采集方式大多依赖于实验场景标准光源,以及成本高、普及性低的舌像采集仪,难以在日常生活发挥作用,因此在互联网、手机移动终端快速发展的今日,对于中医舌诊提出了便携化、客观化和定量化的要求,基于智能手机平台的舌象图片采集,需要在兼顾操作便利的同时,提高智能舌诊识别的准确率。本文研究的舌象采集标化处理方案旨在开发基于微信小程序平台的舌象采集分析交互前端页面,在合理的范围内对采集图像进行标化处理,满足舌诊准确化、客观化的要求,更好地服务于患者与医生。
1 舌象采集流程的标准化
本研究对于舌象采集流程中的标准化问题包括颜色校正、亮度检测、模糊检测等进行了研究,并在此基础上提出以超分辨率为核心的图像增强修复方案,并设计了依赖于智能手机前端的舌象采集流程(见图1):前端采集的原图片,上传服务器后第一流程是使用支持向量回归的颜色校正算法进行颜色校正。经过颜色校正后的图片进入舌象裁剪流程,即调用YOLOv5模型使用标注舌象进行监督学习后的输出,对图片进行裁剪处理只保留舌象目标部分。成功进行舌象目标裁剪后对目标进行亮度检测分析和调整,亮度检测除非特殊情况(该情况会先在前一流程导致目标检测失败),都可以调整至适合进行舌诊的亮度,考虑计算成本和实际应用情况,这一流程使用固定算法和阈值的亮度检测算法,将亮度不合格的图片进行调整。进行图像亮度识别以及调整后,进入对图片模糊程度的判断以及处理,本流程选择拉普拉斯算子方法作为判断图片模糊的算法,虽然该算法有设备自动对焦错误时导致错判模糊区域的风险,但前面的舌象裁剪流程可以有效减少该类误判,使其成功识别模糊程度并最终决定是否需要对图像进行超分辨率增强,对于可增强图像进行超分辨率修复后保存至服务器并返回成功信息,而过于模糊的图像由于信息损失严重将返回失败信息。
图1 舌象手机采集处理流程图
2 采集舌象颜色校正
2.1 颜色校正方法
2.1.1 白平衡 白平衡即将非真实颜色变换去除的过程,使得被平衡后图中物件被人观察时和在照片中呈现一样的颜色。某些相机的白平衡功能会将光源的“色温”考虑进去(色温意指白光的冷暖程度)。人类的眼睛在不同的光源下具有自动平衡的能力,合理的白平衡对在本次舌象采集中,能对不同环境中可能存在的各种光照环境下拍摄出的照片进行合理的调整,提升照片的质量。
2.1.2 灰度世界+完美反射白平衡 灰度世界是施行白平衡处理时的一种假设:对于颜色丰富的图像,RGB三通道统计平均值都趋向于同一个灰阶的颜色[5]。根据此假设,在处理时保持G分量不变,通过调整R、B分量的均值实现颜色校正。完美反射是施行白平衡处理时的另一种假设:图像中存在一个纯白色的物体或区域(完美反射体),在任何光源色温下R、G、B皆为极大值,处理时以完美反射体为基准对其他颜色进行校正。灰度世界、完美反射两种白平衡处理算法适用于大部分图像的颜色校正,但在特定情况下不能正确再现物体的真实颜色。因此本文中采用结合两者优点的算法,在灰度世界和完美反射校正原有的线性映射基础上,校正R通道时使用平方的形式[6]:
2.1.3 SVR支持向量机回归支持向量机(Support Vector Machine,SVM)是一类监督学习方式的二元分类模型,是定义在特征空间上依据间隔最大化进行分割的线性分类器[7]。支持向量回归是支持向量机标准模型的复杂形式,将硬间隔距离最小化结合拉格朗日函数的偏导特性可得该支持向量回归的对偶问题,以及偏移量b的解:
2.1.4 多项式回归 多项式回归具有建模速度快、占用计算资源少、算法实现易等优点,常用于打印机色彩校正[8]。其算法原理如下:在标准空间下第i个色块的RGB值为R0i、G0i、B0i,则转换多项式表示为:
本文选择多项式项数为9,最高次为2.多项式向量如下:
RGB值组合的多项式向量是多项式回归校正算法的关键。当多项式次数过少时会导致欠拟合,达不到理想的校正效果;而多项式次数过多时容易导致过拟合,使算法可拓展性差[9]。
2.2 舌象实验校正方案和结果
用智能手机拍摄舌象图片,分别用上述4种算法进行颜色校正,对比色差公式的客观颜色评价计算值,结合人眼观察得到的主观颜色评价(见表1),选择颜色校正效果最好的算法。
表1 各种颜色校正算法主观颜色评价对照
客观标准即设定在CIE-Lab颜色空间中使用如下色差公式计算两幅图像的差异,客观评价结果由avg(a)、avg(b)和avg(E)三个计算值来衡量,认为当avg(a)<=14、avg(b)<=8且avg(E)<=16时颜色基本一致,统计得到上述算法通过色差公式计算的客观评价结果(见表2),支持向量回归算法各项色差计算值均为最小。结合4种颜色校正算法的客观评价计算结果和人眼主观判断结果进行分析和比较,选择结果最优秀的支持向量回归算法进行舌象颜色校正。
表2 各种颜色校正算法客观颜色评价结果
3 亮度和模糊检测
3.1 亮度检测
3.1.1 颜色空间转换检测 颜色空间转换检测的主要是考虑图片在HSL(色相、饱和度、亮度)颜色空间下L分量(亮度)的大小[10],L公式为:
将获取图像的RGB值代入上述公式得到亮度分量L,与预设阈值进行对比即可判断图片的明暗程度是否符合要求。相对模糊检测,亮度问题可以通过图片校正来提高亮度,相对来说可以采用比较柔和的策略提高用户体验。
3.1.2 机器学习方法 上述公式容易受到图像中某一像素点的干扰,无论最后判断亮度采用平均或是极值处理,会发生图像中某部分像素对图片整体产生影响而判断有误的情况。相对地采用监督学习的机器学习方法,在有足够数据支撑的情况下,可以正确的学习到标注过为暗和亮图片中的特征并对其进行分类判断。实验过程中,将颜色空间转换算法对同一张图片置暗处理后(见图8)的亮度检测计算结果分别为56%与34%,与人眼主观判断基本保持一致(见表3)。对比人工智能方法所用的计算成本和亮度检测算法的结果代价,最终选择使用颜色空间转换法,并设置阈值为45%。
表3 对舌象图片进行暗化处理的结果
3.2 模糊检测
3.2.1 拉普拉斯算子检测及快速Fourier检测(FFT)本文利用了cv2实现的拉普拉斯算子,计算图片通过拉普拉斯算子后的方差,通过方差给定阈值之间的关系判断图片是否模糊。FFT和拉普拉斯算子检测作为类似的检测方法,本质在于提取图片的高频信息,因为其作用在整个图片上,会受到目标区域和非目标区域模糊程度不同而影响检测效果,由于非目标区域占图片较大比例而目标区域占图片比例较小,非目标区域的清晰程度会成为决定最后检测值的主要原因。参考图9,由于对焦问题,肉眼可见的在衣服处的纹理比人像上清晰,简单截取衣服纹理区域(见图10)和目标人像区域(见图11)对算法的结果进行校验,校验结果如下(见表4):
表4 两种模糊检测算法的舌象校验结果
可见上述中截取了图片部分,由于目标图片使用前置摄像头在默认条件下采集,疑似出现了对焦问题,对焦位置在衣服纹理而非目标人像上。对整体图像、疑似对焦区域、舌象目标区域分别使用拉普拉斯算子与FFT检测,在合理的阈值内(太高可能意味着噪音太多),值越高说明图片越清晰,结果值大小与人眼主观判断基本一致(较为清晰、清晰、模糊),同时也暴露该算法的问题:如果目标区域与非目标区域(背景等)存在因对焦出现的模糊状况,在进行评估计算时,依然会被统计进值中。因此在整个舌象采集流程中,需要在进行模糊判断前对目标区域(舌象)进行裁剪的必要。
3.2.2 机器学习方法 相对上述利用过滤器对图片进行运算并判定阈值,本实验中判定/标定是否模糊应以客户为准。在实际舌象诊断中,由于诊室的环境无法标准化,实际进行诊断时也并非对着标准化的舌象进行诊断。考虑到诊断还会受到诸多因素影响:时间(早中晚对舌苔色泽等特征会产生影响)、事件(就诊人是否食用带颜色食物饮料等)等,图片失真程度只要在一定的合理范围内,均可以视为有效采集的舌象。基于上述要求,设置了以监督学习为基础的机器学习方法进行判断是否模糊的方案。构建深度学习网络,标定样本的label,进行训练并对模型预测结果进行评估。
4 图像增强
图像增强技术主要存在两个分支:人工智能和图像校正。图像增强的主要应用场景为图像信息损失的情况。但是图像增强后,已经损失的信息无法还原,即图像增强并非模糊化图像(诸如打马赛克等技术)的逆运算,其最多能减少增强后图像与源图像的区别。通过卷积神经网络将分辨率低的图片进行无损放大,提升细节的技术。增强图片清晰度的技术一般称为超分辨率技术,常见的有基于临近像素点计算的方法、基于贴片的方法、基于图像成像原理的方法以及基于深度神经网络的方法等,目前效果最好的是基于深度神经网络的方法。本文中实现了Google RAISR超分辨率技术[11],对在前文中提到的模糊检测中无法通过的原始图片(图12)进行图像增强(见表5),在图像符合模糊检测的要求后(图13),再对数据进行存储,模糊检测计算值也符合人眼的主观判断结果。
表5 对舌象图片进行超分辨率图像增强
5 总结
随着近年来科学技术的不断发展,中医舌诊的标准化、客观化、定量化是中医智能诊断的发展方向,本研究探讨一种舌象采集标准化处理流程,发现①颜色校正方面:中医舌诊主要是诊察舌质和舌苔的情况对病情做出初步判断,舌苔的颜色表现是诊察的重要依据,舌象图片的颜色是直接影响诊断结果的重要指标。舌象采集会受采集设备、环境光源、采集角度等因素影响而导致颜色失真,影响医生对于患者病情的主观判断,以及后续舌象分析系统的预测结果。因此进行颜色校正是实现舌象采集标准化处理的关键步骤之一。前端采集的原图片上传至服务器后,服务器后台首先对原始图片进行色彩校正,这一部分就颜色校正算法进行了实验,共实验了:白平衡、结合灰度世界和完美反射假设的白平衡、多项式回归、支持向量回归的颜色校正算法。实验中,基于手机拍摄的图片在经过候选颜色校正算法后的结果,使用能够客观判断色差的算法对不同颜色校正算法的结果进行比对,客观评价结果显示支持向量回归算法各项色差计算值均为最小,结合人眼对于图片颜色的主观判断,最终选择支持向量回归算法作为颜色校正的处理方法。在亮度检测方面:对舌象图片进行亮度的检测与调整,相对来说是采用比较柔和的策略提高了用户体验。颜色校正并成功进行舌象目标裁剪后将对目标进行亮度检测分析和调整,在实验中提出两种方法:转换颜色空间后检测亮度分量大小、训练人工智能二分类模型后进行判断分类。前者为固定算法+阈值选择,流程较快但会受到图片成分的影响,因此需要先进行舌象裁剪。后者虽然仍需更多数据支持,但能够有效的学习到图片中的特征并进行分类,辅以训练图像的变化则可以更好的提高模型的识别能力。实验过程中,将颜色空间转换算法对同一张图片置暗处理后,颜色空间转换法的检测结果与人眼主观判断结果基本一致。对比计算成本和结果误差后选择使用颜色空间转换法作为亮度检测算法。②模糊检测方面:舌形信息包含舌的轮廓、形状、表面纹理,舌苔信息包含舌苔的密度、纹理、数量以及位置,对于这些舌象信息的观察需要对图像有一定的清晰度要求,因此需要使用模糊检测算法判断图像是否需要进行图像修复。通过对比拉普拉斯算子检测与FFT检测的测试结果,对整体图像、疑似对焦的截取部分、舌象目标区域分别使用拉普拉斯算子方法所得值,符合人眼对其的主观判断:较为清晰、清晰、模糊,可见两种方法都存在当图片在智能手机中拍摄时存在背景模糊或因为设备自动对焦错误时导致错判的问题,而流程中对目标舌象的裁剪可以有效减少该类误判。考虑到人工智能方法对服务器产生的负担,以及两种图片算法的相似程度以及运算速度,选择拉普拉斯算子检测作为模糊检测算法。③图像增强方面:模糊本身是一种图片信息的损失,修复处理可以还原部分信息,当图片过于模糊无法还原时,后台将直接返回失败至客户端并要求重新采样。而当模糊不严重时,可以尝试调用超分辨率算法对图像进行修复。做出这个考虑一是因为用户采集时即便按照要求操作,也无法达到实验室的采集效果,需要给予一定容错率,否则将降低用户的操作体验;二是基于对中医医师的调查得知,在真实舌象诊断时,诊断环境也存在一定的宽容范围。文中实现并试验了Google RAISR超分辨率技术,并使用模糊检测算子进行检测,可见检测值得到了大幅提升,与人眼判断下感到明显分辨率上升一致。
通过对相关研究资料整理发现,目前研究主要集中于采集光源选择、图像大数据分析、舌象智能诊断等方面,在智能手机前端舌象采集处理方面的研究还存在着一定的空白。韦玉科[12]研究了一种基于图像信息的中医舌诊图像智能采集方法,通过分析图像信息,控制系统发出步进电机的驱动信号,控制或调整相机去适应病人以获得效果佳的图像,对比本文的采集场景,该方法难以应用于智能手机等便携平台。朱明峰[13]研究的融合颜色和空间信息的舌象提取方法:在舌象图片中寻找与舌象的色调和亮度特征接近的起始像素作为目标区域,根据色调相似性排序的结果选择差异最小的像素,重复上述过程直到提取完整舌象,对比本文的标化流程,该方法缺少图像标准化处理过程,因此容易受原始图像颜色信息、模糊度影响导致提取舌象难以使用。本研究基于图像修复的舌象采集标化处理过程,提出了基于采集便捷性和诊断准确性的最优处理流程,使舌象图片满足舌诊准确化、客观化要求,希望为后续舌诊智能化分析的发展提供参考。