目标分割将感兴趣的区域从图像中分离并提取出来,也可看做基元检测的一种推广。两类方法可用于目标分割:
-
基于目标轮廓
考虑目标与图像中 其他部分的界限,如果能确定目标轮廓,就可将目标与图像的其他部分分割开。在这种方法中,除了检测出轮廓点再连接起来,还可以边检测轮廓点边连接。 -
基于目标区域
考虑所有属于目标区域的像素,如果能确定出每个属于目标的像素就可以获得完整的目标。通常是假设构成目标区域的像素的灰度值大于某个特定的阈值,确定这个阈值把目标区分开。
基本阈值技术
一、原理和分类
阈值分割模型:假设图像由具有单峰灰度分布的目标和背景,在目标和背景内部的相邻像素间的灰度值是高度相关的,但在目标和背景的交界处两边的像素在灰度值上有很大的差别。
对一幅灰度取值在
如果图像中有多个灰度值不同的区域,可以选择一系列的阈值以便使每个像素分到合适的类别中去。多个阈值分割称为多阈值技术,单个阈值分割称为单阈值技术。
二、全局阈值选取
图像的灰度直方图可以反映出图像的性质。如果选取双峰直方图之间的谷所对应的灰度值作为阈值可将目标和背景分开。
谷的选择方法不同,得到的阈值也不同,下面有3种谷选取方法。
-
极小值点阈值
如果将直方图的包络看成一条曲线,则选取直方图的谷可借助求曲线极小值的方法(即曲线求导数)。和极小值点对应的灰度值就可作分割阈值。称为极小值点阈值。
最优阈值
-
最大凸残差阈值
含有目标和背景两类区域的图像的直方图并不一定总是呈现双峰形式,特别是当图像中目标和背景面积相差较大时,直方图的一个峰会淹没在另一个峰旁边的缓坡里,直方图基本成为单峰形式。
通过对直方图凹度的分析,可以选择一个阈值来分割图像。
根据图中凸残差值最大的位置计算出最大凸残差阈值分割图像。
三、局部阈值选取
如果图像受到噪声的影响,那么图像的直方图的峰谷可能并不明显,那么通过峰谷确定分割阈值不太准确。为解决这种问题,除了利用像素自身性质外,还可以利用一些像素邻域的局部性质。
-
直方图变换
基本思想:利用像素邻域的局部性质对图像的直方图进行变换以得到一个新的直方图。这里常用的一个局部性质是该像素的剃度值。(可借助梯度算子用于像素邻域得到)
看上图。
(b)是图像的边缘的剖面图。剖面图被分为三部分,I,II,III。剖面的灰度直方图如图(a)所示(横轴:灰度统计值,三段点画线分别是边缘剖面中3部分各自的统计值,实线为它们的和)。对(b)的边缘求梯度得到(d),可见对应目标和背景的梯度值较小,而对应目标和背景过渡区的梯度值较大。统计梯度值分布得到(c),梯度直方图。(横轴:梯度统计值),梯度直方图的两个峰分别对应目标和背景的内部以及它们之间的过渡区。变换的直方图就是根据这些特点得到的,一般分为两类:(1)、具有低梯度值像素值的直方图;(2)、具有高梯度值像素的直方图。
(1)、具有低梯度值像素值的直方图
目标和背景内部的像素值具有较低的梯度值,而边界具有较高的梯度值。如果设法获得仅具有较低梯度值像素的直方图,那么这个新的直方图对应目标和背景内部点的峰应该与原直方图类似,但因为减少了边界点,谷应该更深。
还可以计算加权直方图。例如,一个像素点的梯度值为
(2)、具有高梯度值像素的直方图
这种情况只需要获得高梯度值像素的直方图。这个直方图在对应目标和背景的边界像素灰度级有一个峰。如上图(b)(虚线:原直方图,实线:新直方图)。这个峰由边界像素组成,对应这个峰的灰度值就可选作分割用的阈值(原来两峰之间的谷现在变成了峰)。
同样的也可以采用加权直方图。高梯度值具有较大权值。
- 灰度-梯度散射图
灰度-梯度散射图:一个轴是灰度值,一个轴是梯度值,而统计是同时具有某一个灰度值和梯度值的像素个数。
下图中(b)是(a)灰度-梯度散射图,其中色越浅表示满足条件的点越多。散射图中一般会有两个接近灰度值轴(低梯度值)但沿灰度值轴方向又相互分开一些的大聚类,它们分别对应目标和背景内部的像素。这两个聚类的形状与这些像素的相关程度有关。如果相关性很强,或者梯度算子对噪声不敏感,这些聚类会很集中并且很接近灰度值轴(内部像素梯度较小);反之,这些聚类会比较远离灰度值轴。散射图中还会有较少的对应目标和背景边界上像素的点。这些点的位置沿灰度值轴看是处于前两个聚类的中间,但由于梯度值较大而与灰度值轴又有一定的距离。
根据以上分析,在散射图上同时考虑灰度值和梯度值将聚类分开就可以得到分割结果。
-
4. 动态阈值选取
如果图像各处光照不同或对比度不同,则全局阈值的分割效果可能并不理想,因此需要根据像素的坐标相关的一系列阈值来对图像各部分分别进行分割。这种与坐标相关的阈值叫做动态阈值,或变化阈值法。
使用动态阈值的方法步骤如下: 将一幅图像分为一系列互相之间有一定重叠(如50%)的子图像;
- 做出每个子图的直方图
- 检测各个子图的直方图是否为双峰,如果是,则采取前面介绍的最优阈值法,确定一个阈值,否则就不进行处理
- 以对直方图为双峰的子图像选取的阈值为基础,通过插值得到所有子图想的阈值
- 通过各子图像的阈值再通过插值得到所有像素的阈值,然后对图像进行分割。
参考
计算机视觉教程 A Course of Computer Vision 章毓晋编著