3.3 基于分水岭变换和区域融合的彩色建筑物图像分割算法
3.3.1 分水岭变换
分水岭变换将梯度图像,如图3.1(a)所示,看作地形学地貌,图像中每个像素的灰度值表示该点的海拔高度,每个局部极小值及其影响区域称为积水盆,通过建造梯度图像的积水盆地的堤坝完成图像分割。Vincent和Soille[75]提出的模拟浸没分水岭算法,首先在各极小区域的表面打一个小孔,同时让水从小孔中涌出,并慢慢淹没相应的积水盆。不同的积水盆地相遇时的界限,就是期望得到的分水线。应用于图像分割中,分水岭变换就是指将原图像转换为一个标记图像,其中所有属于同一积水盆的点均被赋予同一个标记,并用一个特殊的标记来标识分水岭上的点,得到具有一个像素宽且连续的边界。分水岭变换后得到的标记如图3.1(b)所示。
图3.1 分水岭变换对比图
(a)原始梯度图,加重标记为极小值区域;(b)分水岭变换后的标记图像(0值为分水线)
在众多彩色图像的分割方法中,分水岭变换由于能够产生闭合的单像素宽区域轮廓而被广泛应用。然而彩色分水岭变换,与灰度图像情况相似,同样存在着两个问题:一是过分割问题,二是噪声引起的极值区域造成的错误分割。解决彩色图像分水岭过分割问题的方法除标记法[76]、平坦区域法[77]、瀑布法[78]等与灰度图像处理类似的方法外,还有一类结合区域分裂和融合的彩色图像分割方法[79-82]。它们通过应用相似性度量(融合代价函数)衡量两个邻接区域的视觉差别来指导分割结果。本文针对彩色建筑物图像分割问题,提出了一种基于分水岭变换和区域融合技术的分割方法。首先,通过对张量梯度图像的极小值区域面积控制,消除通常由噪声引起的无意义区域,提高分水岭分割的正确率。然后由分水岭算法得到的初始分割区域,建立区域邻接图的最小生成树,利用区域对称性、区域的色调、纹理属性的加权和作为相似程度度量完成融合代价函数的设计,最后应用融合代价函数值直方图分布自动确定融合终止阈值,由区域融合过程得到最后的分割结果。
3.3.2 彩色图像梯度及面积控制
在分水岭分割过程中,噪声会影响梯度算法对图像边缘的正确反映,且由其引起的极值区域通常由于其特征与其他区域有着明显的不同使得原本应属于同一个区域的各个部分不能够及时地合并进而影响随后的分割与合并。通常,这些区域的像素个数比较少,因此,可以通过区域面积阈值来约束这些区域,达到降低噪声影响的目的。
3.3.2.1 张量梯度
分水岭算法用于彩色图像处理时,关键在于彩色图像梯度的计算,本文算法选择了基于张量的彩色梯度计算方法。设彩色图像的各分量为In(n=1,…,N),则图像中的变化趋势可用如下二阶微分矩阵计算[83]:
与其两个特征值λ+/-对应的特征向量u⊥v就是图像在该处变化最大和最小的两个正交方向,即变化较大的方向和相关性较好的方向,同时定义向量的梯度范数为。由于多通道的复合作用,不仅增强了图像中的变化趋势,而且使边缘更突出,而噪声却很难在每个分量上都形成边缘,因此可以有效地消除随机的彩色噪声和与图像结构无关的噪声。
3.3.2.2 面积控制预处理
对梯度图像中比较小的极小值区域的面积可以用一个阈值T来约束,区域的面积定义为区域内像素的个数,T取值一般不超过8。这些小区域虽然像素个数少,但是区域间差别通常都较大,如果以一个区域整体进行合并,往往使得合并后的区域不能真实地反映该区域的特征并影响其周围的特征。因此,我们将梯度图像中每个面积小于阈值的极小值区域与与其值最近的邻近像素合并直到区域面积大于阈值,本书中面积阈值为4。
3.3.3 分层分水岭变换
我们可将层次化分水岭变换视为标记法分水岭的一个特殊情况:即尺度为k的分水岭变换忽略势能小于某一阈值k的区域最小值,即只对一部分标记过的区域最小值进行模拟淹没。
3.3.4 区域邻接图
用加权区域邻接图(WRAG,Weighted region adjacency graph)来描述梯度图像的分水岭分割,图G为无向图,由两个集合V和E组成,G=(V,E)。V是有限非空顶点集合,代表各个积水盆地V=1,2,…,n。E是两相邻区域顶点偶对的边界集合。若两顶点i,j∈V所代表的积水盆地Ri和Rj是相邻的,则图中相应两顶点间存在一条边e(i,j)∈E,边上的权值为模拟淹没的过程中分隔两积水盆地分水岭点的最低高度。最小生成树(MST,Minimal Spanning Tree)包含图像G的所有顶点,并由图G中边的子集构成。采用克鲁斯卡尔算法(Kruskal)构造图的最小生成树。图3.2为图3.1(a)所示梯度图的MST。
图3.2 图3.1(a)所示梯度图的MST
3.3.5 区域融合
得到区域节点的最小生成树后,我们根据区域间的相似程度,更新最小生成树相应边上的权值,按照相似程度的大小建立区域融合队列。融合队列中的节点被逐渐合并、更新直到满足终止准则。
3.3.5.1 融合代价函数设计
在各种区域融合代价函数的设计中,大部分是根据区域的某一个特征来设计,例如文献[84]中判别两个区域是否相似主要考虑了其平均灰度的差异;文献[85]指出,应该以两个区域之间边界的强度来衡量是否应该合并。而实践过程证明,各种独立的评价函数往往有其一定的适用范围,对于已知图像的不同质量有一定的局限性。而对于正面拍摄的建筑物图像,其每个部分通常都具有典型轴对称性,本书构造的新的区域相似性函数,综合考虑了色调差异、亮度纹理及区域的对称性三方面因素,根据三个函数的加权组合来判断区域间的相似程度。实验表明这种方法可以更好地分离原图像中的物体和背景。本文提出的综合相似性评价函数(融合代价函数)为:
本书采用的三个函数依次为平均色调差异(RD1)、纹理差异(RD2)、对称程度(RD3)。
(1)平均色调差异。
其评价函数为
(2)纹理差异。对于色调一致的区域,其亮度空间分布特征的不同,即纹理特征也反映了视觉的差别,前人用的直方图法[86],只能反映组成而不能反映空间分布情况。因此,本文用如下两个参数反映区域纹理特征[87]:
函数:
区域间的纹理差异定义为:
(3)区域合并后对称程度估计。在正面拍摄情况下,图像中一个区域的轴对称程度可用其关于轴对称的每一列的行数是否一致来衡量。因此本文提出如下函数衡量合并后区域轴对称程度:
3.3.5.2 融合过程控制
区域合并的准则是根据邻接区域的融合代价函数值,先合并函数值最小的一对邻接区域,即先合并权值最小的两个节点,用一个新的点取代,然后更新图,按式(3.2)重新计算边的权值,再进行下一次合并,如此迭代,直到满足规定的终止条件。
一般区域合并的终止条件是设定迭代次数或设定一个阈值,当达到规定的最终区域数或最小权值边的融合代价函数值超过最大阈值时终止合并。迭代次数和阈值的选取都没有一个恰当的准则,往往要根据不同的图像进行人工调整,需要反复进行实验来确定。例如文献[88]中对不同的图像设定了不同的终止区域数。本文利用融合代价函数值的直方图分布来统计融合代价函数值的分布情况,在融合前,融合代价函数值小的区域对数目较多,我们将直方图分布中具有最多数目的对应融合代价函数值区间作为监督对象,当融合过程使其数目达到融合前数目的5%时自动停止区域合并,从而解决了人工设定融合终止条件的问题。图3.3所示为Lena图采用如上融合代价函数数值的分布。
图3.3 Lena彩色图像融合代价函数值直方图分布(权值为0.5,0.4,0.1)
3.3.6 实验
本书以彩色建筑物图像为例与文献[84]对比,验证本书算法的有效性。图3.4为143×142大小的彩色建筑物图像[图3.4(a)]分割实验(本章所用图像均为网上下载),图3.4(b)为分水岭变换产生的过分割区域,图3.4(c)为使用文献[84]中基于平均灰度的融合算法的效果图,其终止标准为区域数小于30个。图3.4(d)为采用本书所述区域融合方法后得到的自动分割结果。图3.5为219×214像素的彩色建筑物图像分割实验,图3.5(b)为分水岭变换产生的过分割区域;图3.5(c)为本书方法分割结果,图3.5(d)为分割结果在原图上的显示,实验中各函数的权值为0.6、0.2、0.2,可见,本书方法可生成准确有效的分割区域。算法抗噪性能比较见图3.6。图3.6(b)为均值为0,方差为1%高斯噪声污染彩色建筑物图像,图3.6(c)为未采用面积控制预处理且仅使用色调差异进行相似性度量的分割结果,图3.6(d)为本书算法结果,其中各函数权值为0.4、0.1、0.5。可见,本书采用的面积控制预处理方法,可在一定程度上控制由噪声影响而造成的错误分割,产生比图3.6(c)更为有意义的区域。另外,可根据建筑物与背景之间的相关性和图像的实际情况调节相似性各函数的权值。
图3.4 分水岭区域融合算法对比
(a)原图;(b)过分割图像;(c)灰度融合算法分割结果;(d)分割结果
图3.5 分水岭区域融合分割
(a)原图;(b)过分割图像;(c)分割结果;(d)原图显示
图3.6 噪声彩色建筑物图像的分割
(a)原图;(b)噪声图像;(c)非面积控制单一函数分割结果;(d)结果