一种基于视觉特征识别口腔鳞状细胞癌的深度学习方法与流程

文档序号:21369116发布日期:2020-07-04 04:45阅读:429来源:国知局
一种基于视觉特征识别口腔鳞状细胞癌的深度学习方法与流程

本发明属于医学图像处理领域,涉及到深度学习技术用于某一类照片中特定视觉特征区域的检测。此训练所得的深度学习神经网络对照片中口腔鳞状细胞癌的检测具有良好的准确率,精准度与召回率,适用于口腔鳞状细胞癌患者的筛查。

技术背景

口腔癌位列世界十大恶性肿瘤之一。2018年,全世界范围内预测口腔癌新发病例354864人,因口腔癌死亡的人数177384人。就病理分型而言,口腔癌患者中90%以上是鳞状细胞癌,重度吸烟和酗酒的中老年男性为高发人群。在咀嚼槟榔盛行的国家和地区,如印度、巴基斯坦、孟加拉以及中国的中南地区的部分省份都是口腔鳞状细胞癌的高发地区。这些地区人口稠密,经济发展欠均衡,医疗资源供给不足,口腔癌的防治是这些国家和地区的重要卫生工作。

口腔鳞状细胞癌在起病早期临床表现为口腔黏膜白斑、红斑以及红白斑,少有疼痛与口腔功能障碍。不少患者即使发现了口腔黏膜的异常,也会因为症状轻微而忽视及时就医。由于发病部位的缘故,相当一部分患者首诊于牙科医生,一部分患者首诊于全科医生,但多数牙科医生和全科医生并不具备诊断口腔癌的能力,因此不少患者会被误诊为普通的口腔溃疡,延长了患者的等待时间。因此,至今仍有超过半数的口腔鳞状细胞癌患者直到病变长大,出现疼痛或出血,甚至发生区域性淋巴结转移后才被转诊至口腔癌专科医生处就诊。早期的口腔鳞状细胞癌患者中,84%仅需要手术即可治愈;而晚期患者除需接受根治性手术外,还需要放化疗等辅助治疗,不仅耗用了更多的医疗资源,而且痛苦增多,花费增加,但五年生存率只有39%。近四十年来,尽管各种新兴的治疗手段层出不穷,但口腔癌的总体预后没有明显的提升。

发现并诊断早期口腔鳞状细胞癌病变是提高患者生存率最有效的方法。但及早发现口腔癌患者是世界性的难题,各国想了很多办法,比如提高牙科医生或者全科医生对口腔癌的认识水平,在牙学院的课程设置中增加口腔癌相关知识的教育以及毕业后再教育。但口腔癌相关的临床知识需从经验获取,单纯理论教育很难收获理想的效果。印度学者sankaranarayanan曾在1996年至2004年间,历时八年对选定社区内的高危人群进行了的口腔癌的跟踪筛查,耗费大量的人力和时间得到结论认为:通过口腔癌的外观特征,能够筛查出早期口腔癌患者对其进行早期的治疗,从而降低口腔癌高危人群的死亡率。并且预估这种筛查方式可以降低世界范围内因口腔癌死亡的人数,只是人力成本与时间成本过高,而无法推广。

近年来,各种染色剂,纳米技术,荧光照射等一系列技术来进行口腔癌的筛查,但这些方法都需要在医院或诊所内由医务人员完成,检测结果需要专业解读,不方便推广应用。理想的检测手段应该像口腔癌专家的体格检查,通过检查病变的外观推断出其可能诊断,并建议患者行病理检查,明确诊断后进行手术治疗。但口腔癌专科医生的数量有限,分布不均,无法满足全部口腔癌患者的需求。

人工智能技术近年来快速介入医学图像处理领域,一些深度学习算法已成为高效的图像识别工具,被用于识别各类医学图像中的异常征象。例如,预测人的头部ct片中的出血点和骨折,预测患儿可能的遗传病类型;预测皮肤癌,早期发现心电图中房颤的征象等等。实现这些场景依赖三点:1.深度学习算法;2.大数据;3.模型训练。迄今为止,还没有从视觉特征来识别口腔鳞状细胞癌的人工智能模型被报道。因此,开发出相应的人工智能模型,并部署至互联网的移动终端,类似于将口腔癌专家通过视觉特征识别口腔癌的专业能力迅速拓展到全世界,这将对发现早期口腔癌具有重要意义。



技术实现要素:

本发明公开了一种可以从口腔照片中检测出口腔癌病变的深度学习神经网络。该神经网络能有效避免口腔照片中杂乱背景对检测目标的干扰,准确、快速、高效地识别出照片中的病变区域。该方法简单、无创,可以将无明显症状的早期口腔癌检测出来。该方法不需特殊培训,普通人通过手机端应用即可完成操作,工作效率高,对于口腔癌的早诊早治、改善术后生活质量、降低死亡率都有十分重要的作用。

本发明采用的技术方案如下:一种基于视觉特征识别口腔鳞状细胞癌的深度学习方法,包括以下步骤:

步骤1.拍摄获取规格一致并且清晰的口腔照片,所述照片采集了口腔鳞状细胞癌病变区域和口腔正常区域,包括:开发集,用于模型训练和调参;

测试集,用于结果测评;

步骤2.从开发集中抽取照片构建数据训练样本:挑选若干张开发集中获取的照片,该照片带有病变区域,并用矩形选框完整框选可见的病变区域标记类别作为真实框,排除口腔内被周边组织遮挡的病变组织,和部分曝光不清晰的区域,并保存矩形选框在所述图片的二维平面坐标中的四个角点位置信息;

步骤3.训练目标检测网络模型:构建ssd框架模型,采用vgg16作为ssd框架的基础网络结构;真实数据样本输入训练ssd框架模型,引入迁移学习方法对ssd框架模型进行训练,得到训练好的ssd框架模型;

步骤4.将步骤1获取的开发集照片输入训练好的ssd框架模型,输出所述照片的病变区域的位置及类型,类型包括:

阴阳类型:阳性数据,标记为1,即检测所得与真实框的病变区域相似的输入照片;

阴性数据,正常口腔照片,标记为0;

拍摄设备类型:

数码单反拍摄的照片,标记为1,其他设备拍摄的照片,标记为0;

病变区域的位置及类型作为分类网络数据样本保存;

步骤5.将步骤4输出的分类网络数据样本,进行预处理扩充样本数量;

预处理包括:使分类网络数据样本的照片顺时针旋转45度角;调整分类网络数据样本的照片对比度;对分类网络数据样本进行大小缩放;使分类网络数据样本镜像翻转;

将扩充的开发集数据按照9:1的比例划分到步骤1的训练集和验证集;

步骤6.改进分类网络与预训练:

步骤6.1.将深度跨连接网络densenet作为densenet预训练模型,用来提取图像的初级特征信息;

步骤6.2.对densenet网络结构进行改进:损失函数为焦点损失fl,fl(pt)=-α(1-pt)γlog(pt)

其中焦点因子γ≥0,类别不平衡因子α,p为模型的预测概率,y为groundtruth;

在densenet网络中添加新的分类层classificationlayer,使输入照片经过分类器判断照片类别是否为口腔鳞状细胞癌和拍摄设备后,再计算得到分类loss值l1,使模型更加集中于困难的错误分类的样本p∈[0,1]

l1=0.1×fl(fc(x),yc)+0.6×fl(fo(x),yo)

其中x是输入照片,fc(x)与fo(x)是相机类别与口腔鳞状细胞癌分类器,yc与yo是标定的真实标签;

使用深度监督学习deepsupervisedlearning方法,在densenet中的前三个密集连接块denseblock的输出特征上加入分类层classificationlayer,针对是否为口腔鳞状细胞癌分类,计算各密集连接块的loss值:l2、l3、l4,使l1、l2、l3、l4按照loss比例1:0.1:0.1:0.1进行相加作为总损失函数ltoal;

步骤6.3.使用后向传播调整densenet网络权重,降低ltoal,提高模型精度;

步骤7.将步骤5得到的扩充样本输入步骤6改进后的densenet网络进行训练,得到口腔鳞状细胞癌分类网络的权重文件,保存备用;

步骤8.分类网络模型的测试与优化:用步骤7中所得的口腔鳞状细胞癌分类网络对验证集数据样本进行检测,根据测试集的测试结果:利用测试数据样本中的图片经口腔鳞状细胞癌分类网络进行一系列卷积、归一化、池化、残差连接得到图片类别,直至得到的图片类别与测试集数据的病理分类准确率不小于98%,若准确率没达到标准,进行重新训练,重新训练前调整步骤6.2以及步骤7中焦点损失函数参数包括:平衡因子α和焦点因子γ以及loss比例;

步骤9.步骤8训练好的模型对按步骤1的方法新采集的口腔照片进行分类预测,判断口腔照片是否存在病变区域。

步骤2中本发明中进行检测与分类网络模型构建时,是基于照片数目构建的:2055张口腔鳞状细胞癌照片与3720张正常口腔照片。

本发明的有益效果:现有技术中的densenet网络未使用焦点损失函数计算各层输出的特征向量的loss值,最后得到的各层loss值之和包含了正确分类的样本的loss值的权重,使loss值很大,densenet网络对输入照片的分类不精确;本发明采用添加分类层针对输入照片的拍摄设备类别和病变类别重新分配loss值权重,降低了正确分两类样本的loss值权重,使densenet网络对输入照片的分类更精确。

附图说明

图1是本发明的深度学习方法中步骤2的矩形选框的位置信息数据格式图;

图2是本发明的深度学习网络步骤3训练得到的ssd检测网络示意图;

图3是本发明的深度学习网络步骤5扩充后的样本图;

图4是本发明的深度学习网络步骤5扩充后的样本图;

图5是本发明的深度学习网络步骤5扩充后的样本图;

图6是本发明的深度学习网络步骤5扩充后的样本图;

图7是本发明的深度学习网络的densenet网络示意图;

图8是本发明的深度学习网络步骤9的工作流程示意图。

具体实施方式

下面结合附图对本发明作进一步的描述。

步骤1.获取拍摄清晰的口腔鳞状细胞癌病变照片和正常口腔照片,包括:开发集,用于模型训练和调参;

测试集,用于结果测评。

用数码单反相机拍摄口腔鳞状细胞癌患者与健康成人的口腔照片,无论相机品牌,其拍摄参数都设置为:手动挡模式、景深设置为f值小于1/18、曝光时间短于1/80秒、(换算成35mm画幅相机)微距镜头在100mm-105mm之间、拍摄相机配置环形微距闪光灯(品牌不限),闪光灯设置为ttl模式、相机白平衡设置为闪光灯白平衡,拍摄照片时选择中固定的中央对焦点对焦。手机拍摄照片时选择闪光灯模式,用手机附带的相机自动模式拍摄。

步骤2.从开发集中抽取照片构建数据训练样本:

口腔鳞状细胞癌照片中的病变区域为目标检测区域,采用github上的labelimg项目(项目地址:https://github.com/tzutalin/labelimg)对开发集中的部分照片中的目标检测区域进行矩形框标注类别,将可见的病变区域完整框入矩形选框,排除口腔内被周边组织遮挡的病变组织,和部分曝光不清晰的区域,并将矩形选框在照片中的位置信息(4个角点的坐标)以二维平面坐标轴的形式保存,将矩形选框的位置信息以xml格式保存,生成xml文件,在后续处理中起到作为真实框(groundtruthbox)的作用,即口腔鳞状细胞癌的真实位置信息。将初始数据和xml数据制作成voc2007数据集的格式(图1);本步骤中构建数据训练样本时,是基于照片数目构建的:2055张口腔鳞状细胞癌照片与3720张正常口腔照片。

步骤3.训练目标检测网络模型:目标检测网络是singleshotmulti-boxdetector(ssd),其训练过程如下:

步骤3.1.基于python语言pytorch框架,采用迁移学习的方法,即已有的模型上训练出具有特定功能的模型。使用在imagenet开源数据集的vgg16预训练模型作为基础网络结构。vgg16模型是视觉几何团队(visualgeometrygroup,vgg)开发的一组卷积神经网络算法。

ssd算法采用了特征金字塔结构进行检测,即检测时利用了conv4_3,conv_7(fc7),conv6_2,conv7_2,conv8_2,conv9_2这些大小不同的特征映射(featuremaps),在多个特征映射上同时进行softmax分类和位置回归。

ssd按照如下规则生成目标预选框(priorbox):以特征映射(featuremap)上每个点的中点为中心,生成一些列同心的目标预选框(priorbox)

ssd算法的目标函数分为两部分:计算相应的目标预选框与目标类别的分类损失以及相应的位置回归损失:

算法过程如下:根据在labelimg软件所作的真实框(groundtruthbox),将目标预选框(priorbox)与真实框做匹配,使得目标预选框尽可能回归到真实框,这个过程中得到两个值分别为分类损失和回归损失,这两个值按公式1计算即为loss值,loss值(损失值)越小,即所确定的目标预选框与真实框越相近。这个过程中模型的参数也随之而变化使得loss尽可能小。

公式1中的符号含义如下:这里i是指目标预选框的序号,pi是指第i个目标预选框的预测分数(即通过iou):预测分数用来比较两个有限集合之间的相似度,pi大于0.5则匹配成功,判定是正样本),如果目标预选框是正样本,pi*是1,否则为0。ti是目标预选框的4个边框参数,ti*是真实框的4个边框参数。分类损失为lcls(pi,pi*),回归损失为lreg(ti,ti*)。归一项ncls所有的目标预选框的数量,nreg是匹配成功的目标预选框的数量。λ是来平衡这两种损失的平衡参数。

步骤3.2.将步骤2中的真实框输入目标检测模型(ssd框架模型),其主网络结构为vgg16,经过训练最终的细节是:将图片处理成300*300像素大小后进入网络训练,建模参数batch_size=2,最大步数max_iter=45000,初始学习率learning_rate=0.0001,更新学习率的步数lr_steps为10000,20000,30000,每次更新learning_rate为减少十倍。训练所得训练好的ssd框架模型,以pth后缀文件保存。所得检测网络如图2所示。

步骤4.获得分类网络数据样本:

将步骤1中所得开发集的原始口腔鳞状细胞癌和正常口腔照片输入至步骤3.2中所训练好的ssd框架模型,输出为原始口腔鳞状细胞癌和正常口腔照片病变区域的位置及类型,类型包括:

阳性数据,标记为1,即检测所得与口腔鳞状细胞癌最相似的病变区域图片;

阴性数据,正常口腔照片,标记为0;

还按照拍摄照片的设备进行分类,数码单反拍摄的照片记录为1,其他设备拍摄为0,将分类信息存储在同一文件中,文件为txt格式。

得到分类网络数据样本。

步骤5.对步骤4中所得分类网络数据样本进行数据扩充,以增加样本数量,解决样本数量小的问题,输入是分类网络数据样本,输出是扩充变化后的照片。

扩充方式分别为:在分类网络数据样本上顺时针旋转45度角(图3);在分类网络数据样本上进行调整对比度(图4);在分类网络数据样本上进行大小缩放(图5);在分类网络数据样本上进行镜像翻转(图6)。

将扩充的数据按照9:1的比例划分到步骤1的训练集和验证集。

步骤6.分类网络的改进与预训练,分类网络的模型架构以densenet(见附图7)为基础,根据应用场景进行改进:

步骤6.1.将深度跨连接网络densenet作为基础分类网络,采用迁移学习的方法使用在imagenet数据集的densenet预训练模型用来进行模型训练。

表1是深度跨连接网络的配置说明

步骤6.2.对表1densenet网络结构进行改进:损失函数为焦点损失(focalloss)fl

fl(pt)=-α(1-pt)γlog(pt)

其中焦点因子γ≥0,类别不平衡因子α,使模型更加集中于困难的错误分类的样本p∈[0,1]为模型的预测概率,y为groundtruth,当检测样本错误分类时,pt值小,而且(1-pt)γ接近1.当检测样本正确分类时,pt值大。因此当(1-pt)γ趋近于0时,损失的权重下降。

添加多分类器,即在原有的网络中添加新的分类层(classificationlayer)(denseblock不包含classificationlayer),输出为1024*2的张量,输入照片经过计算后可以得到分类loss值l1。

l1=0.1×fl(fc(x),yc)+0.6×fl(fo(x),yo)(公式3)

其中x是输入照片,fc(x)与fo(x)是相机类别与口腔鳞状细胞癌分类器,yc与yo是标定的真实标签,比例参数是最终确定的参数。

添加分类器后计算loss值l1可依据分类数据的病变区域是否为口腔鳞状细胞癌和拍摄设备两个分类重新分配各分类loss值权重,用以解决类别不平衡即在所有数据中,口腔鳞状细胞癌和正常口腔数据量的比例差距的问题、难样本挖掘的问题针对不易进行分类的数据(这类数据导致loss值很大),进行重新训练;

使用深度监督学习(deepsupervisedlearning)方法,在densenet中的前三个密集连接块denseblock(1),denseblock(2),denseblock(3)后分别添加分类层classificationlayer,仅针对是否为口腔鳞状细胞癌的分类,对每个denseblock输出的特征向量进行计算,之后用焦点损失函数focalloss进行计算loss值l2,l3,l4,使l1、l2、l3、l4按照最终确定的比例1:0.1:0.1:0.1进行相加作为总损失函数ltoal。

步骤6.3.使用后向传播调整网络权重,获得收敛的分类网络。ltoal越小,说明模型权重调整越能使分类功能精确。

步骤7.将步骤5得到的扩充样本输入步骤6改进后的densenet网络进行训练,其最终确定的训练细节是:将图片处理成224*224像素大小后进入改进后的densenet网络训练,建模参数batch_size=64,最大次数epochs=90,初始学习率learning_rate=0.0001,更新学习率的步数lr_steps为30,60,每次更新learning_rate为减少十倍。焦点损失(focalloss)的参数为γ=1,α=0.5。l1、l2,l3,l4按loss比例1:0.1:0.1:0.1比例相加计算ltoal,得到口腔鳞状细胞癌分类网络的权重文件,以pth后缀的文件保存。所得分类网络如图7所示。

步骤8.分类网络模型的测试与优化:

用步骤7中所得的口腔鳞状细胞癌分类网络对测试数据样本即验证集进行检测,根据测试集的测试结果:利用测试数据样本中的图片经口腔鳞状细胞癌分类网络进行一系列卷积、归一化、池化、残差连接得到图片类别,直至得到的图片类别与测试集数据的病理分类准确率不小于98%,例如图7,若准确率没达到标准,进行重新训练,重新训练前调整步骤6.2以及步骤7中的焦点损失函数的平衡因子α和焦点因子γ以及loss比例等参数。

步骤9.步骤8训练好的模型对按步骤1的方法新采集的口腔照片进行分类预测,判断口腔照片是否存在病变区域,工作流程如图8所示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1