解读deepLabV3+时遇到的问题总结

环境问题

python :3.10.12

ModuleNotFoundError: No module named ‘torchvision.models.utils

起初pip以下这个包,也没有解决问题;后来发现是版本的问题。

#from torchvision.models.utils import load_state_dict_from_url
from torch.hub import load_state_dict_from_url

将该语句注释掉,换掉下面的即可解决问题。
参考地址

No module named ‘visdom’

  1. pip该包。
pip install visdom 

接着出现该问题:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.

  1. pip如下包:
pip install jsonpatch
  1. 成功后再次执行步骤1即可。

V3+由来

V3+继承了,V3编码的部分,但是V3的解码器部分因为多层卷积,导致分辨率下降,丢失了很多细节,还原为原图相关不太好。因此在解码器部分加了一个简单的操作,既保留了边界特征,还不增大计算量!如图下图模型:
在这里插入图片描述

空洞卷积

语义分割网络,通常会经过一系列下采样对图片进行压缩,然后再经过一系列上采样还原图片的大小。通常对于分类任务我们都是对图像进行 32 倍下采样(比如224*224分辨率的图片->变成7*7),然后再经过一系列上采样还原为原图,如果下采样倍率过大时,想要还原为原图像就没那么容易。丢失细节信息,所以在语义分割效果不是那么理想。
==因此要想增大感受野就得下采样,但是下采样会丢失信息。==有没有两全其美的办法呢?
那就是空洞卷积。空洞卷积可以在不改变图片分辨率的情况下,增加感受野。

  • 空洞卷积设计之初是为了获取长程,也就是距离较远像素之间的相关信息,采用 rate 较大空洞卷积有利一些大目标分割有效,而对于小目标来说则有弊无利。想要很好同时处理大小目标,则需要设计一个好的空洞网络。

计算卷积\池化\反卷积\空洞卷积后图像大小的方法:

在这里插入图片描述
参考链接

前向传播流程:

注意是backbone输出了两个特征。一组是encoder的’out’经过多层卷积,包含着丰富特征的高阶特征,一组是Decoder的’low_level’,只进行了几层的卷积,保留着边界特征的底层特征。
请添加图片描述

总结

第一次接触,backbone的卷积网络,研究了老半天,才弄懂网络结构,目前只有这么浅显的理解,后续如果有更深入的问题,会继续补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值