APP下载

地面点云处理系统集成研究与实现

2017-12-05王真立吴晓章杜顺季

测绘通报 2017年11期
关键词:视点雕像入库

王真立,吴晓章,陈 刚,杜顺季

(1. 中国地质大学(武汉),湖北 武汉 430074; 2. 广州市城市规划勘测设计研究院,广东 广州 510060)

地面点云处理系统集成研究与实现

王真立1,2,吴晓章1,陈 刚1,杜顺季2

(1. 中国地质大学(武汉),湖北 武汉 430074; 2. 广州市城市规划勘测设计研究院,广东 广州 510060)

地面点云数据后处理及软件研制是制约地面三维激光扫描技术进一步发展的关键因素。本文集成Oracle存储、PCL模块点云算法、OpenGL三维显示技术,初步研发了一套集点云存储、处理、显示、查询功能于一体的地面点云处理系统。通过RIEGL VZ-400扫描的雕像测试点云,验证了本文提出的三种技术集成开发地面点云处理系统的可行性和系统功能的稳健性。为进一步研究地面点云数据处理系统提供有益的参考。

点云处理;系统集成;Oracle;PCL;OpenGL

地面三维激光扫描技术以其小型便捷、精确高效、安全稳定等优势,在灾害监测[1]、文物保护[2]、形变监测[3]、河道整治[4]、三维建模等领域应用广泛。但同时由于点云不规则与海量特性,点云存储、处理、显示及点云处理软件研制等因素一直制约其进一步推广、应用与发展。

现有成熟的点云处理软件大多是基于仪器配套,且文件管理、自动化程度低、技术保密,适合中国用户的中文版软件非常少[5-6]。国内,黄明等[7]集成PostgreSQL数据库、独立研发封装的C++点云处理库、DirectX 11,杨军建[8]集成PCL点云库、QT,王增涛[9]集成PCL库、OpenGL图形库,徐鹏[10]利用点云空间索引技术及OpenGL库,分别不同程度研究了点云数据处理系统集成与实现。但研发集点云存储、处理、显示、查询功能于一体的地面点云数据处理系统及技术路线寥寥无几。因此,探索地面点云处理系统集成的技术路线,并设计研发一套稳健实用的地面点云数据处理原型系统具有非常重要的意义。

1 系统总体框架

通过查阅大量文献发现,目前还没有集成Oracle、PCL和OpenGL技术,研发集点云存储、处理和显示功能于一体的地面点云数据处理系统。而Oracle、OpenGL分别是目前性能最优秀的数据库和三维图形库之一。PCL点云库开源且集成了大量稳健高效的点云算法,可大大缩短开发时间。为了验证该技术路线的可行性,本文将在VS2010 C++ MFC平台下,集成Oracle OCI技术、BLOB存储技术、PCL点云算法和OpenGL显示列表、视点几何变换、深度缓存等技术,以项目管理方式为基础,研发一套能初步实现点云数据存储、处理和显示的地面点云数据处理平台。系统总体框架设计如图1所示。3种技术集成的关键是各自点云格式BLOB、PCL、C++ Vector容器之间的相互转换,本文将所有点云格式抽象提取出点的坐标、强度和颜色信息X、Y、Z、I、R、G、B 7个字段作为点云格式间转换的纽带。

图1 系统总体框架设计

2 系统研发关键技术

2.1 Oracle点云存储

2.1.1 OCI开发接口

数据库的开发语言与方式会直接影响系统性能的优劣。C++是公认具有最佳性能的开发语言之一,在Oracle数据库C++开发中提供了多种编程接口,根据各接口的原理及特点,分析比较总结得到各接口的性能对比见表1。最终考虑到点云海量性特点,选用了开发难度较大但性能最佳的OCI开发接口。

表1 Oracle数据库开发接口对比

2.1.2 BLOB大对象存取

一测站点云数据几百上千万个点,以单个点为存储单元即使再优秀的数据库索引也无能为力。本文以Oracle二进制大对象BLOB块为存储单元,500万条点云记录以BLOB块形式存储为一条记录;利用Oracle OCI库的OCILobRead()和OCILobWrite()函数,以查询方式实现BLOB大对象存取操作;同时针对存储过程中点云入库和读取缓慢问题,利用内存映射技术提高点云存取效率。

本文最终设计一个专门用于实现OCI操作Oracle的公共类COCIclass,主要实现了OCI开发环境初始化函数Init_OCI();错误处理函数Error_proc();常规数据及BLOB数据入库与读取函数AddNormalDataToDB()、AddBOLBDataToDB()、ReadBOLBDataFromDB()。以X、Y、Z、I、R、G、B点云为例,其中BLOB数据入库与读取的流程如图2、图3所示。

图2 BLOB数据入库流程

图3 读取BLOB数据流程

为了测试本文系统点云Oracle存取效率,分别对30万—1000万带R、G、B颜色信息的点云进行多次测试:30万数据9 MB,入库和读取都只需4 s;300万数据91 MB入库48 s,读取57 s;1000万数据310 MB入库174 s,读取210 s。可以明显看出,在不建立空间索引的情况下,本文点云数据库存取效率要优于文件管理方式。

2.2 PCL点云处理

PCL点云库是在吸收了前人点云相关研究基础上建立起来的模块化的大型跨平台开源C++程序库,实现了大量稳健、高效的点云处理算法[11]。集成PCL研发点云数据处理系统既保证了算法的稳健高效,又缩短了研发时间,关键是搭建集成PCL开发环境,并有效集成PCL中的点云算法。

点云滤波和配准是点云处理中基础且关键的环节[12-13],本文系统主要集成PCL的滤波和配准模块算法,实现了具有代表性的直通滤波、体素化网格下采样和统计分析离群点滤波算法。另外,本文通过估计点云法向量、NARF关键点、FPFH等特征描述算子,从而求得配准参数实现配准,如图4所示。该配准技术路线的关键是提取NARF关键点,对平面特征较多的点云具有良好的配准效果,为了提高算法的适应性,根据实际情况判断是否继续进行ICP配准。

2.3 OpenGL点云显示

2.3.1 显示列表技术

OpenGL主要有立即和延迟两种渲染模式,延迟渲染也称为显示列表技术。为了测试两种模式点云渲染性能,对30万—1000万带R、G、B颜色信息的点云进行渲染试验,通过多次测试取平均值获得两种模式下点云渲染性能对比(见表2)。可以看出,1000万点内显示列表技术的渲染性能比立即模式平均提高了18倍,随着渲染点的增加,显示列表技术越发显示其优势。

表2 两种模式渲染性能比较

2.3.2 交互操作技术

在OpenGL三维场景中通常需要通过平移、旋转、缩放几何变换以任意视角浏览视图,为了不改变点云的真实坐标,系统采用基于视点的几何变换。平移、旋转、缩放变换的实质是改变视点坐标系、世界坐标系、屏幕坐标系的相互空间关系,最终确定视点方位。本文参考现有算法[14-15],实现了基于鼠标的视点平移、旋转和兴趣区位置不变的局部缩放功能。另外,利用OpenGL深度缓存技术,通过glReadPixels函数获取鼠标光标最近点云深度信息,利用gluUnProject函数根据屏幕坐标和深度信息转换求得点云空间三维坐标,实现点云空间坐标和距离查询。

图4 本文配准算法流程

本文最终设计一个操作OpenGL的应用类COpenGL,按功能分解为4大模块:数据定义模块实现三维向量类tagCVector和颜色向量类tagColor;开发框架搭建模块负责搭建OpenGL开发环境;渲染模块负责点云、文字等图元的绘制;交互操作模块实现基于鼠标的平移、旋转、缩放和空间查询等功能。

3 系统实现与测试

本文在表3所示环境下,搭建了Oracle、PCL和OpenGL开发环境,集成Oracle OCI、BLOB存储、PCL模块算法、OpenGL显示列表、视点几何变换、深度缓存等技术,以项目管理方式为基础,初步实现了一套集点云存储、处理、显示于一体的地面三维激光点云处理系统。系统界面设计如图5所示。

表3 系统开发环境配置

续表3

图5 系统界面设计

为了验证系统开发技术路线的可行性和系统功能的稳健性,以中国地质大学(武汉)校园内某一雕像数字化项目为例,采用Riegl VZ-400地面扫描仪,设置采样间隔5 mm,扫描获得第1站(180万点)、第2站(360万点)和第3站(240万点)带R、G、B信息的点云数据。以下将通过3站雕像点云数据测试系统的各项功能。

3.1 项目管理与点云存储

新建项目,在数据库内完成项目所有数据表的创建;打开项目,初始化系统三维场景;数据入库,支持自定义X、Y、Z、I、R、G、B格式和PCD格式入库。系统操作如图6所示。

图6 项目管理及点云存储示意图

3.2 点云滤波

如图7所示,加载第一测站数据(180万)。通过直通滤波提取其中的雕像点云,处理点数186万,耗时22 s,获得如图8所示的雕像点云;设置体素格网下采样间隔20 mm,处理13万点,耗时3 s,获得如图9所示的点云;为了去除噪声点,设置统计点临近点数20,标准差倍数阈值为2,处理点数2万,花费时间小于1 s,获得如图10所示的效果。

图7 直通滤波界面及操作

图9 统计分析离群滤波界面及操作

图10 离群点滤波效果

3.3 点云配准

对第2站雕像点云(18万)和第3站雕像点云(38万)进行配准算法测试:设置VoxelGrid下采样滤波网格5 cm;点云法线估计KD-tree搜索半径5 cm;NARF关键点提取感兴趣区半径20 cm;特征描述估计比点云法线估计KD-tree搜索半径大,为10 cm;ICP精配准算法收敛条件0.01,迭代2次,对应点对最大距离10 cm。特征提取配准耗时72 s,ICP配准耗时214 s,配准输出点云到最近目标点云对应点对的距离平方和为0.062 5。配准算法过程及效果如图11所示。

图11 配准示意图

3.4 点云显示

本文对第1站约180万数据进行基于鼠标视点的平移、旋转、缩放几何变换测试,效果如图12所示。对配准后获得整体雕像点云约56万进行了典型视图显示测试,如图13所示。

图12 几何变换示意图(从左至右,原始、平移、旋转、缩放视图)

图13 雕像典型视图(从上至下,左至右:前后左右俯仰视图)

3.5 辅助功能

本文点云空间坐标、空间距离和绘图区背景色设置等功能测试效果如图14所示。

4 结 语

本文综合利用Oracle OCI、BLOB存储技术、PCL点云库模块算法、OpenGL显示列表、视点空间变换及深度缓存等技术,初步实现了点云数据存储、处理、显示和空间查询等主要功能,最终设计开发完成了一套稳健且功能较为完善的地面点云数据处理平台框架和原型系统。通过雕像数字化实例验证了本文研发技术路线的可行性及系统功能的稳健性。同时,系统功能还需进一步完善;且本文未对点云建立空间索引,可考虑对BLOB块建立空间索引,进一步提高点云存取和调度效率。

图14 辅助功能示意图(从左至右,空间点查询、空间距离查询、背景色设置)

[1] 周学林,魏文涛,刘丽惠,等.三维激光扫描系统在舟曲重点地质灾害治理工程中的应用[J].测绘通报,2011(12):81-82.

[2] 赵煦,周克勤,闫利,等.基于激光点云的大型文物景观三维重建方法[J]. 武汉大学学报(信息科学版), 2008,33(7):684-687.

[3] 李珵,卢小平,朱宁宁,等.基于激光点云的隧道断面连续提取与形变分析方法[J].测绘学报,2015,44(9):1056-1062.

[4] 于海洋,罗玲,杨强,等.三维激光扫描技术在河道测量中的应用[J].测绘学报,2015,44(S1):49-53.

[5] 龚书林.三维激光点云处理软件的若干关键技术[J].测绘通报,2014(6):135-136.

[6] 蔡来良,李儒.点云数据处理算法与实现初步研究[J].测绘通报,2012(S1):258-259,271.

[7] 黄明,王晏民,付昕乐,等.地面激光扫描数据处理系统的设计与实现[J].测绘通报,2014(8):55-58.

[8] 杨军建.点云数据处理系统设计与实现[D].抚州:东华理工大学,2016.

[9] 王增涛.三维点云数据处理平台设计[D].大连:大连理工大学,2014.

[10] 徐鹏.海量三维点云数据的组织与可视化研究[D].南京:南京师范大学,2013.

[11] 朱德海,郭浩,苏伟.点云库PCL学习教程[M].北京:航空航天大学出版社,2012.

[12] 张毅,闫利.地面激光点云强度噪声的三维扩散滤波方法[J].测绘学报, 2013,42(4):568-573.

[13] 李彩林,郭宝云,季铮.多视角三维激光点云全局优化整体配准算法[J].测绘学报, 2015,44(2):183-189.

[14] 张立成,张鸽.一种OpenGL局部缩放算法及应用[J].微型机与应用,2013(19):44-47.

[15] 王浩然,梁彦刚,陈磊.空间态势场景中OpenGL视点控制策略与实现[J].太赫兹科学与电子信息学报, 2015,13(2):302-307.

ResearchandImplementationoftheIntegrationofTLSDataProcessingSystem

WANG Zhenli1,2,WU Xiaozhang1,CHEN Gang1,DU Shunji2

(1. China University of Geosciences (Wuhan),Wuhan 430074,China; 2. Guangzhou Urban Planning Design Survey Research Institute, Guangzhou 510060, China)

The data post-processing and software development of the terrestrial laser scanning (TLS) technology is a key factor that constrains the further development of three-dimensional laser scanning technology. In this work, combined with the Oracle storage technology, PCL algorithm and OpenGL 3D display technology, a set of the TLS data processing system with point cloud storage, processing, display and query functions was developed preliminarily. The feasibility of the TLS data processing systems developed by the proposed three technologies in this paper and the robustness of the system functions was verified via the statue point cloud data scanned by RIEGL VZ-400 scanner, which provides useful reference for further researches on the development of TLS data processing system.

point cloud processing; system integration; Oracle; PCL; OpenGL

王真立,吴晓章,陈刚,等.地面点云处理系统集成研究与实现[J].测绘通报,2017(11):108-114.

10.13474/j.cnki.11-2246.2017.0358.

P208

A

0494-0911(2017)11-0108-07

2017-05-31;

2017-09-27

国家自然科学基金(41674015);湖北省自然科学基金(2011CDB350)

王真立(1991—),男,硕士,研究方向为点云数据处理与精密工程测量。E-mail:wzlcug@163.com

陈 刚。E-mail:ddwhcg@cug.edu.cn

猜你喜欢

视点雕像入库
专家视点
青铜雕像里的故事
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
跟踪导练(四)3
谷歌尊重雕像“隐私权”的启示
沙漠里的无名雕像
环境视点
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例