一种多维网格空间的距离变换方法技术

技术编号:7035474 阅读:321 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种多维网格空间的距离变换方法,所述多维网格空间包括N个维度,N≥2。按照维数逐步减少的方式对空间进行逐步的分解来实现的,即:在第J维度的处理(J=2,3,...,N),是根据它的各个(J-1)维子网格空间的距离变换结果来进行的。以渐进的处理方法,有效利用距离传递计算中的共享性,很好地减少距离变换中的计算量。可广泛应用于计算机算法、计算几何、计算机图形学、图象处理、距离变换技术等领域。

【技术实现步骤摘要】

本专利技术属于图象处理技术,涉及。
技术介绍
距离变换是一种基本的几何计算,在图象处理、计算机视觉、计算机图形学、计算几何等方面有着广泛的应用。对于一个N维网格空间来说,如果其中一些网格点(在2维空间称为像素)已被标记为边界网格点,距离变换就是要为其它的每个网格点计算它到最近的边界网格点的距离。距离变换本质上是与Voronoi图计算对应的。在计算几何上,2维平面上的 Voronoi图是对平面上的η个离散点而言的,由两两相关的离散点连线的中垂线所构成,把平面分成几个区(称为Voronoi图单元),每个区包括一个离散点,该离散点所在的区是到该点距离最近的点的集合。Voronoi图中的各个区称为Voronoi图单元,是一个凸多边形。 而在高维空间,Voronoi图可类似地进行拓展。距离变换的方法可分为精确计算的方法和近似计算的方法两类。一般来说,精确计算方法的复杂度比较高,而近似计算方法有利于加速。早先的距离计算方法大多是串行的,有 2 篇文献对它们进行了综述(R. Fabbri, L. Costa, J. Torelli,0. Bruno, 2D Euclidean distance transform algorithms :A comparative survey, ACM Computing Survey 40, 1 (2008),pp. 1 44. Μ. Jones, J. Baerentzen, M. Sramek, 3D distance fields :A survey of techniques and applications, IEEE Transaction on Visualization and Computer Graphics 12,4(2006), pp. 581 599.),并着重指出基于维数逐步增加的方法可以以线性复杂度的时间进行精确的距离变换(简称DR方法)(JR. Maurer,R. Qi,V. Raghavan, A linear time algorithm for computing exact Euclidean distance transforms of binary images in arbitrary dimensions,IEEE Transactions on Pattern Analysis and Machine Intelligence 25,2Q003),pp.265 270.)。因为DR方法是本专利技术的一个重要的工作基础,我们在下面对其工作流程进行简要的介绍。该方法先进行1维空间的计算,再进行2维空间的计算,…,逐步增加维数,直至完成N维空间的距离变换。也就是说,对于一个N(N>2)维空间进行距离变换时,其在第 N维可对它的各个N-I维子空间进行顺序的排列。当各个N-I维子空间完成了各自的距离变换后,各个N维空间的‘像素’获得了其所在N-I维子空间中的最近边界点‘像素’,然后, 另找一个已处理的维度形成新的顺序排列的一组N-I维子空间,在各个子空间中对第N维进行处理,具体地,根据这些‘像素’在已处理的N-I个维度上的坐标,对同坐标的‘像素’组织成一个‘线型’集合,进行各个集合的分别处理,以得到这些‘像素’在N维空间中的最近边界点‘像素’。举例而言,在3维空间中具有(X,y,ζ)坐标的‘像素’,先对具有相同的y和ζ坐标的线条上的‘像素’进行1维空间的距离变换;然后,在具有相同的ζ坐标的各个平面上,对具有相同的χ坐标的‘像素’列进行各自的处理,以完成各个2维空间的距离变换;最后, 根据X轴或y轴组织成一些平行的yZ平面或XZ平面来处理,以完成3维空间中的距离变换,此时,各个平面上对具有相同的χ和y坐标的‘像素’条进行处理。为叙述简便,下面主要讨论2维空间的距离变换,对于高维空间的距离变换可类似地进行。一个均勻划分的2维空间可视为一幅图象。在1维空间中,DR方法对每行像素进行‘由左到右’和‘由右到左’的2次扫描,以为各个行上的每个非边界点像素找到在该行上的最近边界点像素,并计算最短的距离。由此,每个像素列也就获得了其相关的最近边界点初始候选集。设Sij为第j行上第i列对应像素的最近边界点像素,第i列像素的最近边界点初始候选集为 Si = (SijjISijj/ = NULL, j =0,1,2,..., n_l}}。对一行像素进行距离变换的具体计算如下1)将距离值初始化为无穷大数⑴,从最左边的像素开始‘由左往右’扫描各个像素,并逐步地将距离值迭加1并赋予顺序考察的下一个非边界点像素,直至遇到一个边界点像素;然后就将距离值设为0,再逐步地将距离值迭加1并赋予顺序考察的下一个非边界点像素,直至遇到一个新的边界点像素;再将距离值设为0,以开始新的一轮距离传递计算,直至到图象的最右边的像素;2)当‘由左往右’的扫描到了该行最右边的像素后,就从最右边的像素开始进行 ‘由右往左’的扫描,此时,从最右边像素开始时的距离值初始化为无穷大数⑴。对于一个非边界点像素,其由这次扫描所获得的距离值如果小于‘由左往右’扫描时其获得的距离值, 则它的距离值就更新为小的值,否则不变。在得到每个像素列的最近边界点初始候选集后,DR方法就对各列像素分别处理, 以为该列上的各个像素找到其在该图象中的最近边界点像素,并计算相关的最近距离。其工作步骤如下1)从该像素列的最近边界点初始候选集中删去一些边界点像素,即那些相关的 Voronoi图单元不会与该像素列相交的那些边界点像素,构成该列像素的最近边界点候选集Pi.如图1所示,该删除操作的计算流程是最近边界点初始候选集中,各个边界点依据纵坐标依次排列,并每次顺序考察相邻的3个边界点,看中间的那个点相关的Voronoi图单元是否会与该像素列相交,如果不相交就删除。具体的计算是对于该中间边界点与另2个边界点的连线的中垂线(折断线表示),计算它们与该像素列的交点,如果这两个交点以纵坐标排列的顺序与那两个边界点的排列顺序相反,则删除。如图1中的Sq,S^1和S^2 点,相关的中垂线的交点、在Irvi上,与Sy在S^2上的顺序一致,所以保留;而考察图 1中的Si^ Sia和Si,2点,相关的中垂线的交点In1在In2上,而Siitl在Si,2下,所以删除Si,1 点。2)由于该列中的像素与Pi中的边界点均按照纵坐标依次排列,可以按照‘由上往下’或‘由下往上’的顺序,依次考察各像素与边界点的距离情况,并最终为该列上的各个像素找到其对应的最近边界点。近似计算方法一般通过一些简化的计算来加速。如,一方法提出利用多分辨率的层次结构来力口速距离变换(N. Cuntz,A. Kolb,Fast hierarchical 3D distance tranforms on the GPU, in Proc. of EUROGRAPHICS (2007), short paper.),但多分辨率结构不能保证不同分辨率空间之间的精确的距离传递计算,故该方法在许多要求精确距离变换的应用中难以使用。近年来,有些方法提出利用并行计算来加快距离变换(Y. Lee, S. Horng, J.Seitzer, Parallel computati本文档来自技高网...

【技术保护点】
1.一种多维网格空间的距离变换方法,所述多维网格空间包括N个维度,N≥2,根据各个(J-1)维子网格空间的距离变换结果完成在第J维度的距离变换,其中J=2,3,...,N,其步骤包括:1)在已处理过的(J-1)个维度中任意选一个维度,将J维空间分解成顺序排列的(J-1)维子空间;2)按照设定的初始间隔,均匀地从上面(J-1)维子空间序列中挑选子空间,为各个子空间计算其最近边界点候选集,然后根据最近边界点候选集为该子空间的各个网格点计算其在此J维空间中的最近边界点;3)缩小间隔,再从(J-1)维子空间序列中挑选未处理的子空间进行处理;各个待处理子空间根据其两侧已处理的子空间确定共享边界点影响区域,由此为其处于共享边界点影响区域内的网格点直接得到它们在此J维空间中的最近边界点;然后,根据该选定的各个子空间的最近边界点初始候选集,计算其最近边界点候选集,以获得其所属其它各网格点的最近边界点;4)继续缩小间隔,直至间隔为1,完成J维空间所有网格点的距离变换计算。

【技术特征摘要】

【专利技术属性】
技术研发人员:王文成王东旭
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1