调整窗宽/窗位对卷积神经网络模型自动筛选胰腺肿瘤CT图像性能的影响
2023-02-23纪建兵杨媛媛
纪建兵,陈 纾,杨媛媛
(1.福建商学院信息工程学院,福建 福州 350012;2.澳门城市大学创新设计学院,澳门 999078;3.福建医科大学附属协和医院基本外科,福建 福州 350001)
早期发现及诊断胰腺肿瘤是长期困扰临床的重大难题[1-3]。通过卷积神经网络(convolution neural network,CNN)自动筛选存在肿瘤的CT图像可提高阅片效率,有利于早期检出肿瘤。窗宽及窗位是CT特有可调节属性[4],能改善图像质量,获得更好的人眼识别肿瘤效果,但其作为图像预处理方法用于CNN的效能尚不明确。本研究基于临床常用调窗参数(窗宽120~500 HU,窗位30~50 HU),观察调整窗宽/窗位对于CNN模型自动筛选存在胰腺肿瘤的CT图像性能的影响。
1 资料与方法
1.1 数据集 医学图像分割十项全能挑战赛中胰腺CT数据集(Task07)[5]含281例导管内黏液瘤、胰腺神经内分泌肿瘤及胰腺导管腺癌并接受胰腺肿瘤切除术患者腹部门静脉期CT数据(胰腺肿瘤已标记),以3D形式(宽×高×图像幅数)存储每例数据,空间分辨率512×512像素,层厚0.7~7.5 mm含37~751幅图。将全部数据解压为2D图像后,以6∶4比例将其分为训练集及测试集。训练集共15 346幅图像,其中33.96%(5 212/15 346)存在胰腺肿瘤;测试集共11 373幅图像,34.26%(3 896/11 373)存在胰腺肿瘤。以独热编码重新标记每幅图像,存在胰腺肿瘤时记为向量[0,1],不存在则记为[1,0]。
1.2 实验平台 Intel(R) CPU,硬件环境Xeon(R) CPU E5-2697 V2,GPU为NVIDIA GeForce RTX2080,内存64 G;Windows 10 64位系统。采用Python 3.8语言及PyCharm 2019.2.3编辑器编程,Tensorflow 2.3.0深度学习框架。
1.3 图像处理 先根据公式(1)对以12位(4 096个灰阶)或16位(65 536个灰阶)存储[6]的原始CT图I0进行转换,得到单位为HU的CT值图像Ihu。
Ihu=I0×SL+IN
(1)
其中,SL及IN分别为扫描所用斜率及截距值,SL对应的头文件编码为0028|1053,IN为0028|1052。
之后处理窗宽/窗位,截取CT值范围,并重新映射为0~255的像素灰度值,见公式(2)。结合临床选取窗位为30、40及50 HU,窗宽范围端点为120、300和500 HU,加以组合配对形成9组参数,调整原始数据集的窗宽/窗位,并将原始数据直接映射到0~255像素灰度值处理,共得到10组数据。
(2)
其中,WW为窗宽,WL为窗位。
1.4 CNN模型
1.4.1 构建网络结构 于ImageNet挑战赛冠军模型中选取Alexnet[7]及Resnet[8]两种网络作为基本结构,对其网络结构、参数量级和分类器进行适用性修改,得到4个CNN模型。Alexnet网络模型卷积层(Conv)数量较少,且混合了3种不同大小的感受野,含5个卷积层、3个最大池化层(MaxPool)、2个批量规范化层(Batch Normalization)及2个全连接层(FC);以ReLU函数激活卷积层,池化核大小为3×3。通过配置不同卷积核数得到Alexnet-V1(约630万参数量)和Alexnet-V2(约136万参数量)两个模型。见图1。
图1 Alexnet网络模型结构
Resnet网络模型网络层数较深,通过残差连接防止梯度消失,增强模型在提取特征过程留存有效信息的能力;其结构包含20个卷积层、8个残差连接、1个全局平均池化层(global average pool)和1个全连接层。通过配置不同卷积核个数得到Resnet-V1(约292万参数量)和Resnet-V2(约76万参数量)两个模型。见图2。
图2 Resnet网络模型结构
1.4.2 模型训练及应用 在模型中加入数据增强[9]以提高其泛化能力,从以下方式中实时随机选择增强方法:①旋转图像,随机选取10°以内角度旋转;②缩放图像,随机选取10%内缩放值进行缩放;③平移图像,随机选取移动范围5个像素内的距离平移;④以图像垂直中轴线为中心镜像;⑤以图像水平中轴线为中心镜像。采用二元交叉熵损失函数计算损失值,见公式(3)。
(3)
其中,N为批量大小;y为真实标记,yi∈{0,1};p为模型的预测结果,pi∈[0,1]。
调整窗宽/窗位后,将10组数据中的训练集分别导入4个CNN模型进行训练,以相应测试集评估模型筛选存在胰腺肿瘤CT图像的性能;输入模型图像为单通道,设定类别数为2,调整图宽、高为256,设置重缩放因子为1/255;每次喂入模型40幅图像,设初始学习率为0.001,以Tensorflow2.3.0框架的Adam优化器和fit_generator迭代器完成训练。将测试集图像导入结果模型进行筛选,确定图像是否存在胰腺肿瘤,模型输出向量最大值所在位置(argmax)为1时判定为阳性(存在肿瘤),否则为阴性(不存在肿瘤)。
1.5 模型评价 以准确率(accuracy,Acc)、敏感度(sensitivity,Sen)和特异度(specificity,Spe)评价CNN模型筛选测试集CT图中是否存在胰腺肿瘤的性能。计算公式(4~6)如下:
100%
(4)
(5)
(6)
其中,TP为模型筛选的真阳性,TN为真阴性,FP为假阳性,FN为假阴性。
以Alexnet-V1、Alexnet-V2、Resnet-V1及Resnet-V2模型筛选结果的平均值为CNN模型最终结果,以±s表示。
2 结果
相比原始CT图,调整窗宽/窗位后,胰腺肿瘤区域视觉辨识度更佳。固定窗宽、分别设窗位为30、40、50 HU时,图像无明显视觉差异。固定窗位时,缩小窗宽可增强图像对比度,增加窗宽可使图像显示更多细节。见图3。
图3 调整腹部CT图窗宽/宽位后映射为0~255的像素灰度值示意图 A、B.原始CT图,图B中黄色区域为胰腺肿瘤位置;C.胰腺肿瘤区域;D~F.窗位30 HU,窗宽120 HU(D)、300 HU(E)、500 HU(F);G~I.窗位40 HU,窗宽120 HU(G)、300 HU(H)、500 HU(I);J~L.窗位50 HU,窗宽120 HU(J)、300 HU(K)、500 HU(L)
四种模型对测试集无调窗数据的筛选结果相同,Acc均为34.26%,Sen均为100%,Spe均为0。调整测试集窗位均为30 HU时,CNN模型在窗宽300 HU图像中的Acc及Spe最高,分别为(84.17±1.89)%及(77.91±1.96)%;调整窗位为40 HU时,CNN模型在窗宽300 HU图像中的Acc、Sen和Spe最高;窗位为50 HU时,CNN模型在窗宽300 HU图像的Acc、Sen和Spe亦最高。见表1。
表1 不同窗宽/窗位下CNN模型筛选测试集存在胰腺肿瘤CT图像的性能(%)
3 讨论
应用CNN模型高效、准确筛选、判断CT图像中是否存在肿瘤有利于早期发现和初步诊断胰腺肿瘤[10]。
临床通过调整窗宽/窗位改善CT图视觉效果[11];而CNN处理的是以数值表达的离散像素信息,与肉眼视觉工作机制存在差异。既往研究[12]推荐胰腺及相关组织窗位为30~50 HU,窗宽为120~500 HU。本研究以公开数据集为对象,采用临床常用胰腺CT调窗参数,以4个CNN模型评估图像预处理中调整窗宽/窗位对于模型自动筛选含胰腺肿瘤CT图像的性能的影响。
Acc是评估CNN模型区分阳性与阴性图像性能的关键指标。本研究构建的4种模型筛选测试集无调窗数据的Acc均为34.26%,此即阳性图像在测试数据中的占比,表明模型将测试集所有图像均判定为阳性,存在不合理性,原因在于原始CT图中涵盖过多与筛选目标无关的信息,CNN模型无法学习到胰腺肿瘤特征,导致对阳性图像有强烈导向(Sen均为100%)而丧失了筛选阴性图像的能力(Spe均为0),故以CNN模型筛选CT图是否存在胰腺肿瘤时,应在图像预处理过程中初步剔除与肿瘤无关的信息。本研究以调整窗宽/窗位方式进行图像预处理,使CNN模型自动筛选的Sen均≥93.00%,即对胰腺肿瘤敏感性佳。
固定窗宽时,调整窗位为30、40及50 HU,CNN模型自动筛选测试集胰腺肿瘤图像的Acc、Sen、Spe相近,表明窗位为30~50 HU(间隔10 HU)对CNN模型自动筛选含胰腺肿瘤CT图像性能无明显影响;调整窗宽为300 HU时,不同窗位下,CNN模型自动筛选的Acc和Spe均优于窗宽120 HU及500 HU,表明窗宽对CNN模型筛选性能的影响较大。窗宽为120 HU时,CNN模型区分阳性与阴性图像的能力弱于窗宽300 HU时,表明CT值截取范围较小可致部分与肿瘤相关的特征信息被排除,CNN模型难以获得较全面的目标特征。窗宽设定为500 HU时,CNN模型筛选的Acc和Spe波动大,表明CT值截取范围过大可致特征空间中存在过多冗余信息,此时Acc过度依赖于CNN模型结构。本研究设窗位为30、40、50 HU,窗宽为300 HU时,CNN模型的综合指标最优;窗宽/窗位为300 HU/40 HU时,CNN模型的Acc及Spe最高,提示窗宽/窗位为300 HU/40 HU时CNN模型自动筛选含胰腺肿瘤CT图像的有效性及稳定性最佳,使不同CNN模型均有更好的鲁棒性。
本研究的局限性:仅基于临床常用调窗参数进行分析,有待细化参数以获得最优参数区间;且CT图像在空间上仍有较多与胰腺无关区域[13],有待验证可否通过粗定位算法裁剪图像、结合多尺度提取特征[14-15]进一步提升CNN模型的筛选性能。
综上,调整窗宽/窗位可在CNN自动筛选胰腺肿瘤CT图像预处理过程中初步排除冗余信息,合理设置窗宽/窗位能有效提高CNN模型筛选性能。