语义分割--DeepLabV2

Deeplabv2-pytorch

写在前面

本博客参考的代码:https://github.com/zhoulukuan/deeplab_v2_pytorch

deeplabv2论文地址:https://arxiv.org/pdf/1606.00915.pdf​​​​​​​

数据集介绍

文章中使用的数据集并不全是pascal-voc2012,而是由voc2012和另外一个数据集合并而成,需要用到JPEGImages和SegmentationClassAug.

模型介绍

1、​​​​​​​deeplabv2改进点

  • 最大的改进就是采用了ASPP(atrous spatial pyramid pooling)模块,成功地融合了多尺度信息。
  • Atrous Convolution取代原本的上采样的方法,比之前得到更高像素的score map,在不增加参数数量和计算量的情况下,有效地扩大感受野,以获得更多的上下文信息;
  • 全连接的CRF,利用底层的细节信息对分类的局部特征(边缘)进行优化

与deeplabv1的区别还有,deeplabv2使用resnet和vggnet进行实验,但是deeplabv1仅仅使用了vggnet。整体的deeplabv2结构图如下所示:

0

2、Atrous Convolution 

1维展示:

2

其中rate表示膨胀因子 ,空洞卷积公式如下所示:

3

  公式中的 y是输出信号,x是输入信号,w是卷积模板,K是滤波器长度,r则是输入信号的采样间隔。

2维展示 :

4

空洞卷积的两种实现方式介绍参考:空洞卷积实现方式​​​​​​​

3、 ASPP

具体结构如图所示:
​​​​​​​
5

 通过不同的rate构建不同感受野的卷积核,从而获得多尺度的对象信息;

4、CRF

作者使用全连接的条件随机场获取细节信息。详细内容可参考:

CRF大白话解释​​​​​​​​​​​​​​

结果展示

demo.py

运行demo.py可以得到如下结果:

输入命令:

python demo.py --img_path path/to/your/img(输入自己的图片路径) 

image文件夹下测试test.jpg的结果如下图所示:

上侧为原图,下侧为结果:

trainval.py 

运行trainval.py(由于电脑算力有限,将cfgs中的MAX_ITERS设为4000),运行结果如下:(只贴出了开始迭代的部分和结束迭代的部分)

test.py


没有刻意的记录运行时间,但是不超过5个小时,运行完成,最后的结果Mean IOU=73.10% 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值