初入菜鸟,希望能通过做笔记的方式记录下自己学到的东西,也希望能对同样入门的人有所帮助。希望大佬们帮忙指正错误~侵权立即删除。
内容
1.感觉场(懂的可以直接跳)
2.空洞卷积的原理
3.空洞卷积的作用
1、扩大感受野
2、捕获多尺度上下文信息
4、atrous卷积的缺点
1、网格效应
2、远距离的信息可能不相关
五、空洞卷积的改进——HDC(混合空洞卷积)
1.感觉场(懂的可以直接跳)
感受野指:卷积神经网络每一层输出的特征图上的像素点在输入图片上映射的区域大小,即FC层每个输出节点的值都依赖FC层所有输入,而CONV层每个输出节点的值仅依赖CONV层输入的一个区域,这个区域之外的其他输入值都不会影响输出值,该区域就是感受野。简单来说就是特征图上的一个点对应输入图上的区域。
举个栗子:一个5*5的特征图经过2个3*3卷积核后(步长为1,padding为0)的感受野是5*5
注:计算感受野的大小时忽略了图像边缘的影响,即不考虑padding的大小
计算方法:先计算上一层最深层的感受野,然后逐层传给第一层
(1)最后一层(卷积层或池化层)输出特征图感受野的大小等于卷积核的大小
(2)其他层感受野计算公式:
其中,是第i层卷积层的感受野,是(i+1)层上的感受野,stride是卷积的步长,Ksize是本层卷积核的大小。
2.空洞卷积的原理
空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中相邻两个值内填充dilation rate-1个0
比如说一个3*3卷积核,dilation rate=2,那么如图所示
3.空洞卷积的作用
1、扩大感受野
一般来说,在深度神经网络中增加感受野和减少计算量的方法是下采样。但是下采样牺牲了空间分辨率和一些输入信息。
空洞卷积一方面增加了感受野来检测和分割大目标,另一方面相比下采样提高了分辨率,可以准确定位目标。
2、捕获多尺度上下文信息
当设置不同dilation rate时,感受野就会不一样,也即获取了多尺度信息
4、atrous卷积的缺点
1、网格效应
仅仅多次叠加 dilation rate 相同的相同尺寸卷积核,会导致kernel 不连续,进而导致不是所有的像素都用来计算了,因此这会损失信息的连续性。
如下所示
(白色格子相当于输入图像,那么蓝框就是卷积核,红点代表正在处理的像素点)
可以看到红色点的旁边那一圈白色的像素点从头到尾都没有被利用到(都被乘0),所以红色那一点卷积后没有考虑到旁边这些白点的信息。
2、远距离的信息可能不相关
如果空洞率大的卷积可能只对一些大对象的分割有效,那么对小对象就不是很友好了。因此,设计空心卷积层的关键是如何同时处理不同大小的对象之间的关系。
五、空洞卷积的改进——HDC(混合空洞卷积)
1、叠加卷积的 dilation rate 不能有大于1的公约数,防止出现网格效应。比如【2,4,8】不行。
2、将扩张率设计成锯齿状结构,如[1,2,5,1,2,5]
Atrous卷积代码实现:
conv=tf.nn.atrous_conv2d(X,W,rate,padding)
欢迎大家在评论区批评指正,谢谢~
版权声明:本文为博主tt丫原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/weixin_55073640/article/details/123085418