hierarchical segmentation

来源:互联网 发布:免费防火墙软件排名 编辑:程序博客网 时间:2024/06/05 09:18

一、目的:由于边界检测器检测出来的边界大多时候都不是封闭的,因此,我们要在确保边界质量的基础上修复边界。

二、大概思想:在之前边界检测器检测出的轮廓基础上,使用层次分割。首先使用一种新的分水岭变换——OWT,产生一系列初始的小区域,然后我们利用这些小区域的边界建立一个超度量等值线图(UCM),OWT-UCM可以看做是将轮廓换成轮廓层次树的一种方法。整个过程如下图:


第1幅图:原图;

第2幅图:轮廓检测器检测出来的轮廓;

第3幅图:采用OWT-UCM方法得出的结果,都是封闭的区域;

第4幅图:采用最合适的UCM值进行初始的过分割,调节阈值,可以合并一些区域,每个区域的颜色采用这个区域原来颜色的平均值;

第5幅图:UCM在0.5得到的分割结果。

三、Oriented Watershed Transform(OWT)

假设任意的边界检测器的输出为E(x,y,theta),表示边界在(x,y)位置,方向为theta的可能性。


第1幅图:边界检测器检测出的边界;

第2幅图:通过求使得E(x,y,theta)最大值时的theta,来确定边界的走向。然后计算区域最小值E(x,y),作为种子点的位置,采用分水岭转换,得到分水岭区域的最好分割和分水岭弧;

第3幅图:弧的修正,过程如下图


一条弧上任意的点到连接弧两个端点的直线的的距离大于一个固定的长度,我们将在这个连接最遥远的点(离直线最远的弧上的点)的弧上再细分。

第4幅图:4个不同theta方向的效果图;

第5幅图:最后结果。给每条弧上的每个像素分配一个权重(边界强度)E(x,y,o(x,y))。

四、Ultrametric Contour Map(UCM)

我们定义一个初始的图G=(P0,K0,W(K0)),P0表示区域,K0表示分开两个相邻区域的弧,W(K0)表示两个相邻区域之间的不相似度;整个算法流程如下:


由此可以建立一棵区域树,叶子为P0集合中最初始的值,树根是整幅图,每层之间为区域的包含关系,层次越高,不相似度越大;

通过调节K值,来选择树的层次,合并一些相似度较大的区域,最终产生我们想要的分割。

0 0
原创粉丝点击