APP下载

基于点绘制的倾斜摄影点云场景渲染

2021-06-03陈嘉炜

现代计算机 2021年9期
关键词:管线可视化像素

陈嘉炜

(四川大学计算机学院,成都610065)

0 引言

随着无人机技术的成熟,倾斜摄影测量技术的应用日益普及,成为了重要的测绘手段。传统的航空摄影在垂直方向上进行对场景、地形等对象进行拍摄,只能获得场景顶部的颜色和高度等信息,难以用于生成三维场景。而倾斜摄影技术通过在平行平台上搭载多个不同角度的传感器获取场景的多角度信息,从而可以利用丰富的三维信息构建三维场景[1]。倾斜摄影技术弥补了传统航空摄影方式的不足,更真实地反映了摄影对象的实际情况,因此被广泛应用与地理信息系统、城市管理、环境监测等领域。

大规模场景的可视化是处理和利用倾斜摄影所获取的场景信息过程中的一个关键环节。倾斜摄影所获得的场景信息通常以三维点云数据的形式存储。对三维点云数据进行可视化目前通常采取的方案是将三维点云数据通过三角网格计算和纹理映射等步骤转换为三维网格模型后,再通过较为成熟的三维网格模型可视化方案来实现可视化[2]。但是该方案中模型转换过程的时间消耗和算力消耗极大,且一旦对原生点云数据进行更新则需要重新进行模型转换,这样的方案对于调整和优化点云过程非常不利。因此本文提出一套通过倾斜摄影获取大规模点云场景信息后,再通过点绘制技术可视化点云场景的方案。

1 大规模点云场景数据采集

本文使用深圳大疆创新科技有限公司生产的精灵Phantom 4 RTK型无人机进行倾斜摄影测量,该型号无人机是一款小型多旋翼高精度航测无人机,机内搭载厘米级导航定位系统和高性能成像系统,并支持实时动态载波相位差分技术(Real Time Kinematic,RTK),在大规模城市场景低空测量的应用场景下有良好的适用性[3]。精灵Phantom 4 RTK型无人机将场景的位置、高度和颜色等多维度场景信息于镜头参数一并存储在每张输出的照片上。因此每张照片都拥有进一步处理所需要的所有信息,可以直接交付至后续环节进行处理,有利于提高整个场景数据采集的效率。使用精灵Phantom 4 RTK型无人机进行大规模场景数据采集的主要工作流程如下:

(1)空域申请。使用无人机进行倾斜摄影测量需要遵守当地法律法规,依照规定进行相关审批手续的办理,并在飞行实施前提出申请。

(2)航线设计。无人机航线设计是制作高质量影像图的关键。良好的航线设计涉及明确的范围划分、安全有效的航高和合理的重叠率等因素。其中重叠率是指两张照片之间重叠部分的比例,分为航向重叠率、旁向重叠率,重叠率对自动建模软件生成的三维场景精度有显著的影响。本文使用深圳大疆创新科技有限公司提供的DJI GS RTK App完成针对四川大学望江校区的无人机航线设计,测量区域面积约为3.29平方千米。其中航高和重叠率分别设置为150米和80%。

(3)飞行测量与数据接收。利用DJI GS RTK App设置好航线与相关参数后即可利用该软件相关功能直接在测量现场进行飞行测量工作,并利用OcuSync图传系统回传无人机获取的影像信息与定位定姿系统(Position and Orientation System,POS)信息。POS系统通过全球定位系统(Global Positioning System,GPS)和惯性测量装置生成传感器空间位置和姿态相关数据,这些几何空间信息是三维场景建模的重要依据。

在获取到倾斜摄影测量数据后,本文采用三维实景建模软件ContextCapture对无人机采集到的原生数据进行处理与建模,生成大规模三维点云场景。该流程主要分为以下几个步骤:

(1)数据预处理。数据预处理主要针对影像数据,包括格式转换、对比度调整、曝光调整和降噪等操作。数据预处理的目的是使图像的层次分明、色彩鲜明且色调一致,从而减小生成场景的误差并提升生成场景的视觉效果。

(2)数据导入。因为ContextCapture一次处理流程可处理数据不超过30G,故本文对预处理数据进行分块处理,每个数据块含约一千张照片,数据量控制在8G左右。

(3)数据处理与模型生成。该环节主要通过多视角影像密集匹配获得倾斜图像的同名点坐标,从而将大量分散的点云数据拼接在一起形成大规模场景。ContextCapture采用了基于Structure from Motion(SfM)技术的三维重建方案,其多基元、多角度图像匹配方法可以有效地排除原生数据中的大量冗余信息,生成精确描述原场景的点云场景模型。

经过以上几个步骤,本文实现了大规模点云场景数据的采集。

2 基于点绘制的实时渲染

2.1 算法思想

为了获得更好的视觉效果,本文采用了表面飞溅(Surface Splatting)算法作为点绘制渲染算法[4,5,6]。传统的基于点渲染方法使用渲染管线内置功能,用一定大小的像素块来表示一个点。这种方法无法很好地表示模型表面的几何变化。同时,因为点的大小不随视距改变,所以视距较远时会发生像素块的堆叠,视距较近时会出现空洞。而表面飞溅算法将每个点视为面元(Surfel),即一个三维空间中有朝向的圆片,通过向渲染管线输入大量面元信息,在渲染管线中重建并拟合三维模型原有的表面信息,从而获得接近网格模型渲染的视觉效果。

2.2 算法实现

Surface Splatting算法的实现由以下三遍渲染管线流程组成:

(1)可见性渲染管线。在该流程管线中计算当前视角下的场景深度图,生成深度纹理。该深度纹理主要用于在第二遍管线流程中剔除被遮挡的面元而保留一定深度范围内的面元。

(2)混合渲染管线。在该管线流程中利用硬件加速的混合(Blending)功能实现加权平均,计算当前屏幕空间内每个像素的颜色和法线等属性值,并输出为相应的纹理。

(3)屏幕渲染管线。在该管线中利用前两遍管线获得的纹理信息,完成光照计算,得到场景绘制的最终结果并输出至屏幕。

该算法多管线流程的框架与延迟着色(Deferred Shading)和延迟光照(Deferred Light)等成熟的实时渲染框架相同,所以可以与许多成熟的光照计算技术和后处理技术相结合,从而在三维点云模型上实现与三维网格模型近似的渲染效果。

从原理上讲,该算法主要完成了两部分工作:

(1)将面元投影至屏幕空间,形成二位片段。

(2)对被多个片段覆盖的像素进行属性的加权平均,获得该像素的实际属性值。

下面的小节将具体说明这两部分工作的实现。

2.3 面元屏幕投影

利用可编程的渲染管线可以实现高效的面元屏幕投影。基于点绘制时,利用图形应用程序接口(Application Programming Interface,API)内置变量或几何着色器(Geometry Shader)可以直接将一个面元光栅化为正方形像素块。因此可以结合视锥体信息、视口信息和顶点属性(主要是深度和半径)确定一个相对大小,生成所有可能被面元投影覆盖的片元。像素块的大小由以下公式确定:

其中hv为视口高度,fovy为视锥体的垂直视场角,zeye为面元在观察坐标系下的线性深度值。

此后,利用观察坐标系下的面元法向量、面元圆心位置和屏幕中空间中的片元坐标可以计算出片元对应的面元平面上的顶点在观察坐标系下的位置,从而计算该片元的实际坐标值及其对应点与面元圆心的距离。假设片元坐标为(x,y),则对应点在近平面上投影的坐标(观察坐标系下)为:

其中,wn和hn为近平面的宽和高,wv和hv为视口的宽和高,n为近平面到视点的垂直距离。由视点向qn发射线可与面元所在平面相交得到对应顶点q。由面元法线垂直于面元所在平面易知,其中c为面元圆心位置。由此可解得该片元对应顶点在观察坐标系下的坐标为通过判断q与c的距离是否小于面元半径可以剔除位于面元外的冗余片元,同时q的线性深度(即z分量)也将作为该面元的实际深度进行后续计算。

2.4 属性加权平均

面元向屏幕投影后往往会出现大量互相交叠的区域,为了准确地渲染这些区域本文采用了椭圆加权平均(Elliptical Weighted Average,EWA)纹理滤波器来拟合三维曲面的颜色和法线等属性值。EWA滤波器在屏幕空间采用三维重建核来计算局部空间中的多个面元对一个具体像素的权重。本文采用面元圆心的相对距离作为面元上任一点的权重,即:

其中k为面元上任一点,dk为该点到面元圆心的距离,rs为面元的半径。则任意像素的属性值Ep可由下式求得:

其中wk为对应片元的权重,Ek为对应片元的属性值。

通过图形API的接口分别设置渲染管线内置混合功能的属性值(RGB通道)和权重(A通道)的混合因子可以实现利用硬件加速高效地在GPU中完成以上加权平均的计算过程,避免了GPU与CPU的通信消耗,从而兼顾渲染效果和渲染效率。

3 实验结果

本节将会展示利用无人机获取到的四川大学望江校区模型及其基于点绘制的结果。实验设备为:

CPU:Intel Core i3-6100 CPU@3.70GHz

RAM:12.0GB

System:Windows 10

GPU:NVIDIA GeForce GTX 650

图1 分别展示了近距离视角下分别采用传统点绘制方案和本文方案得到的点云场景渲染结果,传统方案结果中出现了明显的表面破碎现象,本文方案结果中则保持了良好的表面连续性。

图1

图2 分别展示了远距离视角下分别采用传统点绘制方案和本文方案得到的点云场景渲染结果,传统方案结果中出现了较为明显的走样现象,本文方案结果中则保留了较好的局部细节。

4 结语

图2

本文实现了倾斜摄影场景数据的获取与可视化,对点云场景的直接可视化视觉效果难以超越经过点云配准、三维重建等操作后生成的三维网格模型的可视化效果,但是原生数据经过简单处理后的快速渲染有利于对原生点云数据进行可视化调教,贴近实际应用。

猜你喜欢

管线可视化像素
城市道路施工中地下管线保护措施
像素前线之“幻影”2000
数据可视化设计在美妆类APP中的应用
市政工程施工中地下管线工艺探索
1,4-丁二醇加氢进料泵管线改造
思维可视化
城市地下管线探查技术及方法研究
“像素”仙人掌
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学