中医诊断学论文

您当前的位置:学术堂 > 医学论文 > 中医学论文 > 中医诊断学论文 >

CNN算法在肿瘤患者舌象分类应用中的性能

来源:北京中医药 作者:董竞方,黄金昶,王建云
发布于:2021-01-07 共4537字

  摘    要:  目的 研究卷积神经网络算法在肿瘤患者舌象中齿痕舌和瘀斑舌识别应用中的性能。方法 收集442例肿瘤患者舌象图片,采用labelImg软件进行齿痕舌和瘀斑舌特征标注,将数据集以7∶3的比例随机划分为训练集和测试集,利用卷积神经网络算法中的ResNet50构建齿痕舌和瘀斑舌的自动识别模型。绘制ROC曲线,并使用精确度、灵敏度、特异度、F1值、正确率等指标来评价模型的识别能力。结果 CNN-ResNet50模型的精确度90.76%,灵敏度93.02%,特异度84.19%,F1值91.88%,正确率90.15%,ROC曲线下面积AUC 96.00%。说明模型能较准确地找到舌象中齿痕或瘀斑的具体位置,对舌色、舌质均有较好的分辨效果。结论 卷积神经网络中的ResNet50算法具有较强的特征学习和提取能力,具有较高的舌象识别性能,为后续人工智能在中医舌象的识别应用奠定了基础。

  关键词: 齿痕舌; 瘀斑舌; 舌象; 肿瘤; 卷积神经网络; 机器学习;

  中医是通过“望闻问切”四诊合参来获取患者的症状、体征信息,进行辨证论治,给出理法方药。其中舌诊是四诊中望诊的重要一环,在中医辨证论治中起着重要作用。舌与脏腑经络、气血津液存在密切的联系,通过观察舌质、舌苔可以判断正邪盛衰、病位深浅、病势进退以及预后情况。尤其对于肿瘤患者,有研究[1]认为舌象的特点对肿瘤的诊断有一定指导意义。众多研究[2,3]表明,肿瘤患者舌象的特点多集中在舌色暗、有瘀斑、有齿痕等,与肿瘤痰凝血瘀的病机有关。基于此,本研究选取肿瘤舌象中最常见的齿痕舌和瘀斑舌作为研究对象。

  传统的舌象识别主要靠医生的肉眼观察,受限于医生的经验水平、思维结构、诊断能力等因素,具有很强的主观性,缺乏客观、标准的辨识依据。随着科学技术的发展,利用人工智能(artificial intelligence,AI)来探索中医诊断标准化的研究越来越广泛[4]。其中机器学习(machine learning,ML)应用于舌象方面的研究也越来越多,胡继礼等[5]根据不同体质舌象表现不同的特点,基于Inception-v3 构建舌象体质分类模型。李晓宇等[6]基于支持向量机和粗糙集等算法,对舌体外观自动分析、区域分割识别及舌象特征自动分析等进行研究。基于机器学习的中医舌象识别研究取得了一定进展,但主要集中于整体舌象全局特征提取方向,对于局部特征及特定细节的研究报道相对较少。卷积神经网络(convolutional neural networks,CNN)系统的设计初衷就是用于图像的分类识别,在许多识别任务中已经接近甚至超越人类水平[7,8]。
 

CNN算法在肿瘤患者舌象分类应用中的性能
 

  本研究基于卷积神经网络的理论和方法,对肿瘤患者常见的齿痕舌和瘀斑舌2种舌象进行局部特征识别研究,探讨CNN算法在肿瘤患者舌象(齿痕舌和瘀斑舌)分类应用中的性能。

  1 、资料与方法

  1.1 、构建数据集

  数据采用2018年5月—2019年10月北京中医药大学第三附属医院门诊及病房采集的肿瘤患者舌象照片,均使用佳能EOS800D相机拍摄,照片格式为JPG,像素为3 984 px×2 656 px。所有舌象照片均在室内自然光下拍摄,曝光条件:选取程序自动曝光,光圈F4.0,Auto白平衡,曝光补偿±5EV,ISO 400。所有照片均不包含任何患者信息。为排除复杂背景对卷积神经网络识别算法的干扰,对筛选后的舌象图数据进行清理和预处理,剔除其中图像质量差、模糊不清或包含明显人体部位(如眼睛、鼻子)的图像,同时对图片中出现的头发、衣物等与舌象鉴别无关的干扰因素进行裁剪预处理,仅保留舌象区域。另外由于原始的舌象图片分辨率过大,会导致训练时耗费大量的内存资源,因此在裁剪图片时对图片进行了统一缩放处理,采用Python Imaging Library图像处理库将分辨率降低至600 px。

  参照《中医诊断学》[9]舌诊部分的描述,由2位中医诊断学教授独立对舌象照片进行判定,对一致的结果进行记录,对不一致的结果则选由第三位中医诊断学教授联合判定。最终筛选出齿痕舌和瘀斑舌舌象照片共442幅。共有齿痕舌294幅,瘀斑舌230幅,其中齿痕与瘀斑并存的图片82幅,构建齿痕舌与瘀斑舌的舌象数据集。

  1.2 、舌象特征标注

  对预处理后的图像进行特征标注工作,由中医诊断学教授和卷积神经网络算法专家合作完成。标注软件使用LabelImgv 1.8,齿痕舌标记为chi-hen;瘀斑舌标记为yu-ban,生成对应的XML文件并保存。

  1.3、 利用CNN-ResNet50构建二分类模型

  为利用CNN算法构建齿痕舌和瘀斑舌的自动识别模型,本研究选取其中的ResNet50算法,即在近年ImageNet大规模视觉识别挑战赛(imageNet large scale visual recognition challenge)成绩较好的主流算法之一[10]。CNN-ResNe50模型目标识别方法分为三步:①选定区域:在给定图像上选择舌体位置作为进一步识别的候选区域。②提取特征:对候选区域的特征表现(如齿痕、瘀斑)进行提取。③目标分类:通过训练的分类器,并根据提取的特征,对候选区域进行舌象分类识别。为保证研究的准确性,使用python语言将数据集随机分配,70%作为训练集,30%作为测试集(测试集与训练集不存在图像重叠)。其中,训练集共有舌象图片310幅,测试集共有舌象图片132幅。为保证对CNN算法性能评估的公正性,ResNet50在训练与测试时保持相同的硬件配置和迭代次数,避免一切可能引起结果异常的人为误差。

  1.4、 评价标准

  采用绘制ROC曲线和计算性能评价指标的方式来评价模型的分类效果。

  1.4.1 、正确率:

  用来评价该模型分类的准确性,正确率值越大说明模型的分类结果与实际确诊结果越接近。

  1.4.2 、精确度:

  表示预测为阳性样本中有多少是真的阳性样本。

  1.4.3、 灵敏度:

  评价模型的真阳性率,灵敏度值越大表示对该疾病的漏诊率越低。

  1.4.4 、特异度:

  评价模型的真阴性率,特异度值越大表示对该疾病的误诊率越低。

  1.4.5 、F1值:

  值越大,假阳性和假阴性的概率就会越小。

  1.4.6 、ROC曲线下面积(AUC):

  AUC越接近1.0时,分类方法的真实性越高;AUC等于0.5时,则真实性最低,无应用价值;当AUC在90%以上时说明具有较高的准确性。计算这些指标涉及的TP(true positive)、TN(true negative)、FN(false negative)、FP(false positive)均以中医诊断学教授的判断结果为标准,即当教授判断某幅舌象图属于某一类,模型分类结果与教授一致则为TP,不一致则为FN;当教授判断某幅舌象图不属于某一类,模型分类结果与教授一致则为TN,不一致则为FP。正确率、精确度、灵敏度、特异度和F1值的计算公式如下:正确率:Accuracy=(TP+TN)/(TP+FN+FP+TN);精确度:Precision=TP/(TP+FP);灵敏度:Sensitivity=Recall=TP/(TP+FN);特异度:Specificity=TN/(FP+TN);F1值:1/F1score = 1/2(1/Recall+1/Precision)。

  2 、结果

  2.1 、训练集结果

  利用CNN-ResNet50模型对训练集中的310幅舌象图进行分类训练,硬件采用的Nvidia Tesla P100 GPU,内存为16 G,训练最大epoch为30,Batch size为32,1个epoch为训练了1遍所有训练集的图片,每次训练略有不同,一般在第10~15个epoch表现最好,再继续训练就会出现过拟合,取在测试集上正确率最好的epoch。绘制最佳训练结果ROC曲线,曲线下面积AUC为99.00%,见图1。其他评价指标结果见表1。

  图1 CNN-ResNet50模型最佳训练结果的ROC曲线
图1 CNN-ResNet50模型最佳训练结果的ROC曲线

  表1 CNN-ResNet50模型最佳训练结果(%)
表1 CNN-ResNet50模型最佳训练结果(%)

  2.2 、测试集结果

  2.2.1、 ROC曲线:

  采用经过训练的CNN-ResNet50模型分类器对测试集中的132幅舌象图进行分类,并评估其分类性能,绘制ROC曲线,曲线下面积AUC为96.00%。见图2。

  图2 CNN-ResNet50模型对舌象识别的ROC曲线
图2 CNN-ResNet50模型对舌象识别的ROC曲线

  2.2.2 、性能评价指标:

  其他性能评价指标结果见表2。

  表2 CNN-ResNet50模型分类结果(%)
表2 CNN-ResNet50模型分类结果(%)

  通过ROC曲线及精确度、灵敏度、特异度、F1值和正确率等指标可以看出CNN-ResNet50模型对齿痕舌与瘀斑舌具有较好的识别性能。封三图3中所示,A与C都是齿痕舌,但A舌色偏红,C舌色偏暗,说明本模型对齿痕舌的识别不受舌色的影响,可以较准确地识别出不同舌色的齿痕舌。从图3B可见本模型可以识别不同位置的瘀斑,且能进行多目标识别。

  3、 讨论

  舌诊是临床诊治,特别是对肿瘤辨证、指导用药的重要方法,随着信息技术的发展,中医舌象客观化的研究越来越多,也取得了较好的结果。本研究结果显示,CNN-ResNet50模型具有较好的舌象识别分类能力,能够较准确地区分肿瘤患者中常出现的齿痕舌与瘀斑舌舌象。卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”。CNN在2012年取得ImageNet大规模视觉挑战赛冠军后,在图像识别领域几乎成为深度学习的代名词。CNN主要是由卷积层(convolution)、激活层(activation)、池化层(pooling)以及全连接层(FC/Dense)组成。传统神经网络因其全连接的方式,通常需要庞大的训练参数,甚至难以训练,但CNN通过卷积层的“局部连接”和“参数共享”的特性使训练参数大大减少。卷积层对局部感受野进行卷积操作,从而进行特征学习;激活层能引入非线性因素,提升模型的表达能力;池化层是特征的提取层。卷积层+激活层+池化层是CNN中对特征学习和提取的一个过程,而全连接层则是将学习到的特征输出,最终应用于模型任务中作出结果预测,如本文中的舌象分类任务。见图4。

  图4 CNN层级结构
图4 CNN层级结构

  本研究选取CNN中ResNet50算法的原因在于,可以让模型在层数很深的情况下,梯度传导更稳定,从而提取到更高层、更抽象的语义特征,得到更好的训练结果,使模型获得更强的表示能力。CNN-ResNet50还能有效解决舌象照片光线、角度不稳定等问题,整体的模型性能得到显着提升。

  卷积神经网络在肿瘤患者舌象分类中的应用,其意义在于可以优化医疗资源,为远程医疗提供舌象相关分析参数,进行快速、准确地舌象识别,解决肿瘤患者前往医院就医困难的问题,并为后续治疗提供客观依据。同时还可以大大降低医生的工作压力和强度。本研究在中医舌象信息化、智能识别方向作出了尝试,并取得了较好的结果,为后续人工智能在中医舌象的识别应用奠定了基础,为将来中医诊治网络平台、云服务的打造提供一定参考价值。

  本研究仍存在不足之处,如样本量较小、分类较单一等,尤其对于舌象来说,其蕴含的信息量巨大,在日后的工作中如果可以扩大样本量采集,创建多任务学习模型,对舌象特点,包括舌色、舌质、苔色、苔质进行更全面的辨别分析,则会为临床诊疗提供更多、更强有力的数据支持,也可使中医辨证向更客观化、标准化、智能化的方向发展。

  图3 舌象识别
图3 舌象识别

  A:齿痕舌,舌色偏红;B:瘀斑舌;C:齿痕舌,舌色偏暗

  参考文献

  [1] 阙铁生.肿瘤患者舌象研究进展[J].广西中医学院学报,2012,15(2):75-77.
  [2] 谌玉佳,胡凯文.肿瘤患者舌象特点及其影响因素[J].中医学报,2015,30(3):309-312.
  [3] 吴君德.肿瘤患者舌象特点的临床研究[D].北京:北京中医药大学,2011.
  [4] 何静.基于贝叶斯网络的中医辨证人工智能系统在舌诊和脉诊中的应用价值[J].齐齐哈尔医学院学报,2019,40(22):2872-2873.
  [5] 胡继礼,阚红星.基于卷积神经网络的舌象分类[J].安庆师范大学学报(自然科学版),2018,24(7):44-49.
  [6] 李晓宇,张新峰,沈兰荪.基于支撑向量机的中医舌色苔色识别算法研究[J].北京生物医学工程,2006,25(1):43-46.
  [7] 周志华.机器学习[M].北京:清华大学出版社,2015:114-115.
  [8] ESTEVA A,KUPREL B,NOVOA RA,et al.Dermatologist level classification of skin cancer with deep neural networks[J].Nature,2017,542(7639):115-118.
  [9] 李峰,董昌武.中医诊断学[M].北京:科学出版社,2018:42-68.
  [10] HE KM,ZHANG XY,REN SQ,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR)IEEE,2016.

作者单位:北京中医药大学第三附属医院功能检查科 北京中医药大学第三附属医院针灸微创肿瘤科 北京中医药大学第三附属医院脾胃科
原文出处:董竞方,黄金昶,王建云.卷积神经网络算法在肿瘤患者舌象识别中的应用[J].北京中医药,2020,39(11):1216-1219+1225.
相关内容推荐
相关标签:
返回:中医诊断学论文