计算机视觉之分割

 

众所周知,计算机视觉(CV)是人工智能研究领域的比较重要的一环。今天是中秋节的第二天,我写该文章的目的是来总结一下计算机视觉之图像分割相关内容,这些内容是对网络上所有内容的归纳,参考了两位博主的优秀博文,具体链接我会在后面给出。为什么要进行图像分割研究呢?图像分割是图像处理和计算机视觉的热点之一,它是图像分析和理解图像特征提取和识别的基础。

什么是图像分割?

把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤(该定义来自百度百科)。说的直白一些就是把图像中我们所关注的对象通过某种手段区分处理。

图像分割算法的类别?

一般来说,图像分割大致可以归为五大类。

第一类:阈值分割方法( threshold segmentation method)。阈值分割是基于区域的分割算法中最常用的分割技术之一,其实质是根据一定的标准自动确定最佳阈值,并根据灰度级使用这些像素来实现聚类。

第二类:区域增长细分( regional growth segmentation)。区域增长算法的基本思想是将具有相似属性的像素组合以形成区域,即,首先划分每个区域以找到种子像素作为生长点,然后将周围邻域与相似属性合并其区域中的像素。

第三类:边缘检测分割方法( edge detection segmentation method)。边缘检测分割算法是指利用不同区域的像素灰度或边缘的颜色不连续检测区域,以实现图像分割。

第四类:基于聚类的分割( segmentation based on clustering)。基于聚类的算法是基于事物之间的相似性作为类划分的标准,即根据样本集的内部结构将其划分为若干子类,以使相同类型的类尽可能相似、不同的类型的类尽可能不相似。

最后一类是基于CNN(Convolutional neural networkl)中弱监督学习的分割。它指的是为图像中的每个像素分配语义标签的问题,又称语义分割。它由三部分组成。 1)给出包含哪些对象的图像。 2)给出一个对象的边框。 3)图像中的对象区域用部分像素标记。

[描述来源:Yuheng, S.; Hao, Y. (2017). Image Segmentation Algorithms Overview. arXiv: 1707.02051.]

目前来说基于CNN的分割算法是研究的热点,下文也主要来对其进行展开介绍。

图像分割常见术语

superpixels(超像素)、Semantic Segmentation(语义分割)、Instance Segmentation(实例分割)、Panoptic Segmentation(全景分割)。

superpixels(超像素):最早在被Xiaofeng Ren等人(2003)在论文《Learning a Classification Model for Segmentation》提出。其是一系列像素的集合,这些像素具有类似的颜色、纹理等特征,距离也比较近。如下图,其中每个白色线条区域内的像素集合就是一个超像素,超像素很可能把同一个物体的不同部分分成多个超像素。

计算机视觉之分割_第1张图片

其中超像素中比较常用的一种方法是SLIC(simple linear iterative clustering),是Achanta 等人2010年提出的一种思想简单、实现方便的算法,将彩色图像转化为CIELAB颜色空间和XY坐标下的5维特征向量,然后对5维特征向量构造距离度量标准,对图像像素进行局部聚类的过程。SLIC算法能生成紧凑、近似均匀的超像素,在运算速度,物体轮廓保持、超像素形状方面具有较高的综合评价,比较符合人们期望的分割效果。

Semantic Segmentation(语义分割)

其把图像中的每个像素赋予一个类别标签(比如汽车、建筑、地面、天空等),如下图把图像分为了草地(浅绿)、人(红色)、树木(深绿)、天空(蓝色)等标签,用不同的颜色来表示。不过这种分割方式存在一些问题,比如如果一个像素被标记为红色,那就代表这个像素所在的位置是一个人,但是如果有两个都是红色的像素,这种方式无法判断它们是属于同一个人还是不同的人。也就是说语义分割只能判断类别,无法区分个体。

计算机视觉之分割_第2张图片

为了能够区分个体,提出了实例分割。

Instance Segmentation(实例分割)

其有点类似于物体检测,不过物体检测一般输出的是 bounding box,实例分割输出的是一个mask。

实例分割和语义分割的不同之处在于它不需要对每个像素进行标记,它只需要找到感兴趣物体的边缘轮廓就行,如下图中的人就是感兴趣的物体,其具体分割方法采用了一种称为Mask R-CNN的方法。我们可以看到每个人都是不同的颜色的轮廓,这样我们就能对同一类不同对象进行区分。

Panoptic Segmentation(全景分割)

其是语义分割和实例分割的结合。如下图,每个像素都被分为一类,如果一种类别里有多个实例,会用不同的颜色进行区分,我们可以知道哪个像素属于哪个类中的哪个实例。比如下图中黄色和红色都属于人这一个类别里,但是分别属于不同的实例(人),因此我们可以通过mask的颜色很容易分辨出不同的实例。

计算机视觉之分割_第3张图片

图像语义分割发展历史

Jonathan Long, Evan Shelhamer, Trevor Darrell《Fully Convolutional Networks for Semantic Segmentation》在 2014 年末介绍了使用「全卷积」网络FCN,对图像分割的任务进行端到端、像素到像素的训练方法。采用了类似endoder-decoder编码的方式来实现对图像进行实例分割。具体:将现有的、经过充分研究的图像分类网络(如 AlexNet)作为网络的编码模块,用转置卷积层作为解码模块,将粗略的特征图上采样至全分辨率的分割图。FCN主要用来做pixel-wise的image segmentation预测,先用传统的CNN结构得到feature map,同时将传统的full connected转换成了对应参数的卷积层,比如传统pool5层的尺寸是7×7×512,fc6的尺寸是4096,传统的full connected weight是7×7×512×4096这样多的参数,将它转成卷积核,kernel size为7×7,input channel为512,output channel为4096,则将传统的分别带有卷积和全连接的网络转成了全卷积网络(fully convolutional network, FCN)。FCN的一个好处是输入图片尺寸大小可以任意,不受传统网络全连接层尺寸限制,传统的方法还要用类似SPP结构来避免这个问题。FCN中为了得到pixel-wise的prediction,也要把feature map通过deconv转化到像素空间。

Olaf Ronneberger, Philipp Fischer, and Thomas Brox(2015)提出了U-Net,具体论文《Convolutional Networks for Biomedical Image Segmentation》,Unet通过产生原始训练数据的扭曲版而增加训练数据。这一步使 CNN 编码器-解码器变得更加鲁棒以抵抗这些形变,并能从更少的训练图像中进行学习。当它在少于 40 张图的生物医学数据集上训练时,IOU 值仍能达到 92%。

Liang-Chieh Chen等人(2016)提出DeepLab,相关文章《Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected》,将 CNN 编码器-解码器和 CRF 精炼过程相结合以产生目标标签(如前文所述,作者强调了解码器的上采样)。空洞卷积(也称扩张卷积)在每一层都使用大小不同的卷积核,使每一层都能捕获各种比例的特征。在 Pascal VOC 2012 测试集中,这个架构的平均 IOU 达到了 70.3%。

Fisher Yu和Vladlen Koltun(2016)则是提出了Dilation10,《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》, 这是一种扩张卷积的替代方法。完整流程是将扩张卷积的「前端模块」连接到内容模块上,再用 CRF-RNN 进行下一步处理。通过这样的构造,Dilation10 在 Pascal VOC 2012 测试集上的平均 IOU 值达到了 75.3%。

Jun Fu, Jing Liu, Haijie Tian, Zhiwei Fang, Hanqing Lu提出了一种双重注意力网络(DANet)来自适应地将局部特征与其全局依赖关系相结合,《Dual Attention Network for Scene Segmentation》,具体来说,他们在传统的基于空洞卷积的 FCN 上添加了两种注意力模块,分别对空间维度和通道维度的语义相互关联进行建模。位置注意力模块通过所有位置的特征加权总和选择性地聚集每个位置的特征。无论距离远近,相似的特征都会相互关联。同时,通道注意力模块通过整合所有通道图中的相关特征,有选择地强调相互关联的通道图。他们将两个注意力模块的输出相加,以进一步改进特征表示,这有助于获得更精确的分割结果。他们在三个具有挑战性的场景分割数据集(Cityscapes、PASCAL Context 和 COCO Stuff)上取得了当时最佳分割性能。特别是,在不使用粗略数据的情况下,在 Cityscapes 测试集的平均 IoU 分数达到了 81.5 %。

Xiao, T. et al. (2018). 《Unified Perceptual Parsing for Scene Understanding. European Conference on Computer Vision》提出一种称之为统一感知解析(Unified Perceptual Parsing/UPP)的新任务,要求机器视觉系统从一张图像中识别出尽可能多的视觉概念。同时,多任务框架 UPerNet 被提出,训练策略被开发以学习混杂标注(heterogeneous annotations)。旷视科技在 UPP 上对 UPerNet 做了基准测试,结果表明其可有效分割大量的图像概念。

语义分割面临挑战

目前图像分割主要集中在语义分割,而目前的难点也在于“语义”,表达某一语义的同一物体并不总是以相同的形象出现,如包含不同的颜色、纹理等,这对精确分割带来了很大的挑战。从图像发展到的视频中的分割,对分割的精确度有很大的要求,以目前的模型表现来看,在准确率上无疑还有提升空间。另外,弱监督甚至无监督训练来解决昂贵的数据标注问题也是一种方向。

图像分割评价指标

计算机视觉之分割_第4张图片

计算机视觉之分割_第5张图片

该博文主要介绍了语义分割的研究历史,具体后续发展可以在知名期刊上阅读相关最新文章了解最新的进展。谢谢!!

本文内容感谢以写博主文章帮助,具体给出链接:

https://www.jiqizhixin.com/graph/technologies/0871915d-52eb-4ada-8bb8-6c9267f3816c
https://www.zhihu.com/tardis/sogou/art/50996404

你可能感兴趣的:(深度学习,语义分割)