APP下载

基于卷积神经网络的甲状腺结节超声图像良恶性分类研究*

2020-04-01邹奕轩周蕾蕾赵紫婷吴倩倩韩煜东田书畅蒋红兵

中国医学装备 2020年3期
关键词:结节卷积神经网络

邹奕轩 周蕾蕾 赵紫婷 吴倩倩 韩煜东 田书畅 蒋红兵③*

甲状腺结节是成年人群中最常见的结节性病变之一,而甲状腺癌的发生率约为5%~15%[1-2]。由于缺少对疾病的认知,许多患者接受了不必要的穿刺与手术。医学指南指出:所有甲状腺结节均需行颈部超声检查,并行恶性风险评估[3]。美国甲状腺学会(American Thyroid Association,ATA)明确定义甲状腺结节为“甲状腺内散在病灶,影像学能将其和周围甲状腺组织清楚分界”,表明超声影像检查在甲状腺结节性疾病诊断中具有无可替代的作用。然而,超声图像分辨率和对比度较低、固有斑点噪声较大且伪影较多,不同品牌及型号设备间存在系统性差异,导致超声诊断结果难以明确。此外,检查过程中存在医师操作习惯不同,经验依赖性判断偏差等主观性差异。因此,深入了解结节性甲状腺疾病的超声图像影像组学特征对提高此类疾病的诊疗水平,改善诊疗效果意义重大。本研究拟利用超声图像影像组学的方法对甲状腺结节性疾病的良恶性进行分类,结合深度学习算法之一的卷积神经网络(convolutional neural networks,CNNs)模型进行迁移学习,以实现对甲状腺超声图像的特征提取与量化,实现良恶性分类目标。

1 材料与方法

1.1 仪器设备

MyLab™Twice彩超(意大利ESAOTE公司);VIVID E9彩超(美国GE公司);IE33彩超(荷兰PHILIPS公司)。

1.2 图像采集

回顾性选择2016年2月至2018年2月经南京医科大学附属南京医院(南京市第一医院)功能检查科B超室检查定性的200例甲状腺结节性病变患者,其中男性100例,女性100例,平均年龄(53.6±10.8)岁,其中良性结节患者154例,恶性结节患者46例。所有患者均分别采用MyLab™Twice型、VIVID E9型或IE33型超声检查机对其患处进行扫描。所有采集病例均接受甲状腺结节手术,将病理检验结果作为良恶性诊断的标准。

1.3 软硬件工具

1.3.1 软件工具

(1)主体使用Python 3.6作为开发语言,Python作为一种计算机程序设计语言功能强大、轻量、便捷、成熟且稳定。Python语言相较于其他编程语言,在神经网络模型训练方面框架可选择性大、类库丰富,具有开发便捷、代码量少、内部类型和库函数使用成本低等显著优势[4]。同时使用Matlab 9.4作为辅助软件工具,实现部分运算、检验、制表及预处理等工作。

(2)运算部分使用NVIDIA推出的统一计算设备架构技术(compute unified device architecture,CUDA)通用并行计算架构,该架构包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。充分利用图形处理单元(graphics processing unit,GPU)的计算能力来解决在深度学习中复杂而庞大的计算量。

(3)深度学习框架使用Facebook公司在深度学习框架Torch的基础上使用Python开发的Pytorch框架,其功能丰富,应用程序接口(application programming interface,API)众多,可以快速完成深度神经网络模型的搭建和训练。相比于TensorFlow框架,Pytorch框架的动态特性使训练的过程和数据的变化得以更加直观的展现,计算和修改权值的过程更加便捷。

1.3.2 硬件工具

硬件部分使用搭载Windows 10版本的计算机,CPU为i7-7700HQ,4核8线程处理器,主频为2.8 GHz。GPU为NVIDIA GeForce GTX 1060。

2 深度学习网络模型实现

CNNs作为一种前馈型神经网络,其主要包含卷积(Convolution)、激活函数(Rectified Linear Units,ReLu)和池化(Pooling)3种操作[5-6]。网络中的神经元可以响应周围神经元,进行数字图像处理,完成如目标检测、分类和分割等工作[7-8]。在本研究中首先对原始数据进行预处理,再通过迁移学习的方法训练模型,并比较结果。

2.1 图像预处理

2.1.1 数字图像处理

在临床医师截取的原始图像数据中选择包含完整结节区域且较为清晰的图像片层,删除原始数据中不含感兴趣区域(region of interest,ROI)的冗余图像。由于不同厂家型号的超声检查仪存在图像尺寸、分辨率、信噪比等客观差异,需首先针对超声图像数据特征,对其进行滤波处理,主要采用斑点抑制各向异性扩散滤波器(speckle reduce anisotropic diffusion,SRAD)来降低高频成分幅度,防止高频段的特征信息被噪声掩盖,从而减弱噪声对图像质量和模型训练结果的影响。利用直方图均衡化(Histogram equalization)对数据集中的数据进行灰度变换。之后结合形态学处理,去除医师在检查过程中标注的信息,得到反映甲状腺组织超声图像信息的子图像[9-10]。上述数字图像处理步骤使得图像特征更为显著,从而减少无关信息对训练结果的影响。

2.1.2 数据增强

CNNs模型需要大量数据作为训练网络的支撑,但项目实际中难以找到充足的数据。数据量不足会使得CNNs为了得到一致性假设而变得过度严格,从而出现过度拟合现象。由于不同厂家型号及版本的超声检查仪输出图像大小不同,采用随机裁剪的方式将图像随机裁剪成224×224像素,可将1份超声数据图像增强几百倍。但由于包含甲状腺的有意义的部分相似度过高,实际效果欠佳。同时,借助其他的数据增强方法扩大训练样本量,主要为空间几何变换类,包括反转、随机裁剪、随机旋转、随机缩放变形等操作,对图像进行仿射变换。通过插值法填充,使图像大小保持一致。同时有研究表明,数据增强倍数不宜过大,否则会导致冗余数据过多,模型从冗余数据中无法学习到更多特征,徒增训练量[11]。

本研究的增强倍数为10,即1份数据扩增出9份平行的甲状腺超声图像数据,以此提升模型的准确率和泛化性能,避免过拟合。最后,使用ImageFolder模块将图片转换为可供运算的张量(tensor)。

2.2 迁移学习

选用在ImageNet图像分类竞赛中表现优异的CNN卷积神经网络模型,通过迁移学习方法,对模型参数进行反复比较和调整,以获取更优异的分类预测效果。CNN网络模型通常需要大量的数据作为支撑,在医学图像数据领域难于找到如此庞大的数据量,而利用迁移学习的方法可以将自然图像领域中有标注的图像应用于医学图像领域。从而极大降低了训练模型的难度,节约宝贵的运算资源和时间成本[12]。图1对迁移学习给出简明示意。

图1 迁移学习过程示意图

2.3 模型训练

选择固定CNN模型训练网络并调整网络参数。选用(visual geometry group,VGG)19、GoogLeNet Inception V3和密集卷积网络DenseNet 161的3种初始CNNs模型,并用在自然图像数据集预训练得到的预训练参数初始化网络,获取图像高维特征[13]。卷积神经网络迁移学习流程见图2。

图2 CNNs迁移学习流程图

2.3.1 VGG 19模型

VGG网络由牛津大学Visual Geometry Group团队研发搭建,采用连续数个3×3的卷积核代替神经网络中的较大卷积核。对给定的感受野,采用堆积的小卷积核意味着更多的非线性层,可以增加神经网络在复杂训练中的优势,能够在具有相同感知野的条件下,提升网络深度,减少参数,在一定程度上提升神经网络分类的准确性[14]。

2.3.2 Inception V3模型

Google Inception Net在结构上创新,采用全局平均池化层取代全连接层的方式,降低参数量,并通过引入批标准化,加速神经网络训练过程中的收敛。Inception V3模型为47层神经网络模型,创新性地将二维卷积层拆分成2个一维卷积层,以达到减少训练参数,减轻过拟合现象的目的[15]。

2.3.3 DenseNet 161模型

DenseNet可以看作是残差神经网络ResNet的一种特例,ResNet的CNNs模型通过建立前后层之间的短路连接,使训练过程中梯度能够反向传播,从而避免梯度消失和梯度爆炸的问题[16-17]。DenseNet 161模型则开发了一个互相连接所有层的密集连接机制,每层都将其之前层的参数作为额外的输入。密集卷积网络连接机制见图3。

图3 密集卷积网络连接机制示图

对于N层网络,DenseNet 161模型共包含个连接,较残差神经网络连接更密集。且DenseNet 161模型的各层直接连接其之前所有层的特征参数,以实现特征重用,提升网络效率。

传统CNNs在第n层的输出为公式1:

ResNet单元,则在第n层增加了来自前层特征函数为公式2:

DenseNet则在第n层连接之前所有层作特征函数为公式3:

3 结果

在分类训练中将数据依据病理诊断结果标准打上标签,将数据随机按照75%与25%分为训练集和测试集两部分,以保证分类结果的客观性,避免随机误差和偶然性。综合考虑GPU、CPU及内存性能,选择将3种模型在相同数据相同平台上运行150个Epoches作为参考结果。微调参数重复训练多次,去除模型陷入“死区”等结果,以测试集最高准确率、测试集后30个Epoches准确率平均值及参数模型大小总结3种模型在训练中情况及训练测试结果见表1。

表1 三种模型训练测试结果

三种模型的训练集正确率和损失曲线以及测试集正确率和损失曲线见图4和图5。

图4 三种模型的训练集正确率和损失曲线

图5 三种模型的测试集正确率和损失曲线

4 讨论

本研究采用从自然图像训练得到预训练参数的CNNs模型对甲状腺结节超声图像进行特征提取并分类,同时对网络参数进行调整。在VGG 19模型、Inception V3模型和DensenNet 161模型这3种结构迥异、特色鲜明的CNNs模型进行测试,在3种模型上均训练出了较为优良的结果,证明了基于CNNs的甲状腺结节良恶性分类的可行性,为后续研究工作打下基础。

3种CNNs模型中,VGG 19模型在训练集上收敛速度最快,训练效果最优,表现出良好的分类性能,但其在测试集中的表现不如Inception V3模型和DensenNet 161模型,平均准确率仅为88.18%。推测是由于VGG 19模型独特的简洁结构造成的网络层数不高,隐藏层数量不够,对于训练集中高维特征的提取不够,导致低维参数过度拟合,造成测试集中的分类偏差[18]。同时,VGG 19模型占用更多的计算资源,使用更多的网络参数,几乎是另外两个网络模型参数大小的5倍,因此在训练时间上的优势并不明显。该模型中多数参数来源于第一个全连接层,在后续测试中发现,去除部分全连接层,对网络性能影响甚微,却可以极大减少网络参数。

Inception V3模型和DensenNet 161模型的收敛过程均呈稳步波动上升趋势,最终收敛结果均在98%以上,在测试集上准确率分别为92.85%与92.91%,分类效果不俗。Inception V3模型用数个小卷积核替代一个大卷积核,能够在有效减少参数的同时保证性能,且Inception V3模型结构将全连接与部分卷积转化为稀疏连接,能够减少计算成本,节约计算时间,提高训练效率。DenseNet 161模型激进的密集连接机制使其兼具较少的参数量与较好的抗过拟合能力。一般神经网络随着深度的增加,非线性函数运算复杂度也增加。而DenseNet 161模型利用浅层低复杂度特征,使决策函数的光滑度和泛化能力得到加强,非常适用与本研究类似的小数据样本训练。Inception V3和DensenNet 161模型两者最终保存参数模型大小均为100 MB左右,相较于VGG 19模型有显著优势。考虑到各模型网络层数的差异,Inception V3和DensenNet 161模型在训练中更有利于提取高维特征值,且效率较高。此外,由于DensenNet 161模型独特的反向传播设计,对显存要求较高,在实际训练时需要对网络架构进行优化,并选择较小的Batch_Size。

5 结论

本研究通过对3种不同网络深度、宽度及功能的CNNs模型进行分类训练测试,表明CNNs模型能够较好的对甲状腺结节超声图像进行特征提取并分类,其结果表明,Inception V3模型与DenseNet 161模型分类准确率相似,并且参数数量较少,模型简洁,鲁棒性强。相比之下DenseNet 161模型的网络结构对于小样本量的神经网络训练泛化效果更好,但对硬件要求较高;Inception V3模型略逊,但运行速度更快。

本研究成果可辅助医生的诊断,减轻医生工作负荷,同时减轻患者生理和心理负担。但本研究仍不完善,还需进一步增加数据样本量;网络结构还需要进一步优化,网络参数也需要同步微调,还应实现ROI勾画,以进一步完善研究,减少过拟合和欠拟合现象的发生,向更高准确性、更强适应性以及更广适用范围的方向发展,为临床诊疗工作提供全面的参考依据。

猜你喜欢

结节卷积神经网络
基于递归模糊神经网络的风电平滑控制策略
乳腺结节状病变的MRI诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
肺结节,不纠结
发现肺结节需要做PET/CT吗?
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
体检查出肺结节,我该怎么办