1、普通卷积: 膨胀卷积:
两者同样采用3×3的卷积。但膨胀卷积的kernel元素之间存在间隙,间隙称为膨胀因子r。(r=2记录每两个元素之间的距离)
元素之间r=1相当于普通卷积。
2、膨胀卷积的作用:①:可以增加感受野
②:在padding的情况下可以保持原输入特征图H,W不变。
3、使用膨胀卷积的原因:
在语义分割的任务中,图像一般需要先通过一个分类网络进行特征提取(对图像进行下采样,会丢失很多细节信息,且对 小目标图像检测效果不好),在进行上采样,无法恢复细节信息。主要是分类为网络中的Max Pooling会丢失细节信息与小目标,导致网络分割效果不好。但如果去掉max pooling不会降低特征图的宽和高,但导致特征图对应原图的感受野变小。则可使用膨胀卷积。
4、简单堆叠膨胀卷积存在的问题:gridding effect
连续使用3个膨胀卷积:layer2上的一个pixel会使用layer1上9个pixel位置上的参数。
layer3上1个像素会对应layer1上25个pixel的信息。
layer4上的1个像素对应到layer1上的像素不是相邻的,存在间隔,即gridding effect,导致丢失一些信息。
当膨胀系数分别设为1,2,3;layer4的感受野13×13.
直接使用3个普通的3×3的卷积:感受野只有7×7,以上三种方式参数量相同。
5、连续使用多个膨胀卷积时膨胀因子的计算:
①连续堆叠N个膨胀卷积,kernel大小为3×3,每一个卷积核的膨胀系数分别为:[r1,r2,r3...rn],HDC的目标是,希望非零元素距离为1,即无间隔。
第i层对应两个非零元素的最大距离:ri第i层的膨胀系数,Mn=rn,第n层的非零元素之间的最大距离就是膨胀系数,设计目标是:使M2小于等于K。
假设:K=3,r=[1,2,5],M2=2 计算过程:代入上式计算M2. 假设:K=3,r=[1,2,9],M2=5>K,故这组参数不合适。 我们希望高层区域的像素都能利用到底层区域的像素。 ②推荐将dilation rates设置为锯齿结构[1,2,3,1,2,3] ③公约数不能大于1,例如(2,4,8),这种情况仍然会丢失部分信息。