一、背景知识
图像分割的主要算法:
1.基于阈值的分割方法
2.基于边缘的分割方法
3.基于区域的分割方法
4.基于聚类分析的图像分割方法
5.基于小波变换的分割方法
6.基于数学形态学的分割方法
7.基于人工神经网络的分割方法
二、分类介绍
1.基于阈值的分割方法:
阈值分割方法:就是用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度值在同一类中的像素属于同一物体。由于是直接利用图像的灰度特性,因此计算方便简明、实用性强。显然,阈值分割方法的关键和难点是如何取得一个合适的阈值。而实际应用中,阈值设定易受噪声和光亮度影响。
近年来的方法有:用最大相关性原则选择阈值的方法、基于图像拓扑稳定状态的方法、Yager测度极小化方法、灰度共生矩阵方法、方差法、熵法、峰值和谷值分析法等,其中,自适应阈值法、最大熵法、模糊阈值法、类间阈值法是对传统阈值法改进较成功的几种算法。更多的情况下,阈值的选择会综合运用2种或2种以上的方法,这也是图像分割发展的一个趋势。
阈值分割的优点是计算简单、运算效率较高、速度快。全局阈值对于灰度相差很大的不同目标和背景能进行有效的分割。当图像的灰度差异不明显或不同目标的灰度值范围有重叠时,应采用局部阈值或动态阈值分割法。另一方面,这种方法只考虑像素本身的灰度值,一般不考虑空间特征,因而对噪声很敏感。在实际应用中,阈值法通常与其他方法结合使用。
2.基于边缘的分割方法:
基于边缘检测的分割方法试图通过检测包含不同区域的边缘来解决分割问题,是最常用的方法之一。通常不同的区域之间的边缘上像素灰度值的变化往往比较剧烈,这是边缘检测得以实现的主要假设之一。常用灰度的一阶或者二阶微分算子进行边缘检测。常用的微分算子有一次微分(sobel算子,Robert算子等),二次微分(拉普拉斯算子等)和模板操作(Prewit算子,Kirsch算子等)。
特点
基于边缘的分割方法其难点在于边缘检测时抗噪性和检测精度之间的矛盾。若提高检测精度,则噪声产生的伪边缘会导致不合理的轮廓;若提高抗噪性,则会产生轮廓漏检和位置偏差。为此,人们提出各种多尺度边缘检测方法,根据实际问题设计多尺度边缘信息的结合方案,以较好的兼顾抗噪性和检测精度。
3.基于区域的分割方法:
区域分割的实质就是把具有某种相似性质的像素连通,从而构成最终的分割区域。它利用了图像的局部空间信息,可有效地克服其他方法存在的图像分割连续空间小的缺点。在此类方法中:
(1)如果从全图出发,按区域属性特征一致的准则决定每个像元的区域归属,形成区域图,常称之为区域生长的分割方法。(2)如果从像元出发,按区域属性特征一致的准则,将属性接近的连通像元聚集为区域,则是区域增长的分割方法。
(3)若综合利用上述两种方法,就是分裂合并的方法。它是先将图像分割成很多的一致性较强的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的。
特点
基于区域的分割方法往往会造成图像的过度分割,而单纯的基于边缘检测方法有时不能提供较好的区域结构,为此可将基于区域的方法和边缘检测的方法结合起来,发挥各自的优势以获得更好的分割效果。
特征空间聚类法进行图像分割是将图像空间中的像素用对应的特征空间点表示,根据它们在特征空间的聚集对特征空间进行分割,然后将它们映射回原图像空间,得到分割结果。其中,K均值、模糊C均值聚类(FCM)算法是最常用的聚类算法。K均值算法先选K个初始类均值,然后将每个像素归入均值离它最近的类并计算新的类均值。迭代执行前面的步骤直到新旧类均值之差小于某一阈值。模糊C均值算法是在模糊数学基础上对K均值算法的推广,是通过最优化一个模糊目标函数实现聚类,它不像K均值聚类那样认为每个点只能属于某一类,而是赋予每个点一个对各类的隶属度,用隶属度更好地描述边缘像素亦此亦彼的特点,适合处理事物内在的不确定性。利用模糊C均值(FCM)非监督模糊聚类标定的特点进行图像分割,可以减少人为的干预,且较适合图像中存在不确定性和模糊性的特点。
聚类方法应注意几个问题:
(1)聚类的类数如何确定。
(2)怎样确定聚类的有效性准则。
(3)聚类中心的位置和特性事先不清楚时,如何设置初始值。
(4)运算的开销。
并且FCM算法对初始参数极为敏感,有时需要人工干预参数的初始化以接近全局最优解,提高分割速度。另外,传统FCM算法没有考虑空间信息,对噪声和灰度不均匀敏感。
5.基于小波变换的分割方法:
基于小波变换的阈值图像分割方法的基本思想是,首先由二进小波变换将图像的直方图分解为不同层次的小波系数,然后依据给定的分割准则和小波系数选择阈值门限,最后利用阈值标出图像分割的区域。
整个分割过程是从粗到细,有尺度变化来控制,即起始分割由粗略的L2(R)子空间上投影的直方图来实现,如果分割不理想,则利用直方图在精细的子空间上的小波系数逐步细化图像分割。分割算法的计算馈与图像尺寸大小呈线性变化。小波变换为信号在不同尺度上的分析和表征提供了一个精确和统一的框架。从图像分割的角度来看,小波分解提供了一个数学上完备的描述;小波变换通过选取合适的滤波器,可以极大地减少或去除所提取的不同特征之间的相关性,不仅具有“变焦”特性,而且在实现上有快速算法。
特点
小波变换是一种多尺度、多通道的分析工具它是空域和频域的局域变换,因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度分析,解决了傅立叶变换不能解决的许多问题。近年来多进制小波开始用于边缘检测。另外,利用正交小波基的小波变换也可提取多尺度边缘,并可通过对图像奇异度的计算和估计来区分一些边缘的类型。
6.基于数学形态学的分割方法:
数学形态学是一种非线性滤波方法,可以用于抑制噪声、特性提取、边缘检测、图像分割等图像处理问题。数学形态学首先被用来处理二值图像,后来也被用来处理灰度图像,现在又有学者开始用软数学形态学和模糊形态学来解决计算机视觉方面的问题。数学形态学的特点是能将复杂的形状进行分解,并将有意义的形状分量从无用的信息中提取出来。
它的基本思想是利用一个称为结构元素的探针来收集图像的信息,当探针在图像中不断的移动时,不仅可根据图像各个部分间的相互关系来了解图像的结构特征,而且利用数学形态学基本运算还可以构造出许多非常有效的图像处理与分析方法。
其基本的形态运算是腐蚀与膨胀。腐蚀具有使目标缩小、目标内孔增大以及外部孤立噪声消除的效果;而膨胀是将图像中与目标物体接触的所有背景点合并到物体中的过程,结果是使目标增大、孔径缩小,可以增补目标中的空间,使其形成连通域。数学形态学中另一对基本运算方法是开运算和闭运算。开运算具有消除图像是细小物体,并在物体影响纤细处分离物体和平滑较大物体边界的作用;闭运算具有填充物体影像内细小空间, 接邻近物体和平滑边界的作用。
特点
数学形态学应用于图像分割,具有定位效果好、分割精度高、抗噪声性能好的特点。同时这种方法也有着自身的局限性:由于在图像处理的前期工作中,采用数学形态学的开(闭)运算,进行图像处理后,依然存在大量与目标不符的短线和孤立点;由于预处理工作的不彻底,还需要进行一系列的基于点的开(闭)运算,因此运算速度明显下降。如何将数学形态学与其它方法综合运用以克服这些缺陷,将是数学形态学以后的工作方向。连接邻近物体和平滑边界的作用。
7.基于人工神经网络的分割方法:
近年来,人工神经网络识别技术已经引起了广泛的关注,并应用于图像分割。基于神经网络的分割方法的基本思想是通过训练多层感知机来得到线性决策函数,然后用决策函数对像素进行分类来达到分割的目的
FCN 的引入:
上图红色部分 对应CNN分类网络的最后三层,也就是 FC 全连接,通过 Softmax 得到一个1000维的向量(基于Imagenet的图像分类),表示1000个不同的分类对应的概率,“tabby cat” 作为概率最高的结果。
下图蓝色部分将 分类网络对应的最后三层全连接 替换成了 卷积。整个网络全部通过卷积连接,so called 全卷积。这么做的目的是什么呢?
● 通过像素分类来定义语义分割
全卷积网络的输出是一张分割图,如何输出这张分割图呢? 通过卷积,图像的分辨率逐渐降低,这里需要 引入一个概念,就是上采样,即将低分辨率的图像放大到和原始图像同分辨率上,这是一个关键点。比如经过5次卷积(pooling)后,图像的分辨率依次缩小了2,4,8,16,32倍。对于最后一层的输出图像,需要进行32倍的上采样,得到原图大小一样的图像。
这个上采样是通过 反卷积(DeConvolution)实现的。来直观看一下反卷积的过程:
加上反卷积过程,整个的网络可以描述成:
由于前面采样部分过大,有时候会导致后面进行反卷积得到的结果分辨率比较低,导致一些细节丢失,解决的一个办法是 将 第 3|4|5 层反卷积结果叠加,结果我们就不贴了,肯定是上采样倍数越小,结果越好,来看叠加示意图(这种方式应该不陌生):
三. FCN 的改进
虽然 FCN引领了CNN基于语义分割的方向,但仍有很多地方需要改进,比如上采样导致的像素分割不精细,效率也不够快等等,我们相信一定有办法让其 更高效、更精细。这里提到的一个 方法就是结合 CRF。
CRF 全称是 Conditional Random Field,中文叫 “条件随机场”,首先来理解什么是随机场,一堆随机的样本就可以理解为是随机场,假设这些样本之间有关联关系,就成立条件随机场,CRF 最早在深度学习的 NLP 领域有比较多的应用,可以理解为语境的上下文关系,可以参考下面这篇文章:
Introduction to Conditional Random Fields
第一个改进 来自于 UCLA 的 Liang-Chieh Chen,在像素分类后叠加了一个 Fully Connected Conditional Random Fields(全连接的条件随机场)。
论文地址:Semantic image segmentation with deep convolutional nets and fully connected crfs
通过上图示意可以看到,Fully Connected CRF 在前面 FCN 输出的基础上,以全连接的形式,实现了后处理过程,使得像素分割更加细致,具体请参考论文。
接下来的改进有 通过 RNN + CRF 的idea:
参考论文:Conditional random fields as recurrent neural networks
根据实验对比效果来看,相当不错(注:DeepLab 就是上面的 Full connected CRF方法):
针对FCN的改进会在近两年一直持续,作者最关注的还是,Mask-RCNN,将目标检测与分割一起work的方法,接下来在下一篇文章介绍!
“桃李不言,下自成蹊”,FCN 当真是属于这个级别的贡献,引领了在这条道路上的每一次Follow。
四. 实例分割(Instance Segment)
实例分割 与 语义分割的区别是要区分出每个目标(不仅仅是像素),相当于 检测+分割,通过一张图来直观理解一下:
关于实例分割的一篇典型论文Mask RCNN,可以参考【Mask RCNN】代码实现可以参考【浅入浅出TensorFlow 8 - 行人分割】
特点
用人工神经网络的方法分割图像,需要大量的训练数据。神经网络存在巨量的连接,容易引入空间信息,能较好地解决图像中的噪声和不均匀问题。选择何种网络结构是这种方法要解决的主要问题。
8.基于遗传学算法的分割方法:
遗传算法(GA),是一种模拟自然选择和遗传机制的搜索和优化过程,它具有很强的全局优化搜索能力,是一种具有广泛适用性的自适应搜索方法。它在搜索空间中是在种群中而不是在单点上进行寻优,它在求解过程中使用遗传操作规则而不是确定性规则来工作。这些特点使得遗传算法很适于应用在图像分割中,尤其是阈值分割法以及区域生长法中。利用GA的全局寻优能力及对初始位置的不敏感特性,可以改进图像分割的性能。
特点
遗传算法应用于图像分割,其难点在于适应度函数的选择以及交叉概率和变异概率的确定。GA还有可能收敛于局部最优。可考虑使用能够自适应设置交叉概率和变异概率自适应遗传算法以及和模拟退火法相结合的混合遗传算法。
参考:https://blog.csdn.net/qq_28942201/article/details/79376188
https://blog.csdn.net/linolzhang/article/details/71698570