王 蒙,刘小平,邹艳妮
(南昌大学信息工程学院,南昌330031)
大规模点云数据的球面纹理映射方法
王 蒙,刘小平,邹艳妮
(南昌大学信息工程学院,南昌330031)
针对点云数据的Delaunay三角网格纹理映射速度慢、映射效果不够细腻及不适合大规模点云数据纹理映射等问题,提出一种基于球面纹理映射的点云数据重建改进方法,并在Qsplat算法的基础上进行实现。采用Qsplat算法对大规模点云数据进行模型重建,利用球面等比约束纹理映射算法建立纹理坐标、球面、点云重建模型三者之间的数学关系,实现大规模点云数据的球面纹理映射。实验结果表明,与传统的三角网格纹理映射相比,该方法可明显提高纹理映射的速度和质量,拓宽球面等比约束纹理映射方法的应用范围,适用于大规模点云数据的纹理映射。
Delaunay三角网格;点云数据;球面纹理映射;Qsplat算法;纹理坐标;等比约束
随着激光雷达技术的发展,计算机图形学、计算机视觉、计算机仿真等领域与其联系也越来越紧密。在激光雷达技术中激光雷达测量技术的产生使得现实三维空间与计算机图形学产生了密切的联系。重建点云数据三维场景后,为了增加模型的真实感,使其可视化效果更好,需要对模型进行纹理映射。目前,传统点云数据的纹理映射主要采用基于点云的Delaunay三角网格纹理映射方法。此方法首先利用Delaunay算法对点云数据进行三角网格模型重建[1],然后针对三角网格中的每一个三角形进行纹理映射,然而Delaunay算法对大规模点云数据重建速度较慢。虽然也有对Delaunay算法进行改进快速重建[2],但重建速度不理想,重建后各个三角形大小不一,面片间连接并不光滑。尽管可以用加密采样点来降低粗糙度,但纹理映射效果仍然一般[3]。文献[4]对点云数据直接贴图的方法进行了研究,但是需要提取足够多的特征点,提取的难度较大,在速度方面和纹理映射质量方面都不理想。
本文分析Qsplat算法重建模型和面积约束球面纹理映射方法的原理[5-6],分别建立纹理图片与球面、球面与点云重建模型之间的关系,完成面积约束球面纹理映射方法对Qsplat算法重建模型的纹理映射,简化图形纹理映射中建立矢量场的复杂处理过程[7]。
在SIGGRAPH 2000年会上,美国斯坦福大学的Rusinkiewicz等人提出了Qsplat算法,使得大规模的三维数据能够层次性地组织在一起,形成一种层次包围球树形数据结构的QS文件。QS文件的生成阶段也被看成是图形绘制阶段的预处理阶段,绘制的过程直接读取QS文件,大大缩短了点云的绘制过程,适用于大规模点云数据的重建绘制。
2.1 QS文件组织生成阶段
通过计算机绘制物体,需要每个点的三维坐标点(x,y,z),每个点的有效覆盖区域法向量norm(用于光照渲染),点云中每个点的有效覆盖区域半径r(用于填充点云模型中,点与点之间的空隙),然后每个点形成包含以上三方面信息的节点。其中,坐标点的获取可以通过点云数据文件直接获取,每个点覆盖区域的法向量norm可以将点云数据中每个三角形的法向量赋给3个顶点,点的有效覆盖区半径r可以通过点云数据文件中三角形的信息确定(如果为钝角三角形,r是三角形最长边的一半,如果是锐角或者直角三角形,r是三角形外接圆的半径)。三角形的半径确定如图1所示。
图1 球半径r的确定方法
Qsplat算法可以使点云数据形成一种层次包围球(Hierarchy of bounding sphere)的四叉树层次数据结构,从而把大规模散乱点云数据整合在一起。首先把点云数据根据上述方法组织成为节点,作为叶子节点,对大量节点进行区域性随机划分,然后每一区域形成一个可以包围其中叶子节点覆盖区域的父节点。这些父节点又会重复前面的过程,形成新的父节点,最后形成了一个覆盖范围最大的父节点,同时也是这棵树的头节点,此过程是QS文件的组织生成过程。具体的示意图如图2所示。
图2 点云叶子节点形成树的模型
2.2 Qsplat算法绘制过程
点云数据文件变换成QS文件后,Qsplat算法的绘制阶段就是对QS文件进行树遍历的过程。即首先从root节点开始,逐渐遍历到下面的节点,最后到叶子节点。各个级别的遍历渲染效果如图3所示。
图3 Qsplat算法绘制过程
3.1 球面纹理映射
为了防止纹理图像部分区域的扭曲变形、映射效果粗糙、图像失真等情况,基于文献[8]提出的纹理不变形的准则,采用目前映射效果较好的半球面等比约束球面映射。纹理图片的面积与球面中所映射的面积比动态变化,这种算法可以调整倍数的大小来均匀控制球面纹理映射的覆盖范围。设纹理平面上任一点Q1的极坐标为(r,α),映射到半球面上对应点P的经纬坐标为Q2(θ,φ),如图4所示。
图4 纹理图片在半球面上的映射
根据面积约束球面纹理映射的有关描述,将纹理图片平面上的任一圆弧映射到半球面上的一段纬线上。根据面积等比约束原理,纹理坐标中的面积在映射过程中需要保持为一常数K:
[9]中的相关设置,将整个圆形纹理区域映射到了纬度不大于ϕ的球冠上,其中0<ϕ≤,此时的纹理效果较好。这样就可以求得边界条件为:r=1,φ=ϕ,故由此可以求出K=2(1-cosϕ)。然后代入面积等比约束的公式中得出r,纹理坐标(u,v)与半球面坐标之间的关系如下:
3.2 重建模型的纹理映射
改进算法实现纹理映射的主要方法是利用立体投影半球面纹理映射算法建立球面、纹理图片之间的关系之后,再建立点云重建模型与球面之间的关系,即可得到相应的纹理坐标,从而完成点云模型的纹理映射。
首先,为了得到点云模型与半球面的对关系,选择一个半径适当的半球面,用它来包围点云模型的物体,使半球的轴穿过物体底部的中心点,并根据物体的具体形状适当选取球心到物体底部的距离,然后利用面积等比约束球面纹理映射算法,将纹理图案映射到球冠面上。设点云模型中的任意一点为Q(cx,cy,cz),为计算方便,设z轴上的定点P(x1,y1,z1),建立的球的表达式为:x2+y2+z2=r2,建立点云中的点与定点P的一条直线如下所示:
然后,该直线与球进行相交,求出k的值,就得到了点云与球面的对应关系。k值的计算方法如下所示:
其中,表达式中mid如下所示:
再次,为简化式(5)中mid的计算量,可以设P为(0,0,z),这样就可以推导出点云中的点与球面点的关系,即:x=k×(cx-x1)+x1,y=k×(cy-y1)+y1,z=k×(cz-z1)+z1,即:x=k×cx,y=k×cy,z=k×(cz-z1)+z1。有了点云到球面的对应关系,再结合球面与纹理图片的对应关系,即可得到点云模型到纹理映射的对应关系。
在点云渲染中,通过式(6)将纹理坐标直接赋给点云模型每个点的覆盖区域,从而实现了点云重建模型的纹理映射。
3.3 改进算法的优点
点云重建模型凹凸不平,模型凹凸复杂性增加了纹理映射的难度,重建模型的建立又是基于每个节点单独绘制的,本身无法形成网格。对其进行矢量化的映射纹理,要使点云模型顺序的对应图像纹理坐标是一件比较难的事情,要实现直接的重建模型和纹理坐标对应关系,更是比较难。本文所提出的改进算法利用面积约束球面纹理映射解决了这个问题。首先建立一个半球面作为纹理映射的过渡面,把纹理映射到半球面上,然后建立模型中每个节点与半球面的直接映射关系,从而把纹理真实地映射到模型中。此方法拓宽了面积约束球面纹理映射的应用范围,并且将Qsplat点云重建模型和面积约束球面纹理映射结合起来,减少了以前网格纹理映射中建立矢量场的复杂处理过程。
在Windows XP平台下(CPU主频3.2 GHz,内存2 GB),以Visual Studio 2010为开发平台,搭建OpenGL运行环境,在Qsplat算法所重建点云模型上完成了纹理映射。
针对不同的点云数据,表1列出了改进算法QS重建时间和绘制时间,并且与Delaunay算法重建绘制时间进行了比较。从表1中可以看出,改进算法重建时间少于Delaunay算法重建时间,这是因为改进算法在点云重建方面采用Qsplat算法相同的策略对点云数据进行了预处理并且生成了QS文件,在进行绘制时直接读取QS文件,绘制速度有较大提高,绘制图形保证了实时性。
表1 各点云图形绘制的时间比较 s
传统的纹理映射方法存在许多不足,图5中列出了现有方法的映射效果。其中,图5(a)采用单一颜色映射整个图形[1],方法单一的颜色,不能体现图形的真实感,从直观上感觉比较粗糙;图5(b)采用图片直接映射Delaunay三角网格[3],方法成像效果较差,不能很好体现图形的立体感;图5(c)采用逐点着色映射图形[12],所建立的纹理也比较粗糙。
图5 各文献中的纹理映射效果
图6~图8是利用改进算法将不同图片,即春风图、太阳照片和牡丹图片应用到Dragon,Buddha, Lion点云重建模型进行纹理映射得到的效果图。可以看出:改进算法满足了纹理不变形准则,提高了重建模型的真实性。
图6 Dragon点云模型中的映射图
图7 Buddha点云模型中的映射图
图8 Lion点云模型中的映射图
本文分析传统点云Delaunay算法纹理映射的不足,研究Qsplat算法和球面纹理映射方法的原理,建立模型之间的关系,将球面等比约束的思想应用到点云重建模型当中,从而实现了点云数据模型的纹理映射。实验结果表明,在点云数据纹理映射方面,与传统三角网格纹理映射方法相比,纹理映射的速度和真实感较好,并且纹理位置可调整,效果令人满意,此方法对大规模点云数据的虚拟仿真有一定的参考价值。
参考文献
[1] 梁群仙,许宏丽.一种基于点云数据的快速曲面重构方法[J].计算机工程,2013,39(2):237-240.
[2] 宋大虎,李忠科,孙玉春.三维散乱点云快速曲面重建算法[J].计算机应用研究,2013,30(8):2527-2529.
[3] 张 涛.基于散乱点云的三维重建研究和实现[D].哈尔滨:哈尔滨工程大学,2010.
[4] 王俊杰,王宇楠,曹 奇.点云数据直接贴图方法探讨[J].现代测绘,2011,34(5):22-24.
[5] Rusinkiewicz S,Levoy M.Qsplat A Multiresolution Point Rendering System for Large Meshes[C]// Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques.New York,USA: ACM Press,2000:343-352.
[6] 江巨浪,张佑生.两步纹理映射的改进[J].系统仿真学报,2006,18(5):1157-1160.
[7] 张 文,李晓梅.基于流线纹理合成的2D矢量场可视化[J].中国图像图形学报,2001,6(3):280-284.
[8] Bier E,Sloan K.Two-part Texture Mappings[J].IEEE Computer Graphics and Application,1986,6(9):40-53.
[9] 刘晓梅.虚拟角色交互运动控制研究[D].南京:东南大学,2007.
[10] Ohtake Y,BelyaevA,SeidelH P.AnIntegrating Approach to Meshing Scattered Point Data[C]// Proceedings of the 9th ACM Symposium on Solid Modeling and Applications.[S.l.]:ACM Press,2005: 61-69.
[11] 钱归平,童若峰.散乱点云网络重建及补修研究[D].杭州:浙江大学,2008.
[12] 焦 阳.瓷器形状与颜色重建及网络动态展示研究[D].哈尔滨:哈尔滨理工大学,2012.
编辑 顾逸斐
Spherical Texture Mapping Method for Large-scale Point Cloud Data
WANG Meng,LIU Xiaoping,ZOU Yanni
(School of Information Engineering,Nanchang University,Nanchang 330031,China)
Data texture mapping methods based on the Delaunay triangular mesh are usually computationally slow and the quality of mapping is low,making them unsuitable for large-scale point cloud data.In this paper,an improved spherical texture mapping method is developed for the reconstruction of point cloud data and it can be implemented based on the Qsplat algorithm.The Qsplat algorithm is used to re-establish the model of large-scale point cloud data.The spherical equal-ratio constraint texture mapping is used to obtain the mathematical relationship among texture coordinates, sphere and the reconstructed model,realizing the spherical texture mapping of large scale point data.Experimental results show that the speed and the quality of mapping of the proposed method are much improved compared with those traditional triangular texture mapping methods.
Delaunay triangulation mesh;point cloud data;spherical texture mapping;Qsplat algorithm;texture coordinates;equal ratio constraint
1000-3428(2015)01-0218-05
A
TP391
10.3969/j.issn.1000-3428.2015.01.040
国家“863”计划基金资助项目(2013AA013804);国家自然科学基金资助项目(61175072,51165033,61163023);国家“973”计划基金资助项目(2011CB302400);江西省科技支撑计划基金项目(20121BBE50023)。
王 蒙(1987-),男,硕士研究生,主研方向:计算机图形学;刘小平,教授、博士生导师;邹艳妮,博士研究生。
2013-12-23
2014-03-11 E-mail:wm_ncu@163.com
中文引用格式:王 蒙,刘小平,邹艳妮.大规模点云数据的球面纹理映射方法[J].计算机工程,2015,41(1):218-222.
英文引用格式:Wang Meng,Liu Xiaoping,Zou Yanni.Spherical Texture Mapping Method for Large-scale Point Cloud Data[J].Computer Engineering,2015,41(1):218-222.