deeplabcv2 的 Atrous Convolution(带孔卷机核),感受野,及tensorflow实现crf的一点理解。

首先是因为做图像分割,所以使用deeplab。思想基本和fcn一样。先卷机提取特征,然后阔尺寸至原图像大小。

普通fcn先把图像padding至很大(据说是边缘补100个0),然后一层层下来,pool (stride=2)或者是卷机( stride=2)5次,图像缩小了32倍,所以之前才需要把图像放大,不然最后得到的特征图就太小了。但是补0加大了噪声。。。

deeplabcv2 采用的新做法是:在pool5开始用一种新的卷机核 Atrous Convolution,hole算法

把conv5 开始起的conv都换成atrous conv 并且con的stride和pool的stride都给的1,使得图像不再缩小。并且保证感受野不变。如下图:

普通的卷集核在stride=1后,感受野就变小了(7---5),


Atrous Convolution会在卷积中间插0,使得卷积核“扩大”(或者另一说法是:在对feature map卷积的时候,隔像素的去卷),c 和 a 具有一样的感受野。hole size空洞系数的值可变。

再来一张图:


这样操作,就在保证感受野的前提下,还不缩小图像大小。

然后,deeplab cv2还连接了一个金字塔型:


hole_size 设置了6 12 18 24.此为金字塔aspp结构,多尺度的卷积map, 然后相加"融合"得到fc8,再使用阔尺寸8倍,的到原图尺寸一致的图像。(用tensorflow实现的话,直接有resize函数扩大,默认是双线性插值法,也可选择别的插值参数方法。)

最后做的crf使边缘更细节,这里就一点值得注意,crf的输入要求,需要把维度转换好,需要的一个是rgb的原图,还有一个是以上f8阔尺寸后再softmax(使前向结算结果变为概率分布形式)的结果。然后,就得到最后的分割图像了。


图片来自 deeplab发表在ICLR 2015上。论文下载地址:Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFS.

参考的博文:http://blog.csdn.net/c_row/article/details/52161394

也可以参看我的另一片博文,说得更细些:

http://blog.csdn.net/jiachen0212/article/details/78548667


  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值