【问题标题】:How does deconvolution and un-pooling lead to image segmentation?反卷积和反池化如何导致图像分割?
【发布时间】:2018-05-14 05:57:42
【问题描述】:
我正在探索和学习计算机视觉领域,目前正在学习 CNN。我完全理解 CNN 的概念,即直到完全连接层。
但是,当我深入研究图像分割任务时,我发现了以下论文:
- 学习反卷积网络进行语义分割
- 用于语义分割的全卷积网络
- U-Net:用于生物医学图像分割的卷积网络
他们在这里讨论卷积和全连接层,然后是反卷积和反池化。我了解反卷积和非池化的数学方面,但我无法理解并且最重要的是无法想象它们最终如何导致图像分割。
【问题讨论】:
标签:
computer-vision
convolution
convolutional-neural-network
deconvolution
【解决方案1】:
我们的目标:图像分割任务要求您的输出具有输入图像的维度(但使用标签而不是像素颜色)。您可以将其视为多个分类任务(针对每个输入像素)。
典型的分类 CNN 包含一系列卷积/池化,然后是最终将图像映射到“标签空间”的密集层。这不适用于分段。
全卷积网络是一种将图像映射到另一个图像(具有任意数量的通道)的网络,该图像按某个因子(取决于所使用的池化步骤)进行缩放。
如果您避免任何池化,您的输出将与您的输入具有相同的高度/宽度(这是我们的目标)。然而,我们确实希望减小卷积的大小,因为:a) 它的计算效率更高(允许我们更深入)b) 它有助于在不同的尺度上传播信息。
所以我们想减少激活的大小,然后将它们上采样回原始大小。这就是反卷积发挥作用的地方。
U-Net 是一种流行的架构,它执行上述操作并使用另一个关键概念:每次上采样时,您都会组合(通常是添加或连接,不确定它们在实际的 U -Net) 具有相同大小的先前层的激活的上采样激活。这使您的网络可以保留否则会丢失的精细细节(想象一下,如果您必须将分段上采样 16 倍或可能更多,您会得到什么结果)。
此外,这些连接还有一个次要(但很重要)的好处:更好的梯度传播。它们的行为类似于 ResNet 中的跳过连接。