语义分割中的反卷积网络

数据挖掘 神经网络 深度学习 图像分类
2021-09-23 04:25:49

我最近看到一篇关于使用反卷积网络进行语义分割的论文:Learning Deconvolution Network for Semantic Segmentation

网络的基本结构是这样的: 在此处输入图像描述

目标是最终生成概率图。我无法弄清楚如何实现反卷积层。在论文中,它说:

反池化层的输出是放大但稀疏的激活图。反卷积层通过使用多个学习过滤器的类似卷积的操作对通过解池获得的稀疏激活进行密集化。然而,与将过滤窗口内的多个输入激活连接到单个激活的卷积层相反,反卷积层将单个输入激活与多个输出相关联。

反卷积层的输出是放大且密集的激活图。我们裁剪放大后的激活图的边界,以保持输出图的大小与前一个非池化层的大小相同。

反卷积层中的学习滤波器对应于重建输入对象形状的基础。因此,类似于卷积网络,反卷积层的层次结构用于捕获不同级别的形状细节。较低层的过滤器倾向于捕获对象的整体形状,而特定于类的精细细节在较高层的过滤器中编码。通过这种方式,网络直接将特定类别的形状信息考虑在内进行语义分割。

谁能解释反卷积是如何工作的?我猜这不是一个简单的插值。

1个回答

他们撤消了两个主要功能。

卷积神经网络中的池化层(通常)通过取感受野内的最大值来对图像进行下采样。每个rxr图像区域都被下采样为单个值。这个实现所做的是存储在每个池化步骤中哪个单元具有最大激活。然后,在反卷积网络中的每个“反池化”层,它们上采样回rxr图像区域,仅将激活传播到产生原始最大池化值的位置。

因此,“反池化层的输出是放大但稀疏的激活图”。

卷积层为每个图像区域学习一个过滤器,该过滤器从一个大小的区域映射r x r到一个值,其中r是感受野大小。反卷积层的重点是学习相反的滤波器。这个过滤器是一组权重,将rxr输入投影到大小为 的空间中sxs,其中 s 是下一个卷积层的大小。这些过滤器的学习方式与常规卷积层的学习方式相同。

作为深度 CNN 的镜像,网络的低级特征实际上是高级的、特定于类的特征。然后网络中的每一层对它们进行定位,增强特定类别的特征,同时最大限度地减少噪声。