图像分割介绍与实验

一、 背景

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。

img

图像(语义)分割作为一种pixel-level的视觉任务,近年来在智慧医疗、生物信息、自动驾驶、工业工程等方面取得了不错的成效。一般的图像分割可分为3个层次:

1、分类:将图片中的目标分为“人”、“动物”、“背景”等类别

2、目标检测:检测图中的目标并生成相对应的proposal或者说region of interest(ROI)

3、分割:识别目标检测框中的目标,基于目标像素和目标边缘梯度信息进行分割,并理解它们都属于什么对象。

二、 图像分割基本方法

1、传统的图像分割法

传统的图像分割方法使用了比较严格的人工干预算法和专业知识,效率不如深度学习技术,包括:

(1)阈值分割:将图像分割为前景和背景。指定的阈值将像素分为两个级别之一,以隔离对象。阈值化将灰度图像转换为二值图像或将彩色图像的较亮和较暗像素进行区分。基本原理:通过设定不同的特征阈值,把图像像素点分为若干类,确定一个灰度阈值将灰度值大于给定阈值的像元判归为某一个物体,赋予同一个编号,将灰度值小于给定阈值的像元统一判归为另一类物体,赋予另外一个编号。

img

(2)K-means聚类:算法识别数据中的组,变量K表示组的数量。该算法根据特征相似性将每个数据点(或像素)分配到其中一组。聚类不是分析预定义的组,而是迭代地工作,从而有机地形成组。

img

(3)基于直方图的图像分割:使用直方图根据“灰度”对像素进行分组。简单的图像由一个对象和一个背景组成。背景通常是一个灰度级,是较大的实体。因此,一个较大的峰值代表了直方图中的背景灰度。一个较小的峰值代表这个物体,这是另一个灰色级别。与其他图像分割方法相比,基于直方图的方法是非常有效的图像分割方法,因为他们通常只需要一个通过像素。在这种方法中,直方图是从图像中的像素的计算,并在直方图的波峰和波谷是用于定位图像中的簇。颜色和强度可以作为衡量。这种技术的一种改进是递归应用直方图求法的集群中的形象以分成更小的簇。重复此操作,使用更小的簇直到没有更多的集群的形成。基于直方图的方法也能很快适应于多个帧,同时保持他们的单通效率。直方图可以在多个帧被考虑的时候采取多种方式。同样的方法是采取一个框架可以应用到多个,和之后的结果合并,山峰和山谷在以前很难识别,但现在更容易区分。直方图也可以应用于每一个像素的基础上,将得到的信息被用来确定的像素点的位置最常见的颜色。这种方法部分基于主动对象和一个静态的环境,导致在不同类型的视频分割提供跟踪

(4)边缘检测:识别亮度的急剧变化或不连续的地方。边缘检测通常包括将不连续点排列成曲线线段或边缘。例如,一块红色和一块蓝色之间的边界。图像分割的一种重要途径是通过边缘检测,即检测灰度级或者结构具有突变的地方,表明一个区域的终结,也是另一个区域开始的地方。这种不连续性称为边缘。不同的图像灰度不同,边界处一般有明显的边缘,利用此特征可以分割图像。图像中边缘处像素的灰度值不连续,这种不连续性可通过求导数来检测到。对于阶跃状边缘,其位置对应一阶导数极值点,对应二阶导数的过零点(零交叉点)。因此常用微分算子进行边缘检测。常用的一阶微分算子有Roberts算子、Prewitt算子和Sobel算子,二阶微分算子有Laplace算子和Kirsh算子等。在实际中各种微分算子常用小区域模板来表示,微分运算是利用模板和图像卷积来实现。这些算子对噪声敏感,只适合于噪声较小不太复杂的图像。

img

2、基于深度学习的图像分割法

(1)语义分割(semantic segmentation):将图像中的所有像素划分为有意义的对象类。这些类是“语义上可解释的”,并对应于现实世界的类别。例如,你可以将与猫相关的所有像素分离出来,并将它们涂成绿色。这也被称为dense预测,因为它预测了每个像素的含义。语义分割是当今计算机视觉领域的关键问题之一。从宏观上看,语义分割是一项高层次的任务,为实现场景的完整理解铺平了道路。场景理解作为一个核心的计算机视觉问题,其重要性在于越来越多的应用程序通过从图像中推断知识来提供营养。其中一些应用包括自动驾驶汽车、人机交互、虚拟现实等,近年来随着深度学习的普及,许多语义分割问题正在采用深层次的结构来解决,最常见的是卷积神经网络,在精度上大大超过了其他方法,以及效率。

语义分割是从粗推理到精推理的自然步骤:原点可以定位在分类,分类包括对整个输入进行预测;下一步是本地化/检测,它不仅提供类,还提供关于这些类的空间位置的附加信息;最后,语义分割通过对每个像素进行密集的预测、推断标签来实现细粒度的推理,从而使每个像素都被标记为其封闭对象矿石区域的类别。

img

(2)实例分割(instance segmentation):是视觉经典四个任务中相对最难的一个,它既具备语义分割的特点,需要做到像素层面上的分类,也具备目标检测(Object Detection)的一部分特点,即需要定位出不同实例,即使它们是同一种类标识图像中每个对象的每个实例。它与语义分割的不同之处在于它不是对每个像素进行分类。如果一幅图像中有三辆车,语义分割将所有的车分类为一个实例,而实例分割则识别每一辆车。图像实例分割是在对象检测的基础上进一步细化,分离对象的前景与背景,实现像素级别的对象分离。所以图像实例分割是基于对象检测的基础上进一步提升。图像实例分割在目标检测、人脸检测、表情识别、医学图像处理与疾病辅助诊断、视频监控与对象跟踪、零售场景的货架空缺识别等场景下均有应用。

img

三、 图像分割实验过程

1、基于阈值的图像分割

如下图所示为基于阈值的编程,程序根据图片特征自动寻找合适的阈值,之后根据该阈值进行前景与背景的分割。

img

2、基于K-means聚类的图像分割

如图所示为python部分编程,我们用K-Means对图像进行3聚类,并对不同的类别赋予不同的颜色。

img

3、语义分割:

如下图所示为ResNet101的Deeplabv3结构图,对于编码器部分,实际上就是DeepLabV3网络。首先选一个低层级的feature用1 * 1的卷积进行通道压缩(原本为256通道,或者512通道),目的是减少低层级的比重。论文认为编码器得到的feature具有更丰富的信息,所以编码器的feature应该有更高的比重。 这样做有利于训练。 对于解码器部分,直接将编码器的输出上采样4倍,使其分辨率和低层级的feature一致。举个例子,如果采用resnet conv2输出的feature,则这里要×4上采样。将两种feature连接后,再进行一次3×3的卷积(细化作用),然后再次上采样就得到了像素级的预测。

img

我们用已有的训练好的模型deeplabv3对该图片进行语义分割

img

4、实例分割:

mask R-CNN的网络结构是我们以前讨论过的FasterR-CNN的扩展。faster R-CNN架构有以下组件:

(1)卷积层:输入图像经过几个卷积层来创建特征图。如果你是初学者,把卷积层看作一个黑匣子,它接收一个3通道的输入图像,并输出一个空间维数小得多(7×7),但通道非常多(512)的“图像”;

(2)区域提案网络(RPN)。卷积层的输出用于训练一个网络,该网络提取包围对象的区域;

(3)分类器:同样的特征图也被用来训练一个分类器,该分类器将标签分配给框内的对象。

此外,FasterR-CNN 比 Fast R-CNN更快,因为特征图被计算一次,并被RPN和分类器重用。 mask R-CNN将这个想法向前推进了一步。除了向RPN和分类器提供特征图外,mask R-CNN还使用它来预测边界框内对象的二值掩码。 研究 MaskR-CNN的掩码预测部分的一种方法是,它是一个用于语义分割的完全卷积网络(FCN)。唯一的区别是在mask R-CNN里,FCN被应用于边界框,而且它与RPN和分类器共享卷积层。 下图显示了一个非常高层次的架构。

img

如下图所示为用maskrcnn模型进行实例分割的python部分编程。

img

四、 图像分割实验结果与评价

原始图像如下图所示:

img

1、基于阈值的分割

如下图所示为基于阈值的分割所得的结果,可以看出该图片分为黑白两部分,而我们的目标是将图片分成3个部分,即猫、狗、绿色草背景这三类。所以该方法达不到我们的要求,而且可以看出,由于猫和狗身上的毛色有不同的花纹,再者光线的变化会导致图片部分区域明暗不一,所以基于阈值的分割不能很好地完成我们的目标。为此我们采用K-means方法对图片进行聚类操作,以实现对类别数大于2的图片进行图像分割。

img

2、基于K-means聚类的图像分割

如下图所示为基于K-means聚类的图像分割结果,可以看出区域颜色有3类,但是结果所呈现的是猫、狗、背景这3类物体上都出现了3类区域颜色,显然没有达到我们需要的效果,这是由于猫和狗没有统一的颜色特征,都有颜色不一的花纹。再者,猫和狗身上不同地方光照不一样,所以会导致猫和狗身上都出现3类不同的颜色区域。

img

2、基于deeplabv3_resnet101模型的语义分割:

如下图所示为利用deeplabv3_resnet101模型对图片进行语义分割后的结果,可以看出该模型可以很好地将猫、狗、背景分割开来,背景为黑色,猫为红色、狗为紫色。

img

4、基于detection.maskrcnn_resnet50_fpn模型的实例分割:

如下图所示为利用detection.maskrcnn_resnet50_fpn模型对图片进行实例分割后的结果,可以看出该模型可以很好地将猫、狗、背景分割开来,猫和狗分别赋予了不同颜色的蒙版。

img

如下图所示为利用detection.maskrcnn_resnet50_fpn模型对图片进行实例分割后的结果,可以看出该模型可以很好地将猫、狗、背景分割开来,猫和狗分别赋予了不同颜色的蒙版,并且还把猫和狗识别了出来并画上相应的识别框和文字。

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值