1. Introduction
Exemple demonstrating rotation non-equivariance in regular CNN models used in object tracking:
例子描述了常规的CNN模型在目标追踪中,不具有旋转等变性
ψ θ ( f ( / c d o t ) ) ≠ f ( ψ θ ( ⋅ ) ) \psi_\theta(f(/cdot)) \neq f(\psi_\theta(\cdot)) ψθ(f(/cdot))=f(ψθ(⋅))
Equivariant等变性:
算符和函数间能够互相交换,存在对易性
t r a n s f o r m [ F ( x ) ] = F ( t r a n s f o r m [ x ] ) transform[F(x)] = F(transform[x]) transform[F(x)]=F(transform[x])
Invariant不变性:
输入x发生变换,但是F之后的输出不变
F ( x ) = F ( t r a n s f o r m [ x ] ) F(x) = F(transform[x]) F(x)=F(transform[x])
Covariant共变性:
输入x发生变换transform,F之后的输出也发生变换,但不是transform,但是可以通过另一种变换,让结果相同
t r a n s f o r m ∗ F ( x ) = F ( t r a n s f o r m [ x ] ) transform^*F(x) = F(transform[x]) transform∗F(x)=F(transform[x])
2. Related Work
3. Rotation Equivariant CNNs
旋转等变性背景
Rotation Equivariance旋转等变性
SFC-NNs
知识拓展:球谐函数
论文中如何利用球谐函数的
- 球面坐标没有 z 和 θ z和\theta z和θ就是圆谐函数系
ψ j k ( r , φ ) = τ j ( r ) j k φ \qquad \\ \psi_{jk}(r,\varphi) = \tau_j(r)^{jk\varphi}\\ \qquad \\ ψjk(r,φ)=τj(r)jkφ
- 以下两个参数控制偏置函数(径向函数 τ j \tau_j τj)的偏置范围
\qquad
φ ∈ ( − π , π ] \varphi \in (-\pi,\pi] φ∈(−π,π]
\qquad
当前次数 j = 1 , 2 , … , J j=1,2,\dots,J j=1,2,…,J
\qquad
- 控制极坐 ( x 1 , x 2 ) (x_1,x_2) (x1,x2)标旋转角度
\qquad
( r , ϕ ) (r,\phi) (r,ϕ)
\qquad
- 角向函数 ( e j k φ ) (e^{jk\varphi}) (ejkφ)的角频率,也成为阶数
\qquad
k ∈ Z 其值跟函数系的当前函数次数 j 相关 Z ∈ [ − j , j ] k \in Z其值跟函数系的当前函数次数j相关 Z \in [-j,j] k∈Z其值跟函数系的当前函数次数j相关Z∈[−j,j]
\qquad
- 用欧拉旋转定理表示目标的旋转
ρ θ ψ j k ( x ) = e − i k θ ψ j k ( x ) \qquad \\ \rho_{\theta}\psi_{jk}(x) = e^{-ik\theta}\psi_{jk}(x) \\ \qquad \\ ρθψjk(x)=e−ikθψjk(x)
e − i k θ 表示顺时针旋转 θ , e + i k θ 表示逆时针旋转 θ e^{-ik\theta}表示顺时针旋转\theta,e^{+ik\theta}表示逆时针旋转\theta e−ikθ表示顺时针旋转θ,e+ikθ表示逆时针旋转θ
\qquad
注意,这里的 ψ j k ( x ) 指的是 ψ j k ( ⋅ ) , x 是泛指,而非特指 注意,这里的\psi_{jk}(x)指的是\psi_{jk}(\cdot),x是泛指,而非特指 注意,这里的ψjk(x)指的是ψjk(⋅),x是泛指,而非特指
\qquad
- 每个学到的权重 w j k ∈ C ,被构建为一个基本滤波器之间的线性连接 每个学到的权重w_{jk} \in \mathbb{C},被构建为一个基本滤波器之间的线性连接 每个学到的权重wjk∈C,被构建为一个基本滤波器之间的线性连接
Ψ ( x ) = ∑ j = 1 J ∑ k = 0 K w j k ψ j k ( x ) \qquad \\ \Psi(x) = \sum_{j=1}^{J}\sum_{k=0}^{K}w_{jk}\psi_{jk}(x) \\ \qquad \\ Ψ(x)=j=1∑Jk=0∑Kwjkψjk(x)
- 对于旋转 θ 角度,可以通过基本滤波器的相会控制来实现控制合成滤波器 对于旋转\theta角度,可以通过基本滤波器的相会控制来实现控制合成滤波器 对于旋转θ角度,可以通过基本滤波器的相会控制来实现控制合成滤波器
ρ θ Ψ ( x ) = ∑ j = 1 J ∑ k = 0 K w j k e − i k θ ψ j k ( x ) \qquad \\ \rho_{\theta}\Psi(x) = \sum_{j=1}^{J}\sum_{k=0}^{K}w_{jk}e^{-ik\theta}\psi_{jk}(x) \\ \qquad \\ ρθΨ(x)=j=1∑Jk=0∑Kwjke−ikθψjk(x)
通过 Ψ 的实部可以求取滤波器的一个旋转方向,称之为 R e Ψ ( x ) 通过\Psi的实部可以求取滤波器的一个旋转方向, 称之为Re\Psi(x) 通过Ψ的实部可以求取滤波器的一个旋转方向,称之为ReΨ(x)
\qquad
\qquad
4. Rotation Equivariant Siamese Trackers
\qquad
4.1 Formulation Based on Siam-FC
h ( z , x ) = f ( z ) ∗ f ( x ) \qquad \\ h(z,x)=f(z)*f(x) \\ \qquad \\ h(z,x)=f(z)∗f(x)
f ( ⋅ ) 是指特征提取网络 \qquad f(\cdot)是指特征提取网络 f(⋅)是指特征提取网络
∗ 指互相关的卷积操作 \qquad * 指互相关的卷积操作 ∗指互相关的卷积操作
- 网络的Candidate Head(处理Search region的)使用一张search image(没变)
\qquad - 网络的Template Head修改成可以输入多个template image(如图,旋转后的template)作为输入,一系列旋转变量 Λ \Lambda Λ定义为Z集,其中 Z = { z 1 , z 2 , … , z Λ } Z=\{z_{1}, z_{2},\dots, z_{\Lambda}\} Z={
z1,z2,…,zΛ},即为所有可能存在的旋转角度
\qquad - 先计算初始traget的特征 f ( z ) f(z) f(z),然后再旋转 f ( z ) f(z) f(z),由于是旋转等变网络,所以理论上是可以这么干的
\qquad - 旋转Template中的Target:
\qquad
y c ~ ( 1 ) ( x , θ ) = R e ∑ c = 1 C ∑ j = 1 J ∑ k = 0 K w c ^ c j k e − i k θ ( I c ∗ ψ j k ) ( x ) \qquad \\ y_{\tilde{c}}^{(1)}(x,\theta) = Re \sum_{c=1}^{C}\sum_{j=1}^{J}\sum_{k=0}^{K}w_{\hat{c}cjk}e^{-ik\theta}(I_c * \psi_{jk})(x) \\ \qquad \\ yc~(1)(x,θ)=Rec=1∑Cj=1∑Jk=0∑Kwc^cjke−ikθ(Ic∗ψjk)(x)
其中
- I c 是通道为 c 的图片, c ∈ { 1 , 2 , … , C } I_c是通道为c的图片,c \in \{ 1, 2, \dots, C\} Ic是通道为c的图片,c∈{ 1,2,…,C}
- ρ θ Ψ c ^ c ( 1 ) 旋转滤波器 \rho_{\theta}\Psi_{\hat{c}c}^{(1)}旋转滤波器 ρθΨc^c(1)旋转滤波器
- c ^ ∈ { 1 , 2 , … , C ^ } \hat{c} \in \{1, 2,\dots, \hat{C} \} c^∈{ 1,2,…,C^}
- 等距旋转角度 θ 可以由集合 Θ = { 0 , Λ , … , 2 π Λ − 1 Λ } 等距旋转角度\theta可以由集合\Theta=\{0, \Lambda, \dots, 2\pi \frac{\Lambda-1}{\Lambda}\} 等距旋转角度θ可以由集合Θ={ 0,Λ,…,2πΛΛ−1}
- 偏置项 β c ^ ( 1 ) 用于在层 ( 第一层 ) : ζ c ^ ( 1 ) 获取特征图 偏置项\beta_{\hat{c}}^{(1)}用于在层(第一层):\zeta_{\hat{c}}^{(1)}获取特征图 偏置项βc^(1)用于在层(第一层):ζc^(1)获取特征图
- 非线性连接 σ c ^ ( 1 ) 用于在层 ( 第一层 ) : ζ c ^ ( 1 ) 获取特征图 非线性连接\sigma_{\hat{c}}^{(1)}用于在层(第 一层):\zeta_{\hat{c}}^{(1)}获取特征图 非线性连接σc^(1)用于在层(第一层):ζc^(1)获取特征图
- 旋转等变的卷积
y c ^ ( l ) = R e ∑ c = 1 C ∑ ϕ ∈ Θ ∑ j , k w c ^ c j k , θ − ϕ e − i k θ ( ζ c l − 1 ( , ˙ ϕ ) ∗ ψ j k ) ( x ) \qquad \\ y_{\hat{c}}^{(l)} = Re\sum_{c=1}^{C}\sum_{\phi \in \Theta}\sum_{j,k}w_{\hat{c}cjk,\theta - \phi}\hspace{1mm}e^{-ik\theta}(\zeta_c^{l-1}(\dot, \phi)*\psi_{jk})(x) \\ \qquad \\ yc^(l)=Rec=1∑Cϕ∈Θ∑j,k∑wc^cjk,θ−ϕe−ikθ(ζcl−1(,˙ϕ)∗ψjk)(x)
其中
权重项 w 中的下标 θ − ϕ 是指以角度维度进行的分组卷积操作 权重项w中的下标\theta-\phi是指以角度维度进行的分组卷积操作 权重项w中的下标θ−ϕ是指以角度维度进行的分组卷积操作
\qquad
- 旋转等变的池化
\qquad
最后一个分组卷基层的输出会在旋转维度上进行深加工。跟传统的分类网络不同,这种池化并不在W\times H的维度(spatial维度)上进行,而是在角度分组( { 0 , 2 π 8 , 4 π 8 , … , 14 π 8 } \{0, \frac{2\pi}{8}, \frac{4\pi}{8}, \dots, \frac{14\pi}{8} \} { 0,82π,84π,…,814π})的维度上进行池化,以保留旋转等变性的特征
\qquad
- 旋转等变性的互相关
\qquad
- 从 R e − S i a m N e t 的两个子网络可以得到一个 f e a t u r e − m a p 集合 { ϕ ( z ) 和 ϕ ( x ) } 从Re-SiamNet的两个子网络可以得到一个feature-map集合\{\phi(z)和\phi(x)\} 从Re−SiamNet的两个子网络可以得到一个feature−map集合{ ϕ(z)和ϕ(x)}
\qquad- ϕ ( z ) 是转动角度 Λ 的 f e a t u r e − m a p 集合 \phi(z)是转动角度\Lambda的feature-map集合 ϕ(z)是转动角度Λ的feature−map集合
\qquad- 通过互相关层 { h ^ ( z , x ) } ,计算不同旋转角度 Λ 的 T e m p l a t e 特征图的热图, h i ( z , x ) = ϕ ( z ) ∗ ϕ ( x ) 通过互相关层\{\hat{h}(z,x)\},计算不同旋转角度\Lambda的Template特征图的热图,h_i(z, x)=\phi(z)*\phi(x) 通过互相关层{ h^(z,x)},计算不同旋转角度Λ的Template特征图的热图,hi(z,x)=ϕ(z)∗ϕ(x)
\qquad- 将 { h ^ ( z , x ) } 经过全局最大池化,输出一个热图 h ( Z , x ) , 即在 { h ^ ( z , x ) } 中挑出最大的 h ^ 将\{\hat{h}(z, x)\}经过全局最大池化,输出一个热图h(Z,x),即在\{\hat{h}(z,x)\}中挑出最大的\hat{h} 将{ h^(z,x)}经过全局最大池化,输出一个热图h(Z,x),即在{ h^(z,x)}中挑出最大的h^
\qquad
\qquad
4.2 Constructing RE-SiamNet Framework
- Identify the precision of the tracker in terms of discriminating between orientations of the rotational degree of freedom. Author considered here Λ \Lambda Λ rotation groups, based on which RE-SiamNets would be perfectly equivariant to angles defined by the set Θ = { ( i − 1 ) Λ ∗ 2 π } i = 1 Λ ⇒ { ( i − 1 ) 2 π 8 } i = 1 Λ = 8 \Theta=\{\frac{(i-1)}{\Lambda}*2\pi\}_{i=1}^{\Lambda} \Rightarrow \{(i-1)\frac{2\pi}{8}\}_{i=1}^{\Lambda=8} Θ={ Λ(i−1)∗2π}i=1Λ⇒{(i−1)82π}i=1Λ=8
- Define the non-parametric encoding ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)based on existing Siamese trackers. Based on the choice of ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅),discriminative power of trackers varies.
- Replace all the convolutional layers of ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅) with the rotation-equivariant modules.
- Instead of a single convolution to generate h = ( z , x ) , Λ h=(z,x),\Lambda h=(z,x),Λ convolutions are performed to generate Λ \Lambda Λ different heatmap
- Perform Global max-pooling over the feature maps to generate h ( Z , x ) h(Z,x) h(Z,x), which is then processed to localize the target.
$\qquad\$
5. Unsupervised Relative Rotation Estimation
\qquad
5.1 Unsupervised 2D pose estimation
\qquad
- The inherent design of RE-SiamNet allows to obtain an estimation of the relative changes of 2D pose of the target in a fully unsupervised manner. This information can be obtained from the result of the group maxpooling step
- Let i ∈ { 1 , 2 , … , Γ } i \in \{1,2,\dots, \Gamma\} i∈{
1,2,…,Γ} denote one of Λ \Lambda Λ orientations of the template. Then, i i i is the number of rotation groups by which the pose of the template differs from that of its appearance in the candidate image if :
h ( Z , x ) = h ^ ( z i , x ) = g r o u p − m a x p o o l ( { z , x } ) h(Z,x)=\hat{h}(z_i, x)=group-maxpool(\{z, x\}) h(Z,x)=h^(zi,x)=group−maxpool({ z,x})
\qquad