经典的深度学习图像分割汇总

FCN

论文名称:Fully Convolutional Networks for Semantic Segmentation

机构:UC Berkeley

时间:2014年提出,CVPR 2015,PAMI 2016

论文:https://arxiv.org/abs/1411.4038

代码:https://github.com/shelhamer/fcn.berkeleyvision.org

框架:

4d720a5784d139742d7a37dfeae20e46.png

    首次提出用于图像分割的端到端全卷积神经网络。框架如上,作者将分类网络(文中提到有三个:AlexNet, VGG16, GoogLeNet)中的分类层换成卷积层。

    具体而言,则是直接一个1x1卷积,将特征通道变成分割类别数,再加一个反卷积升维到原始输入尺度即可计算loss.

23f5b414121ebdc7d6efc316b980ba92.png

SegNet

论文名称:SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

机构:剑桥大学

时间:2015提出,PAMI 2017

论文:https://arxiv.org/pdf/1511.00561v3.pdf

代码:https://github.com/alexgkendall/caffe-segnet

框架:

f4dfe21610b89f53833344423dbecf11.png

注意:上面的箭头不是跳层连接的意思,它的作用是传递UpSampling信息。整个SegNet是一个简单而高效的编码器-解码器架构。

 (1)该框架主体由由一个编码器网络、一个相应的解码器网络和一个像素级的分类层组成;

(2)编码器网络的体系结构在拓扑结构上与VGG16网络[1]中的13个卷积层完全相同;

(3)解码器网络的作用是将低分辨率特征映射到输入分辨率的特征图,以进行像素级分类。SegNet的新颖之处在于,解码器对其较低分辨率的输入特征图进行向上采样的方式。

Pooling: SegNet的Pooling比一般的Pooling多了一个Pooling Index操作,每次Pooling时保存通过max选出的权值在filter中的相对位置。

Upsampling: 而Upsamping就是Pooling的逆操作。具体就是SegNet在Unpooling时用Pooling Index信息,直接将数据放回对应位置,后面再接Conv训练学习。

U-Net

论文名称:U-Net: Convolutional Networks for Biomedical Image Segmentation

机构:德国弗莱堡大学

时间:MICCAI2015

论文:https://arxiv.org/pdf/1505.04597.pdf

代码:https://github.com/milesial/Pytorch-UNet

框架:

04f105b71654ba4cff0537cd9df6d325.png

框架如上,相对于SegNet编码-解码结构,UNet多了跳层连接;

4次下采样,再4次上采样,每次上采样后,通道拼接之前的特征;

最后是一个1x1卷积,将输出维度数变成分割类别数。

PSPNet

论文名称:Pyramid Scene Parsing Network

机构:香港中文大学,商汤科技

时间:2017CVPR

论文:https://openaccess.thecvf.com/content_cvpr_2017/papers/Zhao_Pyramid_Scene_Parsing_CVPR_2017_paper.pdf

代码:https://github.com/hszhao/PSPNet

框架:

a55cb66728c580addc319419ed96c89c.png

框架如上。简单一句话,利用卷积获取多尺度特征,再concat通道在一起,学习多尺度特征。

(1)首先经过卷积,获得初步的特征;

(2)对初步的特征经过Pool操作,获得多尺度特征后一顿卷积,再上采样到初步特征的尺度;

(3)将多尺度特征和初步特征concat在一起,最后接一个1x1卷积,即可计算Loss.

DeepLabV3+

论文名称:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation

机构:google Inc

时间:2018ECCV

论文:https://arxiv.org/pdf/1802.02611.pdf

代码:https://github.com/jfzhang95/pytorch-deeplab-xception

框架:

简略框架如下(c)。在编码器上使用空间金字塔池化,获取多尺度特征;在编码器上使用空洞卷积进行上采样,预测分割结果。

91b3047e79aa272dfe8b2d92d0e02680.png

具体框架如下。

52d2fbf97e4272c5b54ae01c0e4d0580.png

总体是编码-解码结构;

(1)encoder部分使用了ASPP(Atrous Spatial Pyramid Pooling)结构,提取多尺度特征,再沿着channel维度concat在一起,再使用1x1卷积得到编码特征;

(2)decoder部分,首先对low-level特征1x1卷积,减小channels维度,对编码的high-level特征进行上采样(F.interpolate),再把low-level特征和high-level特征concat在一起,继续卷积和上采样得的分割结果。

其他分割模型的代码可以参考如下:

  • https://github.com/labmlai/annotated_deep_learning_paper_implementations

  • https://github.com/qubvel/segmentation_models

  • https://github.com/open-mmlab/mmsegmentation

  • https://github.com/PaddlePaddle/PaddleSeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值