作者||陈钧涛
编辑||3D视觉开发者社区
✨如果觉得文章内容不错,别忘了三连支持下哦~
三维重建是计算机视觉领域的研究重点之一,利用视觉图像中的色彩、纹理、深度等信息进行三维空间中物体的形状和位置信息的恢复,对真实世界环境中的物体进行数字化。利用三维重建技术将目标物体构建为便于处理的数据模型,得到的三维模型能够被应用到后续的不同场景中。
近年来,消费级RGB-D传感器不断推出,如微软的Kinect,华硕的XTion以及奥比中光自主研发的3D传感器AstraPro、AstraS等一系列的产品,这些传感器价格低廉,体积适当,操作方便,并且易于研究者和工程师进行开发,让基于深度相机的三维扫描和重建技术得到了飞速发展。
ORBBEC Astra系列3D传感摄像头采用单目结构光技术,具有高精度、低功耗、响应迅速、稳定可靠的优点。开发人员可以通过选择不同的版本自由地在短距离、长距离和高分辨率RGB摄像机之间切换,以满足个性化需求,其能够覆盖近距离和中远距离的多种室内场景,帮助我们更精确、快速地构建三维场景。
同时借助ZORA P1 开发板,我们能够实现面向嵌入式应用的实时三维重建系统。通过将相机搭载在轻量级的嵌入式硬件设备上,用户能够在轻量化的平台上手持完成实时的三维重建,摆脱以往重建系统依赖大型硬件设备的物理限制,提供更好的用户体验。
目前市面上现有的室内三维重建方案存在着以下的问题及缺陷:
首先现有的一些VR实景方案基于360全景相机,用户仅能在固定视角进行浏览,并不能提供空间化的真实实景重建。在VR体验的沉浸感上远不如基于三维视觉重建得到的真实模型;其次现有三维重建方案往往需要独立运行在高性能计算机上,传感器设备需要直接与大型的硬件设备相连。这些设备难以移动,将极大地限制现有的三维重建系统的使用场景。
为了弥补这些缺陷,本项目以轻量化、移动化的应用模式以及实时渲染交互作为设计出发点,面向室内环境实时重建任务,具体设计了两套松耦合的手持RGB-D三维重建系统,包括:面向嵌入式应用的离线实时重建渲染系统与面向PC端的在线实时重建系统。
作为一种新颖的信息载体技术,三维重建模型以其高逼真度、强代入感、可修饰性等无可比拟的优势逐渐影响着人们的生活。借助三维重建技术,我们可以实现室内导航、VR游戏、VR看房等应用,从而满足人们从生活到娱乐、再到商业与工业制造等各个方面的需求。
本项目的室内环境实时重建系统结构如图2-1所示,图中包含了两套实时重建系统,由离线端、在线端以及服务器端三部分组成。
上述三个组件中,离线端和服务器端可以单独构成一个离线室内环境实时重建系统,其中“离线”一词是指在离线端完成数据采集与可视化交互;离线端也可和在线端构成一个在线室内环境实时重建系统,其中“在线”一词是指由在线端提供可视化的交互。以下是两套实时重建系统的具体介绍:
离线室内环境实时重建系统中,用户只需手持连接RGB-D摄像头的离线端对室内环境进行重建,就可以通过离线端所连接的显示器实时观察到重建的三维模型。消耗大量算力的三维重建通过网络连接至服务器完成,摆脱服务器物理限制。同时在开发板上实现模型的渲染和可视化,确保良好交互体验。以下是具体步骤:
首先由开发板离线端通过摄像头采集RGB-D数据,使用ROS通过网络传输发送至服务器端;服务器端获取RGB-D数据后,通过基于位姿联合优化的三维模型实时重建,得到优化后的位姿,并将其通过ROS发送至离线端;开发板离线端根据获取的位姿信息,对当前帧进行使用基于八叉树TSDF的三维模型实时融合渲染算法,对当前重建的模型进行可视化。
考虑到开发板算力有限,我们将其作为数据采集装置,设计了在线室内环境实时重建系统。用户可以使用离线端进行数据采集,实时在在线端看到重建效果。以下是具体步骤:
首先由开发板离线端通过摄像头采集RGB-D数据,使用ROS通过网络传输发送至服务器在线端;在线端获取RGB-D数据后,通过基于环视度量模型的三维模型实时重建与可视化,实时展示重建的三维模型,用户可以在在线端进行交互。
本项目的硬件构成如图2-2所示。左图为Astra Pro相机,中图为Zora P1开发板,右图为提供算力的工作站。
图2-2 系统硬件构成
本项目中的客户端(即开发板ZORA P1),采用了一种八叉树的数据结构对体素化表示的三维模型TSDF(Truncated Signed Distance Function)进行表示,并设计了加速的数据融合算法与网格模型渲染算法,最终能够在CPU上达到超过45Hz的实时模型融合和每秒一帧的三维网格模型渲染,有利于在嵌入式设备等无显卡加速的情景下实时展示三维模型。
八叉树地图的思想如下图3-1所示。在本项目中,每个节点包含8个brick,每个brick如图3-2所示[1],其中包含83个体、素,便于处理与后续渲染。
图3-1 八叉树示意图
基于上述的八叉树结构,我们采用的加速的数据融合算法步骤为:首先计算当前帧所有像素的3D点,找到相应的brick,将所有点对应的brick放入队列中;对这个队列中每个brick中的TSDF值进行更新。在渲染步骤中我们采用了改进的Marching Cubes算法并进行增量式渲染的优化得到三维网格模型。
在传统的运动估计中,判断估计的位姿是否可靠通常使用判断内点的个数,当内点个数少于指定阈值时就认为估计的位姿不可靠,而进行剔除。但是,当出现运动模糊或者拍摄到纹理信息较少的区域时都容易出现内点较少的情况。且可能出现这样的情况,有一些点在一帧中可以看到,另一帧可能就被其他点挡住了,从而错误地认为相机位姿估计不可靠。本项目中使用的环境度量模型[2],实现了对估计的位姿可以实现更鲁棒的错误位姿剔除。
本项目中使用了层次式的全局联合位姿优化,实现了实时的鲁棒位姿估计,避免了局部相机位姿估计误差的累积[3]。我们将连续输入的RGB-D图像划分为单独的片段,首先对片段进行局部的位姿估计。在得到局部位姿的估计结果后,选取片段内的第一帧图像作为该片段的关键帧,再以片段为单位,对所有片段关键帧进行全局的位姿优化。层次式全局联合位姿优化的过程如图3-3所示。
如此我们能够在进行位姿估计的同时,完成全局的回环检测,有效地避免误差的累积,提升重建的稳定性。同时由于去除了部分时序跟踪的依赖,不会出现在传统连续相机位姿追踪时的跟踪丢失问题,新输入的图像能够随时匹配结合至现有的重建结果中。层次式的处理方案能够减少优化求解时的未知量数量,保证了算法的运行速度,让算法能够实时运行。
图3-3 层次式位姿优化示意图
本项目考虑了两种具体的应用场景,设计了离线与在线的两套室内环境实时重建系统。其中离线系统主要考虑嵌入式的应用场景,用户可以只在离线端进行扫描操作就能进行室内环境的实时重建,并实时观察到重建效果,嵌入式设备有限的算力被充分利用以进行实时三维模型渲染;而在线系统则是在有好的算力的主机的情况下,在离线端进行扫描,在在线端完成与重建三维模型的实时交互。
以上系统在技术实现上依赖于ROS在多机系统上的通信,只保证不同的设备之间的网络连接,即可完成系统不同组件的数据传输。我们在获取RGB-D图像时尽可能保证RGB图像和深度图像的同步性,在离线系统的位姿传输环节设计了专门的位姿消息类型,保障了数据的精准高效传输。
我们尝试使用本系统对面积约为10平方米的室内区域进行重建。重建的目标场景中包含了较为复杂且包含更多细节内容的桌面,以及较为空旷的桌面,如图4-1所示。
图4-1 实验环境
图4-2为本项目中的离线系统重建的效果,图4-2(a)为开发板上实时渲染的模型截图,在整个手持重建过程中,可以流畅地渲染出当前重建的进度以及效果;图4-2(b)为开发板融合形成的模型效果展示;图4-2(c)为服务器优化整合后的最终模型。
图4-3为本项目中的在线系统重建的效果,上图和下图分别为两次重建实验的结果,在整个手持重建过程中,在线端可以流畅地渲染出当前重建的进度以及效果,并且显示相机拍摄的轨迹。可以看出相机的位姿估计较为准确地还原了拍摄时的运动轨迹,桌子相对位置与结构以及桌面物体细节得到很好的重现。
为了量化测试整个系统的性能,我们进行了量化的运行速率测试。为了确定具体的性能影响因素便于确定系统瓶颈,我们对比了每个环节独自在现有数据集上运行与在系统中实时重建的速率,结果如下表所示:
开发板离线端在数据集上进行融合的速率达11.6fps,然而在本项目的离线系统中融合速率与GPU服务器端重建速率保持一致,说明开发板离线端融合速率主要受限于GPU服务器端的重建速率。
以下是系统构成的展示,包含了对系统各个组件的介绍;嵌入式离线重建系统的实时重建演示,展示了开发板上实时渲染的效果以及最终重建的模型;在线重建系统的实时重建演示,展示了实时重建的效果与重建的模型;最后展示了在系统各个部件在给定数据集上的测试效果。
视频详情可见如下链接:
【3D视觉创新应用竞赛作品系列】轻量化、松耦合的手持RGB-D室内环境实时重建系统demo
想要了解该文章的更具体详情,可点击:
【3D视觉创新应用竞赛作品系列】轻量化、松耦合的手持RGB-D室内环境实时重建系统跳转阅读原文~
[1]Steinbrücker, Frank, Jürgen Sturm, and Daniel Cremers. “Volumetric 3D mapping in real-time on a CPU.” 2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014.
[2]K. Khoshelham and S. O. Elberink, “Accuracy and resolution of kinect depth data for indoor mapping applications,” Sensors, vol. 12, no. 2, pp. 1437–1454, 2012.
[3]Dai, Angela, et al. “Bundlefusion: Real-time globally consistent 3d reconstruction using on-the-fly surface reintegration.” ACM Transactions on Graphics (ToG) 36.4 (2017): 1.
版权声明:本文为奥比中光3D视觉开发者社区特约作者授权原创发布,未经授权不得转载,本文仅做学术分享,版权归原作者所有,若涉及侵权内容请联系删文
3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~
也可移步微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦。