区域生长
将成组的像素或区域发展成更大区域的过程
区域生长(region growing)是指将成组的像素区域发展成更大区域的过程。从种子点的集合开始,从这些点的区域增长是通过将与每个种子点有相似属性像强度、灰度级、纹理颜色等的相邻像素合并到此区域
主要问题
它是一个迭代的过程,这里每个种子像素点都迭代生长,直到处理过每个像素,因此形成了不同的区域,这些区域它们的边界通过闭合的多边形定义。
在区域生长中的主要问题如下:
(1)表示区域的初始化种子的选择:在区域生长过程中,这些不同区域点合适属性的选择。
(2)基于图像具体属性的像素生长不一定是好的分割。在区域生长过程中,不应该使用连通性或邻接信息。
(3)相似性:相似性表示在灰度级中观察在两个空间邻接像素之间或像素集合的平均灰度级间的最小差分,它们将产生不同的区域。如果这个差分比相似度阈值小,则像素属于相同的区域。
(4)区域面积:最小面积阈值与像素中的最小区域大小有关。在分割的图像中,没有区域比这个阈值小,它由用户定义。
区域生长的后处理(region growing post-processing):由于非优化参数的设置,区域生长经常会导致欠生长或过生长。人们已经开发了各种各样的后处理。从区域生长和基于边缘的分割中,后处理能获得联合分割的信息。更加简单的后处理是根据一般启发法,并且根据最初应用的均匀性标准,减少分割图像中无法与任何邻接区域合并的最小区域的数量。
区域连接图
在场景中区域间的邻接关系可以由区域邻接图(region adjacency graph, RAG)表示。在场景中的区域由在RAG的节点集合表示 N = {N1, N2, ... , Nm},这里,节点Ni表示在场景中的区域Ri ,并且区域Ri的属性存储在节点的数据结构Ni中。在Ni和Nj之间的边缘Eij表示在区域Ri和Rj之间的连接。如果在区域Ri里存放一个像素与在区域Rj彼此相邻,那么两个区域Ri和Rj是相邻的。邻接可能是4连通或8连通的。邻接关系是自反(reflexive)和对称(symmetric)的,但不一定是可传递(transitive)的。图1显示具有6个截然不同区域的场景邻接图。
当它表示区域邻接图(RAG)是,二进制矩阵A成为邻接矩阵(adjacency matrix)。在RAG里,当节点Ni和Nj邻接,在A中,aij是1。因为邻接关系是自反的,矩阵的对角元素都是1。在图1的多区域场景邻接矩阵(关系)如图2所示。
合并和分裂
由于在场景中分割单一大区域,分割算法可能产生许多个小区域。在这种情况下,较小的区域需要根据相似性合并,并且使较小的区域更紧密。简单的区域合并算法如下所述。
步骤1:使用阈值集合将图像分割为R1,R2,R,…,Rm。
步骤2:从图像的分割描述中生成区域邻接图(region adjacency graphics,RAG)。
步骤3:对于每个Rj,i = 1,2,…,m,从RAG中确定所有Rj,j≠i,如Ri和Rj邻接。
步骤4:对于所有i和j,计算在Ri和Rj之间合适的相似性度量Sij。
步骤5:如果Sij>T,那么合并Ri和Rj。
步骤6:根据相似性标准,重复步骤3~步骤5,直到没有合并的区域为止。
合并的另一个策略是根据两个区域之间的边缘强度。在这个方法中,在邻接区域之间的合并是根据两个区域间沿标定边界长度的边缘强度。如果边缘强度小,即边缘点较弱(weak),如果合并没有大量改变平均像素强度值,那么可以合并两个区域。
还有这种情况:由于错误的预处理分割,产生了太小的区域。这归结于不同区域错误合并成一个区域。在这种情况下,在分割区域中灰度值的变化可能高于阈值(T),因此,需要将区域分裂成更小的区域,这样每个更小的区域都有均匀小方差。
分裂和合并可能结合在一起用于复杂场景的分割,基于规则可以指导分裂和合并运算的应用。
优势和劣势
优势
1. 区域生长通常能将具有相同特征的联通区域分割出来。
2. 区域生长能提供很好的边界信息和分割结果。
3. 区域生长的思想很简单,只需要若干种子点即可完成。
4. 在生长过程中的生长准则可以自由的指定。
5. 可以在同一时刻挑选多个准则。
劣势
1. 计算代价大。
2. 噪声和灰度不均一可能会导致空洞和过分割。
3. 对图像中的阴影效果往往不是很好。
对噪声问题,通常可以用一些平滑滤波器,或是diffusion滤波器做预处理来解决,所以通常噪声问题并不是很严重。所以实际上,区域生长的最严重的问题就是效率低下。
据实验,在2.4GHz的电脑上,一个512*512*343的数据,进行一次区域生长大约需要200s的时间。
最新修订时间:2023-10-25 11:13
目录
概述
主要问题
参考资料