Paper:Octave Convolution
Github:Offical 和 UnOffical
Octave是指八音阶,在音乐中降低八音阶代表频率减半。
Abstract
自然图像中的信息可以被分解为低频信息和高频信息,低频信息通常是全局结构而高频信息通常是细节信息。类似,卷积的输出特征图也可看作是低频信息和高频信息的混合。
Ocave Convolution将特征图进行分解
,从而消耗更少的内存
和计算资源
。另外OctConv通过对低频信息的特殊处理,扩大了感受野
,提高了识别效果。
Octave Convolution
CNNs在很多计算机视觉任务上已经取得了很大的成功。目前主要通过较少参数冗余和特征图的channel数来解决。然而特征图
在空间上也存在冗余,每一个位置独立存储特征,忽略了相邻位置的公共信息
,事实上这些信息可一起存储处理。
低频信息变化缓慢,信息量少
高频信息变化剧烈,信息量多
通过相邻位置间的信息共享,可减小低频信息组的空间分辨率,从而有效扩大感受野。
通过将卷积特征图分为高频和低频两组,同时对低频部分的信息进行压缩,可以减少空间的信息冗余。
OctConv是一种即插即用式卷积,不需要修改网络结构或进行超参数调整。
Architecture
低频组的特征分辨率只有高频组分辨率的一半
高频信息:
Y
p
,
q
H
=
Y
p
,
q
H
→
H
+
Y
p
,
q
L
→
H
Y_{p, q}^{H}=Y_{p, q}^{H \rightarrow H}+Y_{p, q}^{L \rightarrow H}
Yp,qH=Yp,qH→H+Yp,qL→H
=
∑
i
,
j
∈
N
k
W
i
+
k
−
1
2
,
j
+
k
−
1
2
H
→
H
j
+
k
−
1
2
⊤
X
p
+
i
,
q
+
j
H
+
∑
i
,
j
∈
N
k
W
i
+
k
−
1
2
,
j
+
k
−
1
2
L
→
H
X
(
⌊
p
2
]
+
i
)
,
(
⌊
q
2
⌋
+
j
)
=\sum_{i, j \in \mathcal{N}_{k}} W_{i+\frac{k-1}{2}, j+\frac{k-1}{2}}^{H \rightarrow H} \quad_{j+\frac{k-1}{2}}^{\top} X_{p+i, q+j}^{H} + \sum_{i, j \in \mathcal{N}_{k}} W_{i+\frac{k-1}{2}, j+\frac{k-1}{2}}^{L \rightarrow H} X_{\left(\left\lfloor\frac{p}{2}\right]+i\right),\left(\left\lfloor\frac{q}{2}\right\rfloor+ j\right)}
=i,j∈Nk∑Wi+2k−1,j+2k−1H→Hj+2k−1⊤Xp+i,q+jH+i,j∈Nk∑Wi+2k−1,j+2k−1L→HX(⌊2p]+i),(⌊2q⌋+j)
低频信息:
Y
p
,
q
L
=
Y
p
,
q
L
→
L
+
Y
p
,
q
H
→
L
Y_{p, q}^{L}=Y_{p, q}^{L \rightarrow L}+Y_{p, q}^{H \rightarrow L}
Yp,qL=Yp,qL→L+Yp,qH→L
=
∑
i
,
j
∈
N
k
W
i
+
k
−
1
2
,
j
+
k
−
1
2
L
→
L
,
j
+
k
−
1
2
⊤
X
p
+
i
,
q
+
j
L
+
∑
i
,
j
∈
N
k
W
i
+
k
−
1
2
,
j
+
k
−
1
2
H
→
L
X
(
2
∗
p
+
0.5
+
i
)
,
(
2
∗
q
+
0.5
+
j
)
H
=\sum_{i, j \in \mathcal{N}_{k}} W_{i+\frac{k-1}{2}, j+\frac{k-1}{2}}^{L \rightarrow L},_{j+\frac{k-1}{2}}^{\top} X_{p+i, q+j}^{L}+\sum_{i, j \in \mathcal{N}_{k}} W_{i+\frac{k-1}{2}, j+\frac{k-1}{2}}^{H \rightarrow L} \quad X_{(2 * p+0.5+i),(2 * q+0.5+j)}^{H}
=i,j∈Nk∑Wi+2k−1,j+2k−1L→L,j+2k−1⊤Xp+i,q+jL+i,j∈Nk∑Wi+2k−1,j+2k−1H→LX(2∗p+0.5+i),(2∗q+0.5+j)H
文中分析了两种降采样方式:stride convolution与average pooling。最终采取了后者。因为如图所示,stride convolution会造成一定程度上特征偏移,带特征融合中造成特征不对齐,进而影响性能。
上式可简化为:
Y H = f ( X H ; W H → H ) + upsample ( f ( X L ; W L → H ) Y L = f ( X L ; W L → L ) + f ( pool ( X H , 2 ) ; W H → L ) ) \begin{aligned} Y^{H} &=f\left(X^{H} ; W^{H \rightarrow H}\right)+\text { upsample }\left(f\left(X^{L} ; W^{L \rightarrow H}\right)\right.\\ Y^{L} &=f\left(X^{L} ; W^{L \rightarrow L}\right)+f\left(\operatorname{pool}\left(X^{H}, 2\right) ; W^{H \rightarrow L}\right) ) \end{aligned} YHYL=f(XH;WH→H)+ upsample (f(XL;WL→H)=f(XL;WL→L)+f(pool(XH,2);WH→L))
pool(X, k) is an average pooling
operation with kernel size k × k and stride k. upsample(X, k) is an up-sampling operation by a factor of k via nearest interpolation
.
Experimental Evaluation
精度相同的情况下,OctConv的FLOPs大大减少。
参考:https://blog.csdn.net/weixin_37993251/article/details/89333099#commentBox