关于空洞卷积的感受野
假设有5个conv,核的大小都是3*3,这个5个conv的stride分别是1, 2, 1, 2, 1
可以简单计算出其感受野为3,5,9,13,21
感受野的计算公式为R_n=R_{n-1}+k*\prod_{i=1}^{n-1}si
其中R_n为第n层的感受野,k为第n层的卷积核,si为第i层的stride
如果想设计一个由空洞卷积组成CNN,感受野不变,就要将5个conv的r设置为1, 1, 2, 2, 4,stride全为1
感受野和上面一样。
可以发现其规律就是当stride由2变成1时,本层的rate不变,后面所有层的rate都要乘以2
举一个resnet_atrous的例子:
resnet50
layer1: 3个block,stride=1
layer2: 4个block, stride=2
layer3: 6个block, stride=2
layer4: 3个block, stride=2
其中所有的stride只在本层的第一个block中设置,其余的block对应的stride都是1
我们采用空洞卷积的设计方案,保留layer1和layer2的stride不变,layer3和layer4的stride变成1,用空洞卷积代替原卷积
在layer3的6个block的rate分别设置为1, 2, 2, 2, 2, 2
在layer4的3个block的rate分别设置为2, 4, 4