0 摘要
在这篇文献中,我们建立了经典Lucas & Kanade(LK)算法与Spatial Transformer Networks(STN)之间的联系。STN在视觉学习任务中很有用,因为它将对其和分类放在同一个理论框架中。受到LK算法逆组合(Inverse Compositional,IC)变体的启发,我们提出了一种新的网络:Inverse Compositional Spatial Transformer Networks(IC-STN)。我们展示了IC-STN相比于STN可以获得更好的表现,且模型capacity更小。 特别地,IC-STN在纯图像对齐任务和现实世界问题上的联合对齐/分类问题上表现出优异的性能。
1 Intro
CNN在视觉任务上取得了很好的表现。大部分网络通过两种方法来增强对spatial variance的容忍度(鲁棒性):(a)空间池化层 (b)数据增强技术。然而,这些方法都有一定的缺陷。数据增强(例如,可以根据已知的噪声模型,通过几何畸变合成新的训练样本)是增加空间容忍度可能是最古老和最著名的策略。这种方法是有问题的,因为它往往需要以指数形式增加训练样本的数量,从而提高模型的学习能力。空间池化层操作可以部分地缓解质疑问题,因为它能自然地编码网络体系结构中的空间不变性,并使用次采样来降低模型的容量。然而,它们对它们所能提供的几何变化具有内在的有限的容忍范围。此外,这种池操作破坏了图像中的空间细节,这可能对后续任务的性能至关重要。
相比于设计一个能自己完全tolerate空间变化的神经网络,另一种选择是设计一个能解决输入图像中的一些几何失调问题的网络。 然而,这种策略只有在它比传统的空间不变CNN具有更低的容量和计算成本以及更好的性能时才有意义。Spatial Transformer Networks (STNs)是第一个值得注意的尝试之一,整合低容量和计算效率的策略,以解决-而不是容忍-与经典CNNs的失调。 Jaderberg等人(STN的发明者)提出了一种崭新的策略,并证明这种策略是(次)可微的,允许将canonical进行反向传播,应用于图像翘曲框架。
在计算机视觉中,学习图像表现(image appearance)与几何失真(geometric distortion)之间的低容量关系的问题并不是新的。 三十多年前,Lucas & Kanade (LK) 提出了梯度下降图像对齐的种子算法(seminal algorithm)。 LK算法可以理解为多个对准模块(alignment module)的前馈网络(feed forward network)。具体而言,每个对齐模块均包含一个低容量预测器(通常为线性),用于根据相对图像外观预测几何失真,然后进行图像重采样/扭曲操作。然而,LK算法与STN的应用从根本上不同:一个是图像/对象对齐,另一个是分类。
不谈应用场景,LK和STN框架的工作具有非常相似的特征,但是有一个例外。在具有多个前馈对齐模块的STN中,前一个对齐模块的输出图像将直接馈入下一个对齐模块。正如我们将在本文中演示的那样,STN的策略是有问题的,因为随着几何预测层数的增加,它会产生不必要的边界效应。然而LK算法没有这类问题。通过以成分更新形式重新使用同样的几何预测器,LK算法的逆组合变式(Inverse Compositional variant)取得了同样有效的对齐效果。
收到IC-LK算法的启发,我们对STN模型进行了扩展,使它(a)能通过网络传递warp parameters,而不是图像强度;(b)它使用了相同的几何预测器,可以重新应用于所有对齐模块。我们提出的IC-STNs比原有的STN在很多方面都要优越,包括纯图像对齐以及对齐/分类任务。
2 Efficient Image & Object Alignment
在本节中,我们回顾了有效和低容量图像/对象对齐的标称方法。
2.1. The Lucas & Kanade Algorithm
Lucas & Kanade (LK) 算法是一种解决图像和对象密集对齐问题(dense alignment problems)的流行方法。对于由变形参数p的给定几何变形函数,可以将LK算法表示为最小化图像空间与目标的差的平方和。
IC-LK是LK算法的快速版本,二者本质上是等价的。
IC-LK算法目标函数:
对目标函数进行线性化处理:
目标函数最小二乘法解:
解的迭代更新公式:
IC-LK算法可以参考这个知乎回答,论文中比较啰嗦。
2.2. Learning Alignment from Data
更一般地,如果形变位移的分布是先验知识,那么就可以利用级联回归(cascaded regression)方法从数据中学习。一个著名的例子是监督下降法(Supervised Descent Method,SDM),它只在从数据中学习线性几何预测
{
R
,
b
}
\left\{ {R,b} \right\}
{R,b}。SDM的学习目标是:
SDM对齐算法可以参考这个博客
与LK和IC-LK算法一样,SDM是另一个使用多个低容量模型来建立外观与几何之间非线性关系的例子。尽管SDM会从数据中学习对齐方式并在每个应用的线性模型后保证最佳解决方案,但尚不清楚以贪婪方式学习的对齐方式是否适合手头上的后续任务(例如分类)。为了在最终目标上进行优化,更有利于将模型参数化为深度神经网络,并利用反向传播对整个模型进行优化。
3 Spatial Transformer Networks
STN的数学表达为
其中
f
f
f为参数预测器(也就是localization network),可以根据输入参数估计warp parameter。对于
f
f
f是单层线性网络的特殊情况,
f
f
f包含了一个线性回归器
R
R
R以及偏置项
b
b
b,这使得几何预测器在形式上和LK算法中的更新公式是等价的。这一洞察力优雅地将STN和LK/SDM框架连接在一起。
尽管STN与经典的对齐算法有相似之处,但与LK/SDM相比,STN存在一些根本上的缺点。 首先,它试图用单个几何预测器直接预测最优几何变换,而不利用多个低容量模型的使用来实现分类前更有效的对齐。 虽然已经证明可以在特征映射之间插入多个ST,但这种使用对提高性能的有效性尚不清楚。此外,我们可以从STN的数学表达中观察到,输出图像并没有保留任何关于warp parameter的信息; 这导致了在输入源图像之外重新采样时的边界效应。关于这部分的详细讨论在4.1节中。
在本工作中,我们的目标是通过理论上将STN与LK算法联系起来来改进STN。我们表明,采用LK / SDM中的多个低容量模型来学习深度网络中的空间转换,将对后续手头工作产生实质性的改善。 我们进一步证明了为循环变换学习单个几何预测器的有效性,并提出了IC-STNs,它在各种问题上都比原始的STN有了显着改进。
4. Inverse Compositional STNs
4.1. Geometry Preservation
原始Spatial Transformer体系结构的主要缺点之一是输出图像仅从裁剪后的输入图像中采样。 裁剪区域外的像素信息被丢弃,引入边界效应。
从图中可以看出,对于STN,在需要边界框外的像素信息的缩小变换中存在边界效应。这是由于几何信息在空间变换后没有被保留。在迭代对齐的场景中,每个缩放转换都会累积边界效应。虽然这对于具有干净背景的图像来说不是一个问题,但对于真实图像来说,这是有问题的。
然而,一系列的空间变换可以用精确的表达式来组成和描述。下图展示了一个改进的对齐模块,我们称之为组合STN(c-STNs)。
在这里,几何变换也是从几何预测器预测的,但warp parameter
p
p
p被时刻跟踪、组成(compose)。我们在网络中传递着p,而不是warped images。要注意的是,如果要合并多个空间变形器的级联,则通过对图像进行多次重采样来隐式地组成几何转换。 我们主张这些转换能够并且应该明确定义和组合。不像STN,warp parameter被输出图像所吸收。此外,c-STNs允许重复连接,正如图4所示的那样,因此对于warp parameter可以迭代地预测。这消除了边界效应,因为裁剪图像之外的像素信息也被保存到最终的转换。
warp composition的导数也可以用数学上的closed forms表示。考虑下图中的输入warp parameter
p
i
n
p_{in}
pin以及输出warp parameter
p
o
u
t
p_{out}
pout。
以仿射变换为例,p有如下形式:
这种形式可以与其次坐标中的变换矩阵相关联:
从warp composition的行义来看,warp parameter和变换矩阵通过如下方式相关联:
因此可以获得导数, 这允许梯度反向传播到几何预测器:
值得注意的是,(11)式中
∂
p
o
u
t
/
∂
p
i
n
∂p_{out}/∂p_{in}
∂pout/∂pin的表达式与残差网络中的表达式非常相似,其中梯度包含单位矩阵I和“残差分量”。这说明当
Δ
p
\Delta p
Δp比较小的时候,c-STNs的warp parameter对于梯度消失是不敏感的,因此可以进行多次warp/composition行为。
我们还注意到c-STNs与经典的对齐算法非常相似。假设appearence-geometry关系是线性近似的,那么它就可以作为composition-LK算法的等价操作。c-STN也与SDM相关,在SDM中,在每个回归层之前提取启发式特征(如SIFT)。 因此,c-STN可以看作是LK和SDM的推广,但不同的是,c-STN预测warp更新的特征时可以从数据中学习,并嵌入到end-to-end的学习框架。
4.2. Recurrent Spatial Transformations
在LK算法的所有变体中,IC形式具有一个非常特殊的特性,即线性回归器在迭代过程中保持不变。最陡峭的下降图像 ∂ T ( 0 ⃗ ) ∂ p ⃗ {{\partial T\left( {\vec 0} \right)} \over {\partial \vec p}} ∂p∂T(0)是与输入图像和当前的p无关的。因此,最陡下降只需要计算一次。在模型容量方面,IC-LK与标准LK相比进一步降低了必要的可学习参数,因为只要进行了良好的初始化,相同的回归器可以被重复应用和达到收敛。标准LK和IC-LK之间的主要区别在于,翘曲更新∆p应该以反形式组合应用。
这启发我们提出IC-STN。下图(图5)揭示了IC-STN的结构:warp parameters
p
p
p 每次以
Δ
p
\Delta p
Δp的形式迭代更新,且
Δ
p
\Delta p
Δp是运用同样的几何预测器,从循环的warped image中得到的。这样一来就可以反复预测输入图像上的空间变换。这么做是可能的,因为像素强度在自然图像中是接近的,因此距离近的像素间存在很高的相关性。
在IC-LK算法汇总,预测的warp parameter是逆向组合的。由于IC-STN几何预测器是在端到端学习框架中进行的优化,因此我们可以将反演操作吸收到几何预测器中,而无需明确定义它。换句话说,IC-STN能够直接预测逆参数。在我们的实验中,我们发现对预测的正向参数明确执行附加的逆运算存在微不足道的差异,并且隐式预测逆参数更适合使用反向传播的端到端学习框架。 尽管如此,我们将我们提出的方法命名为Inverse Compositional,因为ICLK是我们从中汲取灵感的地方。
在实践中,通过分享几何预测器中可训练的参数以及按照4.1节中的方法进行梯度反向传播,IC-STN(图5)可以展开为图4中的体系结构来训练。 这导致了一个单一的有效几何预测器,可以多次应用,然后执行最终的翘曲操作,以适应后续的任务,如分类。
5. Experiments
5.1. Planar Image Alignment
(略)
5.2. MNIST Classification
5.3. Traffic Sign Classification
6. Conclusion
在本文中,我们在理论上将Lucas&Kanade算法的核心思想与空间变压器网络联系在一起。 我们表明,可以通过对齐框架内的多个空间变换来更有效地消除数据中的几何变化。 我们提出了逆成分空间变压器网络来预测经常发生的空间变换,并证明与baseline CNN和original STN相比,具有更好的对齐和分类结果。