大场景中的实时密集重建仍面临一些挑战。有两个主要的未解决问题导致应用受限。首先,由于视差不足,大场景或远距离目标的3D重建难以获得稳定的精度。其次,随着大场景数据量的增加,由于计算复杂度与优化参数数量之间的二次关系,无法容忍定位和密集深度估计过程所涉及的时间成本。为了解决这些问题,提出了一种在嵌入式GPU上运行的单目重建系统,该系统在大地形场景的表面重建中兼顾了效率和密度率。我们在低成本、小型无人机平台上实现了该系统,该方案可以促进地形3D重建的更广泛应用。
系统总览
为了提高所提出的 3D 重建系统的效率和可维护性,该框架通过使用基于分布式机器人操作系统 (ROS) 的多处理架构分为几个模块。我们系统的管道如图1所示。它由四个处理模块组成:图像采集和预处理模块、位姿和尺度估计模块、密集深度估计模块和全局融合模块。每个处理模块都分配给一个独立的线程。
图1 多处理系统的框架
在这个管道中,模块可以并行执行其功能并通过数据队列相互交互,数据队列填充了基于ROS的回调函数。图像采集与预处理模块实时采集图像,并通过无畸变和直方图均衡对图像进行预处理,以实现稳定的光度测量。基于ROS的消息传递和同步的工作流程如图2所示,这是一个使用ROS通信基础设施松散耦合的进程的对等网络。该框架可以在执行通信和消息传递时平衡计算负载。
图2 基于ROS的消息传递和同步工作流程
多视角立体匹配
由于深度估计的分辨率取决于相邻搜索平面之间的距离,因此精心选择深度平面对深度估计精度至关重要。所选深度搜索平面的比较如图3所示。与选择与成像平面平行的平面(即图3中的 (a,c))的其他方法不同,我们的方法允许通过动态拟合深度的空间分布来以显着的灵活性选择平面。
图3 ( a ) 中 的灰色平面为选择的搜索平面,与成像平面平行,( b ) 为我们方法选择的平面。平面灰度值表示深度值,点越暗,深度z越大。选择搜索平面的两种不同方式可以导致沿搜索方向的不同深度分布,如 ( c , d ) 所示
BA计算出的关键点的三维坐标作为先验预测场景中深度的空间分布。图4显示 ORB-SLAM3 提取的关键点分布分为四个区域。
图4 均匀分布的 Oriented FAST 和 Rotated Brief (ORB) 特征点分为四个区域
并行计算
由于像素间匹配代价的计算是相互独立的,为了方便在线计算,我们将GPU中的每一次代价计算都实现为一个独立的线程来加速处理。如图5所示,当前匹配图像网格由多个CUDA块组成,每个CUDA块由多个线程组成
图5 GPU中计算结构的组成。左边的黄色框代表块数组,右边的绿色框代表线程数组。所有块和线程都可以访问设备内存,而同一块中的线程可以访问共享内存
评估数据采集
双目相机获得的深度误差在大场景中是不可忽略的。因此,很难获得真实大场景的深度ground-truth。我们提出了一种基于Gazebo 3D机器人模拟器生成的合成数据评估深度精度的实验方法。为了使合成数据更加逼真,虚拟场景由阳光条件和通常在现实世界中观察到的某些纹理(例如草、沙子和岩石)构建,如图6所示。此外,该环境下的模拟RGB-D传感器可以提供与每个RGB 图像对应的完美深度地面实况。
图6 草 ( a )、沙子 ( b ) 和岩石 ( c ) 的纹理是在现实世界中捕获的。通过应用合适的高度图,我们可以将所有纹理融合到一个完整的混合地形场景中。采用淡入淡出融合消除图像拼接缝。阳光条件也适用于使合成数据更加逼真。最终合成场景的顶视图显示在 ( d ) 中
如图7 a、b所示,通过高度图生成器获得空间分辨率为1m的 16位灰度深度图。这个深度图使我们能够在Gazebo模拟器中构建一个大小为8000m× 8000m的真实比例的不平坦地形3D模型。我们使用配备RGB-D相机的模拟无人机飞越现场并获取航拍数据。RGB 图像用于系统输入,深度图用于精度评估。此外,给出了ground truth 姿势。通过对RGB相机中的传感器噪声进行建模,可以模拟合成数据中的真实世界伪影。此外,仿真环境可以提供风的物理特性,使无人机能够在可控范围内微弱摆动。
图7选定区域(a)位于喜马拉雅山中部,(b)是其对应的由terrain.party生成的深度图。( c ) 显示了sUAV,它配备了RGB-D摄像头,用于RGB视频捕获和深度地面实况数据收集。摄像头的深度采样距离不受限制。( d ) 是用于系统输入的注册彩色图像的示例,( e ) 是用于精度评估的地面实况深度图
在摄影测量地形测绘任务中,通常会针对各种类型的地形在不同的地面高度拍摄航拍图像。考虑到这一点,我们以无人机飞行高度和地形平均高差为变量通过数据集进行精度评估。数据集包含同一场景在不同地面高度(800m、1000m和1200m)捕获的航拍图像。我们基于图8所示的高度图为该数据集构建了一个地形。
图8 高度差分别为100m、200m和300 m的三个合成地形
本研究生成的3D点云最初来自2D深度图。通过相机位姿应用映射变换,并使用TSDF边缘化冗余估计,我们可以构建整个场景的全局地图。深度图稳定性(即在不同关键帧中对同一空间对象点的估计的一致性)在这一步中起着重要作用。我们将所有深度图投影到空间,如图9所示,以评估点云稳定性。
图9 四种方法的全局映射:( a ) 提出的方法 ( b ) 四叉树映射 ( c ) REMODE,和 ( d ) 概率映射。所选区域显示点云的细节
在本实验中使用的无人机平台配备了超高清摄像机,以3840 × 2160分辨率和每秒30帧的速度获取航拍图像。此外,还记录了 GPS和IMU值,使我们能够通过近似地高和俯仰角(相机光轴与水平面之间的角度)对数据进行分类。无人机多次飞行以获取感兴趣区域的航拍图像,包括城镇、山区和混合区域场景。这些场景位于天津九上顶山,面积约9平方公里。图10显示了谷歌地球获取的卫星图像和无人机获取的航空图像的示例。
图10 城镇、山区和混合区场景的卫星图像和低空航空图像示例
在模拟场景中,74.1%的深度估计错误率低于1%。在全局映射中,93.462%的估计点云的绝对误差距离小于0.9%。在真实场景中,我们估计的点云中超过81.27%与Photoscan的结果相差不到5 m。所提出的方法可用于各种地形场景,并且在准确性和效率方面优于最先进的基于嵌入式 GPU 的实时3D重建方法。
源自:Lai, Z.; Liu, F.; Guo, S.; Meng, X.; Han, S.; Li, W. Onboard Real-Time Dense Reconstruction in Large Terrain Scene Using Embedded UAV Platform. Remote Sens. 2021, 13,2778. https://doi.org/10.3390/rs13142778