当前位置:   article > 正文

FCN、Unet、deeplabv1、deeplabv2、deeplabv3、deeplabv3+的网络_unet和deeplabv3+的结构区别

unet和deeplabv3+的结构区别

FCN 

通常情况下,FCN可以分为3种:FCN-32、FCN-16、FCN-8(分别表示32倍上采样、16倍上采样、8倍上采样)。

16上采样过程:先把32倍下采样的feature map上采样2倍,变成16倍下采样feature map,再和原来16倍下采样的feature map进行connect操作。最后,16倍双线性插值到原图像大小。

8上采样过程:先把32倍下采样的feature map上采样2倍,变成16倍下采样feature map,再和原来16倍下采样的feature map进行connect操作。将合并后的feature map再和8倍下采样的feature map再进行connect操作。最后,8倍双线性插值到原图像大小。

网络代码地址:https://github.com/aurora95/Keras-FCN/blob/master/models.py

 

Unet 

形状看起来像一个U型,大概的步骤就是先下采样,经历了5个阶段。然后将每个阶段的feature map上采样2倍,将原来对应阶段的feature map进行crop后,进行connect操作。依次类推。

代码地址:https://github.com/zhixuhao/unet/blob/master/model.py

 

deeplabv1

网络结构就是:FCN + denseCRF. 

 

deeplabv2

ASPP的作用 : 由于同一类的物体在图像中可能有不同的比例,ASPP 有助于考虑不同的物体比例,这可以提高准确性。 

网络结构:deeplabv1的升级版,加入了ASPP,其他的和v1类似。

代码地址: https://github.com/DavideA/deeplabv2-keras/blob/master/deeplabV2.py

 

deeplabv3

 

网络结构:deeplabv2的改进版,https://blog.csdn.net/u011974639/article/details/79144773博客里说的很好的。

代码地址:https://github.com/fregu856/deeplabv3/blob/master/model/deeplabv3.py

 

deeplabv3+

 

网络结构:https://blog.csdn.net/u011974639/article/details/79518175写的很好,可以参考。

代码地址: https://github.com/tensorflow/models/tree/master/research/deeplab

运行deeplabv3+的注意事项:

  1、ModuleNotFoundError: No module named 'deeplab'

   在win10下,train、eval、vis的文件中加入 

  1. import sys
  2. sys.path.append(r'D:\BGY\python\deeplabV3\models-master\research')
  3. sys.path.append(r'D:\BGY\python\deeplabV3\models-master\research\slim')

  2、如果 GPU 显存有限,可以在 ModelZoo 中提供的断点模型 Checkpoints 上进行 finetune,其 batchnorm 参数已经训练过,采用小一点的学习率,并设置 fine_tune_batch_norm = False

  3、运行eval时,程序一直停放在INFO:tensorflow:Waiting for new checkpoint at D:/BGY/python/deeplabV3/models-master/research/deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train,这不是错误。同时运行train和eval可以解决。

 

欢迎大家批评、指正。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/659288
推荐阅读
相关标签
  

闽ICP备14008679号