【AI有识境】如何掌握好图像分割算法?值得你看的技术综述

基于聚类算法的图像分割技术 本科毕业设计,在此总结。 1. 聚类概念 如今,学术界并未对聚类作出一个具体定义。目前,认可度最高的观点是:聚类是一种无监督的分类手段。无标签的数据集可通过聚类分析中设定的相似性度量进行分类,形成多个类簇,满足实验的分析需要。因聚类本身是一种具有主观性且能获得良好效果的研究手段,无严格意义上的对错之分,只有“类内的相似和类它的排斥”这一基本准则。1974年,Everitt对聚类作出基础定义:基于任一相似度准则,同一类簇的样本数据具有相似特性,不同类簇的样本数据不相似。相似度准则由研究所需实验效果而定。类簇指 阅读详情

大家好,这是专栏《AI有识境》的第二篇文章,讲述如何掌握好图像分割算法。

进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落地的技术,对自己暂时不熟悉的领域也能快速地触类旁通。

本篇文章,我们讲解图像分割需要掌握的重要知识点。本文将带你走进图像分割的大门,着重关注该领域的研究方向以及重点难点,讲述如何学好图像分割算法。

                                             作者&编辑 | 言有三

1 图像分割简介

图像分割,是指将图像分成若干语义目标的过程,可以细分为3个方向,见下图对比。

首先我们要把图像中的目标归为不可数目标(stuff类别,比如天空只有一个,不能数)和可数目标(things类别,比如人可以有多个),然后我们看3个方向的对比。

图1 图像分割3个研究方向

语义分割(semantic segmention),也就是通常理解的图像分割,它是一个逐像素的图像分类问题,每个像素预测类别唯一,可数目标与不可数目标都要分类。

实例分割(Instance Segmentation),不仅要预测可数目标的语义标签,还有区分个体的ID,语义标签指的是物体的类别,而实例ID则对应同类物体的不同编号,注意不可数目标不需要预测。

全景分割(Panoptic Segmentation),它要求图像中的每个像素点都必须被分配一个语义标签和一个实例id。

全景分割与语义分割的关系是:如果所有的类别都是stuff,那么全景分割除了度量与语义分割不同外,其它相同。与语义分割相比,全景分割的困难在于要使网络结构能够区分不同实例;

全景分割与实例分割的关系是:全景分割中不允许重叠,但实例分割可以;此外实例分割需要每个分割的置信概率,但全景分割不需要。

近些年来随着深度学习技术的发展,图像分割技术有了突飞猛进的进步,从研究方向上来说,存在以下几个大的方向:

(1) 语义分割;

(2) 实例分割;

(3) 全景分割;

(4) Image Matting;

(5) 弱监督与迁移学习;

对人类而言,由于有大量的先验知识和相关的学习经验,可以迅速识别图像的相关内容。然而对于计算机而言,对各类复杂形状和纹理的目标进行分割是有挑战的。

目前分割模型存在的主要挑战有:

(1) 多尺度:图像中目标尺寸的巨大差异,给分割模型构成挑战。

(2) 实例与全景分割:实例与全景分割不仅要分割出目标,还要识别不同的个体,图像中存在非常多的ID以及遮挡时,给分割模型构成挑战。

(3) 分割精度:分割需要进行像素级的分类,因此对分割精度要求很高,比如在边缘处的分割瑕疵容易被放大。

本文剩余部分将介绍基于深度学习的图像分割任务中各个研究方向的核心技术,并对重难点加以解读。

2 语义分割问题

语义分割属于图像分割的一个主要方向,自深度学习技术得到快速发展之后,这个任务已经得到较好的解决,我们公众号此前也写过不少语义分割模型的介绍文章,接下来我们介绍语义分割中的核心概念与技术。

2.1 语义分割基础

所谓语义分割,其实就是一个逐像素的图像分类问题,输出是一张与输入图大小相等的图,每一个像素值表示语义的类别。基本的原理如下图2所示,包括一个卷积特征提取模块和反卷积模块:

图2 语义分割原理示意图

图2左半部就是对空间分辨率降采样的卷积特征提取网络,右半部就是恢复分辨率的反卷积网络。这里的反卷积也被称为转置卷积,即Transposed Convolution,实际上它仍然是一个卷积操作,和卷积操作的对比如下。

卷积操作可以查看下图3,上方2×2是输出,下方的4×4是输入,卷积核大小为3×3,经过步长等于1的卷积后,得到了2×2的矩阵。

图3 卷积操作示意图

反卷积,则要实现从2×2的输入,得到4×4的输出,对应的就是下面的图4。

图4 反卷积操作示意图

当然反卷积模块也可以采用一些线性插值法来实现,比如双线性插值,如下图5。

图5 双线性插值示意图

假如我们已经知道4个点,Q11=(x1,y1),Q12=(x1,y2),Q21=(x2,y1),Q22=(x2,y2),如果要知道任意点P的值P(x,y),可以采用插值法。

首先对x方向进行线性插值:

然后再对y方向也进行线性插值:

当然还有其他插值方法,我们不再一一讲述。

另一方面,语义分割模型需要进行评测,在这里简单介绍其中的损失目标和评估指标。

首先是损失目标,作为一个逐像素的分类问题,交叉熵损失函数是最常用的语义分割损失函数,令n对应于样本数量,m是类别数量,yij 表示第i个像素样本属于分类j的标签,它是0或者1,f(xij)是预测第i个像素样本属于分类j的概率,定义如下。

与图像分类相比,区别仅在于将对整个图像的预测,转换到逐个像素的预测,最后取均值。当然如果要对不同像素做不同加权,或者对不同的类别进行加权,则可以设定经验加权值。

另外还有一个很常用的二分类分割损失函数,称之为Dice距离,定义如下。

其中p,q分别是预测值,Dice距离相对于softmax loss可以更好地应对2分类目标的类别不平衡问题;

最后我们简单说一下语义分割任务的评测指标,常见的评测指标是逐像素分类精度,类别分类精度,以及IoU。

图6 语义分割评测指标IoU

通过计算两个区域的交并比,就可以获得0~1的IoU指标,该指标相对于像素分类精度更敏感,更适合用于评估语义分割模型。根据类别还可以设置不同的权重进行加权,得到不同的mIoU值,可以参考各类benchmark。

语义分割还有许多核心技术,包括编解码模型设计,多尺度特征融合,膨胀卷积与可变形卷积,注意力模型等,接下来进行介绍。

2.2 编解码模型

上面介绍的语义分割原理示意图就是一个编解码模型,卷积为编码部分,编码器(encoder)的任务是在给定输入图像后,通过网络学习得到输入图像的特征图;反卷积为解码部分,它在编码器提供特征图后,逐步实现每个像素的类别标注。除此之外,还有若干被广泛验证有效的编解码模型经典模型,包括SegNet[1],FCN[2],U-Net[3],它们都在同一时期被提出。

SegNet中的编码器结构与解码器结构是一一对应的,即一个解码器具有与其对应的编码器相同的空间尺寸和通道数,如下图7所示。

图7 SegNet框架

对于基础SegNet结构,二者各有13个卷积层,其中编码器的卷积层对应了VGG16网络结构中的前13个卷积层。SegNet记录下池化过程中的位置信息来替代反卷积操作,其基本原理如下图8,即使用卷积过程中记录好的最大池化位置信息从低分辨率的特征图恢复高分辨率的稀疏特征图。

图8 SegNet记录池化

Fully connected Network(FCN)也使用了跳层连接的方案,将不同全局步长下的层进行连接,如下图9。

图9 FCN框架

卷积conv7对应全局步长为32,直接对其上采样得到结果的模型为FCN32s。如果将步长为16的pool4的结果经过卷积变换后和conv7的上采样结果进行融合,则模型为FCN16s。随着pool4细节信息的加入,FCN16s比FCN32s的分割结果更好,以此类推。

UNet则将各级具有相同分辨率的卷积特征图和反卷积特征图进行了一一对应融合。

图10 UNet框架

相比于SegNet和FCN,U-Net是一种更为常见的图像分割模型,它充分利用了卷积和反卷积层的特征融合,结构简单,性能鲁棒。

这三个模型结构代表了最经典的分割编解码模型架构,其核心为跳层连接,实现卷积核和反卷积核的信息融合。

2.3 多尺度特征融合

为了对多尺度的目标进行分割,各种尺度的特征融合对于模型来说是有益的,上一节介绍的基于跳层连接的编解码模型就实现了卷积和反卷积过程中不同抽象层级的特征融合,除此之外还有一些有代表性的技术。

如ParseNet[4]将基于池化的全局特征与局部特征进行了融合。全局特征拥有更好的抽象层级和全局感受野,局部特征则拥有更多的细节,两者融合理论上可以提升模型的性能,原理如下图11。

图11 ParseNet框架

PSPNet[5]则在ParseNet的基础上进一步改进,提出了金字塔池化模块Pyramid Pooling Module,如图12。它与目标检测中的SPPNet结构类似,在使用CNN进行特征提取后,对特征图使用了多个不同尺度的池化,从而得到了不同级别的池化后的特征图。随后对这些特征图分别进行特征学习,上采样,然后串接成最终的特征向量,其中相邻的池化采样层采样倍率为1/2。

图12 PSPNet框架

对于图像分割任务,全局特征通常是与整体轮廓相关的信息,而局部特征则是图像的细节纹理,要想对多尺度的目标很好的完成分割,这两部分信息都是必须的。多尺度特征融合的模型变种再多,本质上都是类似的思想。

2.4 膨胀卷积和注意力机制

膨胀卷积由Google的研究人员在文章[6]中提出,也被称为带孔卷积或者空洞卷积,这是一个在不增加计算量的情况可以增加卷积核感受野的卷积操作。它的原理就是原始卷积核相邻元素之间的距离不是1,而是根据膨胀系数的大小而不同,如下图3所示就是膨胀系数为2的带孔卷积,它的感受野是原始的3×3卷积的两倍。

图13 膨胀卷积

通过控制膨胀系数(即相邻卷积元素的距离),就可以控制卷积核的感受野,如下图14展示膨胀系数分别是1,2,4的对比。

图14 不同膨胀系数的膨胀卷积

感受野越大,越有利于综合上下文信息,这对于图像分割任务非常有效。在膨胀卷积被提出以前,大部分的空间尺寸恢复工作都是由上采样或反卷积实现的。前者通常是通过线性或双线性变换进行插值,虽然计算量小,但是效果有时不能满足要求;后者则是通过卷积实现,虽然精度高,但是参数计算量增加了。如果使用膨胀卷积,可以在不控制特征分辨率下降的情况下,继续扩大感受野抽象特征,如下图15实现stride=16的卷积特征提取模块。

图15 基于膨胀卷积的特征提取

另外,基于膨胀卷积结构,研究者们提出了ASPP(Atrous Spatial Pyramid Pooling)[7],这种结构使用了并联的膨胀卷积,在同一级特征图上提取了多尺度的特征。

图16 ASPP结构

如果将感受野的控制扩展到全图,则可以采用自注意力机制,其中非局部卷积[8]以自注意的方式可以获得全局的感受野,如图17。

图17 非局部卷积结构

图17中输入与输出都是T×H×W×1024的4维张量,输入block首先使用1×1×1卷积进行降维,得到三个T×H×W×512的数据块。它们各自进行维度变换,其中两个变换为THW×512,另一个变换为512×THW。一个THW×512和512×THW的矩阵相乘得到THW×THW的矩阵,并经过Softmax函数,得到权重函数。所以f(.)的操作就是每个通道上每个点的特征向量进行内积,空间信息得到了保留。权重向量与另一路经过维度变换的THW×512的数据进行计算,然后进行维度变换,得到输出结果。下图16便是一个基于自注意力机制的分割模型[9]。

图18 注意力分割模型

另外图像金字塔[10]也是一种简单的多尺度技术,但是因为导致计算量的快速增加而不是很流行。

2.5 边缘后处理技术

由于经典的CNN感受野是局部而不是整个图像,并且具有一定的空间变换不变性,这降低了分割的边缘定位精度。因此图像分割常常使用一些后处理技术,这里我们主要介绍CRF技术。

CRF(Conditional random field)即条件概率随机场,它是一种非局部的方法,可以融合场景信息。Google的语义分割模型Deeplab系列前几篇[6,7]文章就使用了CNN加上全连接的CRF的设计。目前,全连接的CRF(DenseCRF)[11]是其中最好的方法,该方法中每一个图像像素都跟其他所有像素相连。

为了能够优化如此海量的连接图,研究者们采用了在特征空间使用高斯滤波的方法完成。这个方法的思路是通过采用高效的近似高维滤波来减少图中消息传递,从而将消息传递的二次复杂度降低为线性复杂度。目前在主流的CPU和500×500尺度上,全连接CRF的速度在100ms左右,可以近似达到实时。

将CRF与CNN进行融合也有两种思路,一种是直接分步后处理,如Google的Deeplab系列文章的研究,将其用于处理CNN网络的输出;另一种就是直接融合进CNN框架,以同样的方式进行反向传播,典型如牛津大学的Torr-Vision研究组提出的《CRF as RNN》[12]。它用一个FCN模型完成第一阶段的分割任务,用RNN形式的CRF完成第二阶段的后处理。

图19 CRF as RNN框架

融合了CRF方法的CNN在边缘的定位精度上通常都取得了很大的提升。

2.6 Image Matting技术

语义分割的应用往往是为了做背景替换,而上面介绍的语义分割技术无法做好这件事,简单的替换会导致出现很假的效果图,比如下面的效果图20。

图20 直接背景替换

另一方面,也很难仅仅通过二分类的分割模型对非常复杂的结构进行分割,比如人的发丝(如图21)。要想获得更好的结果,需要用到软分割,即Image Matting技术,Image Matting能预测出前景,背景,以及它们融合的透明度系数。

图21 Image Matting问题

image matting问题可以用一个简单的数学表达式表达,I = aF + (1-a)B,其中F是前景,B是背景,a是透明度,一张图可以看作是在透明度图像的控制下,前景和背景的线性融合。比如上图左下角就是 Image Matting得到的透明度通道,右下角就是基于透明度通道的背景替换,得到比较自然的结果图。

要解Image Matting问题有点病态,对于三通道的RGB图像,只有3个方程,却需要解出7个变量(前景与背景颜色以及透明度通道),所以许多传统方法如closed form matting都要做局部区域颜色不变的约束才能求出解析解。

Image Matting方法从传统方法发展到了深度学习, 

www.alphamatting.com这里有主流方法的比较,传统的Image Matting方法都基于trimap进行求解。

所谓trimap,就是包含3种区域的图,分别为确定性前景,确定性前景,不确定性区域。如下图22中间图的红色,蓝色,绿色部分;对trimap求解,就是要优化不确定性区域,得到0~1的概率,即最右边图。

图22 基于Trimap的Matting方案

当前基于深度学习的Image Matting方法主要归为两类,基于Trimap和不基于Trimap的模型,这里我们不对整个领域的内容进行总结,而是各自介绍一个典型模型。

Adobe提出的Deep image matting[13]是早期基于深度学习的Image Matting模型。

图23 Deep image matting框架

输入RGB图与Trimap,然后采用标准的语义分割模型预测最终的结果,主要区别在于优化目标上增加了透明度通道的回归损失。Deep image matting虽然简单,但不是一个端到端的模型,因此使用起来不是那么简洁。

如果能够摆脱trimap的约束,Image Matting模型就可以获得end-to-end的解法,而且可以摆脱对需要非常精确的matting标注数据集的依赖,这才是更好的方案,也是当前Image Matting的研究重点,这里我们简单介绍一个框架代表,即Boost Matting[14]。

图24 Boost Matting框架

这样的框架包括3部分:Mask Prediction Network:就是普通的分割网络,所以采用了编解码结构,同时可以使用高质量精细标注数据集和低粗标注数据集进行训练。Quality Unification Network:它是一个对Mask Prediction Network结果进行归一化的网络,即降低精细标注数据集的预测结果,提高粗标注数据集的预测结果。Matting Refinement Network:基于输入图和Quality Unification Network结果预测输出RGB和Alpha通道。

Image Matting问题既是一个非常经典的图像处理问题,也作为语义分割的一个延伸问题,这一个子领域由于落地商业价值比较大,仍然在吸引一些研究人员改进相关模型。

那么时至今日,语义分割还有哪些研究点呢?可以关注以下方向。

(1) 语义分割剩余难点,包括因为样本数量或者样本尺度带来的各类别不平衡的问题,更高效的感受野与上下文信息控制机制,更简洁有效的Image Matting框架,更好的优化目标。

(2) 新的模型架构的尝试,如基于图神经网络的分割[15]。

(3) 弱监督分割,如何在少量标注样本的基础上,实现高精度模型的训练与数据的自动标注迭代[16-17]。

(4) 迁移学习,如何基于数据集更好地泛化到相似但分布差异较大的场景,典型如自动驾驶的各种天气环境与不同路面情况[18]。

(5) 3D图像与视频分割,这既是二维图像分割的延伸,也可以看作是新的研究方向[19-20]。

3 实例分割与全景分割

实例分割是另一个重要方向,它不仅要预测目标的语义标签,还要区分个体的ID,相比于语义分割任务更加复杂。

3.1  实例分割基础

因为实例分割框架很多都基于目标检测分支,所以从优化目标上来看,实例分割至少包含3个优化目标:

(1) 一个是像素类别分类损失,这与语义分割相同;

(2) 一个是目标检测损失,这就是目标检测框架里的回归损失。

(3) 一个是实例分类损失,指目标框里的前景与背景二分类损失。

当然,最新的许多实例分割模型也不需要基于候选框,各自的优化目标也有所不同,可参考具体的工作。

对于实例分割模型的评测,则主要参考目标检测中的AP(Average Precision)指标,只是计算IoU重叠度的区域不是框,而是不规则的掩膜,其计算方法请参考本系列的往期文章【AI初识境】深度学习模型评估,从图像分类到生成模型。

3.2  有候选框的多阶段实例分割框架

这一类方法,即首先通过目标检测的方法找出实例所在的区域(bounding box),再在检测框内进行语义分割,每个分割结果都作为不同的实例输出。

实例分割中最核心的问题在于区分个体ID,按照人类的思维习惯,可以采用遍历的方法在图像中进行扫描,早期的DeepMask网络[21]就是这样的一个实例分割框架,如下图25。它给定一个图像块作为输入,输出一个与类别无关的mask和一个取值为0或者1的score,来估计这个图像块完全包含一个物体的概率。score=1需要满足两个条件:一是这个图像块中间位置包含一个物体,二是物体在一定尺度范围内是全部被包含在这个图像块中,只有score=1的时候,mask才有效。

图25 Deepmask框架

图25中输入原图其实有多个目标,但是模型只预测该图的中心位置是否有目标,那如何能够预测出所有目标呢?在预测的时候,采用多尺度的滑动窗口对图像进行滑动窗口预测,最后再把相同的目标合并掉,不同的目标则标记为不同ID。DeepMask由于是早期框架,过于复杂,不仅采用全连接层预测mask,还采用低效率的滑动窗口重复计算各个图像块的特征,所以没有实用价值。

后来的InstanceFCN[22]虽然也采用滑动窗口的方式来寻找目标,但它共享了卷积特征,并且是在特征图上进行滑动,是更加高效的方式,如下图26所示。

图26 InstanceFCN框架

我们知道实例分割的结果是可以重叠的,就是说在不同的候选框内,同一个像素可能有不同的预测结果,可以同时属于A目标的左上角和B目标的右下角,那怎么样才能对同一个像素预测出不同标签呢?InstanceFCN提出了一个位置敏感图(position-sensitive score maps)的概念,用于预测一个像素属于某个物体的相对位置的得分。比如上图26中间有9个图,就是将相对位置分为了9种,从左上到右下,每个图不是直接预测属于某个目标的概率,而是预测其属于某个目标相对位置的概率,最后进行合并推断,理论上一个点最多可以预测出9个ID。

InstanceFCN需要单独的分类分支来进行类别分类,后面的FCIS[23]综合了Faster RCNN框架中的RPN和InstanceFCN的思想,提出了同时做检测与分割的框架。由于本文篇幅问题,我们不细讲,请读者阅读拓展资料。

Mask-RCNN[24]是一个随后被提出的更加简单的框架,把实例区分的问题直接交给Faster RCNN框架,而对RPN输出的每一个RoI预测分割掩膜,即像素类别。训练时Mask RCNN的参数设置也与Faster RCNN一致。

图27 MaskRCNN框架

对于每一个RoI,如果类别为k,则产生k个掩膜,即每一个类别都输出一个掩膜。这样的好处在于,各个类别之间不产生竞争,对于实例分割来说这很重要,因为实例分割可以重叠,故损失的定义也只在对应的通道。

3.3  无候选框的一阶段实例分割框架

目标检测模型从多阶段发展到了一阶段,从基于候选框的框架发展到了anchor free框架,实例分割模型也是如此。

YOLACT[25]是一个实时的实例分割框架,它通过将掩模分支添加到现有的一阶段(one-stage)目标检测模型来实现实例分割,如图28。

图28 YOLACT框架

YOLACT实际上是对每个实例预测分割候选集中k个分割的线性组合系数(Mask Coefficients),最后通过线性组合来生成实例mask。

SOLO(Segmenting Objects by Locations)[26]则是另一个非常简洁的实例分割框架,它通过提出实例类别概念(Instance Category)来表示量化后的物体中心位置和物体的尺寸,从而区分不同的实例。SOLO认为由目标的中心位置和尺寸就可以区分不同的实体,因此将图片划分成S×S的网格,如果物体的中心落在了某个网格中,那么该网格就有了两个任务,预测类别和实例掩膜,如图29。

图29 SOLO框架

PolarMask则是一个anchor-box[27]的实例分割框架,它通过预测实例的轮廓而不是二值掩膜来实现分割,将实例分割问题转化为实例中心点分类(instance center classification)问题和密集距离回归(dense distance regression)问题,这也是将目标检测最新研究迁移到实例分割中。

图30 PolarMask框架

另外还有一些自下而上的方法,即先对语义目标进行分割,再对实例进行聚类,如SGN[28],但是对密集分割的质量要求很高,后处理方法繁琐,并不是好的方法,这里就不再展开介绍。

3.4  全景分割

全景分割任务(Panoptic Segmentation)[29]要求图像中的每个像素点都必须被分配给一个语义标签和一个实例id,全景分割的具体分割形式有以下两点要求:

(1) 图像中的每个像素点都有一个对应的语义类别和一个实例id,如果无法确定可以给予空标注。

(2) 所有语义类别要么属于stuff,要么属于things,不能同时属于二者;且stuff类别没有实例id。

一个典型的全景分割框架[30]包括语义分割预测和实例分割预测分支,最后对其进行合并处理。实例标签可以从实例分割分支给出,而类别则可以综合两个分支的结果,详情可以阅读该文了解。

图31 统一全景分割框架

全景分割的评估指标也有所不同,下图32分别展示了全景分割中的true positives、false positives和false negative ,对应配对的实例分割、不配对的错误分割和未召回的分割。

图32 全景分割度量

基于此定义全景分割质量的度量:

其中分子是对所有匹配上的分割求平均IoU;分母后两项是惩罚匹配错误的像素。

时至今日,实例分割和全景分割的研究点在哪里呢?可以关注以下方向。

(1) 现有检测模块的优化。

(2) Anchor free框架,如基于轮廓的分割预测。

(3) 弱监督实例分割与全景分割。

4 图像分割的数据集与评测

研究图像分割问题需要标准数据集来横向比较模型,我们简单介绍几个常见的数据集与评测指标。

4.1 PASCAL VOC 

数据集地址:http://host.robots.ox.ac.uk/pascal/VOC/,初始发布于2005年,至2012年止。The PASCAL Visual Object Classes(VOC)项目是由Mark Everingham等人牵头举办的比赛,这是一个时间跨度很大的比赛,从2005年开始到2012年结束。它起初主要用于object detection(目标检测),最后包含了5个比赛,classification,detection,segmentation,action classification,person layout。

分割标注包含了20类,语义分割和实例分割两个任务,VOC2012包含了6929张图。

图33 PASCAL样图

4.2 COCO

数据集地址:http://cocodataset.org/,发布于2014年,由微软亚洲研究院整理。Microsoft COCO数据集,是对标PASCAL VOC,ImageNet数据集而诞生的,同样可以用于图像分类,分割,目标检测等任务,共30多万的数据。

从COCO的全称Common Objects in Context可以看出,这个数据集以场景理解为目标,特别选取比较复杂的日常场景,相比于PASCAL VOC的建立是为了推进目标检测任务,COCO的建立则是为了推进自然背景下的定位与分割任务,所以图像中的目标通过非常精确的分割掩模进行位置的标定。

COCO数据集有91类,以人类4岁小孩能够辨识为基准。其中82个类有超过5000个instance。

图34 COCO样图

数据集的建立动机是研究3个问题:

(1) non-iconic views。要求数据集中的图像,尽量不要只是包括一个大的目标或者一个空的场景的图像,而是两者都有,保证场景的复杂性。

(2) contextual reasoning between objects,即场景的覆盖性,需要广而且足够复杂。数据集总共有328000个图像和2500000个标注。与ImageNet和SUN数据集(另一个场景分类数据集)相比,类别数目更少,但是每一个类别的instance更多,这其实是有利于目标定位任务的,因为多样性更好。对比PASCAL VOC,COCO数据集则要大的多,有更多类和instance。

(3) precise 2D localization。即精确定位,要求分割的标注结果非常精确,定位的边框也是从分割掩膜生成而不是直接画框标注,保证了极高的精度。

4.3 Cityscape

数据集地址:https://www.cityscapes-dataset.com/Cityscapes,发布于2016年,这是由奔驰采集的面向城市道路街景语义理解的数据集。Cityscapes包含50个城市在春夏秋三个季节不同时间段不同场景、背景的街景图。

分割标注包含了30类,语义分割和实例分割两个任务,提供5000张精细标注的图像、20000张粗略标注的图像。

图35 Cityscape样图

4.4 ADE 20k

数据集地址:http://groups.csail.mit.edu/vision/datasets/ADE20K/,发布于 2017年,有2万张图片150种目标的场景数据集,可用于场景感知、解析、分割、多物体识别和语义理解。

图36 ADE20k样图

更多数据集与评测基准,请大家阅读相关资料。

5 参考资料

最后,我们来汇总一下有三AI生态中掌握好图像分割任务可以使用的相关资源。

(1) 图像分割专栏,公众号写过许多图像分割相关的技术文章,大家可以去阅读。

【技术综述】闲聊图像分割这件事儿

【完结】12篇文章带你逛遍主流分割网络

【技术综述】基于弱监督深度学习的图像分割方法综述

(2) 书籍《深度学习之图像识别:核心技术和与案例实战》和《深度学习之人脸图像:核心算法与案例实践》,前者介绍了图像分割中的核心算法,后者详解了主流的语义分割模型。

言有三新书来袭,业界首次深入全面讲解深度学习人脸图像算法

言有三新书再印,从理论到实践系统性学习计算机视觉

(3) 视频课程《深度学习之图像分割:理论与实践》,从理论和Pytorch实践来详细教大家学好图像分割算法,是更新的内容,详情可以阅读。

【视频课】一课掌握图像分割核心理论与实战技巧

(4) 知识星球。知识星球是有三AI的付费内容社区,里面包括各领域的模型学习,数据集下载,公众号的付费图文原稿,技术总结PPT和视频,知识问答,书籍下载,项目推荐,线下活动等资源,了解详细请阅读以下文章:

【杂谈】有三AI知识星球一周年了!为什么公众号+星球才是完整的?

【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!

最后是本文的参考文章:

[1] Badrinarayanan V, Handa A, Cipolla R. Segnet: A deep convolutional encoder-decoder architecture for robust semantic pixel-wise labelling[J]. arXiv preprint arXiv:1505.07293, 2015.

[2] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.

[3] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.

[4] Liu W, Rabinovich A, Berg A C. Parsenet: Looking wider to see better[J]. arXiv preprint arXiv:1506.04579, 2015.

[5] Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2881-2890.

[6] Chen L C, Papandreou G, Kokkinos I, et al. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 40(4): 834-848.

[7] Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017.

[8] Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7794-7803.

[9] Fu J, Liu J, Tian H, et al. Dual attention network for scene segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 3146-3154.

[10] Chen L C ,  Yi Y ,  Jiang W , et al. Attention to Scale: Scale-Aware Semantic Image Segmentation[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016.

[11] Krähenbühl P, Koltun V. Efficient inference in fully connected crfs with gaussian edge potentials[C]//Advances in neural information processing systems. 2011: 109-117.

[12] Zheng S, Jayasumana S, Romera-Paredes B, et al. Conditional random fields as recurrent neural networks[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1529-1537.

[13] Xu N, Price B, Cohen S, et al. Deep image matting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2970-2979.

[14] Liu J , Yao Y , Hou W , et al. Boosting Semantic Human Matting with Coarse Annotations[J]. 2020.

[15] Qi X ,  Liao R ,  Jia J , et al. 3D Graph Neural Networks for RGBD Semantic Segmentation[J]. IEEE, 2017.

[16] Huang Z, Wang X, Wang J, et al. Weakly-supervised semantic segmentation network with deep seeded region growing[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7014-7023. 

[17] Dai J, He K, Sun J. Boxsup: Exploiting bounding boxes to supervise convolutional networks for semantic segmentation[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 1635-1643.

[18] Huang J ,  Lu S ,  Guan D , et al. Contextual-Relation Consistent Domain Adaptation for Semantic Segmentation[C]// ECCV 2020. 2020.

[19] Shelhamer E, Rakelly K, Hoffman J, et al. Clockwork convnets for video semantic segmentation[C]//European Conference on Computer Vision. Springer, Cham, 2016: 852-868.

[20] Tran D, Bourdev L, Fergus R, et al. Deep end2end voxel2voxel prediction[C]//Proceedings of the IEEE conference on computer vision and pattern recognition workshops. 2016: 17-24.

[21] Pinheiro P O O, Collobert R, Dollár P. Learning to segment object candidates[C]//Advances in Neural Information Processing Systems. 2015: 1990-1998.

[22] Dai J ,  He K ,  Li Y , et al. Instance-sensitive Fully Convolutional Networks[J]. Springer, Cham, 2016.

[23]  Li Y ,  Qi H ,  Dai J , et al. Fully Convolutional Instance-Aware Semantic Segmentation[C]// Computer Vision & Pattern Recognition. IEEE, 2017.

[24] He K ,  Gkioxari G , P Dollár, et al. Mask R-CNN[C]// IEEE. IEEE, 2017.

[25] Bolya D ,  Zhou C ,  Xiao F , et al. YOLACT: Real-time Instance Segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, PP(99):1-1.

[26] Wang X ,  Kong T ,  Shen C , et al. SOLO: Segmenting Objects by Locations[C]// 2020.

[27] Xie E ,  Sun P ,  Song X , et al. PolarMask: Single Shot Instance Segmentation With Polar Representation[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.

[28] Shu L ,  Jia J ,  Fidler S , et al. SGN: Sequential Grouping Networks for Instance Segmentation[C]// 2017 IEEE International Conference on Computer Vision (ICCV). IEEE, 2017.

[29] Kirillov A, He K, Girshick R, et al. Panoptic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2019: 9404-9413.

[30] Xiong Y ,  Liao R ,  Zhao H , et al. UPSNet: A Unified Panoptic Segmentation Network[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019.

总结

图像分割是计算机视觉领域的基础任务之一,是从事计算机视觉必须掌握的方向。本文主要介绍图像分割任务的全貌,许多细节并非全面,但仍希望能在你初学的道路上给予一定的帮助!

有三AI计算机视觉学习季划

有三AI季划是我们推出的终身计算机视觉培养计划,有三作为主要导师直接带领,囊括答疑,微信群交流,线下活动,多本自写的书籍,图文课件与代码,直播与直播,知识星球社区,内容组与研发组权限,了解详细请阅读以下文章:

【CV春季划】2021年有三AI-CV春季划出炉,最后一届言有三手把手从零带学

【CV夏季划】告别入门,提升眼界,从掌握最有价值的那些CV方向开始

【CV秋季划】人脸算法那么多,如何循序渐进地学习好?

【CV秋季划】模型优化很重要,如何循序渐进地学习好?

【CV秋季划】图像质量提升与编辑有哪些研究和应用,如何循序渐进地学习好?

【CV秋季划】生成对抗网络GAN有哪些研究和应用,如何循序渐进地学习好

转载文章请后台联系

侵权必究

往期精选

图像分割阈值选取技术综述 阅读详情

相关推荐

【公众号】基于弱监督深度学习的图像分割方法综述

本系列记录了博主为公众号【有三AI】撰写稿件的底稿。本文为基于弱监督深度学习的图像分割方法综述,更新于2019.03.16。 基于弱监督深度学习的图像分割方法综述基础概念为什么要弱监督学习常用的弱监督分割算法基于image-level tags的分割算法基于bounding boxes的分割算法语义分割实例分割全景分割参考文献 基础概念 图像分割的任务是对于图片中感兴趣的像素点按照要求赋予标注,比...

ShuqiaoS的博客 2830

SAM - 分割一切图像【AI大模型】

如果你认为 AI 领域已经通过 ChatGPT、GPT4 和 Stable Diffusion 快速发展,那么请系好安全带,为 AI 的下一个突破性创新做好准备。推荐:用快速搭建3D场景。Meta 的 FAIR 实验室刚刚发布了 Segment Anything Model (SAM),这是一种最先进的图像分割模型,旨在改变计算机视觉领域。SAM 基于对自然语言处理 (NLP) 产生重大影响的基础模型。它专注于可提示的分割任务,使用提示工程来适应不同的下游分割问题。为什么我们对 SAM 如此兴奋?

新缸中之脑 1万+

人工智能技术AI

使计算机理解、生成和处理人类语言的技术,涵盖语音和文本分析。

wlq_567的博客 2006

人工智能--图像语义分割

工作原理图像语义分割的工作过程主要包含以下几个关键步骤:🍍数据准备首先,需要收集大量的图像数据,并对这些图像中的每个像素进行类别标注。标注的类别可以是物体类别,如人、车、建筑物等,也可以是场景类别,如室内、室外、森林等。🍍特征提取使用深度卷积神经网络(CNN)来自动提取图像的特征。CNN 由多个卷积层和池化层组成。卷积层通过卷积操作来捕捉图像中的局部模式和特征,池化层则用于降低特征图的分辨率,减少计算量并提取主要特征。在这个过程中,图像从原始的像素空间被转换为抽象的特征空间。🍍编码 - 解码结构。

考研小钻风 2474

AI人工智能与聚类技术的融合之道

随着信息技术的飞速发展,数据量呈现爆炸式增长。如何从海量的数据中提取有价值的信息成为了当前的重要挑战。AI人工智能具有强大的数据分析和处理能力,而聚类技术作为数据挖掘中的重要方法,能够将数据对象划分为不同的组,使得同一组内的数据对象具有较高的相似性,不同组之间的数据对象具有较高的差异性。本文的目的在于深入探讨AI人工智能与聚类技术的融合方式,分析其优势和应用场景,为相关领域的研究和实践提供理论支持和技术指导。

AI 领航者的博客 949

AI笔记: 计算机视觉之图像直方图、图像分割、大津算法和区域生长算法

概述 图像分割是视觉中非常重要的一个内容 我们人类在看周围世界的时候, 首先会将视野中的目标分成一个一个不同的焦点, 进一步再对每一个目标进行详细的分析 模拟人类视觉,计算机视觉也要对图像中不同的目标一个一个的进行分割出来 图像直方图(灰度直方图) 在左上角的图像每一个像素格分别对应了该像素的对应灰度,在这里我们只考虑灰度图像 每个像素对应的灰度幅值是0~255之间,我们可以围...

Wang的专栏 2238

第35篇:AI技术实战:基于深度学习的图像分割与实例分割

深度学习技术为图像分割和实例分割提供了强大的支持,通过U-Net、Mask R-CNN和DeepLab等模型,能够实现高效的像素级分类和实例识别。使用TensorFlow和Keras可以快速构建和训练分割模型,而预训练模型则可以进一步提升性能。数据预处理、模型选择和性能优化是提升图像分割性能的关键。希望本文的代码示例和注意事项能帮助你更好地理解和应用这些技术。接下来,我们将继续探索更多AI技术实战案例。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1498

TJA1445/TJA1465 CAN收发器硬件设计与软件配置实战指南

控制器局域网(CAN)总线是汽车电子和工业控制领域实现电子控制单元(ECU)间可靠通信的核心技术。其工作原理是将数字信号转换为差分信号进行抗干扰传输,技术价值在于构建稳定、高效的分布式实时控制系统。随着汽车电子架构向域集中式演进,对CAN总线的通信速率、网络复杂度和静态功耗提出了更高要求,这催生了支持CAN FD协议和智能电源管理的新一代高速CAN收发器。在车载网关、域控制器及工业网络节点等应用场景中,NXP的TJA1445和TJA1465系列收发器凭借其部分组网(Partial Networking)和选

weixin_29655587的博客 411

人工智能图像识别应用基础(图像分割项目)

图像分割:预测目标的轮廓。将不同的像素划分到不同的类别,非常细粒度的分类,特性可以是灰度、颜色、纹理等;目标可以对应单个区域,也可以对应多个区域。

weixin_64304787的博客 1273

ICT调试技巧:从基础到实战的全面指南

本文提供了一份全面的ICT调试技巧指南,涵盖从基础认知到实战应用的全过程。详细解析了ICT设备硬件结构、程序文件构成,并重点讲解了调试界面的核心参数与高效快捷键。通过跳线、电阻、电容及二极管等常见元器件的实战调试案例,分享了参数设置要点与典型问题解决方案,帮助工程师快速掌握ICT调试核心技能,提升测试效率与准确性。

weixin_29202213的博客 344

Crossformer实战:从零开始搭建多变量时间序列预测模型(附ETTh1数据集调参指南)

本文提供了从零开始搭建Crossformer多变量时间序列预测模型的实战指南,并附有详细的ETTh1数据集调参攻略。文章深入解析了Crossformer的核心设计,重点探讨了seg_len和win_size等关键参数对模型性能的影响,并分享了环境配置、训练调试及常见问题的解决方案,帮助开发者高效应用这一前沿深度学习模型。

weixin_29281915的博客 323

最全综述 | 图像分割算法

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达本文转自:AI算法与图像处理图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热...

小白学视觉 3万+

增量编码器资讯大全

增量编码器是什么 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。 编码器是把角位移或直线位移转换成电信号的一种装置。前者称为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采...

kindele的博客 6009

综述的综述!5 篇2020 年「图像分割算法」最佳综述论文详解

在过去的一年中,计算机视觉领域出现了许多优秀的工作,并推动了相关领域的技术发展与进步。极市平台对2020年出现的全部计算机视觉综述论文进行了分方向梳理。本篇文章为2020年图像分割方向的...

BAAIBeijing的博客 2401

代码生成 | 安时积分法模型搭建

安时积分法是电池电量计量最基础的方法,今天我们用simulink建模的方式做一个安时积分模型,从而更好地理解安时积分的思想也掌握建模的基础操 ​新建文件 打开MATLAB启动simulink新建一个模型文件 定义变量 和手写代码一样,先定义几个后面要用到的变量,在simulink建模时新建变量用Data Store Memory模块。双击填入要定义的变量名,然后在signal attributes赋初值 如此方法新建四个变量current(电流)初值1000mA、tatol_cap(总容量

ningvay的博客 1万+

实验手册(灾难恢复)

我们发现DC1与DC2的复制出现问题,此时我们检查了在DC2中,DC1是否被正确注册。这里选择还原系统状态,因为我们原DC1上只备份了AD的数据,所以我们在新的这台服务器上还原的也是AD数据库。因为我们是单域下的测试,只测试了一个域,所以它会出现这样的报错。我们选择远程共享文件夹,我们备份的时候,是在备份这台服务器上的。同时删除SRV记录,A记录,NS记录,SOA记录,框框里面的所有有关dc1的记录全部删除。如果在企业中AD数据的备份是每周或者每月都会有一次备份,选择恢复AD数据库的时间。

weixin_52364868的博客 1310

综述论文:深度学习在心脏图像分割的应用

作者: Chen Chen [1], Chen Qin [1], Huaqi Qiu [1],∗, Giacomo Tarroni [1,2], Jinming Duan [3],Wenjia Bai [4,5], and Daniel Rueckert [1] [1] Biomedical Image Analysis Group, Department of Computing, Imperial College London, London, UK; [2] Department of Compute

y小川的专栏 1万+

Steam崩溃:ntdll.dll报错0xc0000374...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1161

有三AI不得不看的几十篇技术综述

文/编辑 | 言有三最近遇到了很多新手来交流,网上资料甚多,筛选有时候是个大问题,一般遇到一个新方向,找技术综述读一读是最合适的开始,今天总结一下有三AI发过的技术综述,...

hacker_long的专栏 925

视觉Transformer实战 | 将卷积引入视觉Transformer(CvT)

CvT 是一种融合卷积神经网络与 Vision Transformer 优势的视觉模型,旨在解决 ViT 缺乏平移不变性和局部性等归纳偏置的问题。CvT 采用分层结构逐级降采样,使用卷积词元嵌入代替传统 patch 切分,引入卷积投影替代线性投影。这些设计使得 CvT 能够去除位置编码,在高分辨率输入下表现更优。本节深入解析 CvT 的核心原理,并提供完整的 PyTorch 代码实现,演示如何在实际数据集上训练和评估 CvT 模型。

盼小辉丶的博客 728

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

100个深度图像分割算法,纽约大学UCLA等最新综述论文

转载自 https://new.qq.com/omn/20200122/20200122A0BEL300.html 100个深度图像分割算法,纽约大学UCLA等最新综述论文 【新智元导读】来自纽约大学、滑铁卢大学、UCLA等学者深度学习图像分割最新综述论文,对现有的深度学习图像分割研究进行梳理使其系统化,并提出6方面挑战,帮助读者更好地了解当前的研究现状和思路。可作为相关领域从业者的必备参考文献。戳右边链接上新智元小程序了解更多! 图像分割(Image Segmentati...

qwj的博客 2942

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【技术综述】基于弱监督深度学习的图像分割方法综述​

文章首发于微信公众号《有三AI》 【技术综述】基于弱监督深度学习的图像分割方法综述​ 本文是基于弱监督的深度学习的图像分割方法的综述,阐述了弱监督方法的原理以及相对于全监督方法的优势,首发与《有三AI》 作者 | 孙叔桥 编辑 | 言有三 1 基础概念 生活中,我们和周围的事物都是有“标签”的,比如人、杯子、天空等等。在不同的场景下,相同的事物可能对应了不同的标签,比如长在地...

hacker_long的专栏 1251

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

人工智能机器学习深度学习在医疗图像分割及肿瘤病灶分割中的应用综述:引领医疗图像分析的革新之路

人工智能机器学习深度学习在医疗图像分割及肿瘤病灶分割中的应用综述:引领医疗图像分析的革新之路 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 随着技术的不断发展,人工智能、机器学习和深度学习技术在医疗领域的应用日益广泛。本项目《人工智能机器学习深度学习在医疗图像分割及肿瘤病灶分割中的应用综述》旨在梳理这些先进技术在医疗图像分割,尤其是针对肿瘤病灶分割的应用进展,为研究人...

gitblog_06748的博客 734

【技术综述】有三AI不得不看的技术综述

文/编辑 | 言有三 最近遇到了很多新手来交流,网上资料甚多,筛选有时候是个大问题,一般遇到一个新方向,找技术综述读一读是最合适的开始,今天总结一下有三AI发过的技术综述。 25篇CV工程师进阶文章 深度学习CV算法工程师从入门到初级面试有多远,大概是25篇文章的距离,这是有三AI修行之路的《白身境》和《初识境》两大系列的完结,从编程基础,图像基础,数学基础讲到深度学习理论和实践基础...

hacker_long的专栏 902
上一篇: 【直播课】6小时教你熟知Anchor free理论基础,掌握项目实战技巧
下一篇: 【杂谈】当当最新购书优惠来了,满300-60,AI好书推荐
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

言有三

三人行必有AI

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

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

打赏作者

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

抵扣说明:

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

余额充值