三维场景重建在虚拟现实等领域有着重要的应用,其实现方法多种多样,包括基于视觉的同时定位与建图(Visual Simultaneous Localization and Mapping, VSLAM)【1-2】以及其他基于深度学习的方法,其实现方法仍然是研究热点。就原始数据而言,有基于RGB-D图像、视频,基于激光点云等,原始数据的不同导致其处理方法也不相同。RGB-D图像相较激光点云获取简单,成本较低。KinecktFusion【3】算法利用Kinect获取含有噪声且不完整的深度图像实现了稠密三维模型的重建,该算法使用阶段符号距离函数(TSDF)(Truncated Signed Distance Function)【4】来表示体素,利用原始深度图来更新基于体素累计更新的全局体素模型,此算法具有开创作用,随后被许多人改进。对于基于特征点的相机位姿估计方法鲁棒性不足的问题,方硕【5】提出了利用RGB相机与深度相机内参的相对位姿完成RGB数据与深度数据的精确对齐,和改进的引入3D描述子进行联合2D-3D特征的相机位姿估计方法。邹纪伟【6】提出了超体素融合分割策略,将室内点云数据体素化,根据特征描述及距离度量,将体素化的点云聚类为超体素,再做超体素的融合实现点云分割,最后借助Geomagic Studio软件完成重建。杨耀聪【7】利用对重建对象的环绕拍摄视频,与事先建立的三维目标模型,通过寻找与视频中匹配的目标位姿来重建目标的3D模型,使用SIFT特征将目标的二维目标形状与预习建立的三维模型各视点的CGI(Computer Generated images)进行匹配,再对三维模型以ICP【8】嵌套对此姿态进行微调,取得更为准确的姿态,最后使用TSDF算法融合三维图像目标,使用移动立方体算法【9】重建三维目标模型。
基于点云数据的三维场景重建也被广泛研究,基于点云的三维场景实现步骤可大致分为数据处理、点云配准、点云分割、模型构建等。VSLAM方法对点云数据进行局部特征抽取,再基于特征进行配准,可以大幅减少点云数量,提高配准的鲁棒性。刘浩敏等人实现了使用单目摄像头的VSLAM技术【10】,也总结了VSLAM算法的局限:过于依赖场景特征,其本质是由于使用了过底层的局部特征(点特征),因而只适用于稀疏的三维点云。由于三维点云的无序性和传感器的噪声,点云局部特征的描述工作相对图像特征要困难很多。随着深度学习技术的兴起,基于数据驱动的模型对点云局部特征的几何结构能够进行有效的描述,并在特征空间上能够进行聚类,效果优于现有的手动设计的描述子【11】。在二维光度图像或三维体积图像中,表示的每个元素(即像素或体素)在其相邻元素之间具有已知的局部依赖性,可以分别表示为二维和三维网格,从中可以定义卷积。而点网数据不具有局部依赖性,这使得通过卷积估计空间梯度不适用。Yasuhiro Aoki等人提出了将点网解释为成像函数的概念【12】,从而将图像对齐的方法应用与点云配准的问题,他们在经典Lucasamp;Kanade(LK)算法的基础上将其改进为一个递归神经网络,创新性地提出了PointNetLK,有效避免了点网表示法无法通过卷积来适应梯度估计的问题。朱一帆等人提出了基于点云局部几何特征的稠密点云配准方法【13】,采用法线对齐的径向特征(normal aligned radial feature,NARF)作为特征点检测和描述方法,使用 3D 卷积网络对 TDF(Truncated Distance Function,TDF)进行特征抽取,通过K维树搜索完成两帧点云的特征匹配,最后通过RANSAC算法进行位姿恢复。Vinit Sarode等人【14】提出了PCRNet及其迭代形式,使用两个多层感知机MLP分别需配准的两个点云的特征,将其合并后通过多层全连接映射到一个七维向量,用以表示平移向量和旋四元数。实验表明,iterative PCRNet对于噪声的鲁棒性明显高于PointNetLK。基于数据驱动的模型对于数据集的要求很高,神经网络训练所需的数据集必须非常庞大,才能得出可靠的权重,而三维点云数据集和RGB-D图数据集的采集收集复杂费时。由此,梁振斌提出了一种获取关键点对的方法【15】,利用深度神经网络训练得到一种高精度高准确性的描述子,并以此得到深度学习训练所需的数据集。在三维模型构建中,使用三角网格表示三维物体是一种常用方法,具有简单实用,易于渲染和添加纹理的特性。但由于测量设备和技术的限制以及待测模型本身的限制,导致重建模型的一些区域不完整,重建网格存在孔洞。为了解决这一问题,国内外学者提出了不少有效方法,Davis 等【16】利用体素扩散的算法实现孔洞修补,该算法首先定义一个唯一的距离函数,其 0 值表示曲面,通过体表示的方法扩散直到将所有的孔洞修补完整为止。刘咏梅等人【17】提出了一种基于边界特征增长的孔洞修补算法。本算法按照孔洞边 界特征增长的方式,根据孔洞边界点的几何位置和孔洞边界三角形的法向信息合理的安排插入点的位置,并对改变的孔洞进行合法检查,合理地将一个孔洞转为两个子孔洞,从而产生新的三角网格。
最新研究:徐景中等人【18】针对迭代最近点(ICP)算法容易陷入局部最优的缺点,提出了一种基于线特征和ICP算法的地面建筑物点云自动配准方法。该方法首先基于正态一致性对点云进行平面分割。其次,利用alpha形状算法提取点簇的轮廓,通过分割和拟合得到特征线段。然后,以特征线对为配准基元,以线对之间的夹角和距离作为相似度度量进行同名特征匹配,实现建筑物云点的粗配准。最后,以粗配准结果为初始值,采用ICP算法实现建筑物点云的精细配准。Alsadik【19】提出了一种基于多包围扫描MSS图像的方法来克服在复杂情况下点云配准的困难。多方位扫描法是指利用激光扫描点云生成多视角图像。这些多视角图像将为每个扫描站提供不同的视点,以克服视点失真,此方法实现了在无目标情况下的的点云配准。Hang Yang等人【20】在做室内场景RGB-D帧配准,考虑到室内环境中存在大量的人工平面,且平面匹配比点匹配更为稳健,提出了一种基于平面对应的三维点云配准框架。该框架由两部分组成:一部分是以原始点云为输入同时进行平面分割和匹配的三维平面匹配网(3DPMNet),另一部分是利用3DPMNet提取的平面对应关系进行点对面匹配。ZhijianQiao等人【21】提出了一种基于端到端深度学习的点云配准方法。引入改进的LPD网络进行特征提取,并与图网络进行融合,然后利用自注意机制增强点云的结构信息,设计交叉注意机制增强两个输入点云之间的对应信息。在此基础上,采用基于软指针的方法生成虚拟对应点,实现SVD方法解决点云配准问题。David BOJANIĆ等人【22】将本来为三维分割任务创建的RSNets【23】的方法应用于三维配准任务,并将其与当前最先进的算法PCRNet【24】进行了比较陈秋敏【25】提出了将LovaszSoftmax损失函数用于模型训练的方案b并设计了3D-ResNet网络,用来实现基于多视图的物体三维重建,实现了三维重建效果的提升。
【1】孙博雅. 移动机器人 SLAM 技术[J] . 电子技术与软件工程, 2018, (2):P.95-95.
Sun Boya. Mobile robot SLAM technology[J] . Electronic technology and software engineering, 2018, (2):P.95-95.
【2】Zou D , Wu Y , Pei L , et al. StructVIO : Visual-inertial Odometry with Structural Regularity of Man-made Environments[J]. 2018.
【8】陈春旭, 漆钰晖, 朱一帆,等. ICP 配准算法的影响因素及评价指标分析[J]. 导航定位与授时, 2018,005(005):67-72.
【9】Lorensen W E, Cline H E. Marching cubes: a high resolution 3D surface construction algorithm[C] //Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM Press, 1987: 163-169
【10】刘浩敏,章国锋,鲍虎军.基于单目视觉的同时定位与地图构建方法综述[J].计算机辅助设计与图形学学报,2016,28(6):855-868
【11】Renaud Dubeacute;, Andrei Cramariuc, Dugas D , et al. SegMap: 3D Segment Mapping using Data-Driven Descriptors[J]. 2018.
