沈志强 林超男 潘 林 聂炜宇 裴 玥 黄立勤 郑绍华
(福州大学物理与信息工程学院,福州 350108)
结直肠癌(colorectal cancer,CRC)是全球第二大常见的癌症致死病种[1]。全球癌症数据统计显示,2020年有190 万以上的CRC 病例,其中死亡病例93.5 万,约占癌症死亡病例的1/10[1]。大多数CRC 来源于腺瘤性息肉,最初在结肠和直肠内壁上呈良性生长,随着时间的流逝而转变成恶性肿瘤。研究显示,早期诊断的CRC 患者5年相对生存率可达90%,但至晚期诊断下降到只有14%[2]。可见,结肠息肉的早期发现和诊疗至关重要。结肠镜检查是一种被广泛使用于临床的结肠筛查和息肉检测技术[3]。但是,在结肠镜检测过程中,结肠内部环境复杂以及存在潴留液体、肠黏膜反射等现象,增加了内镜医生的负担。最近的临床研究表明,平均每个受试者大约有25%的息肉会被遗漏[4]。计算机辅助诊断(computer-aided diagnosis,CAD)通过检测或分割出息肉区域,有可能辅助医生提高息肉的检出率,并减轻医生的负担。
在过去的20年,已经有许多基于特征匹配的息肉检测和分割方法被提出[5],有基于模糊聚类的息肉分割方法[6],基于息肉轮廓区域颜色、形状和曲率分析的特征提取方法[7],基于超像素特征勾勒息肉区域并融合稀疏自编码器提取具有不同显著性特征的方法[8],采用第二曲率显著性区域测量的息肉结构特征提取方法[9]等。但是,由于息肉区域的多样化纹理、形状和颜色,以及与背景区域的极大相似性,所以这些方法都无法达到较好的性能,精确的息肉分割仍极具挑战性。
近年来,深度学习在计算机视觉领域取得了巨大的成功。具体来说,卷积神经网络(convolutional neural network,CNN)在图像分类[10-11]、图像分割[12]和目标检测[13]等视觉任务中取得了一系列突破。与此同时,深度学习方法在医学图像处理领域(如医学图像分割和病变检测等方面)也取得了令人瞩目的成果。特别地,编解码网络U-Net[14]已经成为目前最流行的分割框架之一。
U-Net 编解码器的处理单元是双层卷积层,编码器和解码器网络中的相应单元由跳层路径(skip connection,SC)所连接。尽管U-Net 在图像分割中取得了巨大的成功,但它的网络结构仍然存在两个局限:一是编解码器对应的特征之间存在语义鸿沟[15-17];二是双层卷积层无法学习多尺度信息[17]。为了缓解编码器和解码器特征映射之间的语义鸿沟,有研究者提出了一种名为U-Net++的深度监督网络,其编解码器则由一系列巢状跳层路径所连接[15-16]。然而,嵌套连接极大地增加了网络的复杂度,且忽略了对每个处理单元内部结构的改进。接着,又有学者提出了一种多级残差编解码网络(MultiResUNet),包括用于学习多尺度特征图的多级残差块(MuitiRes Block)和用于减少语义鸿沟的残差路径(ResPath)[17]。然而,其编码器和解码器网络中的MultiRes Block 与ResPath 中的处理单元是不同的,这种差异导致MultiResUNet 将U-Net 的两个局限性割裂看待,会导致局部最优的情况发生,即无法减小因编解码器的处理差异而产生的语义差距。
本研究提出一种基于同构化改进的U-Net 网络(dense residual unit based identical network,DRINet),可同步解决U-Net 中存在的上述两个问题。首先,该网络将同构单元(identical unit,IU)引入到原始U-Net 的编解码器和跳跃连接中,以构成INet;然后,设计一个基于卷积单元(convolutional units,CU)的同构网络(CINet)作为过渡模型,其处理单元与原始U-Net 相同,即通过在跳跃路径中引入与编解码器相同的处理单元,可以显著地抑制由处理差异引起的语义鸿沟。接着,为了使网络能够学习多尺度特征,提出了一种密集残差单元(dense residual unit,DRU),并以一种基于DRU 的同构网络DRI-Net 作为最终模型。经验证,DRI-Net 能够有效降低语义差异,并能够学习多尺度信息。
利用公开数据集CVC-ClinicDB[18-19]评估DRINet 的分割性能。CVC-ClinicDB 数据集由612 帧结肠镜图像组成,抽取自29 个病例的结肠镜视频。单幅图像的分辨率为388 像素×284 像素。该数据集的结肠镜图像都至少含有1 个息肉标注,少数图像含有2 个息肉标注。在上述数据集中,息肉在形状、大小、结构、方向等方面变化很大,且与背景之间的界限非常模糊,很难区分(见图1),这对精确的息肉分割带来很大的挑战。模型对于不同分辨率的结肠镜图像,在输入时对其分辨率进行归一化,统一为256 像素×256 像素。为验证分割网络改进对结果的影响,未使用数据增强。
图1 4 个形态、大小和位置相异的息肉肠镜图像(虚线框为息肉区域)Fig.1 Four polyps with various shape,size,and position (Polyp regions highlighted by dotted lines)
1.2.1 同构网络I-Net
I-Net 的设计思路是在跳层路径中引入与编解码网络相同的处理单元,以便有效减少因处理差异而引起的语义鸿沟。此外,在I-Net 中嵌入合适的处理单元,使框架能够在降低语义鸿沟的同时,提取多尺度特征。
如图2所示,将I-Net 按照跳层路径划分为5 个层级。第1 个跳层路径有4 个IU。在第1 层中,从解码器输出的特征图经过8 个IU,包括4 个IU 及其后续的4 个最大池化层和4 个IU 及其后续的4个转置卷积层。编码器单元和解码器单元之间有对称的上采样和下采样操作:下采样操作通过牺牲空间信息扩充特征通道来聚合语义信息,而上采样操作则恢复空间信息。由于在跳层路径中没有上采样和下采样,因此在第一层跳层路径中引入了4个IU,经过处理后的特征图即可聚合与解码器输出相当的语义信息。由于语义鸿沟逐层减小,在第2、第3 和第4 跳跃路径层中分别引入3、2、1 个IU。第五级的UI 可视为编码器的最后1 个单元和解码器的第1 个单元,因此将其视为1 个独立的跳层路径。在跳层路径的末尾,两组特征映射实现融合。
图2 I-Net 网络结构Fig.2 Overview of Identical Network
为了验证I-Net 的有效性,首先将IU 实例为CU构成CI-Net,作为过渡模型。
1.2.2 基于卷积单元的同构网络CI-Net
在CI-Net 模型中,同构单元用卷积单元初始化,如图3所示。与原U-Net 相比,CI-Net 在跳层路径中引入额外的处理单元,即卷积单元。CI-Net 的跳层路径类似于能够聚合语义信息的迭代深度聚合层[23]。每个卷积层的滤波器尺寸为3×3,其后是一个批量归一化(batch normalization,BN)层和一个整流线性单元(rectified linear unit,ReLU)。CI-Net是I-Net 的过渡模型,其模型细节如表1所示。
表1 CI-Net 和DRI-Net 的架构细节Tab.1 The architecture details of CI-Net and DRI-Net
图3 双层卷积单元Fig.3 Convolutional Unit including two convolutional layers
1.2.3 密集残差单元
为了精确分割息肉,模型应该有足够的能力学习复杂的上下文信息,并分析不同尺度的感兴趣区域。然而,正如文献[17]中提到的,U-Net 的处理单元是两个3×3 的卷积层,相当于一个5×5 的卷积操作,因此只能从输入的特征映射中提取单尺度特征,使处理单元具备提取多尺度特征的能力,直接方法是将3×3、5×5 和7×7 的卷积层融合在同一单元中。另一种方法是级联一系列3×3 的卷积层,然后将这些层的输出特征拼接起来,生成多尺度特征输出。
在MultiResUNet 中,受InceptionNet 启发,在MultiRes Block 中级联3 个3×3 卷积层,并将各层的输出特征拼接,以此获得多尺度特征,并结合残差连接以实现特征复用[17]。虽然卷积层的简单级联可以获得多尺度特征,但是在同一个网络中,大量的卷积层堆叠容易造成信息丢失。密集连接在级联多个卷积层的基础上,每个卷积层都将同一模块内的所有前置卷积层的输出特征作为输入,提到了特征利用,防止信息丢失[10]。受到密集连接的启发,在保留MultiRes Block 优点的基础上,利用密集连接对其进行改进,提出了密集残差单元(dense residual unit,DRU)。DRU 充分利用了密集连接和残差连接的思想,使模型能够快速收敛,并学习更丰富的特征信息。DRU 的结构如图4所示。DRU由两个分支组成。主分支包括一个压缩输入特征映射的1×1 卷积层,以及3 个学习多尺度特征的3×3 卷积层;将特征映射输入到1×1 卷积层压缩通道信息,然后将输出的压缩特征映射作为3×3 卷积层的输入;后续的3×3 卷积层将其前一层的输出作为输入;子分支包括一个1×1 的卷积层,其将输入特征转换到与主分支输出特征具有相同的通道数;最后,将这两个分支的输出特征图相加,再穿过BN 层和ReLU 激活层。
1.2.4 基于密集残差单元的同构网络DRI-Net
DRI-Net 将I-Net 的同构单元设置为密集残差单元(见图4)。将DRU 插入到I-Net 中,DRI-Net 不仅可以减少语义鸿沟,还能学习多尺度特征。如本文第1.1 节的描述,语义信息是从上到下通过牺牲空间分辨率聚合的。因此,从上到下,DRU 的卷积核个数分别为32、64、128、256、512。DRI-Net 的模型细节如表1所示。
图4 密集残差单元Fig.4 Dense residual unit
1.2.5 损失函数
虽然复杂的损失函数(如Dice 损失函数[20]和focal loss[21]函数)可以进一步提高模型的分割性能,但为了更直接地比较模型的有效性,在消融实验中使用二进制交叉熵函数(binary cross entropy loss,BCE)。交叉熵损失定义为
式中,Y表示标注图像,表示模型预测输出。
在泛化性研究中,利用BCE 损失函数和Dice损失函数的加权组合函数,对模型进行优化。WCED 损失函数形式如下:
式中,β为0.5。
BCE 损失的定义见式(1),Dice 损失定义为
式中,Y表示标注图像,表示预测图像。Dice 的定义见式(5)。
由于模型训练时采用批处理操作,因此实际训练中使用的损失函数形式为
式中,N表示每批图像的数量,L(Y,)为BCE(Y,)或WCED(Y,)。
1.2.6 评价指标
采用K折交叉,验证评估模型的性能。在K折验证法中,一个数据集被随机分成K个子集。在每个K折上执行以下步骤:第一步,使用K-1 折数据作为训练数据训练模型;第二步,生成的模型在数据的第K折数据上进行验证。本研究取K=5。
使用Dice 系数和交并比作为评价指标,评估最佳分割结果。
Y和之间的Dice 系数定义为
Y和之间的交并比定义为
式中,Y表示标注图像,表示预测输出图像。
1.2.7 实验设置
在PyTorch[22]深度学习平台上完成实验,通过Adam 优化器训练模型;学习速率固定为1×10-4,epoch 为150。在单个NVIDIA GeForce GTX 1080 进行实验。
在CVC-ClinicDB 的实验中,将所提出的CI-Net和DRI-Net 与U-Net、UNet++和MultiResUNet 进行比较。CI-Net 作为I-Net 的中间模型,DRI-Net 作为I-Net 的最终模型。分别从分割性能和模型参数量两方面考察模型在分割任务上的精度和效率。
在消融实验中,分别探究DRI-Net 网络结构中各部分的作用。对DRI-Net 相应的组成模块进行消融,分别消融同构网络、残差连接和密集连接,得到3 个消融模型,分别为:消融同构网络的DRI-Net(DRI-Net_w/oI)、消融残差连接的DRI-Net(DRI-Net_w/oR)和消融密集连接的DRI-Net(DRI-Net_w/oD)。DRI-Net_w/oI 消融DRI-Net 跳层路径中的DRU,以研究同构网络对模型分割性能的贡献。DRI-Net_w/oR 消融DRU 的残差连接,以验证残差连接对DRU 的作用。DRI-Net_w/oD 消融DRU 的密集连接,以验证密集连接对DRU 的作用。
在泛化性实验中,使用包含2 000 幅图像的ISIC 2017 训练集进行模型训练,使用包含600 幅图像的官方测试集进行测试。本实验采用ISIC 2017挑战中提出的评价指标,包括准确性(ACC)、Dice、IoU、敏感性(SEN)和特异性(SPE)。其中,Dice 和IoU 的定义见式(5)、(6)。
准确性定义为
敏感性定义为
特异性定义为
最终排名根据IoU 得出。
在CVC-ClinicDB 上的分割结果如表2所示。在分割精度方面,DRI-Net 取得Dice 为90.06%±1.74%,IoU 为85.52%±1.50%。在Dice 上,DRINet 以8.50%、7.03%和3.28%的优势分别超过UNet、U-Net++和MultiResUNet;在IoU 上,DRI-Net 以11.03%、7.10%和3.46%的优势分别超过U-Net、UNet++和MultiResUNet。结果表明,相比于其他方法,DRI-Net 实现最优的分割精度。另一方面,DRINet 的模型参数量为7.75 M,与U-Net 的模型参数量(7.76 M)近似,稍高于MultiResUNet 的模型参数量(7.26 M),显著低于U-Net++的模型参数量(9.04 M)。结果表明,DRI-Net 具有与最优的分割模型同一量级的模型参数量。综上所述,DRI-Net以最少参数实现最优分割性能。
在CVC-ClinicDB 上进行消融实验,定量分析结果如表2所示。相比于基础模型U-Net,3 个消融模型均实现分割性能的提升,其中DRI-Net_w/oI 取得的分割性能接近于DRI-Net 的分割性能。为了更直观地理解数据结果,将此定量结果绘制成箱线图,如图5所示。消融实验的定性结果如图6所示。DRI-Net_w/oI 产生的分割边界受到了背景噪声的干扰,DRI-Net_w/oD 倾向于欠分割,DRI-Net_w/oR倾向于过分割,显然可视化结果与定量数据是一致的。综合上述分析,DRI-Net 网络中的各模块均对所提方法有一定贡献。
图5 消融实验结果箱线图Fig.5 The box plots of ablation study
图6 在CVC-ClinicDB 数据集上的定性结果Fig.6 The qualitative results on CVC-ClinicDB dataset
表2 消融实验的5 折交叉验证结果Tab.2 Segmentation results of 5-fold cross-validation of ablation study
为了验证DRI-Net 在其他医学特定领域上的表现,增加了在皮肤镜图像上的实验。国际皮肤成像合作(International Skin Imaging Collaboration,ISIC)2017 挑战赛的测试集已经公开,在ISIC 2017 上对DRI-Net 进行评估,并将DRI-Net 与ISIC 2017 挑战赛的前5 名解决方案以及目前最优的皮肤病变分割方法[25-26]进行比较。
表3给出了在ISIC 2017 上的实验结果。可以看出,DRI-Net 取得了与目前最优方法Sep-UNet 相当的分割性能,并且优于ISIC 2017 排行榜前五的分割方法。在Dice 上,以6.23%、2.89%和1.31 的优势分别超过U-Net、U-Net++和MultiResUNet。在IoU 上,以6.96%、3.29%和2.06 的优势分别超过U-Net、U-Net++和MultiResUNet。ISIC 2017 数据集上的定性分割结果如图7所示,定性分割结果与定量指标相契合,DRI-Net 的分割结果(黄线)能较好地拟合真实标签(绿线)。以上结果表明,DRI-Net在其他模态数据集上具有良好的泛化性能,且取得与目前最优模型相当的分割结果。
图7 ISIC 2017 数据集分割实例(绿线:标注;蓝线:U-Net;紫线:U-Net++;红线:MultiResUNet;黄线:DRI-Net)Fig.7 Segmentation results of representative cases on ISIC 2017 dataset (Green line: ground truth;Blue line: U-Net; Purple line: U-Net++; Red line:the proposed method)
表3 在ISIC 2017 数据上的分割结果Tab.3 Segmentation results on ISIC 2017 dataset
本研究提出DRI-Net,以解决U-Net 存在的局限性:第一,编解码器对应的特征之间存在语义鸿沟[15-17];第二,双层卷积层无法学习多尺度信息[17]。设计一种全新的分割深度学习网络,应用于结直肠息肉分割,实现较优的分割性能,并在皮肤镜图像中验证其泛化性,具有一定的临床应用潜力。
从表2看出,相比于U-Net,DRI-Net 在息肉分割性能上有显著提升,由此证明DRI-Net 的改进策略是切实有效的。相比于MultiResUNet,DRI-Net 在息肉分割性能上也有提升。结果证明,此性能的提升源自于同构网络极大地抑制因处理差异导致的语义鸿沟。此外,CI-Net 相对于MultiResUNet 在分割精度上的提升也能进一步证明上述结论。虽然CU 只提取单一尺度特征,但CI-Net 借助同构网络,减少了特征间的语义鸿沟,抵消了单尺度特征的局限性。然而,与DRI-Net 相比,虽然CI-Net 的网络规模略大,但 DRI-Net 在 Dice 上比 CI-Net 高出1.43%,在IoU 上比CI-Net 高出0.56%。此性能差异证明DRU 优于CU,具备学习多尺度特征的能力。以上结果证明,同构网络和密集残差单元的结果使DRI-Net 能够有效克服U-Net 存在的局限性。
消融实验结果表明,DRI-Net 与DRI-Net_w/oI相比性能提升,证明了同构网络的有效性;DRI-Net与DRI-Net_w/oD、DRI-Net_w/oR 的对比分别证明,密集连接和残差连接有助于提高模型的学习能力。
图6的箱线图表明,DRI-Net 的5 折交叉验证结果更集中,模型更稳定。此外,DRI-Net_w/oI 相对于U-Net,在分割性能上有较大提升。由此可见,多尺度特征能够学习分割目标的尺度变化,对于分割性能的提升是明显的。相比之下,DRI-Net_w/oD 和DRI-Net_w/oR 相对于U-Net,在IoU 上的提升幅度稍低。因为同构网络减少的是由于编解码器处理差异而造成的语义鸿沟,主要是修复分割细节,所以在IoU 指标提升上相对不显著。已有研究证明,分割细节修复是更困难的任务[17,26]。综上所述,由密集连接和残差连接构成的多尺度模块主要学习分割目标的尺度变化;同构网络设计减少因处理差异造成的语义鸿沟,主要修复分割细节。由上述分析可知,同构网络、密集连接和残差连接均对DRINet 取得的结果具有一定贡献。
表3泛化性研究的结果表明,DRI-Net 在皮肤镜图像的分割结果与目前的最优方法[25-26]相当,并且优于ISIC 2017 排行榜前五的分割方法。同时,DRI-Net 也优于U-Net、U-Net++和MultiResUNet。由图5可以看出,DRI-Net 能够较精确地定位病灶区域,并描绘出目标区域的边缘细节。以上结果证明,DRI-Net 在其他模态数据集上具有良好的泛化性能。
已有研究证明,U-Net 编解码网络连接的语义特征之间存在语义鸿沟[15-17,20,26]。U-Net + +和MultiResUNet 通过实验结果证明语义鸿沟的存在,并通过改进网络结构,减少特征间的语义差异[15-17]。V-Net 通过在编解码单元之间引入残差连接,保证特征传递中能充分利用前级的特征信息,从而减少特征之间的语义差异[20]。DAV-Net 在VNet 的基础上引出空间和通道的双重注意力机制,以对特征进行重校准,从而使重要特征能够更高效传递[26]。通过实验证明,特征间的语义鸿沟是由于编解码器输出特征间的处理差异造成的,并通过同构网络有效降低语义差异,实现更精确的分割结果。然而,对语义鸿沟的描述是通过定性分析得到的,这对于进一步提高分割性能具有指导意义。在下一步的工作中,计划将语义鸿沟的定量描述项作为损失函数的优化项,然后通过训练优化降低语义差异。
针对结肠镜检查时人工判读容易造成息肉漏检的问题,提出一种基于同构化改进的U-Net 网络DRI-Net。DRI-Net 网络不仅能够缓解U-Net 网络的编解码特征间的语义鸿沟,且具备提取多尺度特征的能力,具有重要的临床参考价值,对其他医学图像的分割任务也有一定的指导意义。