尽管多尺度融合、空洞卷积都可以增加网络的感受野,但理论感受野与实际感受野仍然存在差异。那么如何真正利用图像的全局信息呢?ParseNet告诉你。
1 理论感受野是真的吗?
相信通过前面几篇介绍上下文信息整合的文章,大家已经能够体会到感受野对于分割网络效果的影响有多么巨大了。简单来说,感受野越大,网络所能“看见”的区域就越大,从而能够用于分析的信息就更多。由此,分割的效果也很有可能更好。
基于这种考虑,许多算法尝试通过改变自身网络结构设计来增大网络的理论感受野,认为这样就能够为网络带来更多的信息。尽管理论感受野的增大的确能够增加网络所获取的上下文信息,但是,理论感受野难道真的就代表了算法实际看见的区域吗?
在实际应用中,许多方法的理论感受野是很大的。比如前面文章中介绍过的带 VGG 的 FCN 网络中的 fc7 层,其理论感受野为 404x404 像素。但是,实验却证明,其并没有办法看到这么大的区域。
比如,ParseNet 的作者做了这样一个实验,即破坏图像中一个随机区域中的信息,以此来观察网络的输出结果是否依赖于这个区域。结果如下图所示:
从左到右分别为:图像、热度图、理论感受野和实际感受野。
由此可以看出,网络实际上能够覆盖的区域也就能达到整图的 1/4 左右,远远没有达到理论感受野的尺寸。那么究竟该如何利用全部的图像上下文信息呢?ParseNet 提出了一种融合全局信息与局部信息的方法,下面来具体介绍一下。
2 全局特征的提取与融合
如下图所示,ParseNet 通过全局池化提取图像的全局特征,并将其与局部特征融合起来。
这种融合在过程中需要考虑两个主要问题:融合的时机与尺度的归一化。
(1) 融合时机
直观上理解,全局特征与局部特征的融合可以发生在两个节点:分别是训练分类器之前(early fusion)和训练分类器之后(late fusion)。其中,前者是将两个特征融合后,作为一个整体共同送入分类网络,训练分类器;后者则是以两个特征为输入,分别训练其对应的分类器,最后再将分类的结果整合。
如果忽略结合特征后的训练过程,那么这两种融合的时机的鲜果是差不多的。但是,在某些情况下,只有全局特征辅助下的局部特征才能够判断出正确的分类结果;此时,如果两个特征分别训练再整合,那么这种情况下的分割损失是不可逆的,也就是说,这些情况下的分类将不正确。
当然,这两种方法在实际应用过程中是可以实现相似的结果的,但是 late fusion 需要进行归一化。
(2) 归一化
如下图所示,不同层之间的特征的尺度是不同的,而且这种不同可能很显著。(不同颜色代表不同层上的特征)
很显然,这些特征的尺度(scale)和范数(norm)是不同的。如果直接将这些特征级联起来会造成大特征控制小特征,使分割效果变差。尽管在训练过程中,网络的权重可能会对这种情况进行调整,但是这要求非常小心的调参和数据库选取。
因此,ParseNet 利用了 L2 范数来归一化特征的融合过程。具体而言,给定 d 维输入 x,算法通过计算其 L2 范数并在整个维度内实现归一化。
此外,如果只是单纯地对所有输入层进行归一化,不仅会减慢网络的训练速度,同时也会改变该层的尺度。因此,还需要对其增加一个尺度参数 gamma,将归一化的结果进行尺度缩放(缩放结果为 y)。
这一过程增加的参数量等于所有的通道数之和,因此在反向传播过程中是可以忽略的。具体的反向传播公式如下:
3 实验结果
下表是 ParseNet 在 PASCAL VOC2012 下的数据结果和与其他算法的比较:
其效果与 DeepLab-LargeFOV 相近。
下图是全局特征有助于分割结果的示例:
从左到右分别为:图像、真值、对比基准和 ParseNet。
尽管总体而言,引入更多的上下文信息有助于分割。但是有时候,引入全局信息也可能给分类造成不好的影响,比如下图所示,从左到右分别是原图,真值,FCN 以及 ParseNet。
总结
本文我们了解了全局信息该如何使用、该注意什么问题。下篇文章我们来看看 RefineNet 中是如何用残差校正进一步提高分割效果的。
作者介绍
孙叔桥,公众号“有三 AI”作者。该公号聚焦于让大家能够系统性地完成 AI 各个领域所需的专业知识的学习。
原文链接
https://mp.weixin.qq.com/s/TNHTvXmefRBlc6zfHW7C8A
评论