【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

目录

语义分割

1. 常见数据集格式

2. 常见语义分割评价指标

转置卷积

1. 运算步骤(s为步长,p为padding,k为卷积核尺寸)

2. 优势以及存在的问题

膨胀卷积

1. Gridding Effect网格效应

2. 小目标分割效果差的问题

3. 膨胀卷积的一些特点

FCN

DeepLabV1

DeepLabV2

DeepLabV3

LR-ASPP

UNet

U2Net

语义分割

语义分割(semantic segmentation),对每个像素进行分类;区别于实例分割和全景分割。

1. 常见数据集格式

  • PASCAL VOC:调色板(PNG图片,P模式,palette),边缘为255,损失计算过程忽略255
  • MS COCO:针对图像中的每一个目标都记录了多边形坐标(polygons)
  • 分割结果:mask蒙版,每个像素数值对应类别索引

2. 常见语义分割评价指标

  • Pixel Accuracy(Global Acc):总共预测正确的像素个数 / 目标的总像素个数
  • mena Accuracy:每个目标的Acc,然后 目标求均值
  • mean IoU:每个目标的IoU再求平均(常用,如下图所示)

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

eg:目标A的IoU计算图示

转置卷积

💡 Transposed Convolution,转置卷积,并不是卷积的逆运算,主要用于 upsampling。图像分割和图像生成等任务需要图像恢复到原尺寸,这个将图像由小分辨率映射到大分辨率的尺寸恢复操作,叫做上采样。 (待补充图像处理中常用的上采样操作,eg:最近邻插值、线性插值、双线性插值、双三次插值)

1. 运算步骤(s为步长,p为padding,k为卷积核尺寸)

  • 在输入特征图元素 间填充s-1行,0列
  • 在输入特征图 四周填充k-p-1行,0列
  • 将卷积核参数上下、左右翻转
  • 做正常卷积运算(padding0,stride1)

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

step1:元素间填充0行;step2:四周填充2行;

step3:卷积核参数上下左右反转;step4:正常卷积

转置卷积操作后特征图的大小可以通过如下公式计算:

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

其中stride[0]表示高度方向的stride,padding[0]表示高度方向的padding,kernel_size[0]表示高度方向的kernel_size,索引[1]都表示宽度方向上的。通过上面公式可以看出padding越大,输出的特征矩阵高、宽越小, 你可以理解为正向卷积过程中进行了padding然后得到了特征图,现在使用转置卷积还原到原来高、宽后要把之前的padding减掉。
原文链接:https://blog.csdn.net/qq_37541097/article/details/120709865

2. 优势以及不足

  • 与传统的上采样方法相比,转置卷积具有可学习的参数,上采样方式并非预设的插值方法。可通过网络来获取最优的上采样方式
  • 应用场景:
  • 图像生成任务DCGAN中,生成器将随机输入变成一个全尺寸图片,这里用到了转置卷积
  • 语义分割中,解码器中使用转置卷积,eg:FCN、UNet
  • CNN可视化,通过转置卷积将CNN的特征图还原到像素空间,以观察特定特征图对哪些模式的图像敏感
  • 但是,转置卷积会导致生成图像中出现 *网格/棋盘效应(checkerboard artifacts)

膨胀卷积

💡 Diated convolution又叫做空洞卷积,在保持卷积参数量不变的情况下: ①增大卷积感受野;②保持原输入特征图长和宽不改变
举个例子:VGG网络中,maxpooling下采样倍率太大, 丢失了细节信息,但去掉maxpooling层的话(pooling操作不可逆),导致特征图对应原图感受野减小, 无法重构小的物体图像。因此引入膨胀卷积。当然将普通的卷积stride步长设为大于1,也会达到增加感受野的效果,但是 stride大于1就会导致downsampling,图像尺寸变小(在先减小再增大尺寸的过程中,有一些信息损失掉)

1. Gridding Effect网格效应

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

eg:膨胀系数为2的3*3kernal经过多次叠加,会出现gridding effect(损失信息的连续性)

  • 💡 解决办法:Hybrid Dilated Convolution (HDC) (类似于卷积设计的标准化)
  • 叠加卷积的膨胀银子不能有大于1的公约数,eg:[2,4,6]会出现gridding effect
  • 膨胀因子应设计成锯齿状结构,eg:[1,2,5,1,2,5]
  • 最大膨胀因子应满足公式:

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

2. 小目标分割效果差

仅采用大 dilation rate 的信息或许 只对一些大物体分割有效果,而对小物体来说可能则有弊无利了。锯齿状本身的性质就比较好的来同时满足小物体大物体的分割要求(小 dilation rate 来关心近距离信息,大 dilation rate 来关心远距离信息)。

3. 膨胀卷积的一些特点

  • 膨胀卷积与普通卷积的 相同点在于:卷积核的大小是一样的,在神经网络中即参数数量不变,区别在于膨胀卷积具有更大的感受野。
  • 对比传统的conv操作,3层3×3的卷积加起来,stride为1的话,只能达到(kernel-1)layer+1=7的感受野,也就是和层数layer成线性关系,而 dilated conv的感受野是指数级*的增长。
  • 适用情况:在图像需要 全局信息、语音文本需要较长的sequence信息依赖的问题中,都能很好的应用dilated conv。

FCN

💡 (CVPR 2015)首个端到端的针对图像分割(像素级预测)的 全卷积网络。主要将分类网络中的全连接层替换成卷积层。地位类比于目标检测中的Faster R-CNN。

原文链接:; Fully Convolutional Networks for Semantic Segmentation

1. 主要贡献

  • 解决了输入大小尺寸限制问题(全连接层要求输入节点个数是固定的,所以分类网络中输入图片大小也是固定的,虽然后来有使用全局池化层来解决这个问题)
  • 开创了语义分割的先河,实现了像素级别的分类预测(端到端)
  • 技术上:全连接卷积化、跳跃连接、反卷积

DeepLabV1

DeepLabV2

DeepLabV3

LR-ASPP

UNet

U2Net

【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

Original: https://blog.csdn.net/weixin_40629850/article/details/126492874
Author: TianleiShi
Title: 【语义分割】算法理论梳理:基础理论/常见网络FCN、DeepLab、LR-ASPP、UNet、U2Net

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/633367/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球