基于边长比约束的离散点区域拓扑边界追踪方法

文档序号:6471522阅读:273来源:国知局
专利名称:基于边长比约束的离散点区域拓扑边界追踪方法
技术领域
本发明涉及一种基于边长比约束的离散点区域拓扑边界追踪方法,特别是涉 及如何从离散点中追踪出外边界、内部空洞边界以及在存在不同区域时追踪出区
域边界的方法,属于离散点云分析处理领域。
背景技术
机载激光扫描(Airborne Laser Scanner,简称ALS;又称机载激光雷达, Airborne Light Detection And Ranging,简记LiDAR)是近十几年来快速发展 的一种新型的测量技术,广泛用于地面数据探测和模型的恢复、重建等应用中, 显示出了巨大的前景(Vosselman, Kessels et al. 2005)。机载激光扫描测距系 统是集激光、全球定位系统(GPS)和惯性导航系统(INS)三种技术与一身的空间测 量系统(Li, Li et al. 2000),能够快速、精确获取地面信息。仪器通过反射镜 快速而有序地旋转,将激光脉冲发射体发出的窄束激光脉冲依次扫过被测区域, 测量每个激光脉冲从发出经被测物表面再返回仪器所经过的时间(或者相位差) 来计算距离,同时扫描控制模块控制和测量每个脉冲激光的角度,结合传感器所 携带的P0S系统,最后计算出激光点在被测物体上的三维坐标。这些激光点即为 对象表面的采样点, 一般数量巨大,被称为"点云"。新型的LiDAR系统可以接 收多次反射,记录每次反射的强度信息,提供水平间距小于lm、垂直精度在15 20cra左右的密集点阵数据(Hu 2003),在获取点阵数据的同时,其附带的高精度 CCD相机可以同时获取高清晰影像数据。LiDAR数据经过相关软件处理后,可以 生成高精度的数字地面模型DEM、等高线图及正射影像图,通过将LiDAR数据获 取的建筑物模型与影像配准,可以得到高精度的三维建筑物模型。目前,LiDAR 在农业、水利电力设计、林业、公路铁路设计、国土资源调查、交通旅游与气象 环境调查、灾害防治、城市规划等各大领域中得到广泛应用。

发明内容
本发明的目的是提供一种基于边长比约束的离散点区域拓扑边界追踪方法, 该方法通过提出一个建立在三角网基础,基于三角形边长比约束的离散点区域拓 扑边界搜索算法,实现从离散点中追踪出外边界、内部空洞边界以及在存在不同区域时追踪出区域边界。
实现本发明目的采用的技术方案是基于边长比约束的离散点区域拓扑边界 追踪方法,该方法包括以下步骤
(1) 对离散点利用逐点插入法建立不规则三角网(TIN);
(2) 利用不规则三角网找出初始边界得到包围数据的外环,转入步骤(4);
(3) 在三角网内部寻找至少有一条边长度大于空洞长度阈值的三角形,设 三角形的三条边组成一个环,转入步骤(4);
(4) 对环中每条长度超过阈值的线段向内细化(在寻找内部空洞边界时为 向外细化),获得粗外边界;
(5) 对粗边界按照边长比进行扩展逐步细化,并采用边长比例作为限制条 件,搜索到更准确的凹边界;
(6) 在点云中的点存在区域属性的时候,分割点云外部边界,得到边界点 连续且右邻域相同的边界段;
(7) 在整个点云中搜索三个顶点的区域标志不完全相同的三角形或者直接 利用外部边界上区域标志不同的前后两点所在的内部三角形,内插出边界点,确 定下一步搜索方向;
(8) 根据边界段起点和终点,连接边界段,获得每个区域的边界。 本发明具有如下的优点
(1) 避免了釆用图像的方法进行内插带来的精度损失,保持了原始点的特性。
(2) 可以较为准确地追踪出点云的凹边界。
(3) 可以在阈值合适的情况下追踪出空洞边界。
(4) 在离散点有区域属性的时候可以追踪出各个区域的边界。
(5) 适应性好,尤其是凹多边形边界对阈值设定不敏感。
(6) 对点密度的依赖不大。


图1为本发明流程图。
图2为在追踪点云外边界时利用三角形找出点云的初始边界的示意图。 图3为三角网内部存在空洞时的特征示意图。图4为根据初始边界上的组成线段长度进行细化内縮的示意图。 图5是只利用边界组成线段边长阈值进行追踪,可能出现的追踪到不稳定三 角形的示意图。
图6是在点有区域属性的时候点云内部不同区域边界的示意图。
图7是点云内部的三角形有两个顶点区域属性相同,另一个不同的示意图。
图8是点云内部的三角形三个顶点区域属性均不同的示意图。
图9为在进行边界段连接时,可以利用的外边界和内边界特性示意图。
图IO为带有明显外边界凹部分和空洞的点云以及追踪出的边界的效果图。
图11为在点云不同点密度处的外边界追踪效果图。
图12为点带有区域属性的点云的二维和三维视图以及对它的边界的追踪效 果图。
具体实施反式
本发明基于边长比约束的离散点区域拓扑边界追踪方法,从平面离散点云中 快速有效地追踪出点云的凹多边形外边界和内部空洞边界,以及在离散点分别属 于不同区域的情况下追踪出各个区域的带拓扑关系的边界,流程如图1所示,具 体步骤如下-
(1) 对离散点云采用经典的逐点插入法建立不规则三角网。内插法的好处 是能利用外包围盒找到离散点的初始边界。构建三角网时采用一个非常大的正方 形(四个顶点分别为A、 B、 C和D)做初始包容盒。
(2) 定义一个变量usedTriangle,记录使用过的三角形。如图2所示,在 构成Delaunay三角网中,有的三角形一个顶点A为包容盒顶点,另外两个顶点 尸"A是离散点云内的点。在三角网中寻找只有一个顶点为矩形包容盒顶点的三 角形,记录在usedTriangle里,连接所有这种三角形与/V^对应的边,得到离 散点云的初始边界S。
(3) 离散点在平面上的分布密度并不一致,这使得空洞的存在成为可能, 如图3所示。在三角网内部寻找有一条边长度超过预先设定的洞长阈值",面积 超过阈值r的三角形,将三角形的三条边构成洞的初始边界S,记录该三角形在 usedTriangle里。
(4) 对S进行进一步的细化内縮,使之成为凹的多边形,如图4所示。对 S上每一条组成线段/V^进行判断,若它的长度超过一个预先设定的阈值",那么利用该边邻接并在5"内部的三角形尸,A A,记录尸,在usedTriangle里。 判断A A和尸,戶,的长度是不是超过a,保留未超过"的边,对超过。的边沿它 相邻的另一三角形进行内縮判断,将该三角形记录在usedTriangle里。直至找 到的两条边长度均小于"为止,获得点云的粗边界L
(5) 仅仅由三角形边绝对长度进行判断会产生偏差,如图5所示。可能有 如下情况虽然粗边界丄上的某条线段长度小于先前设定的阈值,但是与该线段 相邻的空洞外的三角形的形状却不够稳定,三条边的长度差别较大。在点密度均 匀的情况下,这种情况很少见。所以,这可能是点密度不均匀,比如该三角形位 于空洞边界或外边界附近导致的,因此需要对位于A上的线段逐段进行处理。对 每一段尸A,比较在A内部的三角形尸A A的另外两条边A A和A A的长度关 系,如果A A长度大于A尸,的A倍U >1)或者A A长度大于A A的入倍, 那么记录尸;A A在usedTriangle里,将较短边加入新边界序列中,沿着长边和 与长边相邻的另一三角形进行迭代搜索。搜索至稳定的三角形Cw设当前搜 索边为C (尸A与/y^的边长比关系不成立),记录尸,A A在usedTriangle里, 将/V^加入新边界序列。连接新边界序列中的所有边界,得到细化边界尸。
(6) 如果点云中的点具有除了坐标之外属于哪一个区域的属性P一。n,并且 每个区域在TIN中均未被分为两个部分,那么可以追踪出各个区域带拓扑关系的 边界。定义一个边界段的概念,它表示左右区域相同的顺序点的集合。它的数据 结构定义为
typedef struct bound
int left; int right; array<Point〉 line: }bound
新建一个边界段bl,将细化边界F上第一点A加入bl.line,设置bl.left =Pl.P si。 ; bl. right =-1。假设当前处理的是F上尸,尸w,如果尸,,尸w的Pr— 相同,则将尸w加入bl. line。否则计算d中点A的坐标,将尺加入当前边界 段b"line。新建一个边界段bw,设置b1+l. left = P1+1. right; bw.right = —1,
6将尺和尸w加入bw.line。对所有,上的点进行上述分割处理。得到一条条点序 列中的点具有相同左右邻域的边界段。在上述分割过程中,必须记录所有检测到
的区域编号。
(7)内部边界追踪的关键在于确定区域标志发生变化的位置,内插出内边 界节点,判读出下一步的搜索方向。与外部边界落于数据点上不同,内部边界的 节点应该处于两个区域的交界处,即离散点区域标志发生变化的位置。内边界上 节点的构成不是原始点,需要新生成点。判断所有位于,内部的三角形三个顶点 的P一。n是否相同。在这个过程中,必须记录所有检测到的不同区域的编号。对 于不全相同的三角形,分为以下两种情况
① 两个顶点的标志相同,另一个与这两个不同。在这种情况下,新生成的边 界点落于三角形中两个端点标志不同的边的中点,如图7所示数据中有A和B 两个相邻区域,其中顶点三角形A AA&的三个顶点中^和&是来自于B区域的 点,其标志均为A而A是来自于/I区域的点,其标志为丄在这种情况下,可
以取A^为当前处理的边,向当前边界段的边界点序列中添加边A^的中点A,
设置该边界段的左区域为A右区域为A下一步的搜索方向应该是A&和
AAA必,这是因为A&保持边界段的左右邻接区域分别为^和A而搜索只能沿 着A&的另外一个邻接三角形AAA&进行。向边界点序列中添加A压的中点^, 构成线段尸;A。根据类似的逻辑,向边界点序列中添加A&和A&的中点A, A。 在搜索的过程中不能超出外部边界,到两个区域不再相邻处停止(当前搜索边位 于外边界上或当前搜索三角形有A和B之外的第三个区域标志)。这条边界段即 是/l和5的公共边界。
② 三角形的三个顶点的区域标志均不相同。这表明该三角形处于三个区域的 交界处,需要求取该三角形的重心和三个边的中心点,并将三角形的中心与边界 的中心点相连,形成一个三岔路口的边界形态。如图8所示,图中实心点、空心 点、五角星点表示点分别属于类型不同且相连的区域A、 B、 C,三角形AA&G 的三个顶点分别来自于区域j、 "、 C。此时,在三角形重心处生成一点尸,将A尽 的中点A和尸加入当前左右区域分别为5、 Z的边界段的边界点序列,形成尸,, 停止沿着该边界段的搜索。建立一个新的边界段,表示力和C的公共边界,向其 边界点序列添加A沿着AG和三角形A/M,G向下搜索。最后获得用/^,
7和/V^表达的/1和C的公共边界。建立一个新的边界段,表示S和C的公共边界, 向其边界点序列添加尸,沿着&G和三角形A&GA向下搜索。最后获得用/^,
尸,尸6, /y^和/y^表达的^和c的公共边界。
(8)上述处理可以到与各个区域边界相对应的边界段。下一步将边界段连 接起来,构成各个区域的边界。内部边界属于两个不同区域的公共部分。如图9
所示,当考虑数据的拓扑关系时,内边界实际上是双向边,代表了节点坐标相同 但是方向相反(即左右邻域相反)的两条边界。这种拓扑信息已经边界段中记录 下来,便于边界连接。在进行连接之前,对每条边界段,包括内部边界的边界段 和外部边界的边界段,建立对应的逆序边界段,即左右邻域相反,边界点序列中 的点顺序相反的边界段。在连接某个标志为」区域的边界的时候,首先从候选边 界段中挑出所有的左邻域属性为」的边界段,从找到的第一条开始连起,连接的
方法如下找出起点坐标和第i条边界段的终点坐标相同的边界段作为第i + l 条边界段,至当前连接上的边界段的终点坐标和第1条边界段的起点坐标相同并 且用完所有左邻域属性为/!的边界段为止。这样的连法保证了是按照逆时针的顺 序连接边界段,得到的区域边界上的点也是逆时针排列的。如果是选取所有右邻 域属性为力的边界段并连接,则得到的区域边界上的点是按照顺时针排列的。在 将边界段连接成闭合边界的过程中,必须去除那些重复的起点或者终点,以保证 得到的环中没有重复的结点。对于那些孤立地位于其它区域内的区域,得到的边 界段就是首尾相连的,不需要进一步的连接。
本发明已在实验中得到充分验证,并且使用在了 LiDAR数据后处理软件中, 对几组点云数据进行边界追踪的效果如图10,图11和图12所示。图10表明该 发明可以有效提取出点云外边界的凹部分和空洞边界。图ll表面该发明对点密 度的依赖并不大。图12为点带有区域属性的点云的二维(12 — a)和三维视图(12 _b)以及对它的边界的追踪效果图(12 —c),表明该发明可以较好地追踪出多 区域的带拓扑关系边界。
权利要求
1. 一种基于边长比约束的离散点区域拓扑边界追踪方法,其特征在于包括以下步骤(1)对离散点利用逐点插入法建立不规则三角网;(2)利用不规则三角网找出初始边界得到包围数据的外环,转入步骤(4);(3)在不规则三角网内部寻找至少有一条边长度大于空洞长度阈值的三角形,设三角形的三条边组成一个环,转入步骤(4);(4)对环中每条长度超过阈值的线段向内细化,获得粗外边界;(5)对粗外边界按照边长比进行扩展逐步细化,并采用边长比例作为限制条件,搜索到更准确的凹边界;(6)在点云中的点存在区域属性的时候,分割点云外部边界,得到边界点连续且右邻域相同的边界段,转入步骤(8);(7)在整个点云中搜索三个顶点的区域标志不完全相同的三角形或者直接利用外部边界上区域标志不同的前后两点所在的内部三角形,内插出边界点,确定下一步搜索方向,获取边界段;(8)根据边界段起点和终点,连接边界段,获得每个区域的边界。
全文摘要
本发明公开了一种基于边长比约束的离散点区域拓扑边界追踪方法,该方法通过提出一个建立在三角网基础,基于三角形边长比约束的离散点区域拓扑边界搜索算法,实现从离散点中追踪出外边界、内部空洞边界以及在存在不同区域时追踪出区域边界。本发明方法避免了采用图像的方法进行内插带来的精度损失,保持了原始点的特性。不仅能较为准确地追踪出点云的凹边界,在阈值合适的情况下追踪出空洞边界,而且在离散点有区域属性的时候可以追踪出各个区域的边界。
文档编号G06T7/60GK101477691SQ20081023743
公开日2009年7月8日 申请日期2008年12月26日 优先权日2008年12月26日
发明者帆 张, 程晓光, 黄先锋 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1