什么是计算机视觉和卷积神经网络中的翻译不变性?


36

我没有计算机视觉背景,但是当我阅读一些图像处理和卷积神经网络相关的文章和论文时,经常遇到术语“ translation invariance或” translation invariant
还是我读了很多卷积运算提供的信息translation invariance?!这是什么意思?
我本人总是将其翻译成自己的意思,好像这意味着如果我们以任何形状更改图像,则图像的实际概念不会改变。
例如,如果我旋转一个可以说的树的图像,那么无论我对那张照片做什么,它又都是一棵树。
而且我本人认为,可能发生在图像上的所有操作并以某种方式(裁剪,调整大小,灰度,着色等)进行转换都是这种方式。我不知道这是否是真的,所以如果有人可以向我解释这一点,我将不胜感激。

Answers:


57

您走在正确的轨道上。

不变性意味着即使对象的外观以某种方式变化,也可以将其识别为对象。这通常是一件好事,因为它可以在视觉输入的细节变化中保留对象的身份,类别等,例如查看器/摄像机与对象的相对位置。

下图包含同一雕像的许多视图。您(以及训练有素的神经网络)可以识别出同一对象出现在每张图片中,即使实际像素值完全不同。

各种不变性,证明

请注意,这里的翻译在视觉上具有特定的含义,是从几何学借来的。它不涉及任何类型的转换,不像从法语到英语或文件格式之间的转换。相反,这意味着图像中的每个点/像素已沿相同方向移动了相同的量。或者,您可以认为原点已在相反方向上偏移了相等的量。例如,我们可以通过将每个像素向右移动50或100个像素,从第一行生成第一行的第二张和第三张图像。


可以证明卷积算子相对于平移是可交换的。如果将与卷积,则转换平移后的输出或先转换或然后对其进行卷积都没关系。维基百科还有更多fgfgfg

翻译不变的对象识别的一种方法是获取对象的“模板”,并将其与图像中对象的每个可能位置进行卷积。如果您在某个位置获得了较大的响应,则表明与模板相似的对象位于该位置。这种方法通常称为模板匹配


不变性与等方差

Santanu_Pattanayak的答案(点击这里)指出,有翻译之间的差异不变性和平移同变性。平移不变性意味着无论输入如何移位,系统都会产生完全相同的响应。例如,面部检测器可能会在第一行中报告所有三张图像的“面部图像”。等方差意味着系统在各个位置上均能很好地工作,但是其响应随目标位置而变化。例如,“面部表情”的热图在处理第一行图像时在左侧,中央和右侧将具有相似的凸起。

有时这是一个重要的区别,但是很多人都将这两种现象称为“不变性”,特别是因为将等变响应转换为不变的响应通常是微不足道的-只需忽略所有位置信息即可。


2
很高兴我能帮上忙。这是我的主要研究兴趣之一,因此,如果还有其他有用的地方,我将拭目以待。
马特·克劳斯

您能否阐明CNN如何实现翻译不变性?CNN中卷积层的激活在平移下不是不变的:它们随着图像的移动而四处移动(即,它们与平移是等变的,而不是不变的)。这些激活通常被送入池化层,池化层也并非翻译不变。并且池化层可以馈入完全连接的层。完全连接的层中的权重是否会以某种方式将翻译更改为与翻译不变行为相同?
最多

@max,合并确实会增加平移不变性,尤其是max-pooling(!),它会完全忽略合并附近的空间信息。请参阅《深度学习》的第9章deeplearningbook.org/contents/convnets.html(从第335页开始)。这个想法在神经科学中也很流行-HMAX模型(例如,在这里:maxlab.neuro.georgetown.edu/docs/publications/nn99.pdf)结合使用平均和最大池化来生成翻译(以及其他类型的)不变性。
马特·克劳斯

1
哦,对了,合并在小的翻译中提供了不变性(我当时正在考虑较大的移位,但是也许每个连续的合并层都可以逐步处理较大的移位)。但是完全卷积网络呢?如果不进行池化,什么提供(至少是近似)不变性?
最多

1
@Fredom,作为一个新问题,可能会更好,但总而言之,即使您将声音信号向前移动,声音信号的声音也相同(例如,在开始时添加一堆静音)。但是,如果将其在频域中移动,则听起来会有所不同:不仅频谱移动了,而且频率之间的关系(例如谐波)也失真了。
马特·克劳斯

4

我认为翻译不变性的含义有些混乱。卷积提供平移等方差含义,如果图像中的对象位于区域A处,并且通过卷积在区域B的输出处检测到特征,则当图像中的对象转换为A'时将检测到相同的特征。输出特征的位置也将根据过滤器内核大小转换为新区域B'。这称为平移不变性,而不是平移不变性。


2

答案实际上比刚开始时要棘手。通常,平移不变性意味着您可以识别对象,而不必理会它在框架上的显示位置。

如果您的视野支持单词的平移不变性,则在A和B帧的下一张图片中,您将识别出“重读” 一词在此处输入图片说明

我强调单词一词是因为如果您的不变性仅在字母上受支持,则框架C也将等于框架A和B:它具有完全相同的字母。

实际上,如果您对CNN进行字母训练,那么诸如MAX POOL之类的东西将有助于实现字母的翻译不变性,但不一定会导致单词的翻译不变性。合并会拔出要素(由相应的图层提取),而与其他要素的位置无关,因此它将丢失字母D和T的相对位置的知识,而STRESSED和DESSERTS单词将看起来相同。

该术语本身可能来自物理学,其中翻译对称性意味着方程式保持不变,而与空间中的平移无关。


1

@圣塔努

虽然您的答案部分正确,但会导致混乱。确实,卷积层本身或输出特征图是平移等变的。@Matt指出,最大池化层的作用是提供一些平移不变性。

也就是说,特征图中的等方差与最大池化层函数相结合会导致网络输出层(softmax)的平移不变性。上面的第一组图像即使已向左或向右平移,仍会产生称为“状态”的预测。尽管翻译了输入,但预测仍保持“状态”(即相同)这一事实意味着网络已经实现了一些翻译不变性。


我不太确定合并会导致翻译不变性。
阿克萨卡尔州

适中。请记住,最大池化运算符将最大像素值作为其在给定窗口中的输出。数学上这需要一定的不变性,因为最大像素值的空间位置无关紧要(在一定的公差范围内)。
m e
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.