SLIC 超像素分割详解(三):应用

看过上面的介绍后,我们应该思考一下:分割好的超像素有什么用?怎么用?用到哪里?

首先,超像素可以用来做跟踪,可以参考卢湖川课题组发表在IEEE TIP上的《Robust superpixeltracking》;其次,可以做标签分类,参考09年ICCV的《Class segmentation andobject localization with superpixel neighborhoods》,这篇文章对后来的文章还是有很大的指导意义的;还有做超像素级词袋(superpixel-basedbag-of-words)的,参考13年CVPR《Improving an objectdetector and extracting regions using superpixels》,作者把样本中超像素级的特征通过k-means聚类为超像素级词袋,最后又结合了SVM对难分类样本进一步分类,该文章的算法框图如下;

超像素级词袋

在视频前景分割中用的也挺多,因为相比像素,超像素处理速度会快几十倍、几百倍甚至更高,这对实时性要求较高的视频分割比较重要,还有最近提出的supervoxel概念(可以认为是三维的superpixel),文章可以参考《Video object segmentationwith shape cue based on spatiotemporal superpixel neighbourhood》和《Supervoxel-consistentforeground propagation in video》。

Supervoxel (3D superpixel)示例

除了上述介绍的之外,超像素还可以用于骨架提取、人体姿态估计(参考文章《Guiding ModelSearch Using Segmentation》)、医学图像分割等方面。

骨架提取示例

医学图像分割

其实,传统的像素级处理都可以考虑改造成超像素级处理,所以如果你想用的话,超像素就可以应用到计算机视觉这个大领域的方方面面。举一个具体的例子进行分析:下图中每个红色闭环轮廓内都是一个超像素,像素级的光流改造(例如求均值)为超像素级的光流矢量用绿色的箭头表示。这样一张300万像素的图片可以用300个(给定分割数目K=300)超像素来表示。

下面以一篇文章《Improving video foreground segmentation with an object-like pool》下载论文为例具体分析一下超像素的用法。该文章目标是在无监督条件下对序列图像中运动目标进行精细的分割。算法流程如下:

算法流程图

1.  作者先计算像素级的常用的特征:binary mask(二值化掩膜,通过帧差得到),以及optical flow。我们知道基于graph cut的方法需要多次迭代优化,如果直接进行像素级的graph cut非常耗时,所以作者将像素级的binary mask和optical flow特征转化为超像素级特征。

2.  Binarymask特征通过2012年CVPRW的论文《Improving foreground segmentationswith probabilistic superpixel Markov random fields》中的方法

改造为超像素级特征,其实就是将超像素内的binarymask逐像素统计,用目标点数目占总像素点数目(即该超像素的大小)的比例给该超像素赋予一个在binarymask特征下属于前景/背景的概率。

Optical flow像素级特征改造稍微复杂一点,因为每个像素点是一个二维矢量,作者首先将平均的光流矢量作为该超像素的光流矢量,然后将所有超像素级的光流矢量均值作为参考矢量,再计算每个超像素矢量和参考矢量的余弦相似度作为该超像素在optical flow特征下属于前景/背景的概率。

3.  分割问题其实就是对每个超像素标记的问题,作者用conditional random field(条件随机场)来对超像素的分布进行建模,上述两种超像素级的特征都需要归一化到[0,1]并加权融合,结果作为unary potential(一元势函数,描述自身属于前景/背景概率)。Pairwise potential(二元势函数,描述邻域关系)的表达参照了像素级的做法:以种子点的四邻域作为中心超像素的邻域。在这里就体现出SLIC方法的优点了,分割结果比较紧凑而且大小相差不大,所以邻域关系相对于其他的超像素分割方法依然保持的比较好。

4.  Object-likepool和background-like pool是作者引入的概念,是以上一次分割的结果作为先验条件指导当前分割,其保留的也是超像素级的信息(颜色、光流、位置)。然后利用公式(11)计算出了一个新的归一化特征foreground likelihood,把它融入上述conditional random field模型。

下面讨论一下如何设置待分割超像素数目?使用超像素对图像进行分割时,设置的超像素数目K比较重要:如果K比较小,每个超像素尺寸会比较大,这样超像素对边界的保持就会变差,如果K比较大,每个超像素的尺寸会比较小,那么会出现类似“过拟合”现象,超像素的形状会变得非常不规则,邻域关系很难保持,而且数目也比较多。如下图:

不同尺寸的超像素分割结果对比。(a)原图,超像素尺寸:(b)100X100,(c)30X30,(d)8X8

    实际上具体分割数目K和具体应用有关,比如如果对上图做主要人物(左边的小魔女)分割的话,100X100大小的超像素就够了,但是如果对两个骑自行的人物也进行分割的话,需要使用30X30的尺寸,但是此时较小人物的分割精度不高,如果有更高要求,则需要使用8X8甚至更小的尺寸。另外,由于上图是动画,所以细节和纹理并不是很多,现实场景下的图片纹理会复杂的多,尺寸也需要根据不同场合选择。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

线性分类器 VS 非线性分类器

在这一小节,我展示了Naive Bayes和Rocchio这两个学习方法,它们都属于线性分类器,大概也是文本分类器中最重要的一组,接着我把它们和非线性分类器做了...

3715
来自专栏新智元

【计算机视觉必读干货】图像分类、定位、检测,语义分割和实例分割方法梳理

作者:张皓 【新智元导读】本文作者来自南京大学计算机系机器学习与数据挖掘所(LAMDA),本文直观系统地梳理了深度学习在计算机视觉领域四大基本任务中的应用,包括...

6296
来自专栏本立2道生

特征,特征不变性,尺度空间与图像金字塔

在计算机视觉领域,特征是为了完成某一特定任务需要的相关信息。比如,人脸检测中,我们需要在图像中提取特征来判断哪些区域是人脸、哪些区域不是人脸,人脸验证中,我们需...

2022
来自专栏机器学习算法工程师

机器学习中的数据不平衡解决方案大全

在机器学习任务中,我们经常会遇到这种困扰:数据不平衡问题。 数据不平衡问题主要存在于有监督机器学习任务中。当遇到不平衡数据时,以总体分类准确率为学...

2594
来自专栏磐创AI技术团队的专栏

干货 | 基于深度学习的目标检测算法综述(一)

目标检测(Object Detection)是计算机视觉领域的基本任务之一,学术界已有将近二十年的研究历史。近些年随着深度学习技术的火热发展,目标检测算法也从基...

2592
来自专栏MelonTeam专栏

深度学习基础概念笔记

导语 学习tensorflow,caffe等深度学习框架前,需要先了解一些基础概念。本文以笔记的形式记录了一个零基础的小白需要先了解的一些基础概念。 ...

1837
来自专栏目标检测和深度学习

深度 | 像玩乐高一样拆解Faster R-CNN:详解目标检测的实现过程

作者:Matt Simon 机器之心编译 本文详细解释了 Faster R-CNN 的网络架构和工作流,一步步带领读者理解目标检测的工作原理,作者本人也提供了...

3938
来自专栏PPV课数据科学社区

【计算机视觉必读干货】图像分类、定位、检测,语义分割和实例分割方法梳理

【导读】本文作者来自南京大学计算机系机器学习与数据挖掘所(LAMDA),本文直观系统地梳理了深度学习在计算机视觉领域四大基本任务中的应用,包括图像分类、定位、检...

3028
来自专栏CSDN技术头条

基于深度学习的图像语义编辑

深度学习在图像分类、物体检测、图像分割等计算机视觉问题上都取得了很大的进展,被认为可以提取图像高层语义特征。基于此,衍生出了很多有意思的图像应用。 为了提升本文...

3166
来自专栏大数据文摘

论文Express | 谷歌大脑:基于元学习的无监督学习更新规则

1903

扫码关注云+社区

领取腾讯云代金券