一种点云场景重建方法

文档序号:6635817阅读:1243来源:国知局
一种点云场景重建方法
【专利摘要】本发明一种点云场景重建方法,具体按照以下步骤实施:步骤1、将点云场景中的点云数据分为地面点、地面以上的平面点、地面以上的非平面点;步骤2、对步骤1中得到的不同类型的地面以上的点云数据进行分割;步骤3、根据步骤2中的分割结果,完成点云场景中不同对象的提取;步骤4、对步骤3中提取出的不同对象采用不同的方法完成点云场景的重建。本发明一种点云场景重建方法解决了现有技术仅适用于特定的对象或者是针对于特定数据重建的局限性,能够自动地完成点云场景的重建。
【专利说明】一种点云场景重建方法

【技术领域】
[0001] 本发明属于计算机图形学和虚拟现实相结合的交叉学科【技术领域】,具体涉及一种 点云场景重建方法。

【背景技术】
[0002] 点云场景重建一直都是计算机图形学和虚拟现实的一个重要研究领域。传统的重 建多是针对单个对象(如建筑物)或者是基于某种假设重建出特定类型的建筑物,因此难 以适用于包含复杂对象的点云场景重建。
[0003] 由于扫描场景时物体间存在遮挡,导致场景中的每个物体不可能得到多方位的扫 描,造成对象对应的点云数据不完整。再加上点云数据的海量性,场景中包含有丰富的对 象,且对象特征各异,使得点云场景的重建自动化程度低,可靠性差。
[0004] 在近几年中,很多学者集中于研究场景重建算法的研究。根据输入数据类型的不 同,现有的方法分为两类:基于图像的场景重建以及基于点云数据的场景重建。
[0005] 1、基于图像的场景重建
[0006] 图像是一种比较容易获得的数据类型,已经有很多方法从地面拍摄图像或者航空 拍摄的图像恢复场景。基于图像的场景重建的方法又可以分为自动重建方法和利用交互重 建方法。
[0007] ①自动重建
[0008] Dick认为建筑物是由一些参数化的基本元素构成(如墙、门和窗等),他给这 些基本元素都分配了一定的概率分布。建筑物的布局一部分通过数据训练得到,一部分 通过专家知识手工添加。最终建筑物采用马尔科夫链蒙特卡罗(MarkovChainMonte Carlo,MCMC)机器完成重建。Barinova利用条件随机场模型(ConditionalRandomField model)从单独的一张图像中恢复出室外场景。Xiao提出一种利用图像恢复街道场景的 方法,该方法将图像细分并且识别成有意义的部分,然后将建筑物单独的分离出来,利用 基于逆贴片(inversepatch-based)投影和结构分析的方法对建筑物立面进行重建。 Vanegas提出一种从校准的航空图像恢复出建筑物模型的方法,该方法遵从曼哈顿世界假 设(Manhattan-worldassumption),利用语法将初始的建筑模型进行细化修正,完成建筑 物重建。
[0009] ②交互式重建
[0010] 除了上述的自动完成建筑物重建的方法,许多学者也提出了允许用户交互的 建筑物重建方法。Sinha提出了一种基于无序图像序列的交互式建筑物重建方法,通过 用户在图像上画出建筑物的轮廓线,从而形成平面,并根据多幅图像获取消隐点,利用 Sfm(StructureFromMotion,从运动恢复三维场景结构)确定平面的位置和法向量,最后 利用图割和泊松混合的方法将多幅图像自动组合,自动完成建筑物的纹理帖图,最终的建 筑物模型由平面集合组合而成。Musialski设计了一种基于一致性的建筑物立面重建系统, 该系统针对立面横向或者纵向分割提出了一个同步编辑工具,允许设计人员同时操作一组 立面元素,可以插入、移动一个元素,或者指定其属性值。El-hakim也提出了一种基于图像 的半自动建筑物重建系统,该系统允许用户构建参数化形状,并将它们存储在数据库中,对 于类似的对象可以重复使用。El-hakim也提出了一种基于图像的半自动建筑物重建系统, 该系统允许用户构建参数化形状,并将它们存储在数据库中,对于类似的对象可以重复使 用。
[0011] 2、基于点云数据的场景重建
[0012] 虽然获取图像非常快捷便利,但是由三维世界转化为二维影像的过程中,会不可 避免地丢失三维深度值以及拓扑关系等众多信息,所以从二维影像出发对三维客观世界进 行重建,往往存在自身的局限。而三维点云数据有效地弥补了图像数据的不足。随着激光 扫描技术的发展,很多学者提出了基于三维点云数据的场景重建方法。在这里,根据用户是 否参加重建,也将基于点云数据的对象重建分为自动重建和交互式重建。
[0013] ①自动重建
[0014] Verma针对航空扫描的点云数据,通过协方差矩阵分析去除非平面点,然后使用最 大连通域准则提取属于屋顶的点云数据,并归纳出建筑物屋顶常见的拓扑关系(如I型、L 型和U型结构等),根据平面间的连接关系完成建筑物的重建。余利用LiDAR数据点集的边 界来定位卫星图像上的感兴趣区域,利用从感兴趣区域中提取的关键提示线来实现屋顶的 分割,从而得到属于每个建筑物的屋顶点,然后,基于三角面片的法向量方向信息对其进行 聚类,根据法向量之间的关系进行屋顶类型识别,从而实现居民区建筑物的重建。Wan针对 激光扫描点云,提出一种基于语法规则分割的三维墙面重建算法,该方法首先利用RANSAC 算法将增强后的点云分割成平面集合,然后根据定义的语法规则,采用"自顶向下"的思想 将平面分割成四边形集合,最终生成建筑物的结构化网格模型。
[0015] ②交互式重建
[0016] Chen认为建筑物都是由平面组成的,利用自顶向下的建模思想,对点云数据按照 平面特征作聚类分析,然后从面出发计算相邻面之间的交线。由于有些结构在扫描中可能 存在严重的缺漏(如建筑屋的顶部和玻璃墙等),这个过程需要依赖用户少量的交互操作 来修正,算法结合自动计算和用户的交互输入达到对建筑物建模的目的。Nan提出一种名为 SmartBoxes的交互系统完成建筑物的重建,通过对建筑物常见部分(例如:窗户和阳台) 的定义,该系统利用建筑物自身的相似性,将常见部分自适应拷贝到重复出现的区域,完成 对稀疏或者不完整的建筑物数据的重建。
[0017]目前这些相关的方法多是针对于特定的对象,例如建筑物,或者是针对于只包含 建筑物屋顶、地面和树木的航空LiDAR数据。由于地面激光扫描仪的高速发展,从行人的视 角完成场景的重建也非常重要。但是在真实的城市场景中,往往包含多种复杂的对象,现有 的方法并不试用于地面点云数据。


【发明内容】

[0018] 本发明的目的是提供一种点云场景重建方法,解决了现有技术中存在的仅针对建 筑物进行重建或者针对于只包含建筑物屋顶、地面和树木的航空LiDAR数据,不能重建出 包含有丰富对象的点云场景的问题。
[0019] 本发明所采用的技术方案是,一种点云场景重建方法,具体按照以下步骤实施:
[0020] 步骤1、将点云场景中的点云数据分为地面点、地面以上的平面点、地面以上的非 平面点;
[0021] 步骤2、对步骤1中得到的不同类型的地面以上的点云数据进行分割;
[0022] 步骤3、根据步骤2中的分割结果,完成点云场景中不同对象的提取;
[0023] 步骤4、对步骤3中提取出的不同对象采用不同的方法完成点云场景的重建。
[0024] 本发明的特点还在于,
[0025] 利用C-SVM对步骤1中点云数据进行分类:
[0026] ①点云中的点p,找到其k个临近点:

【权利要求】
1. 一种点云场景重建方法,其特征在于,具体按照以下步骤实施: 步骤1、将点云场景中的点云数据分为地面点、地面以上的平面点、地面以上的非平面 占. 步骤2、对步骤1中得到的不同类型的地面以上的点云数据进行分割; 步骤3、根据步骤2中的分割结果,完成点云场景中不同对象的提取; 步骤4、对步骤3中提取出的不同对象采用不同的方法完成点云场景的重建。
2. 根据权利要求1所述的一种点云场景重建方法,其特征在于,利用C-SVM对所述步骤 1中点云数据进行分类: ① 点云中的点P,找到其k个临近点:
P的三阶协方差矩阵M为:
其中,户为点P的k个临近点的平均位置,
通过奇异值分解对三阶协方差矩阵M进行特征值分解,得到协方差矩阵M的特征值O < λ2< λ3,A1对应特征向量np为点p的法向量; 定义:
F1表示该点偏离其切平面的程度,当F1接近O时,表示点p的临近点可以近似地拟合 成平面,它的临近点中的噪声相对较小; ② 一旦点P的法向量np确定了,利用k-d树查找点p的m个临近点% >点p的协方差 矩阵为:
通过奇异值分解对上式的协方差矩阵〇;进行特征值分解,得到协方差矩阵的特 征值^T 其中,X表示法向量在高斯球上的最大变化度,;I;度量法向量分布是 否规律; 定义:

如果F2和F3均接近O时,表示该点为平面点,如果F2和F3至少有一个大于O时,表示 该点为非平面点; ③ Iii是点Pi的法向量, η? 一 (nxi, nyi, nzi), 定义: F4 = fabs (nzi); 如果F4?1,表示该点为地面点; ④ 高度差为每个点与地面最低点的距离,定义: F5= Δζ = Zi_Zlowesf 如果F5接近0,则表示该点为地面点,如果F5大于0,则表示该点为点云场景中的地面 以上的点; 上述F2、F3、F4和F5为C-SVM分类所利用的特征值。
3. 根据权利要求1所述的一种点云场景重建方法,其特征在于,所述步骤2中对不同类 型的点云数据进行分割的具体实施方法为: ① 对于地面以上的平面点,选取平面点中任意一点q作为种子点,nq为点q的法向量, np为除种子点q外未被遍历点的法向量,若 nq * np ^ I, 将点P与点q归为一类,然后,利用基于距离的聚类方法进行分割:在该类中任选一点, 将与这点的距离不大于阈值ε的点归为一类,得到一个平面点簇; ② 对于地面以上的非平面点,利用基于距离的聚类方法进行分割:在非平面点中任选 一点,将与这点的距离不大于阈值S的点归为一类,得到一个非平面点簇。
4. 根据权利要求3所述的一种点云场景重建方法,其特征在于,所述阈值ε的取值范 围为:0-0. 1。
5. 根据权利要求3所述的一种点云场景重建方法,其特征在于,所述阈值δ的取值范 围为:0-0. 1。
6. 根据权利要求1所述的一种点云场景重建方法,其特征在于,所述步骤3中点云场景 中不同对象的提取的具体步骤为: 步骤3. 1、计算得到点云场景中的最低点为地面点,计算每个平面点簇的最高点与地面 点的距离差Height, Height = max (Zi) -min (Zground), 其中,Hiax(Zi)为每个平面点簇中最高点的高度值,Hiin(Zgromd)为地面点的高度值, 如果距离差Height不小于10米,则该平面点簇为建筑物,否则,该平面点簇为低矮平 面; 步骤3. 2、计算步骤3. 1中提取到的建筑物平面的最小包围盒,包含在最小包围盒中的 非平面点为窗户; 步骤3. 3、计算每个非平面点簇的长宽比Ratio :
其中,width = Xmax-Xmin, height = ymax-ymin,Xmax为非平面点簇中X坐标轴上的最大值, Xniin为非平面点簇中X坐标轴上的最小值,y_为非平面点簇中y坐标轴上的最大值,ynin为 非平面点簇中y坐标轴上的最小值, 如果Ratio近似等于1,则该非平面点簇为树木,否则,该非平面点簇不为树木; 步骤3. 4、去除点数不大于10的点云。
7. 根据权利要求6所述的一种点云场景重建方法,其特征在于,所述步骤3. 2中计算有 向包围盒的具体步骤为: a. 点云中的点p,找到其k个临近点:
P的三阶协方差矩阵M为:
其中,Z7为点P的k个临近点的平均位置, * ?-丄
通过奇异值分解对三阶协方差矩阵M进行特征值分解,以最小特征值对应的特征向量 为W轴,其余两个特征值对应的向量为u,v轴,建立局部点集初始坐标系C= (u,v,w); b. 将建筑物上的点绕w轴进行旋转,新的坐标系CT =RC,其中:
Θ e (〇, Ji /2), c. 点P在坐标系C'下的坐标p' =C' p,求建筑物点集P中每点在坐标系C'下的 新坐标,得到点集中点的最大X值Xmax和最大7值7_以及最小X值X min和最小y 值 Ymin ; d. 利用下式计算各个坐标系下的有向包围盒的体积: V = (Umin) X (YmaxImin) X (Umin), 选择最小的有向包围盒的体积作为建筑物点集P的最小包围盒。
8. 根据权利要求1所述的一种点云场景重建方法,其特征在于,所述步骤4中点云场景 的重建的具体方法为: ①如果步骤3中提取到点云场景中的对象为建筑物,首先,找出建筑物平面点簇中具 有最大X坐标值的点PMaxX、最小X坐标值的点PMinX、最大y坐标值的点PMaxY、最小y坐标值的 点P MinY、最大z坐标值的点PMaxZ、最小z坐标值的点PMinZ;利用下式计算建筑物平面点簇中 的点云数据投影到xOy面后的中心点,歹,):
其中,N为建筑物平面点簇中的总点数,(XpyP为建筑物平面点簇中每点二维投影的 坐标; 其次,点P MaxX^ PMinX^PMaxY 和Pmm的二维投影点依次为MaxX、P' MinX、P' MaxY和P' MtaY, 分别将点P' MaxX、P' MinX、P' MaxY和P' MinY的X坐标值与巧进行比较,点P' MaxX、P' Minx、 MaxY和p MinY中的X坐标值小于巧的点位于建筑物平面的一侧,点p Max5^pz MM、P' MaxY 和W MinY中的X坐标值大于巧的点位于建筑物平面的另一侧,对于位于同一侧的坐标点, 分别判断它们与中心点匕,又)的距离,距离最远的为端点分别记为PpP 2; 然后,寻找建筑物平面点簇中与P1的X、y坐标值相近的点,记录其中最大的Z坐标值 ZmaXl,同时寻找建筑物平面点簇中与Ρ;?的X,y坐标值相近的点,记录最大的Z坐标值 ZmaX2 ; 最后,将建筑物平面点簇 y,Pmnz. z)、D (P2. X,P2. y,Zmax2)依次连接构成平面S,并将点A、B、C、D沿平面S的法向量方 向移动0. 1-lm,得到点A'、B'、C'、D',将点A'、B'、C'、D'依次连接构成平面S', 分别连接点A和点A'、点B和点B'、点C和点C'、点D和点Di得到建筑物的另外4个 面; ② 如果步骤3中提取到点云场景中的对象为地面,首先找到地面点簇中z值最小的点 H(X,y,Zniin),然后再分别找出点 I (χΜΧ,yMX,Zniin)、点 J(xMX,y- Zniin)、点 KUniin, yMX,Zniin)、 点L(xmin,ymin,z min),依次连接点I、点J、点L、点K构成的平面为地面; ③ 如果步骤3中提取到点云场景中的对象为树木,首先找到点云场景中的最小的z值, 最小的z值所在的水平面为树木的底面位置,(?)为树木的水平位置,其中:
用半径为^、高度为Ii1的圆柱表示树干,底面半径为r2、高度为h2的圆锥体表示树枝。
【文档编号】G06T17/00GK104392486SQ201410690610
【公开日】2015年3月4日 申请日期:2014年11月25日 优先权日:2014年11月25日
【发明者】王映辉, 郝雯, 宁小娟, 石争浩, 赵明华, 周红芳 申请人:西安理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1