图像语义分割 FCN图像分割网络详解

本文详细介绍了FCN网络结构,包括VGG16网络、转置卷积、不同分辨率的FCN网络、使用ResNet-50作为backbone、膨胀卷积的运用、损失函数(CrossEntropyLoss)、数据集预处理(如PASCALVOC)以及学习策略,包括warmup训练和多GPU测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、介绍

在这里插入图片描述

1、VGG16网络结构

在这里插入图片描述

2、转置卷积

采用转置卷积的目的就是实现上采样,不过在FCN代码中采用的是双线性插值法
查看另一篇博文:
转置卷积部分

3、FCN-32S、FCN-16S,FCN-8S网络结构

在这里插入图片描述
在这里插入图片描述
FCN-16S网络使用到了Maxpool4 feature map作为融合特征 ↑↑↑↑
在这里插入图片描述
FCN-16S网络使用到了Maxpool4 feature mapMaxpool3 feature map作为融合特征 ↑↑↑↑
网络中的使用转置卷积的模块,在代码中实际采用的上采样模块实现

4、损失函数

损失函数采用Cross Entropy Loss
在这里插入图片描述

5、膨胀卷积

在进行语义分割过程中,通常需要分类网络作为网络的backbone进行一系列的下采样,再通过一系列的上采样还原回图像的原始尺寸;存在问题是在下采样过程中,如果采样倍率过大则对还原回原图是有很大影响的

膨胀卷积的优点:

  • 增大感受野
  • 保持原输入特征图的W、H
    在这里插入图片描述
    在这里插入图片描述
    特征图中像素间的间隔数=dilation rate - 1
    在这里插入图片描述
    上图为空洞卷积的实现,参数填写为padding=dilation,dilation=dilation
    即:dilation=dilation为空洞数
    如果想保证输入特征图尺寸等于输出特征图尺寸,则需要padding=dilation,dilation=dilation
    在这里插入图片描述
    在这里插入图片描述
    膨胀卷积的缺陷问题:
    在这里插入图片描述
    在这里插入图片描述
    Gridding Effect问题↑↑↑↑↑

避免Gridding Effect的策略是:不要连续的使用膨胀卷积或将膨胀因子设置成锯齿结构
在这里插入图片描述
将膨胀因子设置成锯齿结构↑↑↑↑↑

6、FCN(Backbone-ResNet-50)

6.1 项目框架

在这里插入图片描述

6.2 ResNet50网络结构

在这里插入图片描述

6.3 FCN(Backbone-ResNet-50)网络结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

搭建主网络
在这里插入图片描述
make_bolck
在这里插入图片描述
bottlneck
在这里插入图片描述

6.4 FCN(Backbone-ResNet-50)模型搭建流程演示图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

7、评价指标

在这里插入图片描述
上图中假设类别为n_class=4(包含背景类别)
第一步:假定真实的GT标签为GT=[0,1,1,2,2,3,1,2,3]
真是标签列表索引为GT_inds=[0,1,2,3,4,5,6,7,8,9]
第二步:将类别数n_class x GT + Predict (得到对应像素在混淆矩阵展平后的位置)
得到location=[1,5,5,10,11,15,5,10,15]
第三步:在用统计直方图的方法统计location中每一个数值出现的频次

torch.bincount(inds, minlength=n**2).reshape(n, n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值