图像分割使用的FCN 8倍上采样网络里面关于crop时offset的推导过程
caffe文件FCN-8s文件
卷积特征图大小计算公式
O
=
(
I
+
2
P
−
K
)
/
S
+
1.
O = (I + 2P - K)/S + 1.
O=(I+2P−K)/S+1.
逆推出 I
I
=
(
O
−
1
)
∗
S
+
K
−
2
P
I = (O - 1) * S + K - 2P
I=(O−1)∗S+K−2P
转置卷积特征图大小计算公式
O
=
(
I
−
1
)
∗
S
+
K
−
2
P
O = (I - 1) * S + K - 2P
O=(I−1)∗S+K−2P
I 是输入input, O 是输出output, S是步长stride,K是卷积核kernel, P是padding
在原网络下采样过程中,通过卷积层cov, 都是(S+200-3)/1 + 1 =S+198
通过pooling层的变化, pooling 5 之后
(
S
+
198
2
5
)
/
1
+
1
=
S
+
6
32
(\frac{S+198}{2^5})/1 + 1 = \frac{S+6}{32}
(25S+198)/1+1=32S+6
(1)第一次上采样2倍(S=2, K=4)
(
S
+
6
32
−
1
)
∗
2
+
4
=
S
+
38
16
(\frac{S+6}{32}-1)*2+4=\frac{S+38}{16}
(32S+6−1)∗2+4=16S+38
此时的feature map 要与
f
4
f4
f4的大小一样,所以要对其crop,使之与上采样的feature map一样,然后可以对应相加
f
4
=
S
+
198
16
=
S
+
38
+
160
16
=
S
+
38
16
+
10
f4=\frac{S+198}{16} =\frac{S+38+160}{16}=\frac{S+38}{16}+10
f4=16S+198=16S+38+160=16S+38+10
对feature map进行中心crop, 所以offset 是5
(2)再进行上采样2倍
(
S
+
38
16
−
1
)
∗
2
+
4
=
S
+
54
8
(\frac{S+38}{16}-1)*2+4=\frac{S+54}{8}
(16S+38−1)∗2+4=8S+54
此次feature map要与
f
3
f3
f3相加
所以
S
+
198
8
=
S
+
54
+
144
8
=
S
+
54
8
+
18
\frac{S+198}{8}=\frac{S+54+144}{8}=\frac{S+54}{8}+18
8S+198=8S+54+144=8S+54+18
Then offset=9
(3)最后一步,上采样8倍(stride=8, kernel=16)
(
S
+
54
8
−
1
)
∗
8
+
16
=
S
+
62
(\frac{S+54}{8}-1)*8+16=S+62
(8S+54−1)∗8+16=S+62
So,
offset=31