Day 6 --- OpenMMLab系列之图像分割算法基础(一)

一、图像分割基础

如果说图像分类是识别出物体种类,目标检测是在图像中框选出物体,那图像分割则是将图像按物体类别分割成不同的区域,属于像素粒度级别的分类。在无人驾驶、人像抠图、智能遥感以及医疗影像分析中拥有广阔前景
目前图像分割主要分为以下三类:

  1. 语义分割: 仅考虑像素类别,对于同类目标的不同实体不进行区分

image.png

  1. 实例分割: 仅考虑前景物体类别,对同类目标的不同实体可以完成区分

image.png

  1. 全景分割: 将背景也作为类别考虑,同时对前景实体也进行区分

image.png

二、语义分割的基本思路

按颜色分割:基于先验知识

早期语义分割的基本思路是按颜色进行分割,以物体内部颜色相近,交界处颜色变化作为先验知识,有点类似于边缘检测的思路。

这种方法按图像处理方法进行颜色分割后,需要依赖额外手段对物体类别进行确认,且由于物体内也可能包含多种颜色,因此这种方法效果并不可靠。
image.png

逐像素分类:滑动窗口

伴随卷积神经网络的发展,研究人员尝试将像素及周边感受区域作为一个单独的图像输入到分类模型中,将其结果作为该滑窗以及中间像素点类别结果,以此实现通过滑动窗口进行逐像素的分类,这种方法可以充分利用已有的分类模型,但由于要滑动遍历全部像素,且由于感受区域重叠会导致重复计算卷积,使得效率非常低下。

卷积运算复用

与之前目标检测中提到的方法类似,后续为了优化滑动窗口带来的低效率问题,研究人员尝试将整个图像输入到卷积层中,待获取到特征图后,在特征图上应用滑窗进行逐像素分类。这种方法相较于上述滑动窗口,采用了同样的卷积核进行计算复用,具有相同的结果和更高的效率。

全卷积网络

早期卷积神经网络中,由于全连接层的存在,需要对前一层卷积层的输出进行flatten操作,即展开矩阵为一维向量,以此作为全连接层的输入来与全连接层进行矩阵乘法。此时为保证输出,flatten后作为全连接层输入的X第一维和全连接层的参数矩阵W的第二维必须相同,且由于而网络结构(卷积层,池化层等)是固定的,输入图像的尺寸会经过一个固定的变换。因此,输入图像的大小必须是固定的,这样才能与全连接层进行矩阵乘运算。

为了解决该问题,将全连接层进行卷积化:

在全连接层中,第一层每个神经元对最后一个特征图flatten后的每个像素都有一个权重,该权重与特征图中像素进行一一对应的逐像素相乘后再累加的过程,本质就是一个卷积操作,即全连接层实际就是卷积核大小为上层特征大小的卷积运算,一个卷积核卷积后的结果为一个节点,就对应全连接层的一个神经元。

假设: 最后一个卷积层的输出为7×7×512,连接此卷积层的全连接层为1×1×4096(相当于全连接网络有4096个神经元)。相当于一个全链接网络的输入层有7×7×512个输入神经元,下一层有4096个神经元。
如果将这个全连接层转化为卷积层:
1.共需要4096组滤波器
2.每组滤波器含有512个卷积核
3.每个卷积核的大小为7×7
4.则输出为1×1×4096

因此,将卷积层卷积核的尺寸设置为输入特征图的尺寸,令卷积核的通道数等价于全连接层的输出神经元个数,此时卷积层等价于全连接层

在将全连接层改造为全卷积网络后,模型即可适配任意尺寸的输入,实现将概率向量转化为概率图,完成分类网络向分割网络的转化。

升采样

在图像分类模型中,由于步长卷积以及池化等降采样层的使用,在提取到高层次特征的同时会使得全卷积网络的输出尺寸小于原始图像,而在分割任务中,常常要求输出尺寸与输入尺寸不变。
为了解决这一问题,提出两种升采样方法以恢复至原始图像分辨率。

双线性插值法

在图像任务中,双线性插值可以理解为利用已知的图像中离散RGB像素点,通过在X和Y两个维度上采用一次多项式作为插值函数,来产生未知像素点的灰度值或RGB值。

以一张大小为 M × N M \times N M×N的图像,假设目标图像大小为 M ∗ × N ∗ M^* \times N^* M×N,此时两幅图像的边长比为 M M ∗ 和 N N ∗ \frac {M} {M^*}和\frac {N}{N^*} MMNN,目标图像的第 ( i , j ) (i,j) (i,j)个像素点可以通过边长比对应回源图像。其对应坐标为 ( i ∗ N N ∗ , j ∗ M M ∗ ) (i*\frac{N}{N^*}, j*\frac{M}{M^*}) (iNN,jMM)。由于该比值通常为浮点型,使得对应坐标常常为非整数型,此时双线性插值通过寻找距离这个对应坐标最近的四个像素点,来计算该点的值(灰度值或者RGB值)。
image.png
上述方法可通过卷积实现:
image.png

转置卷积

而若将双线性插值的卷积核改为可学习的卷积核时,称之为转置卷积
image.png
image.png
最终在FCN(全卷积)网络中,先通过改造的分类网络作为backbone提取高维特征,随后对提取到的特征进行升采样,获得尺寸不变的输出特征图,最后对该特征图进行逐像素的计算交叉熵损失求和,以此作为损失函数,通过反向传播迭代优化。

U-Net与多层级上采样

在FCN中研究人员们发现,随着多次降采样,获取到的高层特征往往在具备丰富语义信息的同时丢失了大量的空间细节信息,而低层特征具备了丰富空间细节,但严重缺乏语义信息。

为了实现二者的充分结合,FCN尝试基于低层次和高层次的特征分别取获取类别预测结果,再将其升采样到原始尺寸,最后进行平均操作,获取最终结果。
image.png

U-Net

U-Net对FCN中提出的综合高低层次特征方法进一步深入探索,先通过逐级降采样,以丰富语义信息,再通过逐级升采样,以恢复细节信息。每层的编码部分和解码部分通过裁剪变为相同大小,并在通道维度上进行拼接。
image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Aaaaaki

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

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

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

打赏作者

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

抵扣说明:

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

余额充值