基于迁移学习的胃镜图像自动识别多分类系统的研究
2021-03-23王跃王卫东赵蕾郑天雷
王跃,王卫东,赵蕾,郑天雷
1. 江苏科技大学 计算机科学与工程学院,江苏 镇江 212000;2. 徐州医科大学附属医院 医疗设备管理处,江苏 徐州 221000
引言
近年来随着生活方式的转变及医疗诊治水平的提高,恶性肿瘤患病人数逐年增加。资料显示,以胃癌、胰腺癌、直肠癌为代表的消化道恶性肿瘤在我国发病率前五的恶性肿瘤中占有三席[1]。我国的恶性肿瘤发病率较其他国家也处于较高水平,发病率约占全球的20%,死亡率较世界平均水平高17%[2-4]。目前肿瘤发病原因不明,缺乏有效的筛查手段,导致大部分患者确诊时已为中晚期,错失最佳治疗期。
胃癌因其早期不易发现,且恶性程度高,严重威胁着居民健康安全。目前胃癌诊断主要方式为:X线钡餐、纤维内镜检查、肿瘤标记物、血常规检查等。病理分析是胃癌确诊依据的“金标准”[5],而内镜检查可通过摄像系统直接观察病人胃黏膜病变程度及病灶位置,并取出疑似病变组织进行病理分析,因此胃镜是早期胃癌筛查的主要方式。目前胃镜图像主要依靠人工判读,效率低、工作量大且对医生的资质经验有较高要求。因部分图像高度相似,导致早期胃癌诊断率较低[6],从而错失治疗胃癌的黄金时期。因此胃癌的早诊断、早发现已称为亟需解的医学问题。
目前医学图像处理主要采用深度学习[7-8]方法,已在肺结节诊断、糖尿病视网膜病变等方面取得成功应用[9-10],结合深度学习算法的诊断准确率已接近甚至超过临床医生,但与人工判读方式相比,人工智能技术具有前者无法超越的效率优势。深度学习主要通过卷积神经网络利用滤波器矩阵对图像进行特征提取[7],需要大量已标注数据集来理解数据中的潜在联系。但在医学领域因病人信息的保密性和专业性,医学数据需要专业临床医生标注,数据收集复杂且昂贵。有标签的可训练数据不足是制约医学图像分析发展的瓶颈之一,因此迁移学习将是医学图像分析的一个重要发展趋势。
1 材料和方法
1.1 图像收集
收集2016年1月至2019年10月在我院胃镜中心进行检查的患者图像,前人研究发现恶性贫血、残胃、慢性萎缩性胃炎、胃息肉、慢性胃溃疡等,较正常人更容易发生癌前病变[11],所以图像选取共分5类:早期和进展期胃癌图像783张、胃溃疡胃图像1042张、慢性胃炎图像1143张、胃息肉图像1096张和正常胃镜图像1763张。图像主要采自于日本奥林巴斯CV-290HQ和富士能VP-4450HD工作站,其中胃癌图像均经过病理分析确诊,所有图像均进行脱敏处理。
1.2 图像预处理
在胃镜图像采集过程中,受病灶位置、光源亮度、操作习惯、成像主机对比度和分辨率等因素影响,对图像进行重新编号、去噪声、裁剪、去黑框等预处理。将收集图像按照6:2:2的比例划分为训练集(training)、验证集(validation)、测试集(testing)。资料表明在对图像平移和缩放时,神经网络学到的特征具有不变性[12],因此可对训练集的图像进行翻转,缩放等处理,以提高图像训练时的多样性,在分批输入图像前,需要将图像规范为相同格式和尺寸。验证集和测试集图像只进行尺寸和格式调整,所有图像大小均调整为224×224,最后进行归一化处理。
2 迁移学习简介及实验过程
2.1 迁移学习
深度迁移学习是为解决机器学习中训练数据量不足这个基本问题,通过利用公开数据集训练网络模型,然后将参数和模型迁移到新的领域,完成新任务的机器学习方法[13-14]。根据域(domain)和任务(task)的不同,迁移学习划分为特征迁移、样本迁移和参数迁移等。本文处理目标与源域都是图像,任务都是对图像进行训练提取特征,实现对不同属性图片的分类,所以采用参数迁移方式。
2.2 模型搭建
本实验主要使用Pytorch1.2+TensorboardX2.0版本作为本次学习基本框架,在框架中可直接加载VGG16[15],ResNet50[16]等网络模型。研究发现,早期胃癌图片与胃溃疡图像在ResNet50网络模型中相较VGG16,AlexNet等网络模型有更好的识别准确度[17-18]。本文因样本数量较少,所以基于ResNet34网络实现,实验方法为从零训练ResNet34_scr模型和迁移微调ResNet34_tf,VGG16_tf模型。ResNet模型引入残差模块[16]解决了深度学习中随着网络深度增加而梯度消失、模型性能退化的问题,已成为目前图像分类任务的首选。本实验源图像为自然图像集数据集,激活函数为ReLU,损失函数为CrossEntropy,优化器为Adam。
2.3 网络微调
参数微调可解决预训练神经网络模型在目标域中特征参数与任务的不匹配问题,是迁移学习的最重要步骤。迁移学习主要分为3个步骤:① 利用大量有标识的数据集(源域)对神经网络进行训练,通过模型前端的卷积层和池化层,对源域的图像特征、参数,进行提取;② 预训练模型,将训练好的模型导入到目标任务中,通过对全连接层自定义,重构分类层;③ 微调,冻结前面多层的网络参数,用目标域图像进行训练,通过前向传播,记录前向传播各参数,将训练好的模型应用到目标任务中,完成迁移学习[14]。因为实验数据集较小,且医学图像与源域的自然图像差异性较大,所以本文主要采用冻结方式对模型进行微调。迁移学习微调过程如图1所示。
图1 胃镜图像迁移学习流程
3 实验结果
3.1 中间层输出可视化
通过可视化图像在网络模型中不同层的输出,可对网络模型的学习过程有更直观的认识。图2为蚂蚁和息肉切除图像在ResNet34模型中间层的输出可视化。对于完全不同的输入图像,通过低层卷积运算后,仍可观察出输入图像的轮廓;在高层池化运算后,图像则非常抽象,无法分辨出输入图像的不同。网络模型不同中间层输出表明:低层网络主要用于通用特征提取,高层网络更偏向于特定任务的特征提取。因此通过迁移学习,利用已训练好的深度模型提取通用特征,可有效完成目标域的图像识别任务。
图2 中间层输出可视化
3.2 实验结果与分析
三个模型分别训练,评价方法为测试准确率和混淆矩阵。三个模型的训练结果如图3所示。观察图3发现传统深度学习方法的模型ResNet34_src准确率提升缓慢,而相同迭代次数时采用迁移学习的ResNet34_tf、Vgg16_tf准确率提升速度很快,且趋于稳定在很高的准确率上,不同模型训练准确率对比如表1所示。通过观察表1和图3发现迁移模型ResNet34验证集和测试集准确率均最高,识别效果最好,相较另外两种模型对胃镜图像有更好的特征提取和泛化能力。
表1 不同模型训练准确率对比(%)
图3 3个模型的训练结果
混淆矩阵是监测多分类模型分类效果的标准评价方式,其中横轴表示预测类别,纵轴表示实际类别,颜色深浅表示识别准确率高低。图4为迁移模型ResNet34测试集的混淆矩阵图像。横轴分别对应早期胃癌、慢性胃炎、胃溃疡、息肉和正常胃部图像。通过图4发现迁移模型对正常胃镜图像与息肉图像可以实现精准识别;而早期胃癌、慢性胃炎、胃溃疡三类图像容易误识别,识别率相对较低。
图4 ResNet34_tf归一化混淆矩阵
4 总结
消化道胃镜检查是当前早期胃癌筛查的主要方式,目前仍以人工判别为主,容易误诊、漏诊,从而错失最佳治疗期。目前胃癌的诊断患者大部分都是晚期患者,晚期胃癌患者手术后5年生存率小于30%,而早期胃癌患者的术后五年生存率高达90%[19-20],因此胃癌的早发现、早治疗可显著提高患者的手术效果和生活质量。虽然深度学习在医学图像上已有很多成功应用,但在胃癌图像识别上应用较少,缺乏相关的研究。
本实验通过收集胃镜图像,将图像分为早期胃癌、慢性胃炎、胃溃疡、胃息肉和正常胃部图像共5类,通过迁移学习将图像迁移到已训练好的VGG16、ResNet34网络,并对微调模型参数,与传统从零训练模型相比,通过迁移学习的训练集和测试集准确率分别为95.64%,90.75%远高于后者的84.46%和79.53%,结果基本令人满意。
本次实验结果存在分类识别率相差较大等问题,经分析主要有以下几方面原因,主要是收集数据集较小、图像数量不足,虽经扩展但总量仍较小,模型学到的特征不足;另一方面图像相似度高,特别是部分早期胃癌与慢性胃炎,胃溃疡部分表面有血液分布,因数据集有限未对此类图像进行全部剔除,可能对模型的识别结果造成影响。为进一步提高深度学习在胃镜图像识别中的准确率,将收集更多的原始图像、优化算法、选择更适合的模型,让模型有更好鲁棒性和普适性。
医学图像领域小数据集是基本常态,一般存在一定的类别和正负样本不平衡问题,但往往数据量较少的样本又含有更丰富的病例信息。总体来说残差网络在较少的数据集上有很好的特征提取和泛化能力,虽然本研究只是将深度迁移学习应用于胃镜图像分类,但也可同样迁移到其他小数据集图像研究中去。