遥感数字图像处理-08-图像分割

  1. 1. 绪论
  2. 2. 图像分割的数学定义
    1. 2.1. 应用
    2. 2.2. 图像分割的原则
  3. 3. 图像分割的方法和流程
    1. 3.1. 分割的方法
    2. 3.2. 工作流程
  4. 4. 灰度阈值法
  5. 5. 全局阈值法
  6. 6. 自适应阈值法
  7. 7. 梯度
    1. 7.1. 边缘检测
    2. 7.2. 边缘连接
  8. 8. 区域法
    1. 8.1. 区域生长
    2. 8.2. 分水岭方法
    3. 8.3. 图像分割方法小结
  9. 9. 分割后处理
    1. 9.1. 数学形态学方法
      1. 9.1.1. 腐蚀
      2. 9.1.2. 膨胀
      3. 9.1.3. 膨胀和腐蚀的对偶性
      4. 9.1.4. 开运算和闭运算
        1. 9.1.4.1. 开运算
        2. 9.1.4.2. 闭运算
        3. 9.1.4.3. 小结
      5. 9.1.5. 腐蚀和膨胀的变种
      6. 9.1.6. 灰度图像的腐蚀和膨胀
    2. 9.2. 区域标识
  10. 10. 小结
  11. 11. 思考

绪论

遥感图像,一个地区自然与人文景观全貌的综合反映
特点

  • 覆盖范围有限
  • 内容涉及多方面、综合
  • 地物表现为不同大小的区域

分析地理规律首先需要区分出地理对象

图像分割是把图象划分成若干个互不交迭的区域的过程。每一个区域内部的某种属性或特征相同或接近,不同区域间的图象特征有明显差别,即同一区域内部特性变化平缓,相对一致,区域边界处特性变化比较剧烈
图像分割是指把图像分成各具特性的区域并提取出感兴趣的目标的技术和过程。
图像分割的目的是将一幅图像分为几个区域,这几个区域之间具有不同的属性,而同一区域中各像素具有某些相同的性质。

定义:按照一定的规则划分出感兴趣区域的方法
结果:地物区域/地物类型区
要求:地学知识,研究地区的先验信息,研究经验
关键:分割的准则

图像分割的数学定义

令集合R代表整个图像区域,对R的分割可看作将R分成N个满足以下五个条件的非空子集(子区域)$R_{1}, R_{2} \ldots R_{N}$

  1. $\bigcup_{i=1}^{N} R_{i}=R$
  2. 对所有的i和 $\mathrm{j}, i \neq j,$ 有 $R_{i} \cap R_{j}=\varnothing$
  3. 对 $i=1,2, \ldots, N,$ 有 $p\left(R_{i}\right)=$ true
  4. 对 $i \neq j,$ 有 $p\left(R_{i} \cup R_{j}\right)=$ false
  5. 对 $_{i}=1,2, \ldots, N, R_{i}$ 是连通的区域

概括地说,给定某种一致性(均匀)属性准则(度量),将图象正确地划分成为互不交迭的区域集的过程称之为分割。

  • 用作图象分割的度量准则不是唯一的
  • 图象分割的图象特征信息有亮度、色彩、纹理、结构、温度、频谱、运动、形状、位置、梯度

应用

前景和背景具有不同的光谱特征同类地物内部,相邻像素具有高的相关/相似性

图像分割两种应用:

  • 划分多个对象,后续用作其他分析
  • 利用图像分割方法提取感兴趣目标

图像分割的原则

  • 依据像素灰度值的不连续性进行分割
  • 依据同一区域内部像素的灰度值具有相似性进行分割

图像分割的方法和流程

分割的方法

  • 图像分割将数字图像分割成互不相交(不重叠)区域的过程。
  • 区域(region)是像素的连通集。也就是说,是一个所有像素都有相邻或相接触像素的集合。
  • 连通性:在一个连通集中的任意两个像素之间,都存在一条完全由这个集合的元素构成的连通路径,连通路径是一条可在相邻像素间移动的路径

三个角度:
点相关:灰度阈值法
边缘检测相关:梯度方法
区域方法:像素相似性方法

工作流程

  1. 确定待分割的对象;
  2. 选择或提取对分割对象敏感的图像特征;
  3. 选择分割方法进行分割:
  4. 对分割后的图像进行必要的后处理;
  5. 对分割产生的每个区域进行唯一编码标识;
  6. 提取各个区域的图像特征,用于其他工作;
  7. 把区域图像转为矢量图或专题图。

灰度阈值法

利用图像的直方图信息,选用阈值来确定图像的区域或边界。

本方法的假设:目标和背景之间虽然相邻像素的灰度值相似,但目标与背景的像素值总体上有差异。在图像的直方图上,目标和背景对应于不同的峰。分割阈值位于两峰之间的谷底,能够将峰分开。

图像的阈值有两种:①全局阈值。使用一个灰度阈值进行图像分割。如果背景在整个图像中可合理地看为恒定,而且所有目标与背景都具有几乎相同的差异,或者两类地物明显可分,那么,使用一个固定的全局阈值会有较好的分割效果。②局部阈值。在图像的多个局部使用不同的分割阈值。在很多情况下,背景并不是常数,目标和背景的差异在图像中也有变化,图像某一区域分割效果良好的阈值在其他区域的应用效果可能很差。在这种情况下,可把灰度阈值作为随位置缓慢变化的函数值,不同的区域(局部)使用不同的阈值。

全局阈值法

将灰度阈值的值设置为常数。
适用于:背景的灰度值在整个图像中可合理地看为恒定,而且所有目标与背景都具有几乎相同的对比度。(草原+天空;沙漠中的建筑)
只要选择了正确的阈值,使用一个固定的全局阈值会有较好的分割效果

选择最佳阈值的方法:

  • 基于直方图的谷
  • 使用OTSU方法(最优阈值)
  • 人工确定

当目标和背景间灰度值差异达到一定程度的时候,可以使用最大类间方差法进行图像分割。这个方法是日本学者大津于1979提出,又称为OTSU方法。
在最大方差比阈值方法中,设将图像分成C1和C2两个类,分离度 最大T的即为最佳阈值。

式中, $\sigma_{j}^{2}(T)$ 是类间方差 (interclass variance) : $\sigma_{i j}^{2}(T)$ 是类内方差 (intraclass variance)

图像有噪声时,导致多个/不平滑的峰顶
可靠方法是把阈值设在相对于两峰顶的某个固定位置

自适应阈值法

  • 把灰度阈值取成一个随位置缓慢变化的函数值的分割方法。
  • 适用范围:图像中背景的灰度值并不是常数,目标和背景的对比度在图像中也有变化。

分块最优阈值思想:图像划分为若干块,每块确定最优阈值;根据otsu确定前景和背景,在前景和背景间在确定最优阈值(确定最大类间方差)

梯度

边缘检测

提取研究对象与背景之间边界线的方法
图像锐化的各种梯度算法
利用梯度检测边缘
方法:差分法、梯度法、高通滤波、模板匹配
常用算法:Sobel算子、Prewitt边缘算子、拉普拉斯算子 、Canny算子
基本思想:通过检测每个像素和其邻域的状态,以决定该像素是否位于一个目标的边界上

边缘连接

边缘连接就是一个将邻近的边缘点连接起来从而产生一条闭合的连通边界的过程,可填补因为噪声和阴影的影响所产生的间隙。

方法关键是确定边

  • 不同的方法的复杂程度不一
  • 基本的方法是阈值法

对于高空间分辨率图像(处理主要依据几何信息)
基于边的分割可以产生良好的效果

区域法

原理:将具有相似性质的像素集合起来构成区域
方法:区域生长方法、分水岭方法
相似性指标:灰度、结构、梯度

区域生长

基本思路:图像可以划分成区域,将图像中满足某种相似性准则的像素集合起来构成区域。

区域生长的基本过程是:首先在每个需要分割的目标区域找一个种子像素作为生长点,然后将种子像素周围邻域中与种子像素性质相同或相似的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。再将这些像素当做新的种子像素继续进行上述过程,直到再没有能满足条件的像素可被包括进来,这样一个区域就生成了。

种子像素的选取常借助先验知识。在缺乏先验知识的情况下,则可先借助生长准则对每个像素进行聚类计算。如果计算结果呈现聚集的情况,则接近聚集重心的像素可取为种子像素。

应用时需注意:

  • 选择一组能正确代表区域的种子像素
  • 确定生长过程中能将相邻像素包括进来的规则
  • 制定让生长停止的条件或准则。

要点:

  • 确定图像中待分割区域的数目并确定每一区域的种子像素
  • 相似性度量准则的确定

分水岭方法

原理:假定图像中目标的灰度值低,而背景的灰度值高。
图像最初在一个低灰度值上阈值化。该灰度值把图像分割成正确数目的目标,但它们的边界偏向目标内部。随后阈值逐渐增加,每一次增加一个灰度级。目标的边界将随着阈值增加而扩展,直到边界相互接触。这些初次接触的点构成了相邻目标间的最终边界。

基本思想:分水岭分割方法是一种基于拓扑理论的数学形态学的方法,其基本思想是把图像看做是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界为分水岭。

分水岭算法与图像中地物的分布有关,对于分布在背景中的点状地物,总能得到良好的分割效果,遥感图像中受限,但在数字图像中应用教好

算法特点:

  • 从偏低阈值开始分割,各个目标不会被合并
  • 解决那些由于目标靠得太近而不能用全局阈值解决的问题

图像分割方法小结

  • 灰度阈值法灵活、简单,便于应用
  • 边缘检测法常与区域方法联合使用
  • 分水岭算法有各种变型算法,使用广泛

分割后处理

数学形态学方法

数学形态学的基本思想:使用具有一定形态的结构元素(类似于模板)来度量和提取图像中的对应形状,从而达到对图像进行分析和识别的目的。

数学形态学可以用来简化图像数据,保持图像的基本形状特性,同时去掉图像中与研究目的无关的部分。

使用形态学操作可以增强图像的对比度,消除噪声,对图像进行细化、骨架化、填充和分割等。

假设A和B都是二值图像,那么C=A U B也是一幅二值图像,集合C中的像素值是对应于A或者B前景中的像素值。从数学形态学角度看,C是一个函数,可写为

将形态学运算用于图像就是用扫描整个图像。图像中对应于结构元素原点的位置为当前像素,与在当前位置的关系运算的结果输出到新图像的当前像素位置。最基本的形态学操作为腐蚀和膨胀,基于二者可以定义更多的运算,如开运算和闭运算等。

腐蚀

腐蚀和膨胀是最基本的形态学运算,腐蚀使得图像缩小,膨胀使得图像扩大。

腐蚀是消除目标所有边界点的一种过程,其结果是目标沿其周边比原目标小一个像素。对于圆目标,其直径在每次腐蚀后减少2个像素。如果目标任一点的宽度少于三个像素,那么该点将变为非连通的(变为两个目标)。

腐蚀常用语去除图像中欧冠中小且无意的目标

腐蚀可分为两步,以免分裂目标。
第一步是一个正常的腐蚀,但它是有条件的,也就是说,那些被标为可除去的像素点并不立即消去。
第二步中,只将那些消除后并不破坏连通性的点消除,否则保留。

膨胀

腐蚀和膨胀是最基本的形态学运算,腐蚀使得图像缩小,膨胀使得图像扩大。

膨胀(Dilation)是将与目标接触的所有背景点合并到该目标中的过程
膨胀的运算符为$\oplus$
图像集合A用B结构元素来膨胀 ,其定义为

如果目标是圆的,它的直径在每次膨胀后增大2个像素。如果两个目标在某一点相隔少于三个像素,它们将在该点连通起来(合并成一个目标)。膨胀在填补分割后目标中的空洞时很有用。

膨胀和腐蚀的对偶性

使用B对A进行膨胀,等同于使用B的映像对A的背景进行腐蚀后的补集

注意:腐蚀和膨胀不是互逆变换。先对图像进行腐蚀,然后进行膨胀,得到的不是原始图像。结果图像会比原始图像更为简单,因为一些细节被去掉了。

开运算和闭运算

开启和闭合不受原点位置的影响 ,具有对偶性

开运算

使用同一个结构元素对图像先腐蚀再膨胀的运算称为开运算(Open)
作用:

  • 消除细小目标
  • 在纤细点处分离目标
  • 平滑较大目标的边界时不明显改变其面积

闭运算

先膨胀后腐蚀的过程称为闭运算(Close)
作用

  • 填充目标内细小空洞
  • 连接邻近目标
  • 在不明显改变目标面积的情况下平滑其边界

小结

通常,当用阈值来分割含有噪声的图像时,所得到的边界往往很不平滑,目标区域具有一些错判的孔,背景区域上则散布着一些小的噪声目标。连续的开和闭运算可以显著地改善这种情况。有时接连几次腐蚀后,加上相同次数的膨胀,才可以产生所期望的效果。

开运算对于圆形地物的分割效果较好,而闭运算对于封闭矩形地物的分割效果较好。如果闭运算后进行腐蚀运算,那么,分割的效果会更好一些。所以,根据地物的形态特征进行多次的运算十分必要。

腐蚀和膨胀的变种

  • 收缩
  • 细化
  • 抽骨架
  • 粗化

其他应用:
(1)去除图像噪声:先进行开运算,后进行闭运算可以去除图像中的噪声。
(2)获取地物轮廓:图像与图像腐蚀结果的差值。

灰度图像的腐蚀和膨胀

多值图像的形态学运算,结构元素相当于一个不规则的窗口,运算结果按照不同规则取窗口内的值作为当前像素的输出。

对于膨胀,输出值是与结构元素对应的图像像素的最大值,对于腐蚀,是最小值。

区域标识

区域标识是对分割区域设定唯一标识ID的过程,也就是标签化(label)过程。利用区域标识产生的旧,可以快速提取分割结果中的特定区域。

区域标识又称为标注(labeling)或着色(coloring)或连通分量标注,最大的整数标号通常就是图像中区域图斑的个数
每个区域图斑具有唯一的整数值

ENVI的分类图像后处理中的“分割(segmentation)”即区域标识。
确定4邻域/8邻域(第三章 表示和度量)

小结

  • 按照相似性准则把像素划为区域
  • 可以不考虑区域的性质和地物类的归属(指数字图像,遥感图像需要考虑)
  • 图像分割后进行数学形态学处理和区域标识
  • 对于分割图像,可提取区域的面积、中心、边长等作为图像特征,用于其它处理和分析

思考

  1. 什么是图像分割?有何意义?基本原理是什么?遵循的规则是什么?图像特征与图像分割之间是什么关系?
  2. 简述图像分割的主要方法及其特点。
  3. 使用灰度阈值法进行图像分割时如何选择最佳阈值?
  4. 什么是分水岭法?有什么特点?
  5. 区域生长法的基本原理是什么?
  6. 什么是数学形态方法?
  7. 腐蚀?膨胀?开运算?闭运算?
  8. 如果一个图像的值都是1或者0,腐蚀和膨胀是否会改变图像的值?
  9. 区域标识有什么用?为什么邻域对它有影响(举例说明)。