【PCL专栏】三维点云空洞修复介绍(一)

引言

原理:三维激光扫描是利用激光回波获取时间差或者相位差,探测物体空间坐标的一门技术,计算扫描目标到扫描中心距离的一种可非接触式主动测量方式,能够快速地获取物体表面三维空间坐标。
出现空洞的原因:由于遮挡、光反射、材料表面的通透性、传感器的分辨率和视角,往往会导致点云缺失;同样点云具有无序性、散乱性、海量性等特点,使得点云恢复充满挑战。
产生影响:数据采集完成之后,点云还要进行一系列的处理,例如去噪、平滑、配准、融合。这些操作会大大加剧点云的缺失。影响点云重构的质量,还会影响三维模型重建以及局部空间信息提取等后续处理点云工作,也会对后续土木工程中有限元分析、建筑行业的快速成型以及正逆向建模的钢结构安装等工作产生重要影响。
点云修复(3D shape completion)方式划分:基于几何、基于模型检索、基于深度学习。
基于几何:修复方法来自部分输入点云数据的几何形状提示来完成对点云缺失的修复,无需任何外部数据。
基于几何-三角网格化点云模型修复or散乱点云模型修复
基于模型检索:将点云转化为模型数据,通过部分输入模型数据与大型形状数据库中的模型进行匹配来完成对于扫描模型的修复。
基于模型检索-直接检索or零件组装or变形对齐
基于深度学习:使用参数化模型(深度神经网络)完成点云的修复,修复方法将部分点云作为输入直接映射到完整物体点云,从而提供了快速推断和更好的概括性。

点云缺失原因 特点
扫描盲区 纹理形态复杂,多源数据修复
细节缺失 单个物体确实但具备重复性,修复度高
外物遮挡 纹理形态复杂,修复难度高
镜面反射 表面纹理较为单一,修复性高
物体自遮挡 纹理简单修复性强
回波吸收 几何形态复杂

基于几何

三角网格化点云修复

基于网格的空洞修复应用较为广泛,其主要思想是以声称的多边形网络作为点云修复的边界进行数据的修复。算法流程:
(1)寻找孔洞边界,提取边界点的坐标;
(2)填充孔洞,对于孔洞边界临近点进行三角分析,或者拟合临近点曲面对缺失部分进行曲面拟合;
(3)对曲面进行离散化采样,随机生成孔洞内部点。
Carr将多谐波径向基函数(radial basis functions,RBF)应用于网格修复点云表面拟合的问题,使得点云重建平滑的流行表面并修复不完整的网格。将点云的表面隐式定义为适合RBF的零集。能够通过单一RBF对包含上百万点云的大型数据集进行建模。RBF函数形式:
s ( x ) = p ( x ) + ∑ i = 1 N λ i φ ( ∣ x − x i ∣ ) s\left( x \right) =p\left( x \right) +\sum_{i=1}^N{\lambda _i\varphi \left( \left| x-x_i \right| \right)} s(x)=p(x)+i=1Nλiφ(xxi)
其中, p p p是低阶多项式;基本函数 φ \varphi φ [ 0 , ∞ ) \left[ 0,\infty \right) [0,) 上的实数函数,通常是无界且非紧实。 x i x_i xi点被称为RBF的中心。
Reconstruction and representationof 3D objects with radial basis function[M] (2001)】提出了一种与锐度有关的孔填充修复方法,对于恢复清晰的特征有出色的修复效果。
A sharpness dependent approach to 3D polygon mesh hole filling[Z] (2005)】通过RBF扩展孔的边缘相邻信息来填充孔洞,但是该修复方法仅适合小区域避免插值过程中多变量涉及的临界效率问题。

散乱点云模型修复方法

一般过程:
识别孔洞边界,根据边界点特征进行离散化曲面构建;通过曲面上的点,进行点云的修复。孔洞识别需要对空间进行划分,主要有三种方式:octree,kdtree和栅格划分。通过对散乱点云建立空间拓扑关系,进行空间索引,识别孔洞边界,进而对点云进行修复。
A planar-reflective symmetry transform for 3D shapes(2006)】提出利用平面反射对称变换,使用蒙特卡洛采样算法来计算曲面的变换,增加了迭代优化算法,精确地找到变换最大的局部值,增加了检索效率。
传统几何的修复方法存在的问题:

  • 点云三维格网建立过程复杂
  • 点云数据具有无序性和散乱性,三维点云投影到二维实践理论会造成大量拓扑关系丢失
  • 目前提出的算法只针对个别模型或者场景

基于模型

基于模型检索的修复方法是通过部分输入数据与大型形状数据库中的模板进行匹配完成修复,检索的关键是构建有效检索的特征。

基于文本标注的模型检索

  • 人工对模型进行添加关键字
  • 主观性强
  • 效率低
  • 不适合智能、高效的修复方式

基于内容的模型检索

是以三维模型中特征为依据,检索出与输入数据相似的数据库中模型的一种修复方法。
直接检索:从数据库中直接检索适合的上下文模型,对检索到的模型进行扭曲变形,使输入数据相匹配。2005年Pauly从数据库中检索到的上相似模型,对数据库中的模型进行扭曲,使得到的数据与输入数据一致,最终获得合并的3D形状同时定义了与形状匹配的罚函数,以及可以计算上下文模型与输入数据的非刚性对其的优化函数。
零件组装:使用低质量的用户级扫描设备可以进行单次扫描重构几何模型。零件组装是3D形状数据库中存放构成模型的零件。将输入数据的局部坐标关联到每个零件,并且可以从数据库中探知零件所处的位置以及分布的方向。
变形对齐:检测和分割场景中的对象实例,在大型数据库中检索相似的模型,变形和组装检索的模型以完成模型的修复。随着基于数据驱动的神经网络的发展,该方法可以预测对象的姿态。
Aligning 3D models to RGB-D images of cluttered scenes[C] (2015)】中将3D模型与混乱场景的RGB-D图像对齐,使用来自数据库中相应的3D模型来表示RGB-D场景中的对象,将场景中的实例对象分割出后,用包含合成对象渲染的图像中像素表面的法线 训练的卷积神经网络进行预测对象的姿态。
随着深度学习的发展如今已经出现根据文本、草图、实例等不同的数据类型实现三维模型的多模态模型检索的修复方法。
存在问题:
(1)需要分割图像和识别对象类别的先验知识;
(2)需要人工输入相应的点,确保非刚性对齐的准确性;
(3)无法保障输出的物体是与扫描仪完全扫描的数据。
Shape completion from as Single RGBD image[J] (2017)】提出了Morfit的修复方法,该修复方法利用曲线驱动的拓扑几何从不完整的点云进行交互式曲面修复。能够从具有尖锐特征的3D对象不完整和系数扫描中重建表面,该修复方法在相邻曲线轮廓之间进行最佳的插值,并将曲面捕捉到输入点。该修复方法是在用户编辑和修改之间进行交互,但需要大量人工操作,导致效率低下。

参考:赵江洪,孙铭悦,王殷瑞,等.三维点云孔洞修复方法综述[J]. 测绘科学,2021,46(1):114-123.

你可能感兴趣的:(PCL专栏,PCL,点云修复,学习)