DeepLab简单总结

Deeplab v1:

1.条件随机场(CRF)的作用:
CNN经过多层卷积,获取足够多的语义信息,有平移不变性,重复池化和下采样导致分辨率大幅下降,位置信息丢失难以恢复,
导致最后定位不准,CRF可以解决这个问题(RCF在测试时用,不参与训练时的反向传播)

2.deepLab v1创新点:
引入空洞卷积和CRF,都不是原创

3.代码:https://github.com/wangleihitcs/DeepLab-V1-PyTorch

4.空洞卷积(dilated/Atrous conv)的弊端以及解决方案:https://www.zhihu.com/question/54149221 http://xxx.itp.ac.cn/pdf/1702.08502v3 (HDC)
1)有的像素点可能永远也卷不到
2)对小物体不友好
5.空洞卷积和等大感受野的大核卷积相比,除了减少参数量以外,还有什么优点吗?


Deeplab v2:

1. v2创新点有哪些:
论文里提到有三点:atrous conv,ASPP,CRF.实际上相比v1,只增加了ASPP 将网络VGG16换成了ResNet

2.代码:https://github.com/doiken23/DeepLab_pytorch/blob/master/DeepLab_v2_res.py

3. ASPP的作用
ASPP通过将特征图输入多个膨胀率的空洞卷积中来实现多尺度的,将得到的特征图直接相加(x = x1 + x2 + x3 + x4),然后上采样

4.Poly Learning Rate Policy
LearningRate = InitialLearningRate*(1 - iter/max_iter) ^ (power)

Deeplab v3:

1.分割领域的两个问题:
池化等操作造成的特征图分辨率降低(空洞卷积解决)
目标多尺度

2.分割中的目标多尺度解决方案:
image pyramid
encoder-decoder structure
extra modules are cascaded on top of the original network
spatial pyramid pooling

3.deeplab v3创新点:
ASPP中增加了图像级特征、BN
串并联空洞卷积
将图像级特征融入ASPP

4.deepLab v3中为什么不使用CRF了?
deeplabv3将图像级特征融合到ASPP模块中。融合图像级特征,相当于融合了其位置信息。所以就不需要最后再用CRF了(https://www.zhihu.com/question/299075713)

5.Deeplabv3的网络结构:
https://github.com/sthalles/deeplab_v3/blob/master/network.py


Deeplab v3+

1.创新点:
语义分割卷积后的特征图要插值回原图大小,直接插值略显粗糙。
v3+的创新点一是设计基于v3的decode module,二是用modify xception作为backbone
https://blog.csdn.net/Dlyldxwl/article/details/81148810?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight
https://blog.csdn.net/weixin_38440272/article/details/84787720?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

原文地址:https://www.cnblogs.com/jiangnanyanyuchen/p/13660764.html