1. 几个问题
做了什么
提出了旋转等变向量场网络Rotation Equivariant Vector Field Networks (RotEqNet),是一种对旋转等变性(equivariance)、旋转不变性(invariance)和旋转共变性(covariance)进行了编码的CNN网络。
论文中专注于解决“旋转”这一操作,因此下文所述的对象都与旋转有关。
实现原理
每个卷积核被应用在多个方向上,并返回一个矢量场,表示每个空间位置的最高评分方向的大小和角度。
实验效果
相比于一些大型模型,RotEqNet的参数更加紧凑,在图像分类、医学图像分割等任务上能取得和参数更多的模型一样的效果。
…
实验内容很多,略去不表。
2. 相关工作
有两类方法明确说明了旋转不变性或等变性:
1) 对表示(输入图或特征图)进行转换
2) 对卷积核进行旋转。
RotEqNet属于后者。
2.1 转换image或feature map
- Jaderberg等人提出了Spatial Transformer层,ST也是一个神经网络,会根据输入的图像或特征图预测正确的姿势,然后把输入图或特征图校正到正确的姿势。之前写过一篇关于STN的博客。
- TI-pooling将同一图像的多个旋转版本输入到同一个CNN,然后在第一个全连接层上横跨不同的特征向量执行池操作。这种操作允许紧随其后的全连接层从上一步旋转得到的图像组中挑选出正确的图像,并进行分类。
- Cheng在每一个minibatch中使用了输入图像的几个旋转版本。在第一个全连接层之后,特征图的representation会变得相似,从而迫使CNN学习旋转不变性。
- Henriques对图像进行了扭曲(warp),使卷积固有的平移等方差性质转化为旋转等变性和尺度等变性。
一方面,这些方法具有利用传统CNN实现的优点,因为它们只作用在数据表示(data representation)上。另一方面,他们只能考虑输入图像的全局(global)变换。虽然这非常适合于图像分类等任务,但它限制了它们在其他任务(如语义分割)中的适用性,在这些任务中,某些对象相对于周围环境的局部相对方向才是重要的。相反,RotEqNet是基于特定的CNN构建块来处理本地(local)方位信息。因此,RotEqNet可以处理分类、完全卷积语义分割、检测和回归等多种任务。
2.2 转换filters
3. 数学部分
等变性、不变性和共変性
论文作者用一张图很好地概括了这三者的区别。
等变性:旋转输入,导致输出被同样地旋转
不变性:旋转输入,输出不变
共变性:旋转输入,输出是输入旋转的确定函数
定义 f f f为某个感兴趣的函数, g g g为某个变换函数。则三种关系可以简单的用公式描述:
等变性: f ( g ( ⋅ ) ) = g ( f ( ⋅ ) ) f\left( {g\left( \cdot \right)} \right) = g\left( {f\left( \cdot \right)} \right) f(g(⋅))=g(f(⋅))
不变性: f ( g ( ⋅ ) ) = f ( ⋅ ) f\left( {g\left( \cdot \right)} \right) = f\left( \cdot \right) f(g(⋅))=f(⋅)
共变性: f ( g ( ⋅ ) ) = g ′ ( f ( ⋅ ) ) f\left( {g\left( \cdot \right)} \right) = g'\left( {f\left( \cdot \right)} \right) f(g(⋅))=g′(f(⋅))
其中 g ′ ( ⋅ ) = h ( g ( ⋅ ) ) g'\left( \cdot \right) = h\left( {g\left( \cdot \right)} \right) g′(⋅)=h(g(⋅)),即 g ′ g' g′是 g g g的函数,是一种二次变换(复合函数)。
在这种定义下,等变性和不变性其实都是共变性的一种特例。
CNN的平移性
图像: x ⃗ ∈ R M × N × d \vec x \in {R^{M \times N \times d}} x∈RM×N×d
卷积核: w ⃗ ∈ R m × n × d \vec w \in {R^{m \times n \times d}} w∈Rm×n×d
图像与卷积核发生卷积: y ⃗ = w ⃗ ∗ x ⃗ \vec y = \vec w*\vec x y=w∗x
RotEqCNN——概述
我们将图片与标准滤波器的若干旋转实例进行卷积,从而获得旋转等变性。
标准卷积核 w → \overrightarrow w w被旋转到 R R R个均匀的空间方向。旋转间隔 α = [ 0 ∘ , 360 ∘ ] \alpha = \left[ {
{0^ \circ },{
{360}^ \circ }} \right] α=[0∘,360∘]