Pytorch 搭建的Unet语义分割平台

Pytorch 搭建自己的Unet语义分割平台

unet模型

1.主干特征提取

Unet是一个优秀的语义分割模型,其主要执行过程与其它语义分割模型类似。

Unet可以分为三个部分,如下图所示:

第一部分是主干特征提取部分,我们可以利用主干部分获得一个又一个的特征层,Unet的主干特征提取部分与VGG相似,为卷积和最大池化的堆叠。利用主干特征提取部分我们可以获得五个初步有效特征层,在第二步中,我们会利用这五个有效特征层可以进行特征融合。

第二部分是加强特征提取部分,我们可以利用主干部分获取到的五个初步有效特征层进行上采样,并且进行特征融合,获得一个最终的,融合了所有特征的有效特征层。

第三部分是预测部分,我们会利用最终获得的最后一个有效特征层对每一个特征点进行分类,相当于对每一个像素点进行分类。
在这里插入图片描述
VGG网络

2.加强特征提取

Unet所使用的加强特征提取网络是一个U的形状。

利用第一步我们可以获得五个初步的有效特征层,在加强特征提取网络这里,我们会利用这五个初步的有效特征层进行特征融合,特征融合的方式就是对特征层进行上采样并且进行堆叠

为了方便网络的构建与更好的通用性,我们的Unet和上图的Unet结构有些许不同,在上采样时直接进行两倍上采样再进行特征融合,最终获得的特征层和输入图片的高宽相同。
在这里插入图片描述

3.特征预测

利用1、2步,我们可以获取输入进来的图片的特征,此时,我们需要利用特征获得预测结果。

利用特征获得预测结果的过程为:
利用一个1x1卷积进行通道调整,将最终特征层的通道数调整成num_classes。
在这里插入图片描述

4.各层卷积输出

主干特征提取部分:
521x512x3 -> 512x512x64 -> 256x256x64 -> 256x256x128 -> 128x128X128 -> 128x128x256 -> 64x64x256 -> 64x64x512 ->32x32x512 -> 32x32x512
加强特征提取部分:
64x64x512 -> 128x128x256 ->256x256x128 ->512x512x64
特征检测:
最后一层是1x1卷积 通道数是根据类别数而定

5.总结

一般网络的输入input是512x512x3,输入想改变输入尺寸大小,则输入图片的大小需是32 的倍数;

batchsize的设置大小根据显存而定,以达到最好结果为目的;
来源:[link]文章来源
up主讲解视频
源码地址

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值