【机器学习】顶会冠军图像分割算法深度解密

时间:2022-11-08 07:55:22

图像分割深度解密

data:2021.07.13
课程链接:图像分割深度解密
10分钟get语义分割模型基础及进阶设计思路;CVPR自动驾驶场景理解冠军方案策略解读;百度全新Transformer算法最新揭秘。
【机器学习】顶会冠军图像分割算法深度解密

图像分割产业应用

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

图像分割任务简介

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
分类任务只需要回答里面有几个类别,比如说人、树、草地、天空;这个描述很粗糙,一万个人有一万个哈姆雷特。

语义分割是图像分类的扩展,是像素级别的。
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
全景分割是语义分割+实例分割的结合。
【机器学习】顶会冠军图像分割算法深度解密

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

语义分割算法设计

【机器学习】顶会冠军图像分割算法深度解密
其中最常用的:下采样用max-pooling最大池化、上采样用双线性插值法。
上面这个FCN已经实现了一个简单的分割模型了,但是这种简单的分割模型是得不到比较好的效果的。那如何提高分割模型的效果呢?这里的重点来了,我么你又五个基础的设计思路和两个进阶的设计思路。

基础设计思路1:跳跃链接(残差结构)[U-Net]

【机器学习】顶会冠军图像分割算法深度解密
我们知道,网络在下采样的过程中会逐渐输出高阶信息,因此低阶的细节信息就会丢失,从而导致我们模型的分割结果比较粗糙,所以我们会加上跳跃链接让低层的信息和高层的信息融合起来,以此来弥补我们的细节丢失。这里的代表作就是U-net,这个模型在医疗和遥感领域应用的非常广泛,使用少量的数据就可以得到一个不错的效果,是一个分割入门的必备算法。

基础设计思路2:空洞卷积 [DeeplabV3]

【机器学习】顶会冠军图像分割算法深度解密
这里是通过另外一个角度去看待下采样,由于下采样会丢失细节信息,那我们就减少下采样的层数,保持模型的高分辨率,这样细节信息丢失的就少了,但是会引发另外一个问题,就是计算量会倍增,感受野会减小,因此就有学者引入了空洞卷积的概念。我们可以看到在同样的卷积大小的情况下,我们的空洞卷积可以看到更大范围的内容。所以就能够得到更全的特征信息。 著名的Deeplab系列就应用了这个方法,这个方法在工业界的应用特别多。什么任务都可以用deeplabv3跑一下。是一个通用的基础模型。

基础设计思路3:全局上下文 [PSPNet、DeepLabV3+]

为了获取更大的感受野
【机器学习】顶会冠军图像分割算法深度解密
这里的代表作包括:PSPNet里的PPmodel,PP模块和Deeplabv3+里的asPP。 这两个模块是他们提出来的,为什么影响这么大呢?这是因为在后面很多分割算法里面,都被采用到了,可见这个设计的思想是非常重要的。

上述这三个设计思路,都是在帮助模型增加信息,目前来看给大家的感觉就是信息越多越好,但是其实这是不怎么可能的,因为模型的容量毕竟有限。比如听这节课,你们能记住我说过的每一个词吗?显然是不行的,人脑的容量没有那么大。而且其实也没必要,只要记住关键的信息,就可以得到很好的效果。因此,现在的关键问题就是如何去注意到关键信息。这样注意力就很重要了,要去让模型找到注意力(重点)。

基础设计思路四:注意力 [OCRNet]

【机器学习】顶会冠军图像分割算法深度解密
出了获取全局上下文信息,我们好需要获取像素点之间的关系强弱。通过进入注意力机制,来获取像素点的重要性关系。从而显示地增强来自同一物体的像素的贡献。
如果我们看右边的图,如果说,我们用非注意力机制的方法来分割,我们可以看到对于分类红色这个点,最外层蓝色的像素点对于我们的分类是毫无帮助的。因此这部分的计算是浪费的(无意义的)。注意力机制的方式,会更关注整体的车。
从左下角的图我们可以看到,卷积中蓝色的像素只关注周围部分像素的信息,而注意力关注了所有像素的信息。
其中的代表作是OCRNet,是一个基于CNN的sota模型。

前四个设计都是对于decoder的设计,都需要结合骨干网络。因此第五个基础设计就讲一下骨干网络。

基础设计思路五:骨干网络

【机器学习】顶会冠军图像分割算法深度解密
骨干网络是深度学习模型的基本功,我们知道分割是像素级别的分类,因此骨干网络的分类精度会间接地影响到分类结果。因此,一般高精度的分割算法一般会采用高精度的骨干网络。
ResNet和HRNet这两个骨干网络,结合FCN就会达到比较好的效果。

举例:骨干网络就像是内功,内功好了,随便打一个简单的拳法(七伤拳)就可以打败很多高手了。

下面我们来看看上面讲的这五个基础设计思路(我又称之为提升思路),都有哪些模型采用了:
【机器学习】顶会冠军图像分割算法深度解密
跳跃连接和骨干网络是最常用的基础设计模型。其中采用基础设计比较多的模型有Deeplabv3+、GSCNN(一个比较新基于CNN的模型)、OCRNet(SOTA 2021.07.13)。

【机器学习】顶会冠军图像分割算法深度解密
遇到刷榜和打比赛的时候,就需要进阶设计了。

语义分割算法进阶设计

进阶分割模型设计1:多尺度注意力

【机器学习】顶会冠军图像分割算法深度解密
我们之前所说的所有的模型,他们的输入只有一个,即使有多尺度方法也是在特征层面上的。而这里所说的多尺度指的是输入图片的多种尺寸,每一个尺寸的图片会过整个模型,最后再将不同输入尺寸对应的输出结果再过一个注意力模块。
这里我们做了一个实验,我们一般采用的是单尺度的OCRNet,它在验证集里面只能达到83%,如果我们用多尺度的,它的结果可以提升到87%,
【机器学习】顶会冠军图像分割算法深度解密
通过注意力机制,可以选择性地选择哪一个尺度的输出结果,可以通过优势互补提升预测精度。

上面,我们讲的全都是基于CNN的分割模型,下面我们将介绍基于Transformer的分割模型。

进阶分割模型设计二:Transformer(全注意力模型)

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
固定尺寸会导致在多尺度图片中会存在缺陷,例如同样的尺寸,在大尺寸图片中可能代表一个小的局部,如果在小尺寸图片中,可能代表一个整体。

由于固定patch尺寸,因此计算量是图标大小的平方。

【机器学习】顶会冠军图像分割算法深度解密
两个月之后,一个新的工作,通过层次化的图片切分方式,没有固定的切分大小,并添加了偏置的窗口。一定程度上,改善了ViT的缺陷。
其中两个关键的思路就是,1patch merging 2swin transformer Block
patch merging实现了CNN里面的一个下采样的机制
Swin transformer Block实现了attention的机制
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

好文推荐:注意力机制、Transformer、ViT的区别与联系

CVPR2021冠军方案解读

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

【机器学习】顶会冠军图像分割算法深度解密

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
增加数据量的常规操作:数据增强
新的打法如上图
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
基于CNN模型(OCRNET)的basenet实验。
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

百度全新Transformer

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密

【机器学习】顶会冠军图像分割算法深度解密
【机器学习】顶会冠军图像分割算法深度解密