时间:2024-05-04
尹梓名,慕长龄,束翌俊
(1.上海理工大学健康科学与工程学院,上海 200093;2.上海交通大学医学院附属新华医院普外科,上海 200092)
胆囊癌是一类起源于胆囊黏膜的恶性上皮细胞疾病,是消化系统常见恶性肿瘤,中老年多见,近年来其发病率呈现上升趋势。胆囊癌可直接侵犯周围组织,同时也可以通过淋巴、血液循环或腹腔移植等途径转移,由于缺乏早期临床表现,大部分病例确诊时已为中晚期,严重影响患者预后。影像学检查广泛应用于多种疾病的检测,其中增强CT可以很好地判断病灶的强度以及增强方式,还可以对病灶种类作出判断,对临床诊断与治疗有很大帮助。影像学检查往往需要具有专业知识的医师进行识别与判断,耗费大量时间与精力,并且不同医师间存在主观偏倚。
随着人工智能的不断发展,基于神经网络的深度学习技术被广泛应用于医学影像领域。例如,吴世洋等首先对肺部图像数据库联盟中的肺癌CT图像进行分割获得肺结节图像,然后利用卷积神经网络(Convolutional Neural Network,CNN)进行特征提取,最后利用Logistic分类器进行模型构建与测试,该方法取得了84.4%的分类准确率;吴云峰基于改进的Inception-ResNet提出肺部CT图像分类以及系统构建方法,该方法对于新冠肺炎的诊断准确率超过95%;叶佳超等基于CNN中的Dense Net网络模型对新冠肺炎CT图像取得了良好的识别效果,精确率为91%,召回率为79%,F1值为85%,准确率为85%,AUC值为94%。
本文对Dense Net模型进行优化与改进,将传统的二维影像输入增加至三维,并且改进了Dropout机制与Softmax损失函数,应用改进后的3D-Dense Net模型对胆囊癌进行辅助诊断。
人工神经网络是模仿人类大脑神经网络和功能创建的一种网络,其各个节点可以看作是人工神经元。自然神经元通过位于细胞膜或树突上的突触接受信号,当信号足够强或者突破某个阈值时,神经元被激活,然后通过轴突发射信号,信号会被另一个突触接收,并激活新的神经元。人工神经元模型对自然神经元的复杂性进行了高度抽象的符号性概括。该模型包含多个输入,这些输入分别被不同的权值相乘,然后经过数学函数计算用于决定是否激发神经元,另有一个函数计算人工神经元的输出。有许多人工神经网络就是对真实神经元网络进行建模,用于研究动物和机器的行为与控制,但也有许多用于模式识别、预测、数据压缩等。全连接神经网络是所有神经网络中最简单的一种,其结构如图1所示。
Fig.1 Fully connected neural network structure图1 全连接神经网络结构
假设隐藏层第一个神经元结点为Z
,那么其值的计算方法为:式中,w
为每条边的权重。CNN是一种深度前馈神经网络,目前在图片分类、图片检索、目标检测、目标分割、目标跟踪、视频分类、姿态估计等图像视频相关领域有很多成功的应用。CNN一般由卷积层、池化层、全连接层、批规划范层组成。
在深度神经网络中,随着网络深度的加深,梯度消失问题会愈加明显,目前针对该问题出现了解决方案,如ResNet、Highway Networks、Stochastic depth等,尽管这些网络结构有所差异,但核心都在于将前层和后层通过较短的路径连接起来。Dense Net是Huang等于2017年提出的最优深度模型,其借鉴了ResNet与Goog Le Net的优点,将跨连接充分应用至模块内的每一个特征层,即任一卷积层的输入直接包含了前面所有卷积层的输出,特征得到充分复用。高低层次的特征融合使得网络具有较强的抗过拟合性能,且参数量更小,跨连接的应用也缓解了层数加深而导致的梯度消失问题。Dense Net由多个Dense block和Transition layer构成,每个Dense block都包含多个子结构,一个4层Dense block的结构如图2所示。
在传统CNN中,如果网络有L层,那么就会有L个连接。但在Dense Net中,会有L*(L+1)/2个连接,因为每一层的输入来自于前面所有层的输出。因此,Dense Net的优点为网络更窄,模型参数更少。
本文提出的模型是将患者的增强CT影像转换为三维影像数据,然后将三维影像数据输入到3D-Dense Net网络中提取1 024个深层特征,通过全连接层后到达分类器得到最终分类结果,整个模型结构与数据处理过程如图3所示。
Fig.2 4-layer Dense block structure图2 4层Dense block结构
本文针对患者CT影像进行胆囊癌识别,因此需要提取患者CT影像的深层特征。较深的网络往往能提取到完整的特征,但计算量大,结果容易过拟合,而且识别速度缓慢。因此,本文对传统的Dense Net-121结构进行了改进,除了将卷积核替换为三维卷积核外,还改进了Dropout机制和Softmax损失函数。
传统的Dense Net结构中包含Dropout层,该层通过随机丢弃多个神经元来抑制模型过拟合。CNN通过卷积核对影像特征进行提取,卷积操作的特定实现方式使得特征图之间会产生信息冗余,因此Dropout对于CNN的效果有限。Drop Block模块是谷歌团队于2018年提出的一个针对CNN的正则化模块。Dropout与Drop Block的效果比较如图4所示。
Drop Block会将特征图的某一块连通区域置为零,从而强制模型学习其余区域的特征,以此提高模型的抗拟合能力。
在Dense Net网络模型的内部单元结构DenseLayer中,1×1卷积没有考虑到像素与其周围像素点之间的空间关系,而是依赖坐标位置添加了线性变换。因此,在传统的Dense Net网络结构中都会添加非线性的激活函数。Softmax损失函数是常见的深度学习网络损失函数,传统的Dense Net网络结构在输出部分使用的都是Softmax函数与交叉熵损失相结合的方式。本文在最后的全连接层加入中心损失(Center loss)训练网络,在最后输出部分将交叉熵函数替换为Focal-loss进行不平衡校正。
Fig.4 Effect comparison between dropout and dropblock图4 Dropout与Drop Block效果比较
本文实验均在Linux Ubuntu16.04系统环境下进行,深度学习框架采用PyTorch,编程语言为Python 3.7版;模型训练GPU使用NVIDIA TITAN RTX,显存为64G,内存为32G;CUDA版本为10.1,cuDNN版本为7.64。
选取2010-2020年上海交通大学附属新华医院收治的287例胆囊癌患者与100例胆囊良性疾病患者的增强CT影像数据作为原始数据。筛选患者增强CT中的动脉期影像作为数据集,由5名经验丰富的放射科医生对胆囊区域进行勾画并作为感兴趣区域。标注完成后,对原始图像进行三维转换并裁剪标注区域。由于部分患者的影像数据在医生标注过程中被发现存在问题,如没有增强CT、CT影像不正常、标注影像与原始影像大小不匹配等,因此最终入组的数据集由150例胆囊癌与86例良性胆囊疾病(胆囊息肉49例,黄色肉芽肿6例,腺肌症31例)患者构成。其中男100例,女136例,男女比例1∶1.36,平均年龄为62.3岁,将数据集按照6∶2∶2的比例随机划分为训练集142例,验证集47例,测试集47例。
Fig.3 Model structure and data processing flow图3 模型结构与数据处理流程
原始影像数据格式为DICOM(Digital Imaging and Communications in Medicine),是医学图像及其相关信息的国际标准格式(ISO12052),定义了质量能满足临床需要的可用于数据交换的医学图像格式。将多张DICOM格式的影像转换为1个NIFTI(Neuroimaging Informatics Technology Initiative)文件,影像原始大小为512×512。为了提高特征提取的精度并消除多余干扰因素,对原始影像的感兴趣区域进行切割,确保每张影像均包含患者胆囊区域并尽可能减少其他干扰区域大小。感兴趣区域的切割方法如下:找到医生标注区域的中心点,分别向x、y、z 3个方向进行延伸,确保切割后的感兴趣区域包含患者整个胆囊且扩展区域不延伸至原图区域以外,切割后单张影像大小为224×224,每个患者的三维影像文件包含32张CT影像,储存为NIFTI文件格式,切割前与切割后效果比较如图5(彩图扫OSID码可见,下同)所示。
Fig.5 Comparison of image effect before cutting and after cutting图5 切割前后图像效果比较
为了验证本文模型的性能,对多种结构、不同参数的3D-ResNet、3D-Dense Net模型进行分析比较,筛选出最适合于胆囊癌分类的三维CNN。实验过程采用五折交叉验证。
模型评价指标包括准确率(Accuracy)、特异度(Specificity)、灵敏度(Sensitivity)、精确率(Precision)以及ROC曲线。各个指标的计算公式分别表示为:
式中,真阳性TP(True Positives)表示胆囊癌患者样本被目标检测器判别为胆囊癌患者的数量;假阳性FP(False Positives)表示良性胆囊疾病患者样本被目标检测器判别为胆囊癌患者的数量;假阴性FN(False Negatives)表示胆囊癌患者被目标检测器判别为良性胆囊疾病患者的数量;真阴性TN(True Negatives)表示良性胆囊疾病患者被目标检测器判别为非胆囊癌患者的数量;Z表示胆囊癌患者数;C表示良性胆囊疾病患者数。
ROC曲线(Receiver Operating Characteristic Curve)全称为受试者工作特征曲线,其是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(敏感度)为纵坐标,假阳性率(特异度)为横坐标绘制的曲线。AUC(Area Under Curve)为ROC曲线下面积。学者们往往使用AUC值作为模型评价标准,ROC曲线并不能清晰地说明哪个分类器的效果更好,而AUC值越大的分类器效果越好。
不同深度的Res Net和Dense Net模型各项指标比较如表1所示。
Table 1 Performance index comparison of different model structures表1 不同模型结构指标比较
由表1结果可知,在使用ResNet-64网络进行胆囊癌分类时,分类准确率最高为0.65,特异度为0.55,灵敏度为0.74,精确率为0.69。随着网络深度的增加,ResNet-128的分类效果得到提升,准确率可达0.74,灵敏度可达0.88。继续增加网络深度,ResNet-256的分类效果变弱,准确率为0.70,灵敏度为0.80,特异度为0.59。实验结果表明,在ResNet网络体系中,随着网络深度的增加,模型分类性能得到提升,然而增加到一定深度后,模型测试集的分类效果降低,而训练集表现良好,说明模型出现过拟合现象。Dense Net网络也存在该问题,当模型深度达到169后,在测试集的分类效果反而下降。最终实验结果表明,Dense Net模型经过改进后效果均优其他模型,其中Dense Net-121模型结构经过改进后准确率可达0.91,其模型超参数如表2所示,模型训练集与验证集的准确率与损失如图6、图7所示。
可以看出,随着训练epoch数量的增加,训练集与验证集的准确率均稳步增加,而模型损失也逐渐减少,说明改进模型没有明显的过拟合或欠拟合现象,在训练集和验证集中表现良好。改进模型的受试者ROC曲线如图8所示。
Table2 Model super parameter setting表2 模型超参数设置
Fig.6 Changeof accuracy of training set and verification set with the number of epoch图6 训练集与验证集准确率随训练轮数的变化
Fig.7 Change of loss of training set and verification set with the number of epoch图7 训练集与验证集损失随训练轮数的变化
Fig.8 Model prediction ROC curve图8 模型预测受试者ROC曲线
胆囊癌起病隐匿,早期大多无症状,因此当患者发现病变时已经发展至进展期,患者往往因肿瘤分期较晚而失去救治机会。临床对于胆囊癌的诊断主要依赖于传统的影像学检查,如双源CT。然而,腹部双源CT影像识别需要医生有丰富的专业知识与阅片经验,人工阅片不仅耗费大量时间与精力,还可能因为疏忽或主观因素产生误判的情况。
深度学习算法具有学习能力强、覆盖范围广、适应性好、上限高等特点。因此,本文基于深度学习模型,通过提取影像特征实现胆囊癌的诊断,经过实验验证,本文模型在胆囊癌诊断方面具有一定可行性。然而,目前该模型仍存在以下问题:①胆囊癌数据量较少。对于医学影像的研究,数据集的构建是极为关键的一环,但医学数据往往存在收集困难、信息敏感、分布不集中等问题;②深度学习模型的可解释性一直以来为人诟病,目前胆囊癌的诊断金标准为病理学检查,而本文提出的模型是根据患者术前影像数据构建出来的,仅凭影像数据无法完全准确地判断患者是否为胆囊癌患者。此外,深度学习提取的深层特征的具体含义也无法解释,后续工作将考虑加入一些可解释性特征。综上所述,本文提出的基于改进3D-Dense Net的胆囊癌诊断模型具有良好的准确率与可靠性,后续还将进行多中心的大规模实验以推动该模型应用于临床辅助诊断。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!