CNN 平移不变性尺度不变性 绝对位置

CNN是否存在平移和尺度的不变性和相等性
ref

https://zhuanlan.zhihu.com/p/113443895

论文:How much position information do convolutional neural networks encode?

图中一共有三组图片,每组由原图和剪切图构成。可以发现,显著区域将会因为图片中心位置的改变而改变。对中心激活强

在这里插入图片描述

这是一篇ICLR2020接收的文章。此前,关注位置信息只在NLP的任务中,因为字符位置不同,文本表达的语义不同。

但是,CV一直没有这个需求,大家一致认为CNN具有平移不变性。在CV的三大物体感知任务中,分类不需要位置信息,语义分割关注的是像素级别的语义分类,也不觉得需要位置信息(其实位置信息很有用);也许你会觉得物体检测会用到位置信息,

然而,物体检测模型都是通过检测Anchor中的特征做分类工作,最后得到的坐标信息来自于Anchor。即被主流方法解耦了绝对位置,变成相对于锚框或者锚点进行局部相对位置的回归。这样,网络本身不需要知道物体的绝对位置,位置信息作为人为先验被用在前后处理进行坐标换算。

我们只考虑输出对于输入不变性和相等性的情况,则会难以理解,因为我们更多地是想象着特征层面的映射

如何获得的平移不变

平移不变性受降采样影响

第一个是为了解决CNN平移不变性对抗性攻击的一篇ICML2019论文《Making Convolutional Networks Shift-Invariant Again》。这篇文章主要讨论了CNN网络中的降采样对于平移不变性的影响

改进方法

作者采用了模糊的方式,提出了三种不同的blur kernel:

Rectangle-2:[1, 1],类似于均值池化和最近邻插值;
Triangle-2:[1, 2, 1],类似于双线性插值;
Binomial-5:[1, 4, 6, 4, 1],这个被用在拉普拉斯金字塔中。

平移、尺度以及轻微图像差异对网络预测分类置信度的影响

第二篇是同年发表在JMLR的一篇论文《Why do deep convolutional networks generalize so poorly to small image transformations?》。作者首先给出了几组示例,分别表示了平移、尺度以及轻微图像差异对网络预测分类置信度的影响:

如何获得的位置信息

在单目深度估计中,CNN可能是通过图像里物体的纵坐标来估计深度的。
https://zhuanlan.zhihu.com/p/95758284

位置信息是zero-padding透露的。

其实在CoordConv文章中也有类似的结果,普通conv和CoordConv在处理简单的位置映射任务的时候,是80分和100分的区别,而不是0分和100分的区别。当时和孔涛和沈春华老师讨论,猜想是zero-padding透露了位置的信息,但是没有进一步的实验验证。这个猜想非常自然,因为在网络的训练和测试过程中,所有的外在输入只有两个:输入图片和padding。输入图片没有位置信息,那应该就是padding的影响了。

CNN隐性的编码了位置信息,并且随着网络层数的增加和卷积核的增加,即感受野的增加,能够更好的编码位置信息。其中,这个位置信息是由zero-padding造成的,图像边缘的zero-padding提供了图像的边界信息。本来,网络是不知道每个像素点或者特征点的位置。但是,通过padding的zero,提供给模型一个相对位置信息,知道每个特征点距离zero边界的距离信息。

足够大的网络(多层或者大kernel)可以把padding透露的边界信息扩散出去,得到粗糙的全局位置信息。

虽然目前的CNN模型可以隐式的学到一定程度的位置信息,但是显然是不充分的。怎样更充分的利用绝对位置信息,非常值得进一步挖掘,CoordConv[5]和semi-conv[6]是很好的探索。

最直接的做法当然就是把每个像素的坐标concat到输入或者中间特征上,这种简单直接做法可以在SOLO[3]的实例分割结果上带来3.6 AP的提升。但是我认为可以有更多方法去进一步充分挖掘图片里的位置信息.
[3] Wang, X., Kong, T., Shen, C., Jiang, Y., & Li, L. (2019). SOLO: Segmenting Objects by Locations.

CVPR2020的文章《On Translation Invariance in CNNs: Convolutional Layers can Exploit Absolute Spatial Location》,其中也提到了CNN中的平移不变性问题和绝对位置信息编码问题,其切入点是CNN中的边界问题。

从卷积操作入手

发布了452 篇原创文章 · 获赞 271 · 访问量 73万+

猜你喜欢

转载自blog.csdn.net/qq_35608277/article/details/105241864