“跳过”方法如何进行上采样?(全卷积神经网络)

数据挖掘 美国有线电视新闻网 卷积 图像分割
2022-02-24 19:07:30

我正在研究用于图像分割的完全卷积神经网络,到目前为止,我已经研究并了解了 deconv 网络。按照本教程(上采样),我无法真正理解“跳过”方法的工作原理。

我了解如何应用最大去池化和转置卷积进行上采样,但是“跳过”方法如何与这两种方法“相关”?

为什么我们使用这种“跳过”方法?Max unpooling 和转置卷积不足以上采样并返回更好的分辨率图?

1个回答

如您所知,卷积从图像中提取一些局部信息,但对于某些决策,您需要更多全局信息。这就是池化应该做的,它基本上会删除一些位置信息。在简单的分类中,这显然是必要的,因为如果图片中有一只猫,这个问题是关于整个图像的问题,而不是关于一个或几个像素的问题。这就是为什么在分类器的最后,您通过添加全连接层来摆脱所有局部性。

对于语义分割,它并不那么简单,因为输出应该仍然包含位置信息。您实际上只是在进行逐像素分类,并且对于每个像素,广泛的上下文都很重要。要确定一个像素是否是图像中猫的一部分,需要有关距相关像素一定距离内的许多像素的信息。这就是为什么池化层也用于语义分割的原因。但是池化也减小了图像大小,这就是为什么使用上采样和转置卷积来恢复原始大小的原因。

但有一个缺点。正如我们所说,池化会删除一些关于局部性的信息,换句话说,它会降低分辨率。一旦这些信息消失,上采样和转置卷积的组合将无法恢复。转置卷积只能学会做这个最不坏的事情,有点像伪逆矩阵。这限制了您可以在分割蒙版上获得的分辨率/细节。

这个问题可以通过在需要的地方提供相关的位置信息来跳过连接来解决。每当您进行上采样时,您会发现池化之前的最后一层,其中图像仍然具有相同的大小,只需将其按像素添加到上采样图像中即可。这种逐像素连接是通过在您发布的链接中使用 1x1 卷积来实现的。这样,现在上采样的特征图既有池化前的局部细节,也有池化后的广泛上下文信息。这允许在分割掩码中获得更好的细节。