张 娜,张永寿,李 翔,丛金玉,李徐周,魏本征
(1 山东中医药大学 智能与信息工程学院,山东 济南 250355;2 解放军第960医院医学 工程科,山东 济南 250031;3 山东中医药大学 医学人工智能研究中心,山东 青岛 266112;4 山东中医药大学 第一临床医学院,山东 济南 250355;5 山东中医药大学 青岛中医药科学院,山东 青岛 266112;6 山东青年政治学院 信息工程学院,山东 济南 250103)
膀胱癌是起源于膀胱尿路上皮的一种恶性肿瘤,其发生率位居我国泌尿系统肿瘤的第1位[1]。据统计,男性患该病的可能性约是女性的4倍。我国男性膀胱癌患者的发生率位于恶性肿瘤第7位,并且呈逐年增长的趋势[2-4]。
临床中,膀胱癌的诊断以膀胱镜检查为主,但该方法属于有创检查,且存在对微小肿瘤不敏感、无法确定肿瘤对膀胱壁的入侵情况等缺点[5-6]。MRI因其在组织对比度和软组织分辨率上的优越性,已成为膀胱癌辅助诊断的主要工具之一[7-9]。但在膀胱癌MRI图像中,存在肿瘤区域相对较小、边界不清晰、肿瘤分布不连续等问题(如图1所示),给肿瘤区域分割工作增加了难度。因此,开发快速且精准的膀胱癌MRI图像分割算法辅助临床诊断,成为一个热点问题。
图1 膀胱癌分割中的挑战
近年来,膀胱癌图像分割算法已经取得了一些进展。一些学者采用耦合方向水平集、形态学特征等传统方法对膀胱癌进行分割,但分割精度仍有待提升。此外,部分学者对U-Net算法进行改进来分割膀胱癌图像,改进方式包括在编码层增加空洞卷积或深度可分离卷积等,分割效果显著。虽然这些方法在分割精度方面有所提高,但是在改进过程中引入了额外的模块,导致算法的参数量庞大,运算复杂。
为了解决膀胱癌MRI图像的分割问题,以及弥补现有分割算法中存在的性能与计算成本差距,本文设计了一种新颖的多尺度特征融合的轻量化膀胱癌分割算法(pyramidal convolution lightweight network, PylNet),实现了膀胱癌的快速分割。相较于FCN8s、SegNet等算法,本文算法的Dice系数(Dice similariy coefficient, DSC)可达88.40%,有一定的提高。更重要的是,本文提出的PylNet算法参数量相比其他常用模型的参数量更小,是FCN8s模型的1/13,更适用于临床应用与研究。并且,本文在算法的编码部分设计了一种新颖的金字塔卷积块,能够提取出图像的多尺度特征信息,解决了不同形状和大小的肿瘤区域细节信息丢失的问题,更有利于微小肿瘤区域的提取。同时,本文优化了算法的解码结构,在解码过程中未引入复杂的上采样卷积操作,设计的多尺度特征融合模块提升了解码效率,并有效地降低了参数量。
近年来,为了提高膀胱癌的诊断水平和效率,许多专家学者致力于膀胱肿瘤图像的分割工作。现有的膀胱癌图像分割方法可以划分为传统方法和深度学习方法。
在传统方法方面,Xiao等利用模糊C均值和水平集的方法分割膀胱壁,然后计算其厚度,得到肿瘤的位置[10]。Zheng等联合耦合方向水平集、形态学特征提取等方法获得膀胱的内外壁以及疑似肿瘤区域,提取纹理、灰度、位置特征,选择最优特征进行训练,最后对测试集中的样本准确提取肿瘤区域并使用DSC指标对分割结果进行定量评价[11]。Zhang等通过解决闭合图上的最小割问题来分割膀胱壁,优化针对单个表面和定义表面光滑度和相互作用的几何约束的成本函数获得结果[12]。
在深度学习方面,Ma等开发出一种基于U-Net的深度学习模型,对CT泌尿系造影中的膀胱分割,并把不同条件的数据输入到模型中,比较结果[13]。Dolz等在U-Net的基础上用空洞卷积替代每个卷积块,且将底部网络更换成残差块[14]。Liu等设计出一种新颖的全卷积神经网络来解决膀胱癌分割问题,网络结构由具有金字塔形编码器和解码器的骨干以及空洞空间金字塔池组成,以捕获上下文信息[15]。Cha等开发了一种膀胱癌CT图像分割方法,用治疗前的CT图像训练深度学习神经网络,使用留一法交叉验证进行肿瘤边界检测,并与3D手动分割结果进行对比[16]。韩文忠等提出一种基于U-Net改进的全卷积网络,将卷积层替换为残差块进行下采样,且引入空洞卷积获得特征;同时,对图像加入噪声、调节亮度等来进行数据扩增[17]。
虽然以上研究在膀胱癌图像分割方面均取得了不同程度的进展,但是图像的细节信息没有很好地被利用,且模型的参数量庞大,计算过程较为复杂,分割过程较缓慢。因此,本文设计一种PylNet算法,极大地减少算法模型的参数量和复杂度,提高分割的速度和精度。
本文设计的PylNet算法框架如图2所示,由编码阶段的多尺度特征提取模块和解码阶段的多尺度特征融合模块两个部分构成。对于输入的膀胱癌图像,首先利用多尺度特征提取模块完成膀胱癌图像的特征提取;其次在多尺度特征融合模块中对每个卷积块生成的特征图进行降维,并使用双线性插值将不同卷积块生成的图像插值到相同尺寸大小;最后将插值后的图像进行融合,得到最终的分割结果。
图2 本文算法结构框架图
在目标区域形状不同的图像分类或分割任务中,若使用单一尺寸的卷积核,可能造成部分细节信息遗漏,最终导致算法性能欠佳。2021年,Li等提出了一种PyConvU-Net网络结构,加入了新颖的金字塔卷积(pyramidal convolution, Pyconv)[18]。金字塔卷积的每一层均包含不同大小和深度的卷积核,每一层内部还进行了分组卷积,可在不增加参数量和模型复杂度的前提下,提取多尺度信息,并且在图像分类以及分割任务上都具有很好的性能。
受以上思路的启发,本文算法设计的多尺度特征提取模块包括5个卷积块和4个池化层。卷积块主要用于多尺度特征提取,池化层可对生成的特征图进行降维。如图3所示,每个卷积块由前后2组卷积操作构成,每组卷积操作均包含卷积层、批正则化层和非线性激活函数。由于卷积块中未包含任何池化函数,因此输出的特征图尺寸和输入保持一致。
图3 卷积块结构示意图
在第l层卷积块中,给定输入图像或特征图xl-1∈RH×W×Cin,前一组卷积操作主要采用3×3的卷积核提取xl-1的特征信息,经过卷积等操作后输出xl’∈RH×W×C’。上述过程可表示为
(1)
由图3可知,本文设计的金字塔卷积由3个不同尺寸的卷积核构成,每个卷积核都会输出相同尺寸但通道数不同的特征图,最后将生成的特征图在通道维度进行级联拼接。上述过程可表示为
(2)
F=(Fk1+Fk2+Fk3)。
(3)
得到金字塔卷积输出的级联特征图后,对其使用批正则化和Relu非线性激活函数进行处理。最终,第l层卷积块的输出结果为
xl=Relu(Norm(F))。
(4)
式中:xl∈RH×W×Cout,且本文算法设置Cout=C″,即后一组卷积操作中的特征图尺寸和通道数在卷积前后均相同。
此外,在常规卷积操作中,卷积的参数量为
Np=K2×Cin×Cout。
(5)
式中:K2代表卷积核尺寸相乘;Cin和Cout分别代表特征图的输入和输出通道。在金字塔卷积中,因引入不同尺度的卷积核,因此卷积参数量为
(6)
本文将输出的特征图输入池化层进行降维,然后以相同的过程执行后续的卷积块,5个卷积块分别输出32、64、128、256和512通道的特征图。与仅使用一种卷积核相比,该方式生成的特征图包含的语义特征丰富,更有利于后续的解码过程。
在多尺度特征提取模块中,每个卷积块均提取了不同尺度的语义信息。在多尺度特征融合模块中,针对第l层卷积块生成的特征图xl,本文首先使用1×1的卷积将特征图压缩为1通道:
(7)
获取通道为1的特征图后,本文使用双线性插值方法将F1×1插值至输入图片尺寸,即在解码阶段无需复杂的2倍卷积上采样操作,直接将不同尺度的特征图标准化至相同尺寸。假设特征图F1×1中的某一像素点f(x,y),先找到像素点f附近的4个像素点,分别为Q11(x1,y1)、Q12(x1,y2)、Q21(x2,y1)、Q22(x2,y2),则像素点f(x,y)值可按如下方式估算:
(8)
(9)
(10)
(11)
f(x,y)=A+B+C+D。
(12)
本文数据集来源于山东中医药大学附属医院,包括86名患者共1 320张膀胱癌MRI图像。采用磁共振仪(GE Discovery MR 750 3.0T)对所有患者进行检查,每次扫描80~124个切片,每个切片的大小为512×512像素,像素分辨率为0.5 mm×0.5 mm。另外,切片的厚度为1 mm,切片之间的间隔也为1 mm。三维扫描的采集时间范围为160.456~165.135 s。重复和回声时间分别为2 500 ms和135 ms。图像尺寸统一为512×512,每张图像由3位经验丰富的临床医生标记出肿瘤区域。为测试所提算法的鲁棒性和泛化性能,本文使用五折交叉验证方法对数据集进行划分。
本文算法采用PyTorch 1.4深度学习框架[19]编写。算法在Intel 6246 CPU、NVIDIA Tesla V100 32 GiB GPU上进行训练和测试。使用随机梯度下降(stochastic gradient descent,SGD)作为优化器,初始算法学习率设置为0.1,随着训练次数增加,学习率逐渐降低。采用二进制交叉熵(binary cross entropy,BCE)函数作为损失函数,公式如下:
A=PGT(a,b),
(13)
B=PPRD(a,b),
(14)
LBCE=-∑(a,b)[AlogB+(1-A)·
log(1-B)]。
(15)
式中:(a,b)表示某一像素点;PGT(a,b)为真实标签的概率;PPRD(a,b)为预测标签的概率。
本文用DSC(式中简记为DSC)、交并比(intersection over union,IOU,式中简记为IoU)、参数量、推理时间以及模型计算力(floating point operations,FLOPs)5个评价指标来对膀胱癌区域分割效果做出评测。
(16)
(17)
式中:TP表示正样本被正确地判断为正样本的数目,FP表示负样本被错误地判断为正样本的数目;FN表示正样本被错误地判断为负样本的数目[20]。
模型推理时间(Time)指模型完成分割任务所耗费的平均时间,与模型的分割速度成正比。FLOPs为计算量,用来衡量模型的复杂度,且与复杂度成正比。
3.3.1 不同算法的性能比较
为了验证所提PylNet算法的性能,将其与不同的算法模型进行对比,实验结果如表1所示。其中,U-Net网络包含了批正则化层,且进行了补零操作,使其输出尺寸为512×512。BiSeNet[21]是一种包含空间细节分支和分类语义分支的双边分割网络,可实现高精度和高效率的语义分割。由实验结果可知,本文算法在DSC指标和IOU指标上均取得了最好的效果,IOU指标较FCN8s提高26.86%,且模型的复杂度低,推理时间较小。
表1 不同算法的性能比较
本文对上述算法的参数量进行了统计,统计结果如图4所示。从图中可得,PylNet算法的参数量较具有复杂卷积上采样的U-Net降低了24.93×106。主要原因是PylNet算法优化了网络的解码结构,提高了解码效率,且受益于设计的多尺度特征提取模块,使得PylNet算法未引入复杂的卷积上采样操作,在IOU等指标上取得了比U-Net更优的结果。
图4 不同算法的参数量比较
3.3.2 消融实验
本文通过消融实验进一步验证所提卷积块的有效性。实验结果如图5所示,其中Pyconv代表网络下采样过程中,每层卷积块包含所设计的金字塔卷积。本文同时使用常规的3×3卷积代替金字塔卷积以实现无金字塔卷积的效果。由实验结果可得,加入金字塔卷积后,算法的分割性能得到了一定程度的提升,说明本文设计的金字塔卷积以及卷积块可有效提取多尺度的语义信息,有利于不同形状和大小的膀胱癌病灶区域分割。
图5 金字塔卷积性能测试结果图
为进一步探究金字塔卷积中卷积核的大小和通道比例对算法性能的影响,本文对不同大小以及数量的卷积核进行实验对比,实验结果如表2所示。
表2 不同卷积核性能测试结果统计表
实验发现,当卷积核为3、5、7,通道比例为1/2、1/4、1/4时,算法的性能最佳。此时,每层卷积块中融合的特征图以3×3卷积生成的为主,说明在当前的膀胱癌分割任务中,肿瘤的区域较小,使用较小的感受野,即小尺寸的卷积核可以更好地提取图像底层的像素级特征。
从测试集中任意选取2张图像,不同算法的分割结果对比如图6所示。从图中可得,针对小目标肿瘤边界的分割,PylNet算法分割效果优于其他算法模型。
图6 分割结果图
综上所述,本文设计的PylNet算法模型与U-Net、FCN8s、DeepLabV3+等常用分割模型相比,分割精度有了一定的提升,算法的分割效率较高,且参数量更少,为临床应用与研究提供了一定的帮助。
本文设计了一种PylNet算法模型,将膀胱癌图像输入模型,提取并融合其多尺度特征以实现肿瘤区域的分割。模型参数量为9.60×106,是FCN8s的1/13。相比同类模型,PylNet模型大程度地减少了计算量和模型复杂度,实现了对膀胱癌区域的快速分割,提高了膀胱癌的诊治效率。研究结果表明,本文设计的PylNet算法有较好的分割性能,为临床医生诊断膀胱癌并确定患者的治疗方案提供了有价值的参考。因本文采用的数据集较小,今后还需要采集更多数据进一步验证模型。此外,本文算法在保证精度的情况下,实现了轻量级分割,对准确度的提升较小,在今后的研究中仍需进行改进以提升膀胱癌区域分割效果。