王文欣,贺煜航,陈 刚
(武汉大学国家网络安全学院,武汉 430072)
图像分割是指将图像分成若干具有相似性质区域的过程。传统的分割方法包括阈值分割、边缘检测、聚类、遗传算法、区域生长分割法、深度学习等[1]。医学影像分割[2-3]作为医学影像分析的核心任务,需要有经验的医生对脏器、病灶进行精准分割。当图像存在多个目标物体时,深度学习分割多个目标就变成了语义解析的任务。在当前医学影像分割中,语义目标识别的主要任务是对主要骨结构(肋骨、椎骨、头骨等)、主要器官(肺部、心脏、肝脏等)以及一些解剖标记点(如肝脏顶部、主动脉弓)进行识别、配准和分割,采用深度学习进行医学影像分割时,需要区分病灶或器官。但是医学影像分割所需较高的分割精度和稳定性,不正确或不稳定的分割将会直接影响后续计算,从而失去分割意义。
全卷积网 络(Fully Convolutional Network,FCN)[4]通过将深层网络的全连接层改为卷积层,从而保存分割的位置信息,分割结果取决于池化层输出的上采样倍数,分割精度与分割后语义信息呈负相关。文献[5]提出U-Net 网络将跨越连接原理应用于分割问题,利用底层信息补充高层信息,有效提高分割精度。在心脏和大血管分割的问题上[6],稠密连接的卷积网络(DenseNet)[7]将任意两层网络连接起来,以最大程度地保存网络信息流和梯度流,降低参数量的同时也解决了梯度消失问题。
FCN、U-Net 以及各种分割网络都基于卷积神经网 络(Convolutional Neural Network,CNN)[8],而CNN 本身存在着一定的弊端。CNN 采用卷积-池化方式并不会保存特征相对于整体的空间依赖关系,即存在同变性和不变性问题,CNN 对旋转是没有不变性的。不变性是指目标外观发生平移、旋转、光照等变化但人们依旧能够将其识别出来。这种相对的空间依赖关系对医疗图像识别、分割十分重要,例如,由左肺、右肺与心脏构成的X 射线图像,这些图像在显示上相互重叠,并具有较严谨的空间位置关系。CNN 利用池化操作不仅导致空间上相对信息丢失,而且有可能直接丢弃相关的信息。
FCN、U-Net 等分割网络利用底层信息补充高层信息的方法解决CNN 存在的问题。另一种方法是研究人员对数据进行处理,例如在训练数据集中加入旋转的图像,使网络进行学习,从而解决CNN 对旋转、平移等不敏感的问题。传统CNN 对于单一目标的旋转、平移(例如一幅图片中的眼睛与鼻子互换位置)仍会检测为正常目标。文献[9]提出的胶囊网络是一种在最低层的胶囊(即神经元)上包含目标位置、姿态等信息的神经网络,其能从本质上优化传统CNN。
本文结合U-Net 网络与胶囊网络提出一种多标签语义分割网络UCaps,利用高斯混合模型与EM 路由算法聚合低层胶囊对高层胶囊的概率推导过程,从而保留低层胶囊的精细度和各特征间位置、姿态的统一性,解决传统分割网络中卷积与池化分割轮廓不清晰的问题。
U-Net 网络[5]特点是U 型的网络结构与跨越连接操作,通过下采样pooling 与上采样反卷积操作得到显著特征,同时用跨越连接将前层图与后层图相叠加,尽可能少地丢失图像信息,将信息丢失多而特征明显的层与信息丢失少特征模糊的层叠加,平衡语义信息和图像精度。由于医学图像数据量通常只有几百幅,因此底层特征尤为重要。过多的训练会出现过拟合现象,需要尽量少的数据使其尽快收敛。U-Net 网络结构如图1 所示。
图1 U-Net 网络结构Fig.1 Structure of U-Net network
U-Net 网络作为医学图像分割领域效果较优的网络结构,模型代表有结合DenseNet 原理的UNet++[10]、具有嵌套 和Dense 跨越连接结构 的UNet3+[11]等。U-Net 网络被证明在小数据集、高精度的医学影像分割中具有相对最优的结构,对构建UCaps 网络结构具有启发作用。
文献[9]使用多维向量代替传统的标量,提出胶囊网络。与CNN 相比,胶囊网络通过动态计算权重在每个正向通道上的耦合系数来对每个目标贡献不同的权重值。这种优化的机制即动态路由。胶囊网络与动态路由的基本原理是某一层的胶囊网络通过变换矩阵对更高级胶囊网络的实例化参数进行预测,当动态路由使多个预测都一致时,更高级胶囊网络将会活跃。
动态路由是一种聚类的迭代算法,胶囊网络的输出是对动态路由输入进行聚类的结果。整个动态路由的算法可以用其他聚类算法计算达到更优的效果。
文献[12]通过矩阵与激活值的方式代替向量并作为基础胶囊网络,使用高斯混合模型[13]与EM 算法代替原本的动态路由算法,称为EM 路由算法。EM 路由算法利用聚类方法对胶囊网络进行分组,从而形成低层与高层之间的关系,通过聚类低层胶囊对高层胶囊进行推测,即使用EM 路由算法将相应投票非常接近的胶囊网络进行聚类,得到更高一层的胶囊网络。胶囊网络是基于加权的欧氏距离构建高斯混合模型,其中欧氏距离进行聚类的特点在于聚类中心向量是类内向量加权平均。研究人员最早提出,利用向量簇构建胶囊网络,使用向量模长表示特征的显著程度,因此向量不适用于EM 路由算法。胶囊结构在改为矩阵时,需要一个标量激活值作为衡量特征显著程度的标准。具有EM 路由的胶囊网络结构如图2 所示。
图2 具有EM 路由的胶囊网络结构Fig.2 Structure of capsule network with EM-Routing
胶囊网络多用于解决分类问题。胶囊网络之间路由的原理是低级胶囊对高级胶囊形态推测的过程,同样可以应用于解决图像分割问题。文献[9]对两个手写体数字重叠的数据集进行识别,基于动态路由的胶囊网络对重叠数字的识别和分割效果较优。胶囊网络与其路由方法同样适用于图像分割领域。研究人员结合医学影像(例如肺癌筛查[14]、左心室分割[15])与胶囊网络在图像分割领域上取得较优的成果。文献[16]提出SegCaps 将胶囊网络应用在二类分割任务中,通过实验对其改进后发现,SegCaps 网络架构虽然大幅减少了训练参数,但在多标签分割任务上的准确率大幅下降。
因此,本文研究的重点是将胶囊原理和最适合分割的U 型网络架构相结合,并融合全新的胶囊路由,使得胶囊网络在对多标签进行分割时效果较优。
UCaps 使用共计14 层的网络结构,其中有1 个卷积胶囊层,9 个EM 路由胶囊层,3 个上采样胶囊层,1 个分类胶囊层。整体网络结构取自U-Net 网络[5]。
UCaps 网络结构如图3 所示,由下采样(左侧)和上采样(右侧)组成。UCaps 网络结构的第1 层使用卷积胶囊层,输入的图像卷积为包含[4,4]的姿态矩阵和1 个标量激活值的多个胶囊。
图3 UCaps 网络结构Fig.3 Structure of UCaps network
UCaps 网络将胶囊网络输入EM 胶囊层,胶囊网络进行深度可分离卷积,并将展开的胶囊网络乘视角不变的变换矩阵W得到投票矩阵V,最后通过EM算法[17]计算高层胶囊网络的输出姿态矩阵和激活值,并将结果保存在skip 中用于准备后面跨越连接操作。在每个下采样步骤,UCaps 网络使用与传统胶囊网络[18]相同结构,逐步抽象其特征,使得胶囊网络获取更高级的语义信息。下采样胶囊为3 层,过大的层数会导致计算参数量太大,过少的层数使得模型缺少足够的表达能力。上采样胶囊层类似UNet 网络中上采样的过程。跨越连接操作在第4 维度将skip 胶囊与输出胶囊进行拼接,即将Caps 层输出添加进DeCaps 层的channel 中。这种做法与UNet 网络上的通道拼接类似,形成更多的胶囊层,缺点在于使用concat 操作比较占用显存,优点是融合多尺度维度信息。拼接后的胶囊层融合了同尺度的输出和上一层胶囊表达的信息。这样的连接贯穿整个网络,通过3 次拼接使得UCaps 网络同时保留低层胶囊的特征信息与高层胶囊的信息。上采样胶囊层与下采样对应,同样为3 层。UCaps 网络经过3 个上采样层与胶囊层将结果输入分类胶囊层,分类胶囊层主要按照分割的种类将对应胶囊输出进行分类操作,输出每个胶囊所代表的图片像素对应的分割标签类别并预测投票值,进而得到整幅图的分割预测结果。
EM 路由算法使用高斯分布进行聚类,利用高斯模型对高层胶囊的姿态矩阵进行建模。姿态矩阵为[4,4],即使用16μ和σ的高斯模型。μ用于估算激活胶囊成本,成本越低越有可能激活高级胶囊。
本文在胶囊层基础上设计上采样算法作为上采样胶囊层。上采样胶囊层示意图如图4 所示。
图4 上采样胶囊层示意图Fig.4 Schematic diagram of up-sampling capsule layers
上采样层过程如式(1)所示:
将Rij带入到EM算法中,最大化M步骤如式(2)所示:
期望E 步骤的计算如式(3)所示:
上采样胶囊层使用如下公式作为损失函数:
margin 值随着训练次数增加而增大(本文实验取0.2~0.9)。作为最终胶囊激活值,在训练早期值小,说明通过高斯聚类后的模型预测处于均匀分布状态。margin 值过大,使Lloss值被margin 值影响过多。随着训练轮数的增加,值会越来越大,说明胶囊激活值指向越来越清晰,margin 值随之增大,以稳定Lloss值。
高斯混合模型将数据点聚类为混合高斯分布,EM(期望最大化)路由的目的是使用聚类技术将胶囊分组形成一个部分-整体关系。文献[12]指出,高层胶囊表示其上一层低层胶囊的高斯分布期望,通过高斯混合模型拟合其最小化的损失函数。同层间不同的高斯混合模型反映了相同低层胶囊对不同高层胶囊的倾向性,即高斯混合模型集中了高层胶囊中的低层信息。EM 路由通过训练视角不变的变换矩阵W,使得高层胶囊不仅包含低层胶囊的特征,同时保留低层胶囊间的位置信息,即使图片发生旋转,仍然能将相同位置关系的低层胶囊进行聚类。
数据集使用的是日本放射技术学会(Japanese Society of Radiological Technology,JSRT)数据库[19]。该数据库由JSRT 与日本放射学会(JRS)合作创建的有无胸肺结节的标准数字图像构成。数据库共有154 张有结节与94 张没有结节的图像。图像分辨率为2 048 像素×2 048 像素,像素尺寸为0.175 mm。标签图像来自文献[20]中对JSRT 数据集进行手动标注的肺部、心脏和锁骨的标签图,将图像压缩为128 像素×128 像素,并进行数据集拓展。数据集随机进行角度偏移、水平或竖直移动、缩放,拓展至2 726 张。数据集图像与标签如图5 所示。
图5 数据集图像与标签Fig.5 Image and label of dataset
本文使用设备CPU 为4 核32 GB内存,GPU 使用Tesla-V100-SXM-32GB。实验环境Tensorflow 1.13.1+cuda10.0+cudnn7.4.5。
本文网络分别与以下基准网络进行实验对比:1)U-Net 网络[5],使用CNN 卷积操作的U-Net 网络,线性上采样过程取代反卷积层,并用交叉熵评估损失;2)SegCaps 网络[16],将两种类别分割的SegCaps分割网络改进为多标签分割,并使用weighted softmax 损失函数进行评估;3)MatVec-Caps 网络[21],使用MatVec-CapsNet 网络进行多标签分割,MatVec-CapsNet 采用双路由方法;4)UCaps-Dynamic Routing网络,使用文献[9]提出的Dynamic Routing 的路由方法设计UCaps 网络。
本文将UCaps 网络与以上4 种网络进行对比,从CNN 与胶囊、多标签分割与单标签分割、EM 路由与动态路由3 个角度进行实验对比,评估UCaps 网络的性能。
UCaps 在数据训练后快速收敛,无论训练集还是测试集损失分布合理,并未出现欠拟合或过拟合现象。UCaps 对左右肺原始图片中突出的部分进行分割的精度高,左右锁骨次之,而在心脏部分的分割准确率约为87%。心脏在图像中的位置相对不固定,其形状结构差异性较大,难以对其进行精确分割。随着训练迭代次数增多,UCaps 在测试集上心脏部分的分割准确度有显著提高。UCaps 网络在测试集上分割结果如图6 所示,图6(a)和图6(c)的底色为原始图像,图6(b)和图6(d)的底色为标签图。
图6 UCaps 网络的分割结果Fig.6 Segmentation results of UCaps network
U-Net、SegCaps、MaVec-Caps、UCaps 网络的分割准确率对比如表1 所示。从表1 可以看出,所有网络在心脏分割部分上的识别率均低于90%。这可能与训练时间不足有关。本文实验的目的是在有限的数据集和迭代的情况下获得更快的收敛速度和更高的准确率。由于心脏在这5 个分类标签中变化最大、形状最多,因此对本文的实验结果造成了一定的影响。SegCaps 网络主要解决二分类分割问题,本文将其简单修改为解决多标签分割问题。修改后的SegCaps 网络仅分割左右肺部和心脏,在相同迭代次数下对特征的识别性能较低。SegCaps 网络简化了路由算法,减少了参数量,能分割更大图片的同时降低了特征的识别精度。UCaps 网络的平均分割准确率为93.21%,优于其他网络。不同网络的分割结果对比如图7 所示。
表1 不同网络的分割准确率对比Table 1 Segmentation accuracy comparison among different networks
图7 不同网络的分割结果对比Fig.7 Segmentation results comparison among different networks
在4 000次训练下,不同网络的测试结果对比如图8所示。在训练初期,几种网络模型都快速收敛,但在将每个分割部位进行准确度测算时,由于左右锁骨部分与双肺重叠,因此无法定位。双肺分割精度收敛快,因心脏在图像中的位置关系不准确,导致分割精度较低。与其他网络相比,使用EM 路由的UCaps 网络能在较短时间内通过位置关系定位锁骨与心脏,在训练前期具有较优的表现。当使用像素为单位整体评价准确率时,几种网络测试准确率差距不明显,但对分割后的各部位单独进行对比时,UCaps网络表现十分优异。UCaps的胶囊网络[21]结构保证各部分间的位置形态关系,此外,EM 路由与高斯聚类算法则保证UCaps 在很少的数据集中具有更优的表现。
图8 4 000 次训练后不同网络的测试结果对比Fig.8 Test results comparison among different networks after 4 000 trainings
在不同训练次数下不同网络的右肺和右锁骨分割准确率对比如表2 与表3 所示。从表2 和表3 可以看出,在训练初期各网络的右肺分割准确率较高,但在训练初期不同网络对右锁骨分割时的准确率差距较大。结合EM 路由的UCaps 网络收敛速度远快于其他网络模型。
表2 不同网络的右肺分割准确率对比Table 2 Segmentation accuracy of right lung comparison among different networks %
表3 不同网络的右锁骨分割准确率对比Table 3 Segmentation accuracy of right clavicle comparison among different networks %
本文提出多标签语义分割网络UCaps,通过设计适用于胶囊网络的上采样胶囊算法,补充高层胶囊与低层胶囊的特征信息。在此基础上,将高斯混合模型与EM 路由算法相结合,聚合底层特征对高层特征的推导过程。实验结果表明,相比U-Net、SegCaps、MaVec-Caps 网络,UCaps 网络具有较快的收敛速度和较高的分割精度,在边缘轮廓上的分割结果更清晰。后续将在图像分割领域中通过使用金字塔结构、引入注意力机制等方法,优化胶囊网络参数,进一步提高胶囊网络解决不变性与同变性问题的能力。