CN116912437A - 一种基于语义点云的实景三维可视化方法及系统 - Google Patents

一种基于语义点云的实景三维可视化方法及系统 Download PDF

Info

Publication number
CN116912437A
CN116912437A CN202310618188.5A CN202310618188A CN116912437A CN 116912437 A CN116912437 A CN 116912437A CN 202310618188 A CN202310618188 A CN 202310618188A CN 116912437 A CN116912437 A CN 116912437A
Authority
CN
China
Prior art keywords
point cloud
scene
data
point
panoramic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310618188.5A
Other languages
English (en)
Inventor
吴迪
李�杰
仇多兵
沈正中
余华芬
潘骁骏
黄桦
倪慧珠
徐柳华
张乙志
刘勇
万术海
何大金
吴志宜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Institute Of Surveying And Mapping Science And Technology
Original Assignee
Zhejiang Institute Of Surveying And Mapping Science And Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Institute Of Surveying And Mapping Science And Technology filed Critical Zhejiang Institute Of Surveying And Mapping Science And Technology
Priority to CN202310618188.5A priority Critical patent/CN116912437A/zh
Publication of CN116912437A publication Critical patent/CN116912437A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明属于计算机视觉技术领域,公开了一种基于语义点云的实景三维可视化方法及系统,包括步骤1:点云处理与发布;步骤2:基于海量点云的可视化;步骤3:大场景实景三维数据的融合展示和场景漫游。本发明采用多级切片+WebGL展示技术,在云环境下,实现以着色点云为基底,附着影像、倾斜模型、全景、矢量等数据的地上地下、室内室外一体化融合展示,形成自主知识产权平台,为突破商业软件限制,降低各部门使用门槛,提升基础地理信息全息展示效果提供支撑,可用于自然资源监测、地质灾害防治、城市CT、林业调查、地下空间普查、电力巡线等场景应用。本发明的展示引擎在点云展示的美观程度、扩展性上有较大优势。

Description

一种基于语义点云的实景三维可视化方法及系统
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种基于语义点云的实景三维可视化方法及系统。
背景技术
目前,随着计算机技术和测绘科学技术的发展,二维GIS已经不能满足各行各业的发展需求,近几年无人机倾斜摄影测量技术与点云技术发展迅速,其应用领域也越来越广泛。已经发展成为高精度三维建模数据采集的主要手段之一;通过3D扫描设备获取的点云数据进行三维建模,可获得精细化三维实景模型,是智慧城市发展不可缺少的地图数据。
国外对三维展示系统的研究相对较早,但基于Web中三维展示来自WebGL标准。WebGL是一种Web图形API,是一个跨平台、开放、免费的底层且基于OpenGL的JavascriptAPI。它允许开发人员在浏览器内部通过GPU为HTML5的画布元素提供渲染加速。自2014年10月由万维网联盟(W3C)完成HTML5标准制定,并将WebGL列入后,基于WebGL的三维展示系统已迅速在研究领域发展,它作为一种有效的全球信息发布渠道,已成为网络中最重要的地理信息形式。
目前国外使用较多的三维展示平台有Three.js、MapBox.gl、Cesium以及Skyline、ArcGIS等。其中Three.js是一款WebGL开源框架,易用、简单、直观的方式封装了3D图形编程中常用的对象,Three.js在大场景地理信息数据可视化方面比较弱;Cesium也是一个开源的三维地球框架,支持加载海量数据,有较好的数据可视化功能,但是在三维空间分析方面比较薄弱;Skyline、ArcGIS的空间信息可视化能力很强,支持点云、倾斜模型加载、动态性测量和地面测量,但是不开源,开发人员不容易扩展,是商用软件,价格高昂;MapBox.gl是基于MapBox公司的开源地图引擎,使用WebGL渲染交互式矢量瓦片地图、栅格瓦片地图、地形图,具有三维地图加载、漫游、定位、量测等功能。
以上平台中MapBox和Cesium为开源WebGIS地图引擎,地图引擎不需要收费,其他平台场景小或需要收取使用费用。但Cesium的矢量切片采用图片方式渲染,样式和文字会模糊,对海量点云数据展示速度一般。MapBox不具备加载点云、倾斜等实景三维图层功能;没有地球的概念;相机采用第三人称控制器。
综上,基于web的三维场景可视化研究已经有一定的进展,但基本针对大规模复杂的三维场景的可视化在展示速度和美观度上还比较欠缺。
发明内容
本发明目的在于提供一种基于语义点云的实景三维可视化方法及系统,以解决上述的技术问题。
为解决上述技术问题,本发明的基于语义点云的实景三维可视化方法及系统的具体技术方案如下:
一种基于语义点云的实景三维可视化方法,包括如下步骤:
步骤1:点云处理与发布:在数据收集和分析的基础上,形成空三解算、点云着色、颜色变换、坐标变换、切片处理的通用流程,机载LiDAR点云通过空三解算、点云着色、颜色变换、坐标变换、切片处理流程;地面/室内点云+全景影像除了机载LiDAR点云的处理过程外,还兼顾与全景影像数据的配准;水下点云数据无需着色与颜色变换的处理;InSAR点云在常规处理的同时对属性个数进行拓展,以容纳长时序监测点的序号和年平均沉降值;
步骤2:基于海量点云的可视化:针对机载激光、地面激光和水下声纳采集的原始三维点云数据的不同特点,研究基于点云模型的三维空间内数据的组织与管理模式,通过建立四叉树、八叉树索引和合理调度方法,实现海量点云的快速可视化;
步骤3:大场景实景三维数据的融合展示和场景漫游:从全省场景到细部场景采用分级调取的策略,实现流畅的用户观感,在不同景观高度和视觉范围内自动选择正射影像、地形三维、点云和倾斜模型,并关联室内、水下、地下、全景数据展示。
进一步地,所述步骤1包括如下步骤:
步骤1.1:收集和处理数据;
步骤1.2:生成全省量级的着色点云数据;
步骤1.3:全景与点云数据的空间匹配处理。
进一步地,所述步骤1.1包括如下步骤:
收集全省量级着色点云数据、全省遥感影像切片数据、全省地形三维切片数据9-14级、全省InSAR沉降点云、林业着色点云数据、电力应用着色点云、地下设施着色点云、水下声纳点云、倾斜模型、高速公路点云+全景、室内点云+全景、历史建筑物着色点云+全景、人工建模成果,总计收集并发布的数据量2352.3GB,折合2.3TB,表明系统能满足TB级别数据的发布和展示。
进一步地,所述步骤1.2包括如下步骤:
通过全省DOM数据和DEM数据生产覆盖全省的着色点云数据,全省量级的着色点云数据生成采用自研程序进行处理,所述自研程序处理过程包括:经纬度投影点云的生成和分块处理;
所述经纬度投影点云的生成:通过研究LAS格式标准,在文件头中自定义与展示系统相匹配的CGCS2000经纬度坐标系,并设置X、Y坐标精度为小数点后7位进行处理,这样生产的全省着色点云符合发布标准;
所述分块处理:在生成彩色点云单个分块小于100GB时,进行正常切片,以1:50000比例尺分幅未基础,最终对全省着色点云采用2米点间距,分为14个3DTiles进行存储。
进一步地,所述步骤1.3包括如下步骤:
将三维点云与二维影像数据进行融合,实现精确的空间几何信息和真实的颜色纹理信息的互补,再通过计算机技术渲染彩色点云,形成一种全新的三维可视化解决方案,所述方案包括:点云+全景在展示系统中的空间定位以及全景影像切片和快速展示,所述点云+全景在展示系统中的空间定位通过读取全景采集时自带的内外方位元素,以重建拍摄时全景相机在点云场景中的位置和姿态;记录每种相机的垂直方向扫描角度、全景照片大小,对市面上常见的点云+全景一体化扫描设备参数进行和汇总整理,形成全景相机内方位元素表,记录在本系统的全景相机内方位元素参数文件中,之后,通过读取扫描站的外方位元素,作为全景影像外方位元素参数文件,将全景的6个外方位元素定位到三维场景中;增加block属性列,该列能区分楼层和区域;所述全景影像切片和快速展示采用全景照片的球面投影+uv映射的方式,形成6张立方体切片;基于OpenCV开发全景切片工具,通过调用该工具的sphere2cube功能实现球全景切片、生成缩略图。
进一步地,所述步骤2包括如下步骤:
步骤2.1:索引方式的选择;
点云数据主要分为两种,一种是直接在展示界面上与其他数据叠加展示的全省或者局部区域大面积点云,一种是和全景等小场景数据结合展示的小面积点云,因为不涉及到点云的编辑和查询等功能,所以最优的方法是在大场景点云的展示上选择四叉树、在小场景的点云展示上选择八叉树;
步骤2.2:mapbox.gl解析加载四叉树点云;
通过采用外挂程序,通过three.js渲染来实现四叉树点云的加载,数据采用地心坐标系,实现逻辑:解析PNTS格式的点云文件,转化为Three.js中Points,根据Bounding和Offset属性,实现地理坐标定位;
步骤2.3:点云渲染的内存调度;
资源调度的优化控制:通过优化视距的方式,对点云数据的展示尺度进行控制,实现逻辑:漫游时待加载的切片放在requestTiles队列中,待卸载的放在unloadTiles中,根据视野、距离、缓存大小进行内存调度,按视野和距离进行控制加载的控制逻辑;
步骤2.4:mapbox.gl加载八叉树点云的展示;
引擎数据能加载相对坐标系的点云数据,通过算法进行坐标旋转、缩放平移,使它匹配到真实坐标系,实现逻辑:通过Potree.loadPointCloud解析八叉树点云,加载到三维场景中。
进一步地,所述步骤3包括如下步骤:
步骤3.1:多源数据无缝衔接的融合展示策略;
从全省场景到细部场景采用分级调取的策略,实现从正射影像——地形三维——倾斜模型/着色点云/白膜——室内/地下/水下/全景的无缝切换,省地市、县区、乡镇级的融合展示,通过mapbox.gl中的地图层级绘制机制和minzoom、maxzoom参数控制;街道社区级和建筑级细部场景的图层渲染控制,通过WebGL中绘制对象的renderOrder属性,控制展示的优先级;大场景和建筑级西部场景的切换,采用大场景中放置图标,点击图标,进入室内或地下细部场景的实现方式;
步骤3.2:在全景空间中基于点云进行量测的方法;
全景和点云数据由自由坐标系向真实坐标系的映射,在街景和室内场景下,如果有全景数据,系统优先自动以全景形式展示三维场景,全景空间到真实地理空间的映射将基于点云-全景预处理阶段空间配准和映射关系,将全景空间的位置变换到真实地理空间中,以获得其真实的地理空间位置;
球面全景影像的成像模型的中心是全景相机的光心、物方点与球心的连线组成一条摄影光束,该摄影光束在球面上的投影点即是该物方点的成像,假设物方点A在点云模型的坐标系下的坐标为[Xp Yp Zp],对应全景球的三维点坐标为[Xs Ys Zs],则将A点的物方坐标转换为球体坐标的表达式如下:
公式中的旋转矩阵R通过三维场景中视角在全景点时camera的投影矩阵获取,实现逻辑如下所示:
将当前全景场景中的平面点击点,投影到世界坐标系;
计算全景的拍摄点向世界坐标系点的射线;
射线与点云模型的交点,就是全景场景中点击点的真实坐标。
本发明还公开了一种基于语义点云的实景三维可视化系统,系统页面功能模块包括场景展示、图层管理、场景专题、搜索栏、工具箱和显示模式切换;
所述场景展示用于展示可视化场景;
所述图层管理:按数据类型以点云、影像、地图、三维进行一级分类,二级分类关注具体采集手段;
所述场景专题:按照系统的应用方向,根据具体展示案例进行快速定位展示;
所述搜索栏:按照地名进行位置搜索和定位;
所述工具箱:基本功能包括距离、面积量测和点、线、面矢量要素采集和导出,在有点云数据时自动选择捕捉点云数据,保留原始点云测精度;
所述显示模式切换:在影像、地图、地形和融合浏览模式之间进行切换。
进一步的,系统功能模块包括场景点云展示模块和空间分析模块;
所述场景点云展示模块包括点云的显示设置:通过设置点云的质量、视角范围、点的数量、点大小、渲染方式,来进行点云的渲染方式设置;
所述空间分析模块包括点云剖切、点云展绘、三维距离测量、三维面积测量、导入导出成果、清除测量、飞行路径;
所述点云剖切:包括水平切片和垂直切片,前者在水平方向按照高度和厚度进行切片,后者在竖直方向上,按用户绘制的切割线和厚度进行切片,切片的成果高亮显示;
所述点云展绘:将剖切后选择的点云,展示成背景透明的图片,格式是.png格式;
所述三维距离测量:基于点云,在小场景自由坐标系中,基于点云本身的XYZ,直接获取点云的真实坐标;小场景中通过捕捉点云的真实坐标,可视化的量测和导出;省级范围的大场景通过坐标转换,将小场景的自有坐标的投影到真实坐标,
三维距离测量工具对影像上两点之间的三维距离进行计算,计算公式如下:
其中,p为点(x2,y2,z2)与点(x1,y1,z1)之间的欧氏距离;X为点(x2,y2,z2)到原点的欧氏距离;
所述三维面积测量:三维面积测量计算面要素各节点构成的空间面的总面积,与地形无关而与点云各点所取的XYZ值相关,在地表点云上或是室内点云上连续点击绘制面,测量空间的三维面积,该面积是表面积;
所述导入导出成果:导出成果工具将测量结果以文件方式导出至geojson、kml、dxf等格式,这些格式可以在本系统中再次导入展示,也可以在AutoCad、MapShaper、Geojson.io第三方工具网站上打开展示;
所述清除测量:清除测量工具将影像上所绘制的测量信息全部清除;
所述飞行路径:添加飞行路径、添加视角,设置路径的播放时间,设置后按该路径飞行漫游。
本发明的基于语义点云的实景三维可视化方法及系统具有以下优点:
1.本发明针对机载/车载激光雷达点云、地面/室内点云、水下声呐点云、InSAR沉降等点云数据异构特点,开发了一种顾及语义的全种类点云数据处理与发布工具,集成空三解算、点云着色、颜色变换、坐标转换、切片等模块化处理,同时对点云与全景影像数据进行坐标空间和全景空间的匹配处理和联动关系构建,实现影像逐像素向坐标空间体素的映射;利用机器数对3dtiles格式存储点云数据的属性规模限制进行突破,解决了点云数据附着海量属性导致体积指数增加的问题。
2.通过外挂自研代码,解析3dtiles/pnts格式,解决了MapBox.gl不具备了支持点云图层加载的能力;研发了一种针对TB级点云模型的轻量化混合组织与发布技术,对大场景(全省、市、县)点云采取地心坐标和四叉树渲染,利用视距对点云数据展示尺度进行控制,解决了用户平视视角渲染慢和崩溃的问题,对小场景(村级、区块、室内等)点云突破Potree引擎只能采用相对坐标的限制,采取八叉树渲染,自动进行坐标旋转、缩放平移,实时匹配到真实坐标,保障了室内/地下等高密度点云场景的展示效果。
3.顾及用户观感和硬件限制,形成一套从全省场景到细部场景的融合展示模式,采用分级调取的策略,通过视距控制和视野约束,实现从正射影像——地形三维——倾斜模型/着色点云/白膜——室内/地下/水下/全景的无缝切换,在保障用户观感流畅的同时,实现内存的优化调用,渲染效率较其他开源平台提高2-3倍,弥补了省域大场景范围内,非倾斜三维数据覆盖区域三维场景展示的不足的问题;研究了基于背景点云的三维模型空间、全景空间要素采集技术,通过自动捕捉背景点云进行量测,避免了三维模型构建后精度损失和全景影像无法量测的问题,提高了量测精度。
附图说明
图1为本发明的点云处理流程图;
图2为本发明的海量着色点云生成流程图;
图3为本发明的点云与全景融合三维可视化流程图;
图4为采用Cesiumlab V3.0自带的Cesium.js引擎测试机载点云展示测试效果图;
图5为本发明引擎机载点云展示测试效果图;
图6为本发明引擎小场景点云展示测试效果图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于语义点云的实景三维可视化方法做进一步详细的描述。
本发明采用多级切片+WebGL展示技术,在云环境下,实现以着色点云为基底,附着影像、倾斜模型、全景、矢量等数据的地上地下、室内室外一体化融合展示,形成自主知识产权平台,为突破商业软件限制,降低各部门使用门槛,提升基础地理信息全息展示效果提供支撑,可用于自然资源监测、地质灾害防治、城市CT、林业调查、地下空间普查、电力巡线等场景应用。
本发明的基于语义点云的实景三维可视化方法,包括如下步骤:
步骤1:点云处理与发布:在数据收集和分析的基础上,形成空三解算、点云着色、颜色变换、坐标变换、切片处理的通用技术流程,针对机载点云、全景+点云、InSAR点云等细化特色处理方法,并开发相应的处理工具。如图1所示,大场景的点云数据按采集手段分为机载LiDAR点云、地面/室内点云+全景影像、水下点云、InSAR点云等。机载LiDAR点云通过空三解算、点云着色、颜色变换、坐标变换、切片处理等流程;地面/室内点云+全景影像除了上述处理过程外,还兼顾与全景影像数据的配准;水下点云数据无需着色与颜色变换的处理;InSAR点云在常规处理的同时要对属性个数进行拓展,以容纳长时序监测点的序号和年平均沉降值。
步骤1.1:收集和处理数据;
本发明收集、处理并最终在系统中发布了以下数据:
表1项目收集、处理数据表
项目总计收集并发布的数据量达到2352.3GB,折合约2.3TB,表明系统能满足TB级别数据的发布和展示。
步骤1.2:生成全省量级的着色点云数据;
为了对系统在海量数据情况下进行压力测试,本发明针对性的通过全省DOM数据和DEM数据生产了覆盖全省的着色点云数据,全省量级的着色点云数据生成采用自研程序进行处理,该程序同时适用于其他通过DOM和DEM数据进行着色点云的批量生产。批量处理的流程如图2所示。
自研程序处理过程包括:经纬度投影点云的生成和分块处理。
经纬度投影点云的生成:由于点云数据通常在使用和处理时采用的是平面投影坐标,不存在经纬度投影坐标,且点云着色只能在平面投影坐标下进行,但是为了在本发明的展示系统中发布,避免换代造成的数据不连续,需要采用经纬度投影的点云。本发明通过研究LAS格式标准,在文件头中自定义与展示系统相匹配的CGCS2000经纬度坐标系,并设置X、Y坐标精度为小数点后7位进行处理,这样生产的全省着色点云符合了发布标准。
分块处理:由于程序处理的全省DEM有800GB,DOM有2TB,数据量太大,无法进行整块处理,同时为了顾及展示的平滑性,不可对数据进行过多的裁切。本发明对CesiumLab切片工具的最大承载量进行了多轮测试,最终发现在生成彩色点云单个分块小于100GB时,可以进行正常切片。经过计算,以1:50000比例尺分幅未基础,最终对全省着色点云采用2米点间距,分为14个3DTiles进行存储,保障了较好的浏览效果。
步骤1.3:全景与点云数据的空间匹配处理;
基于全景影像的三维可视化方法是通过相机环360度拍摄一组照片,然后通过二维图像拼接技术合成目标场景的三维全景图,是基于静态图片的虚拟现实技术,表2总结了点云和全景两种可视化技术的特点及优缺点:
表2点云和全景可视化比较
考虑到三维激光扫描仪采集的三维点云能够提供精确的三维空间几何信息,CCD相机采集的二维影像能提供丰富的颜色纹理信息,如图3所示,将三维点云与二维影像数据进行融合,实现精确的空间几何信息和真实的颜色纹理信息的互补,再通过计算机技术渲染彩色点云,可以形成一种全新的三维可视化解决方案。
目前成熟的地面基站式激光扫描设备,可以直接同时获取全景影像和点云数据,由于已经经过精细的检校,通过自带处理软件即可完成点云与影像的配准工作,并完成点云的着色。本发明从此类数据发布的角度考虑,主要解决以下问题:
1)点云+全景在展示系统中的空间定位
本发明通过读取全景采集时自带的内外方位元素,以重建拍摄时全景相机在点云场景中的位置和姿态。全景影像不同于普通框幅式影像,超广角视野,通常水平方向是360°,垂直方向视角接近180°,因此记录内方位元素时焦距不用考虑,需要记录每种相机的垂直方向扫描角度、全景照片大小,我们对市面上常见的点云+全景一体化扫描设备参数进行和汇总整理,形成全景相机内方位元素表,记录在本系统的全景相机内方位元素参数文件(json格式)中,便于后续拓展使用。
之后,因车载和地基激光扫描系统在拼接阶段会生成每个扫描站的外方位元素(Rigel、Faro等设备支持导出excel格式),本发明通过读取扫描站的外方位元素,作为全景影像外方位元素参数文件,将全景的6个外方位元素(3个位置和3个旋转角)定位到三维场景中。
同时为了后期三维展示时全景场景的按楼层和区域的漫游和POI搜索需要,还增加了block(分区)属性列,该列能区分楼层和区域。
表3全景相机的外方位元素导入格式样例
2)全景影像切片和快速展示
全景照片,通常有2千万像素以上,单个文件大于5MB,在Web端加载较慢。必须通过分级切片+缓存,才能在三维场景中加载。
本发明采用全景照片的球面投影+uv映射的方式,形成6张立方体切片。又因为在WebGL中以纹理照片的方式加载,需要照片的尺寸是2的N次方,所以本发明基于OpenCV开发了全景切片工具。通过调用该工具的sphere2cube功能实现球全景切片、生成缩略图,示例参数如下:
sphere2cube.exe-i"sphere jpg file"-o"out dir"-l 0-itemSize 2048-previewSize 512。
步骤2:基于海量点云的可视化:针对机载激光、地面激光和水下声纳等采集的原始三维点云数据的不同特点,研究基于点云模型的三维空间内数据的组织与管理模式,通过建立四叉树、八叉树索引和合理调度方法,实现海量点云的快速可视化,以弥补在省域大场景范围内,非倾斜三维数据覆盖区域三维场景展示的不足。
步骤2.1:索引方式的选择;
点云数据与GIS中的其他空间数据一样,都存在数据的组织问题,对于GIS中的空间索引已有大量的研究,可把地理信息系统中的一些索引方法用来组织三维点云数据。比较常见的空间索引都是采取了自顶向下,逐级划分的方式对空问数据进行分割,最有代表性的空间索引有:规则格网、四又树、八叉树、KD树、KDB树、BSP树、R树、R+树等。不同的空间索引方式有着不同的使用范围及优缺点。目前的GIS软件中多采用不同的索引机制,取长补短的策略。无论何种索引都具有其本身的优缺点,既然单一的索引方式无法满足点云的组织与空间索引的需求,那么就需要具体结合点云本身的特点,探寻一种适合海量点云管理的索引方式。
本发明涉及的点云数据主要分为两种,一种是直接在展示界面上与其他数据叠加展示的全省或者局部区域大面积点云,一种是和全景等小场景数据结合展示的小面积点云。因为本发明不涉及到点云的编辑和查询等功能,所以最优的方法是在大场景点云的展示上选择四叉树、在小场景的点云展示上选择八叉树。
步骤2.2:mapbox.gl解析加载四叉树点云;
MapBox.gl本身不支持点云图层的加载,本发明通过采用外挂程序,通过three.js渲染来实现四叉树点云的加载,数据采用地心坐标系。
实现逻辑:解析PNTS格式的点云文件,转化为Three.js中Points。
根据Bounding和Offset属性,实现地理坐标定位。
步骤2.3:点云渲染的内存调度;
针对大范围海量四叉树点云数据渲染慢和容易崩溃的弱点,系统进行了资源调度的优化控制,通过优化视距的方式,对点云数据的展示尺度进行控制,避免在用户视角平视时,请求加载的点云数据量太多,导致占用大量带宽和内存。
实现逻辑,漫游时待加载的切片放在requestTiles队列中,待卸载的放在unloadTiles中,根据视野、距离、缓存大小进行内存调度;
按视野和距离进行控制加载的控制逻辑。
步骤2.4:mapbox.gl加载八叉树点云的展示;
八叉树点云的加载也是通过扩展MapBox.gl的图层方式实现,其加载和渲染调度是通过集成Potree渲染引擎,此引擎数据能加载相对坐标系的点云数据,系统通过算法进行坐标旋转、缩放平移,使它匹配到真实坐标系,这种方法适合室内/地下等场景的高密度点云展示。
实现逻辑:
通过Potree.loadPointCloud解析八叉树点云,加载到三维场景中。
步骤3:大场景实景三维数据的融合展示和场景漫游。为了保障用户观感流畅和内存的优化调用,从全省场景到细部场景采用分级调取的策略,实现流畅的用户观感。在不同景观高度和视觉范围内自动选择正射影像、地形三维、点云和倾斜模型,并关联室内、水下、地下、全景数据展示。
步骤3.1:多源数据无缝衔接的融合展示策略;
融合展示方面,为了保障用户观感流畅和内存的优化调用,从全省场景到细部场景采用分级调取的策略,实现从正射影像——地形三维——倾斜模型/着色点云/白膜——室内/地下/水下/全景的无缝切换,具体策略如表4所示。
表4融合展示策略
省地市、县区、乡镇级的融合展示,通过mapbox.gl中的地图层级绘制机制和minzoom、maxzoom参数控制;街道社区级和建筑级细部场景的图层渲染控制,本系统通过WebGL中绘制对象的renderOrder属性,控制展示的优先级。
另外大场景和建筑级西部场景的切换,采用大场景中放置图标,点击图标,进入室内或地下细部场景的实现方式。
步骤3.2:在全景空间中基于点云进行量测的方法;
全景和点云数据由自由坐标系向真实坐标系的映射。在街景和室内场景下,如果有全景数据,系统将优先自动以全景形式展示三维场景。全景空间到真实地理空间的映射将基于点云-全景预处理阶段空间配准和映射关系,将全景空间的位置变换到真实地理空间中,以获得其真实的地理空间位置。
原理:球面全景影像的成像模型,模型的中心是全景相机的光心、物方点与球心的连线组成一条摄影光束,该摄影光束在球面上的投影点即是该物方点的成像。假设物方点A在点云模型的坐标系下的坐标为[Xp Yp Zp],对应全景球的三维点坐标为[Xs Ys Zs],则将A点的物方坐标转换为球体坐标的表达式如下:
公式中的旋转矩阵R可以通过三维场景中视角在全景点时camera的投影矩阵获取,因此主要实现逻辑如下所示:
//将当前全景场景中的平面点击点,投影到世界坐标系
var worldpt=screenpt.unproject(this.camera);
//计算全景的拍摄点向世界坐标系点的射线
this.rayDir.set(mS,mR,this.camera.near).sub(this.camera.position);
raycaster.ray.set(this.camera.position,this.rayDir.normalize());
//射线与点云模型的交点,就是全景场景中点击点的真实坐标
var intersects=pointstileset.Octree.intersectLODTree(raycaster)。
本发明的基于语义点云的实景三维可视化系统的页面功能模块包括场景展示、图层管理、场景专题、搜索栏、工具箱和显示模式切换。
场景展示:用于展示可视化场景;
图层管理:按数据类型以点云、影像、地图、三维等进行一级分类,二级分类关注具体采集手段,例如点云图层包括机载点云、车载点云、InSAR点云等;
场景专题:按照系统的应用方向,根据具体展示案例进行快速定位展示,例如城市、室内三维场景、水下三维场景、电力三维场景等;
搜索栏:按照地名进行位置搜索和定位;
工具箱:基本功能包括距离、面积量测和点、线、面矢量要素采集和导出,在有点云数据时自动选择捕捉点云数据,保留原始点云测精度;
显示模式切换:在影像、地图、地形和融合浏览模式之间进行切换。
系统功能模块包括场景点云展示模块和空间分析模块。
场景点云展示模块:点云的显示设置:可以通过设置点云的质量、视角范围、点的数量、点大小、渲染方式,来进行点云的渲染方式设置。
空间分析模块包括点云剖切、点云展绘、三维距离测量、三维面积测量、导入导出成果、清除测量、飞行路径。
点云剖切:包括水平切片和垂直切片,前者在水平方向按照高度和厚度进行切片,后者在竖直方向上,按用户绘制的切割线和厚度进行切片,切片的成果高亮显示。
点云展绘:将剖切后选择的点云,展示成背景透明的图片,格式是.png格式。该功能可用于历史建筑点云中平立剖面图的生成。
三维距离测量:基于点云,在小场景自由坐标系中,基于点云本身的XYZ,能直接获取点云的真实坐标。小场景中通过捕捉点云的真实坐标,可以可视化的量测和导出。但是省级范围的大场景在采用的是CGCS2000的经纬度坐标,因此需要通过坐标转换,将小场景的自有坐标的投影到真实坐标。
三维距离测量工具可对影像上两点之间的三维距离进行计算,计算公式如下:
其中,p为点(x2,y2,z2)与点(x1,y1,z1)之间的欧氏距离;X为点(x2,y2,z2)到原点的欧氏距离。
三维面积测量:三维面积测量计算面要素各节点构成的空间面的总面积,与地形无关而与点云各点所取的XYZ值相关,在地表点云上或是室内点云上连续点击绘制面,测量空间的三维面积,该面积是表面积。
导入导出成果:导出成果工具可将测量结果以文件方式导出至geojson、kml、dxf等格式,这些格式可以在本系统中再次导入展示,也可以在AutoCad、MapShaper、Geojson.io等第三方工具网站上打开展示。
清除测量:清除测量工具可将影像上所绘制的测量信息全部清除。
飞行路径:添加飞行路径、添加视角,设置路径的播放时间,设置后可以按该路径飞行漫游。
展示效果对比
本发明的点云可视化展示引擎,与基于常规Cesium.js实现的展示效果进行对比,详见表5。
表5Cesium.js与本系统点云展示对比
如图4所示,为采用Cesiumlab V3.0自带的Cesium.js引擎测试机载点云展示测试效果,如图5所示为本发明引擎机载点云展示测试效果,如图6所示,为本发明引擎小场景点云展示测试效果。对比发现,Cesium.js引擎本身更小,本发明的展示引擎在点云展示的美观程度、扩展性上有较大优势。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

Claims (9)

1.一种基于语义点云的实景三维可视化方法,其特征在于,包括如下步骤:
步骤1:点云处理与发布:在数据收集和分析的基础上,形成空三解算、点云着色、颜色变换、坐标变换、切片处理的通用流程,机载LiDAR点云通过空三解算、点云着色、颜色变换、坐标变换、切片处理流程;地面/室内点云+全景影像除了机载LiDAR点云的处理过程外,还兼顾与全景影像数据的配准;水下点云数据无需着色与颜色变换的处理;InSAR点云在常规处理的同时对属性个数进行拓展,以容纳长时序监测点的序号和年平均沉降值;
步骤2:基于海量点云的可视化:针对机载激光、地面激光和水下声纳采集的原始三维点云数据的不同特点,研究基于点云模型的三维空间内数据的组织与管理模式,通过建立四叉树、八叉树索引和合理调度方法,实现海量点云的快速可视化;
步骤3:大场景实景三维数据的融合展示和场景漫游:从全省场景到细部场景采用分级调取的策略,实现流畅的用户观感,在不同景观高度和视觉范围内自动选择正射影像、地形三维、点云和倾斜模型,并关联室内、水下、地下、全景数据展示。
2.根据权利要求1所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:收集和处理数据;
步骤1.2:生成全省量级的着色点云数据;
步骤1.3:全景与点云数据的空间匹配处理。
3.根据权利要求2所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤1.1包括如下步骤:
收集全省量级着色点云数据、全省遥感影像切片数据、全省地形三维切片数据9-14级、全省InSAR沉降点云、林业着色点云数据、电力应用着色点云、地下设施着色点云、水下声纳点云、倾斜模型、高速公路点云+全景、室内点云+全景、历史建筑物着色点云+全景、人工建模成果,总计收集并发布的数据量2352.3GB,折合2.3TB,表明系统能满足TB级别数据的发布和展示。
4.根据权利要求2所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤1.2包括如下步骤:
通过全省DOM数据和DEM数据生产覆盖全省的着色点云数据,全省量级的着色点云数据生成采用自研程序进行处理,所述自研程序处理过程包括:经纬度投影点云的生成和分块处理;
所述经纬度投影点云的生成:通过研究LAS格式标准,在文件头中自定义与展示系统相匹配的CGCS2000经纬度坐标系,并设置X、Y坐标精度为小数点后7位进行处理,这样生产的全省着色点云符合发布标准;
所述分块处理:在生成彩色点云单个分块小于100GB时,进行正常切片,以1:50000比例尺分幅未基础,最终对全省着色点云采用2米点间距,分为14个3DTiles进行存储。
5.根据权利要求2所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤1.3包括如下步骤:
将三维点云与二维影像数据进行融合,实现精确的空间几何信息和真实的颜色纹理信息的互补,再通过计算机技术渲染彩色点云,形成一种全新的三维可视化解决方案,所述方案包括:点云+全景在展示系统中的空间定位以及全景影像切片和快速展示,所述点云+全景在展示系统中的空间定位通过读取全景采集时自带的内外方位元素,以重建拍摄时全景相机在点云场景中的位置和姿态;记录每种相机的垂直方向扫描角度、全景照片大小,对市面上常见的点云+全景一体化扫描设备参数进行和汇总整理,形成全景相机内方位元素表,记录在本系统的全景相机内方位元素参数文件中,之后,通过读取扫描站的外方位元素,作为全景影像外方位元素参数文件,将全景的6个外方位元素定位到三维场景中;增加block属性列,该列能区分楼层和区域;
所述全景影像切片和快速展示采用全景照片的球面投影+uv映射的方式,形成6张立方体切片;基于OpenCV开发全景切片工具,通过调用该工具的sphere2cube功能实现球全景切片、生成缩略图。
6.根据权利要求1所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤2包括如下步骤:
步骤2.1:索引方式的选择;
点云数据主要分为两种,一种是直接在展示界面上与其他数据叠加展示的全省或者局部区域大面积点云,一种是和全景等小场景数据结合展示的小面积点云,因为不涉及到点云的编辑和查询等功能,所以最优的方法是在大场景点云的展示上选择四叉树、在小场景的点云展示上选择八叉树;
步骤2.2:mapbox.gl解析加载四叉树点云;
通过采用外挂程序,通过three.js渲染来实现四叉树点云的加载,数据采用地心坐标系,实现逻辑:解析PNTS格式的点云文件,转化为Three.js中Points,根据Bounding和Offset属性,实现地理坐标定位;
步骤2.3:点云渲染的内存调度;
资源调度的优化控制:通过优化视距的方式,对点云数据的展示尺度进行控制,实现逻辑:漫游时待加载的切片放在requestTiles队列中,待卸载的放在unloadTiles中,根据视野、距离、缓存大小进行内存调度,按视野和距离进行控制加载的控制逻辑;
步骤2.4:mapbox.gl加载八叉树点云的展示;
引擎数据能加载相对坐标系的点云数据,通过算法进行坐标旋转、缩放平移,使它匹配到真实坐标系,实现逻辑:通过Potree.loadPointCloud解析八叉树点云,加载到三维场景中。
7.根据权利要求1所述的基于语义点云的实景三维可视化方法,其特征在于,所述步骤3包括如下步骤:
步骤3.1:多源数据无缝衔接的融合展示策略;
从全省场景到细部场景采用分级调取的策略,实现从正射影像——地形三维——倾斜模型/着色点云/白膜——室内/地下/水下/全景的无缝切换,省地市、县区、乡镇级的融合展示,通过mapbox.gl中的地图层级绘制机制和minzoom、maxzoom参数控制;街道社区级和建筑级细部场景的图层渲染控制,通过WebGL中绘制对象的renderOrder属性,控制展示的优先级;大场景和建筑级西部场景的切换,采用大场景中放置图标,点击图标,进入室内或地下细部场景的实现方式;
步骤3.2:在全景空间中基于点云进行量测的方法;
全景和点云数据由自由坐标系向真实坐标系的映射,在街景和室内场景下,如果有全景数据,系统优先自动以全景形式展示三维场景,全景空间到真实地理空间的映射将基于点云-全景预处理阶段空间配准和映射关系,将全景空间的位置变换到真实地理空间中,以获得其真实的地理空间位置;
球面全景影像的成像模型的中心是全景相机的光心、物方点与球心的连线组成一条摄影光束,该摄影光束在球面上的投影点即是该物方点的成像,假设物方点A在点云模型的坐标系下的坐标为[Xp Yp Zp],对应全景球的三维点坐标为[Xs Ys Zs],则将A点的物方坐标转换为球体坐标的表达式如下:
公式中的旋转矩阵R通过三维场景中视角在全景点时camera的投影矩阵获取,实现逻辑如下所示:
将当前全景场景中的平面点击点,投影到世界坐标系;
计算全景的拍摄点向世界坐标系点的射线;
射线与点云模型的交点,就是全景场景中点击点的真实坐标。
8.一种基于语义点云的实景三维可视化系统,其特征在于,系统页面功能模块包括场景展示、图层管理、场景专题、搜索栏、工具箱和显示模式切换;
所述场景展示用于展示可视化场景;
所述图层管理:按数据类型以点云、影像、地图、三维进行一级分类,二级分类关注具体采集手段;
所述场景专题:按照系统的应用方向,根据具体展示案例进行快速定位展示;
所述搜索栏:按照地名进行位置搜索和定位;
所述工具箱:基本功能包括距离、面积量测和点、线、面矢量要素采集和导出,在有点云数据时自动选择捕捉点云数据,保留原始点云测精度;
所述显示模式切换:在影像、地图、地形和融合浏览模式之间进行切换。
9.根据权利要求8所述的基于语义点云的实景三维可视化系统,其特征在于,系统功能模块包括场景点云展示模块和空间分析模块;
所述场景点云展示模块包括点云的显示设置:通过设置点云的质量、视角范围、点的数量、点大小、渲染方式,来进行点云的渲染方式设置;
所述空间分析模块包括点云剖切、点云展绘、三维距离测量、三维面积测量、导入导出成果、清除测量、飞行路径;
所述点云剖切:包括水平切片和垂直切片,前者在水平方向按照高度和厚度进行切片,
后者在竖直方向上,按用户绘制的切割线和厚度进行切片,切片的成果高亮显示;
所述点云展绘:将剖切后选择的点云,展示成背景透明的图片,格式是.png格式;所述三维距离测量:基于点云,在小场景自由坐标系中,基于点云本身的XYZ,直接获取点云的真实坐标;小场景中通过捕捉点云的真实坐标,可视化的量测和导出;省级范围的大场景通过坐标转换,将小场景的自有坐标的投影到真实坐标,
三维距离测量工具对影像上两点之间的三维距离进行计算,计算公式如下:
其中,p为点(x2,y2,z2)与点(x1,y1,z1)之间的欧氏距离;X为点(x2,y2,z2)到原点的欧氏距离;
所述三维面积测量:三维面积测量计算面要素各节点构成的空间面的总面积,与地形无关而与点云各点所取的XYZ值相关,在地表点云上或是室内点云上连续点击绘制面,测量空间的三维面积,该面积是表面积;
所述导入导出成果:导出成果工具将测量结果以文件方式导出至geojson、kml、dxf等格式,这些格式可以在本系统中再次导入展示,也可以在AutoCad、MapShaper、Geojson.io第三方工具网站上打开展示;
所述清除测量:清除测量工具将影像上所绘制的测量信息全部清除;
所述飞行路径:添加飞行路径、添加视角,设置路径的播放时间,设置后按该路径飞行漫游。
CN202310618188.5A 2023-05-29 2023-05-29 一种基于语义点云的实景三维可视化方法及系统 Pending CN116912437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310618188.5A CN116912437A (zh) 2023-05-29 2023-05-29 一种基于语义点云的实景三维可视化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310618188.5A CN116912437A (zh) 2023-05-29 2023-05-29 一种基于语义点云的实景三维可视化方法及系统

Publications (1)

Publication Number Publication Date
CN116912437A true CN116912437A (zh) 2023-10-20

Family

ID=88360999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310618188.5A Pending CN116912437A (zh) 2023-05-29 2023-05-29 一种基于语义点云的实景三维可视化方法及系统

Country Status (1)

Country Link
CN (1) CN116912437A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117893700A (zh) * 2024-01-15 2024-04-16 北京数字政通科技股份有限公司 一种实体语义化cim3城市模型单体化建模方法及系统
CN118229907A (zh) * 2024-05-27 2024-06-21 中国石油大学(华东) 一种基于Cesium引擎的三维地质模型动态剖切和剖面填充方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117893700A (zh) * 2024-01-15 2024-04-16 北京数字政通科技股份有限公司 一种实体语义化cim3城市模型单体化建模方法及系统
CN118229907A (zh) * 2024-05-27 2024-06-21 中国石油大学(华东) 一种基于Cesium引擎的三维地质模型动态剖切和剖面填充方法
CN118229907B (zh) * 2024-05-27 2024-09-10 中国石油大学(华东) 一种基于Cesium引擎的三维地质模型动态剖切和剖面填充方法

Similar Documents

Publication Publication Date Title
CN109934914B (zh) 一种嵌入式城市设计场景仿真方法及系统
US11200280B2 (en) System and method for storing and retrieving geospatial data
CN108919944B (zh) 一种基于数字城市模型实现在显示端进行数据无损交互的虚拟漫游方法
Nebiker et al. Rich point clouds in virtual globes–A new paradigm in city modeling?
WO2020192355A1 (zh) 一种城市观山可视域的测量方法及系统
CN116912437A (zh) 一种基于语义点云的实景三维可视化方法及系统
US20090237396A1 (en) System and method for correlating and synchronizing a three-dimensional site model and two-dimensional imagery
CN103226838A (zh) 地理场景中移动监控目标的实时空间定位方法
CN109242966B (zh) 一种基于激光点云数据的3d全景模型建模方法
CN112437252A (zh) 一种基于无人机倾斜摄像的电网项目规划方法
CN110660125B (zh) 用于电力配网系统的三维建模装置
CN103606188A (zh) 基于影像点云的地理信息按需采集方法
CN110310367A (zh) 基于大场景实景三维多角度2.5d影像轻量级浏览方法
CN115760667A (zh) 一种弱约束条件下3D WebGIS视频融合方法
CN114140593B (zh) 数字地球和全景图融合显示方法和装置
CN116129064A (zh) 电子地图生成方法、装置、设备及存储介质
CN118229901A (zh) 一种Cesium地图引擎下基于多源空间数据的三维可视化方法及系统
KR101994200B1 (ko) 강우 관측 데이터의 3차원 시각화 모니터링 및 분석 시스템 및 이에 대한 방법
CN112509133A (zh) 一种基于gis的三维水库高清实景展示方法
CN107941241A (zh) 一种用于航空摄影测量质量评价的分辨率板及其使用方法
CN112800514A (zh) 一种采用激光点云加bim建模技术运用到换流站可视化管控平台的方法
CN113362458B (zh) 模拟多视角成像的三维模型解译方法、终端及存储介质
CN112785678A (zh) 基于三维模拟的日照分析方法和系统
CN114972672A (zh) 输电线路实景三维模型构建方法、装置、设备和存储介质
Habib et al. Integration of lidar and airborne imagery for realistic visualization of 3d urban environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination