A mixed-scale dense convolutional neural network for image analysis

用于图像分析的混合尺度密集卷积神经网络

摘要

近年来,深度卷积神经网络已成功地应用于许多图像处理问题。流行的网络体系结构通常在标准体系结构中添加额外的操作和连接,以训练更深层次的网络。为了在实践中获得准确的结果,往往需要大量的可训练参数。在这里,我们介绍了一种基于使用扩展卷积捕获不同图像尺度的特征并将所有特征映射彼此密集连接的网络架构。所得到的体系结构能够以相对较少的参数获得准确的结果,并由一组操作组成,使其更容易在实践中实现、训练和应用,并自动适应不同的问题。我们将所提出的网络架构的结果与现有的流行架构进行了几个分割问题的比较,表明所提出的架构能够用更少的参数获得准确的结果,并且降低了训练数据过拟合的风险。
关键词:图像分割;机器学习;卷积神经网络

1 介绍

机器学习在许多成像应用中是成功的,例如图像分类(1-3)和语义分割(4-6)。机器学习在成像问题中的许多应用都使用深度卷积神经网络(DCNNs),其中输入图像和中间图像与大量连续层中的学习核进行卷积,从而允许网络学习高度非线性的特征。由于(i)最近的发展允许更深层网络的有效训练,例如,引入整流线性单元(7)和dropout层(8),机器学习的普及已经显著增长;(ii)用于训练和应用深度网络的高度优化软件的公开可用性,例如TensorFlow(9)和Caffe (10);(iii)大型预训练网络和大型训练数据集的公开可用性,例如VGG(2)和ImageNet(11),并将继续成为一个活跃的研究领域(12)。

为了在困难的图像处理问题上获得准确的结果,DCNNs通常依赖于附加操作和连接的组合,例如,降尺度和升尺度操作来捕获各种图像尺度上的特征(4,5)。为了训练更深更强大的网络,通常需要额外的层类型(8,13)和连接(14,15)。最后,DCNNs通常使用大量的中间图像和可训练的参数[例如,超过1亿(2)]来获得困难问题的结果。

许多DCNNs的大尺寸和复杂性给它们带来了巨大的挑战。例如,层和连接的选择组合可以显著影响训练网络的准确性。对于给定的问题,确定哪种组合是最好的是很难进行先验预测的。因此,一个能很好地解决一个问题的网络并不能保证能很好地解决另一个问题,并且可能需要进行重大更改才能获得准确的结果。此外,在训练过程中需要学习的大量参数需要仔细选择超参数(例如,学习率和初始化值),以避免过度拟合(8)和梯度消失(13)等问题,从而导致不准确的训练网络。因此,图像分析通常依赖于针对特定问题的传统方法。

在这里,我们介绍一个专门设计的易于实现、训练和使用的网络体系结构。网络的所有层都使用相同的操作集,并以相同的方式相互连接,从而无需为每个特定问题选择使用哪些操作和连接。我们提出的网络架构用相对较少的中间图像和参数实现了准确的结果,消除了调优超参数和额外的层或连接来实现训练的需要。该网络使用扩展卷积代替缩放操作来捕获各种图像尺度上的特征,在单层内使用多个尺度,并将所有中间图像彼此紧密连接起来。在训练过程中,网络学习对给定问题使用哪种扩展组合,从而允许将相同的网络应用于不同的问题。

本文的结构如下。我们首先介绍了符号并讨论了现有深度卷积网络的一般结构。然后介绍了所提出的网络架构。我们解释了为研究该体系结构的性能而进行的实验,将它们与流行的现有体系结构进行了比较,并讨论了它们的结果。最后,我们做一个总结和最后的评论。

2 符号与概念

问题定义

在本文中,我们将我们的方法应用于实值二维图像。我们将图像定义为像素x∈ Rm×n×c的集合,包含m行,n列和c通道。我们表示对应于x的单个通道j的图像为xj。许多图像处理问题可以写成这样的问题:找到一个函数f,它取一个特定的图像x并产生一个输出图像y;即f: R m×n×c→R m’×n’×c’。注意,输出图像的尺寸可以不同于输入图像的尺寸。例如,在图像分类问题中,输出图像由c’种可能分类中的每一种的单个概率值组成;即m’ = n’ = 1。然而,在本文的其余部分,我们将关注密集输出的问题,即输出图像的行数和列数与输入图像的行数相同:m’ = m, n’ = n,类似于“像素到像素”的架构(16)。

卷积神经网络

卷积神经网络(Convolutional neural networks, CNNs)通过连续连接的多层对未知函数f进行建模。每一层i产生一个输出图像zi∈ R^m i × n i ×c i^,称为特征映射,使用前一层zi−1的输出作为输入。输出层zi的维数可以与输入层zi−1的维数不同。输入图像x作为第一层z0,最后一层产生输出图像y。

每个单独的层可以由多个操作组成。一种常见的层结构首先用不同的滤波器对输入特征图的每个通道进行卷积,然后逐个像素地对卷积得到的图像求和,在得到的图像上添加一个常量(偏置),最后对每个像素进行非线性运算。这些操作可以使用不同的过滤器和偏置来重复,从而为输出特征映射产生多个通道。因此,这样一个卷积层的单个通道j的输出zji
在这里插入图片描述
这里,σ: R(m~i~×n~i~) → R^mi × ni^是一个非线性运算,如流行的s型函数或整流线性单元(ReLU) (7), bij∈R是偏置,gij: R ^mi−1× ni−1 × ci−1 →R ^mi × ni^用不同的滤波器对输入特征映射的每个通道进行卷积,并逐像素求和得到的图像,
在这里插入图片描述
其中Cga是图像a与滤波器g的二维卷积。在卷积期间处理图像边界的不同方法是可能的:这里,我们使用反射边界。通常,过滤器hijk相对较小(例如,3 × 3像素),可以更快地计算网络输出并使网络更容易训练。最后一层的架构可能与其他层不同,并取决于应用:常见的选择包括使用全连接层而不是卷积层(2),或者使用softmax函数作为分类问题的非线性操作(5)。两层CNN架构示意图如图1所示。
在这里插入图片描述

训练CNN的目标是找到过滤器hijk,偏差bij和潜在的其他参数,以便CNN执行所需的任务。在监督学习中,训练是通过使用一组Nt个代表性输入X = f{^x1; : : :; ^xNt}对应正确输出Y = {^y1;…; ^yNt},并迭代最小化Y与CNN输出x之间的选定误差度量。由于CNN的特定架构,可以通过对几种流行的误差度量的反向传播,准确有效地计算出与滤波器和偏差有关的误差的部分梯度,从而能够使用高效的基于梯度的优化算法(17)。

DCNNs

在这里插入图片描述
图2所示。带有缩放操作的通用DCNN架构的示意图。向下箭头表示缩小操作,向上箭头表示扩大操作,虚线箭头表示跳过连接

DCNNs使用类似于标准cnn的网络架构,但由更多的层组成,这使它们能够建模更复杂的功能。此外,DCNNs通常包括层之间的降尺度和升尺度操作,减少和增加特征映射的维度以捕获不同图像尺度的特征。许多DCNNs在层的前半部分(称为网络的编码器部分)逐渐缩小特征映射的规模,随后在层的后半部分(称为解码器部分)扩大规模。在相同尺度的解码器和编码器的特征映射之间通常包含跳过连接(5)。图2显示了通用编码器-解码器DCNN架构的示意图。

总的来说,与浅层cnn相比,深度的增加使得训练更加困难。深度的增加往往使训练更有可能陷入误差函数的局部最小值,并可能导致梯度变得过大或过小(13)。此外,DCNNs通常由许多参数(例如,过滤器和偏差)组成,通常是数百万或更多,必须在训练期间学习。大的参数空间会增加训练时间(18)和网络与训练数据过拟合的可能性(8),从而使训练变得更加困难,从而迫使训练集变大。对标准DCNN架构提出了几个补充,包括批处理归一化层(13),它在层之间重新缩放特征映射,以改善训练期间的梯度缩放;公路连接(14);剩余连接数(15);分形网络(19),它允许信息通过跳过层更容易地在深度网络中流动;dropout层(8),在训练过程中随机从网络中移除特征映射,减少了大型网络的过拟合问题。

虽然这些添加物在一些领域具有先进的图像处理技术(12),但它们很难常规应用于诸如生物医学成像和材料科学等领域。取而代之的是使用传统的成像算法,如霍夫变换(20)和模板匹配(21),或人工处理[如生物图像分割(22)]。

3 理论与算法

我们的目标是通过引入一个不太复杂的网络架构,使用更少的参数来学习,并且能够自动适应不同的问题,从而使DCNNs更容易应用于许多成像问题。为此,我们引入了“混合尺度密集(MS-D)”网络架构,它(i)混合每层内的尺度,(ii)密集连接所有特征图。

the mixed-scale dense (MS-D)

3.1 混合比例

MS-D架构使用扩展卷积,而不是使用降尺度和升尺度操作来捕获不同尺度的特征。带扩展s∈Z+的扩展卷积Dh;s使用扩展滤光器h,该滤光器仅在距离中心5个像素的倍数处是非零的。最近,研究表明,扩张卷积能够捕获使用传统缩放方法的DCNNs中的附加特征(23)。此外,在混合尺度方法中,单层内特征映射的每个通道以不同的尺度运行,而不是像现有的DCNNs那样每层都以一定的尺度运行。具体来说,我们将某一层输出图像的每个通道的卷积操作与不同的扩张关联起来:
在这里插入图片描述
所提出的混合规模方法减轻了标准缩小规模和扩大规模方法的许多缺点。首先,通过相对较大的膨胀,关于图像的大规模信息在网络的早期层中迅速可用,使得使用这些信息来改进更深层的结果成为可能。此外,某一尺度上的信息可以直接用于其他尺度上的决策,而不必经过中间尺度上的层。最近在训练大型多网格架构时也发现了类似的优势(24)。在训练过程中不需要学习额外的参数,因为混合尺度方法不包括学习到的升级操作。这导致更小的网络更容易训练。最后,尽管必须提前选择扩张sij,但网络可以在训练过程中学习使用哪些扩张组合,使相同的混合尺度DCNNs适用于不同的问题(下面的实验)。

3.2 密集连接

当使用具有反射边界的卷积时,与标准缩放相比,混合缩放方法具有额外的优势:所有网络特征映射具有与输入和输出图像相同的行数和列数,即mi = m和ni = n对于所有层i,因此,在计算特定层的特征映射时,我们不限于仅使用前一层的输出。相反,所有先前计算的特征映射{z0;…;zi−1},包括输入图像x,可用于计算层输出zi。因此,我们将通道图像计算1和卷积运算3更改为
在这里插入图片描述
同样,为了产生最终的输出图像y,可以使用所有的特征映射,而不是只使用最后一层的特征映射。我们称这种方法为使用所有先前计算的特征映射密集连接网络的方法。

在密集连接的网络中,所有的特征映射都被最大限度地(重新)使用:如果在特征映射中检测到某个有用的特征,则不必在其他层中复制它以在网络中更深入地使用,就像在其他DCNN架构中一样。因此,与标准网络相比,在密集连接网络中实现相同精度所需的特征映射和可训练参数要少得多。较少数量的地图和参数使得训练密集连接的网络变得更容易,减少了过度拟合的风险,并且可以使用相对较小的训练集进行有效的训练。最近,一个类似的密集连接架构被提出,它依赖于相对较少的参数(25);然而,在文献25中,密集连接仅在单一尺度的小层集合中使用,使用传统的降尺度和升尺度操作来获取不同尺度的信息。在这里,我们将密集连接与混合尺度方法结合起来,使整个网络的特征映射之间的紧密连接成为可能,从而更有效地使用所有特征映射,并更大幅度地减少所需参数的数量。

3.3 MS-D神经网络

在这里插入图片描述
图3 w = 2, d = 3的MS-D网络示意图。彩色线代表3 × 3个扩张的卷积,每种颜色代表不同的扩张。注意,所有的特征映射都用于最终的输出计算。

通过结合混合尺度扩展卷积和密集连接,我们可以定义一个DCNN架构,我们称之为MS-D网络架构。与现有的体系结构类似,MS-D网络由几层特征映射组成。每个特征映射都是将Eq. 4给出的相同操作集应用于所有先前的特征映射的结果:具有3 × 3像素滤波器的扩展卷积和通道特定的扩展,逐个像素求和得到的图像,为每个像素添加恒定的偏差,最后应用ReLU激活函数。最终的网络输出是通过对所有特征映射应用相同的操作集来计算的,使用1 × 1像素过滤器而不是3 × 3像素过滤器。换句话说,最终输出图像的通道是通过对所有特征图的所有通道进行线性组合,并对结果应用特定于应用程序的激活函数来计算的:
在这里插入图片描述
选择每层通道数量的不同方法是可能的。在这里,我们使用一种简单的方法,每层具有相同数量的通道,用网络宽度w表示,网络的非输入和非输出层的数量用网络深度d表示。w = 2和d = 3的MS-D网络的图形表示如图3所示。在训练过程中必须学习的参数是Eq. 4的卷积过滤器hijkl和bias bij,以及Eq. 5的权重wijk和bias b’k。给定网络深度d和宽度w,输入通道数cin和输出通道数cout,可训练参数Npar = Nflts + Nwgts + Nbias的个数由在这里插入图片描述在这里插入图片描述在这里插入图片描述给出。

与现有的DCNN体系结构相比,MS-D网络体系结构具有以下优点。由于通过扩展卷积和密集连接混合尺度,MS-D网络可以用相对较少的特征图和可训练的参数产生准确的结果。此外,MS-D网络在训练期间学习使用哪种扩张组合,从而允许相同的网络有效地应用于各种各样的问题。最后,所有层以相同的方式相互连接,并使用相同的标准操作集进行计算,使MS-D网络更容易实现、训练和在实践中使用。MS-D网络不包括已学习的缩放操作或高级层类型,以方便训练,并且在应用于不同问题时不需要更改架构。这些优势使得MS-D网络可以应用于语义分割之外的领域,在分类、检测、实例分割和对抗网络方面具有潜在的价值(16)。

4 实验

安装

我们在Python中实现了MS-D架构,使用PyCUDA(26)使GPU加速计算昂贵的部分,如卷积操作。我们注意到,现有的框架,如TensorFlow(9)或Caffe(10)通常不能很好地支持所提出的混合尺度方法,因为它们假设某个特征映射的所有通道都以相同的方式计算。此外,现有的框架大多是通过使用大矩阵乘法有效地实现卷积来优化处理大量相对较小的图像(27)。为了允许MS-D网络应用于大图像问题,我们使用直接卷积实现了该架构。计算在两个工作站上进行,分别使用NVidia GeForce GTX 1080 GPU和4个NVidia Tesla K80 GPU,均运行CUDA 8.0。

一般来说,较深的网络往往比较浅的网络产生更准确的结果(2)。由于MS-D网络中的密集连接,可以有效地使用具有多层和每层较少通道的网络,从而产生具有相对较少通道的非常深的网络。如上所述,这种非常深度的网络可能比较浅的网络更难训练。然而,我们没有观察到这样的问题,并且能够使用每层仅由一个通道(w = 1)组成的极端情况,并且层数d控制可训练参数的数量。我们初始化所有卷积滤波器参数基于与参考文献3相同的考虑,通过从SD为在这里插入图片描述的零均值正态分布中采样随机值,其中nc是特征映射通道的输入和输出连接数:nc = 9(cin + w(d - 1)) + cout。所有其他可训练参数初始化为零。最后,在大多数实验中,我们使用等分布膨胀[1,10],设第I层通道j的膨胀量为sij = ((iw + j) mod 10) + 1。

在具有L个标签的分割问题中,我们通过具有L个通道的图像表示正确的输出,对于分配给标签j的像素,通道j设置为1,对于其他像素,通道j设置为0。我们在最终输出层使用soft-max激活函数,并在训练期间使用ADAM优化方法(17)最小化正确输出和网络输出之间的交叉熵(5)。为了比较MS-D网络与现有分割问题架构的结果,我们使用全局精度度量(4),定义为网络输出中正确标记像素的百分比,以及类精度度量(4)。通过取每个单独标签的真阳性率的平均值来计算。

模拟数据

在这里插入图片描述
图4 (A - C)模拟数据集分割问题的示例,其中(A)单通道输入图像,(B)用颜色表示标签的正确分割,以及©具有200层的训练MS-D网络的输出
在这里插入图片描述
图5 一组100张模拟图像的类精度(图4)作为所提出的MS-D网络架构和流行的U-Net架构的可训练参数数量的函数。对于每个U-Net网络(U-Net-q), q表示所使用的缩放操作次数。对于MS-D结构,结果显示了膨胀 sij ∈ [1,10] (实线)和sij ∈{1,2,4,8,16}(虚线)。

在第一个实验中,网络输入由512张×512-pixel单通道图像组成,这些图像具有两种形状(圆形和正方形),3种不同的大小和6种可能的纹理,并添加了高斯噪声。从所有36种形状、大小和纹理的组合中,我们训练网络来检测6种特定的组合,例如,具有水平纹理的大正方形,具有对角线纹理的小圆圈等。我们之所以选择这个分割问题,是因为它需要DCNNs将小尺度上的特征(像素强度和纹理)与大尺度上的特征(尺寸和形状)结合起来,以产生准确的结果。图4A显示了一个示例输入,用颜色表示在图4B中必须检测的六种组合。我们将训练后的MS-D网络的分割结果与流行的UNet架构的分割结果进行比较(5):我们使用TensorFlow实现(28)。U-Net架构类似于图2所示。两个主要参数影响性能:降尺度(以及随后的升尺度)操作的数量和每个特征映射的通道数量。我们用相同的105张随机生成的图像集训练每个网络,使用一张图像的批处理大小,并且在105次迭代中,如果100张不同的验证图像集的全局精度没有提高,就停止训练。

在图5中,对于w = 1, d2 = 25的MS-D网络,100张图像的独立测试集的类精度表示为可训练参数数量的函数;50;100;200g层和U-Net网络,具有2、3、4和5个缩放操作和各种数量的信道。U-Net网络的性能在很大程度上取决于所选择的缩放操作的数量。具有三种缩放操作的网络能够在相对较少的参数下达到80%左右的准确率,但是当每个特征映射使用更多通道时并没有显著提高,而具有四种缩放操作的网络能够达到95%左右的准确率,但是需要大量的参数才能做到这一点。对于给定数量的参数,MS-D网络能够实现比所有测试过的U-Net体系结构更高的精度,特别是在参数相对较少的情况下,并且MS-D网络的性能对于不同的膨胀选择是相似的。

表1 CamVid测试集的可训练参数(Pars)的百万个数(M)、全局精度(GA)和类精度(CA)(在所有测试方法中,最高的全局精度、最高的局部精度和最小的参数数以粗体显示。)
在这里插入图片描述
在这里插入图片描述
图6 U-Net网络和MS-D网络的全局精度作为CamVid数据集训练历元的函数。给出了验证集(实线)和训练集(虚线)的精度。

CamVid数据集

接下来,我们比较CamVid数据集(29)的结果,使用367个训练图像,101个验证图像和233个360 × 480像素的道路场景彩色图像(4)。目标是分割11个类别,如汽车,道路,人行道和行人。我们使用局部对比度归一化图像(30)训练MS-D网络和U-Net网络,直到验证集的全局精度没有提高,由于内存限制,MS-D网络使用10张图像的小批量,U-Net网络使用3张图像的小批量。我们还报告了SegNet架构的结果(4),显示了参考文献4的表1中的两个最佳全局精度结果,以及两种传统分割方法(31,32),显示了参考文献4的表2中的两个最佳结果。对于U-Net网络,选择特征映射通道的数量,使参数的数量与SegNet相似。

表1显示了全局精度和类精度。MS-D片段具有最高的全局和类精度,同时使用大约10倍的参数。此外,具有100层的MS-D网络在使用30-40倍的参数的情况下实现了与其他网络架构相似的精度。图6显示了U-Net网络和MS-D网络在验证和训练集训练期间的全局精度。U-Net网络在验证集精度上缺乏改进,且与训练集精度存在差异,说明所选训练集存在过拟合。由于可训练参数的数量较少,MS-D网络在更多的训练迭代中提高了验证集的精度,与训练集精度的差异明显较小,表明MS-D网络的过拟合风险降低,并且能够使用相对较小的训练集进行准确训练。此外,MS-D网络无需预训练额外的大型数据集(如ImageNet(11))或依赖于大型预训练网络(如VGG(2))即可获得准确的结果。

生物医学图像分割

在这里插入图片描述
图7所示。(A - C)测试细胞(A)的层析切片,以及相应的人工分割(B)和100层MS-D网络©的输出

为了测试MS-D网络是否可以在不进行调整的情况下轻松应用于新问题,我们使用与上述相同的网络参数,w = 1, d = 100,膨胀率sij ∈ [1,10]应用于细胞结构的分割。我们使用8个人工分割的512 × 512 × 512的(小鼠)淋巴母细胞样细胞的断层扫描重建,包括5个标签:核膜、常染色质、异染色质、线粒体和脂滴。样品层析切片和相应的人工分割如图所示。图7A和B.细胞结构的标记取决于不同图像尺度下的多个因素,例如结构相对于其他结构的位置,并且两种结构之间的像素强度差异可以相对较小,因此难以使用传统方法进行自动标记。相反,研究人员依赖耗时的人工分割。

为了学习有限的3D特征,我们在MS-D网络的输入图像中使用了五个通道:当前要分割的切片和四个相邻的切片。在8个手动细胞分割中,我们随机选择了6个用于训练,1个用于验证并报告剩余细胞的结果。在训练期间,我们使用了10张图像的批处理大小,并且在验证单元的全局精度没有提高后停止,产生具有最佳全局精度的网络参数。图7C为图7A中切片的网络输出,与手工分割相似度高。网络输出和人工分割之间的剩余差异,如图7中的箭头所示,通常表示模糊的单元结构(见图7)。S1和S2为附加结果)。测试单元的最终全局精度和类精度分别为94.1%和93.1%,表明相同的MS-D网络可以针对不同的问题进行训练。图中给出了另外两个具有挑战性问题的结果。S3和S4。

去噪大型层析图像

在这里插入图片描述
图8。(a - C)使用1024个投影(a)和128个投影(B)重建的纤维增强微型复合材料的层析图像。在C中,显示了以图像B为输入的MS-D网络的输出。右下角A-C的插页显示了红色方块表示的小区域的放大图像

最后,我们使用上述架构,仅将最后一层的非线性函数从软最大函数改为身份函数,并对纤维增强微型复合材料的层析重建去噪的不同任务进行了训练。利用获取的1,024个x射线投影,重构了2,160张2,5602像素的图像,得到了噪声相对较低的图像(图8A)。通过128个投影重建得到同一目标的噪声图像(图8B)。输入是一个带噪声的图像,在训练过程中使用相应的无噪声图像作为目标输出。从样本顶部,500张图像用于训练,100张图像用于验证。图8C显示了样本底部附近的测试图像的输出,使用GTX 1080 GPU在2.05秒内计算(参见图S5以获得额外的计时)。MS-D网络通过从训练集中学习图像特征来准确地去噪高噪声图像,并且相同的MS-D网络可以很容易地以最小的变化应用于不同的问题。

结论

我们提出了一种用于图像处理问题的深度卷积MS-D网络架构,使用扩展卷积代替传统的缩放操作来学习不同尺度的特征,在每一层使用多个尺度,并使用前一层的所有特征图计算每一层的特征图,从而得到一个密集连接的网络。通过结合扩展卷积和密集连接,MS-D网络架构可以用比现有架构更少的特征图和可训练参数获得准确的结果,从而可以用相对较小的训练集进行准确的训练。MS-D网络能够通过学习使用哪种扩张组合来自动适应,从而允许相同的MS-D网络应用于广泛的不同问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值