英伟达研究员探索3D扫描重建的点云补全解决方案
点云补全方法
(映维网Nweon 2023年11月02日)深度摄像头和激光雷达扫描仪能够捕获到空间中各种对象的三维几何结构。但当在现实世界中使用时,各种因素可能会极大地限制仅从数据中捕获和重建对象完整3D几何形状的能力。
具体来说,诸如自遮挡或传感器分辨率限制等因素可能导致扫描仪捕获不完整或部分采样的3D对象。为了充分理解三维世界,必须解决数据不全和缺失的对象部分。目前的点云补全方法在处理域内(in-domain)形状方面表现出令人印象深刻的结果。
然而,由于缺乏具有各种形状的大规模数据集,相关方法在处理其域外(out-of-domain/OOD)形状类时经常面临困难。对广泛3D数据收集的需求向开发一个能够有效完成需要深度感知的现实场景中遇到的各种对象类别的模型提出了重大挑战。
在名为《Point-Cloud Completion with Pretrained Text-to-image Diffusion Models》的论文中,英伟达和巴伊兰大学的研究人员利用预训练的文本到图像扩散模型来解决OOD对象的这一挑战。
实验证明,即便从未就3D数据训练过,相关模型都可以用于文本引导的3D形状生成。这是通过SDS loss来完成,由SDS loss测量3D形状渲染图像与先前模型的一致性。团队研究的关键思想是,由于文本到图像的扩散模型是围绕大量不同的对象训练,它们包含了关于对象形状和纹理的强先验,而所述先验可以用于补全缺失的部分。
例如,给定一个局部点云,知道它对应于一把椅子可以指导补全过程,因为这个类的对象预计会表现出特定类型的对称性和部分。所述方法的关键挑战是将扩散模型的先验信息与观测到的局部点云相结合,以生成忠实于局部观测的完整形状。
研究人员介绍了一种利用SDS-loss在文本和点云输入约束的引导下精确补全对象表面的点云补全方法SDS-Complete。为了与输入点保持一致,他们使用Signed Distance Function(SDF)表面表示,并约束SDF的零水平集通过输入点。SDS-Complete能够克服使用OOD对象的限制,因为它带来了预训练的文本到图像扩散模型的语义。这使得团队能够从部分观测中生成准确而逼真的3D形状。
实验证明了SDS-Complete可以从两个真实世界的数据集生成具有不同形状类型的一系列对象的补全:含有各种不完整真实世界深度摄像头扫描的Redwood数据集;以及激光雷达扫描的KITTI数据集。对于所述两种情况,团队提出的解决方案都优于最先进的方法。
团队的总体方案如上图所示,而它解决了在给定深度传感器捕获的不完整点云测量值的情况下补全表面的问题。输入测量(右上)包括一组3D输入点P = {p1, p2,…, pN}和嵌入不完整对象y的文本描述。
假设P是由深度传感器(如深度摄像头或激光雷达传感器)捕获,并且传感器的内部参数已知。研究人员进一步假设点云从原始的扫描分割,即P中所有的点都属于由y描述的一个对象。
传感器射线i与二进制值掩模Mi∈{0,1}相关,表明这种射线是否在属于P的点处与表面相交。如果Mi=1,则射线i同时与从传感器到表面Di∈R的射线距离相关联。
最后,对于摄像头采样过程,假设原始的非分段扫描包含来自世界地平面的点,并用于估计平面的参数l∈P3。
团队的方法对由神经符号距离函数fθ: R3→R和神经颜色函数cφ: R3→R3表示的完整对象表面进行优化,其中θ和φ表示神经函数的学习参数。
这两个函数形成一个神经辐射场,可以使用3D体三维函数的渲染图像进行优化。另外,目标表面直接由fθ定义,并作为其零水平集。为了约束曲面通过输入点,研究人员使用以下点云损失来鼓励所述点的带符号距离为零:
在每次迭代中,从传感器角度渲染亮度场。每个渲染像素i与其期望的渲染不透明度和到表面的距离相关联。研究人员使用输入的不透明度和距离来约束优化的表面,以匹配掩模和深度传感器的观测结果:
其中K是传感器射线的数量。为了约束fθ形成有效的SDF,他们应用了Eikonal损失正则:
其中Peik既包含p点,又包含感兴趣区域的均匀采样点。尽管Lm、Ld、Lp和Leikonal会约束优化表面以匹配传感器捕获的信息,但损失不会为深度传感器无法捕获的被遮挡缺失内容提供任何信号。
为了补全表面的未观察部分,需要语义先验。为此,团队利用输入文本嵌入y和预训练的文本到图像扩散模型Φ。目标是使用Φ为未观察到的部分提供语义先验,这样对象的任何渲染图像都将与y兼容。
所以,研究人员使用辐射场渲染随机物体视图,并将SDS loss与嵌入y的输入文本应用于优化fθ和cφ。最后,使用已知的世界平面来进一步正则化表明:
其中Puniform是感兴趣区域内平面下均匀采样的3D点的集合。总损失为:
另外,为了使生成内容与已有的部分观测对象保持一致,需要对摄像头采样进行谨慎处理。与使用SDS loss“从零开始”生成3D对象不同,团队开发了一个采样摄像头姿势的“curriculum”。设C0 = (R0, t0)为深度传感器的原始摄像头对世界姿态。
为了保持C0相对于对象的滚转角度,并防止渲染翻转或不真实的旋转图像,定义相对于分割的世界平面C0的方位角和仰角偏差。具体来说,设nl∈S2为平面l的法线,定义方位角旋转更新为Razimuth = R(nl, γazimuth)。
同样,设a0为C0的归一化主轴方向,用Relevation = R(nl×a0, γelevation)定义高程旋转更新。假设原点位于对象的中心,则γazimuth和 γelevation度给出更新后的摄像头:
在训练过程中,首先对从C0位姿开始的渲染图像应用SDS loss,然后逐渐增加偏差角度的采样范围,直到覆盖整个对象。通过在深度传感器角度渲染的图像初始应用SDS loss,首先优化被观察对象部分的颜色,使其与y一致。然后当采样范围增大时,相应完成对象其余部分的颜色和几何形状。
实验证明了SDS-Complete可以从两个真实世界的数据集生成具有不同形状类型的一系列对象的补全:含有各种不完整真实世界深度摄像头扫描的Redwood数据集;以及激光雷达扫描的KITTI数据集。对于所述两种情况,团队提出的解决方案都优于最先进的方法。
Redwood数据集域内比较
Redwood数据集域外比较
KITTI数据集
可以观察到,团队提出的方法有能力在域内和域外对象保持一致的性能,而其他方法对OOD对象生成的补全表现出不可预测性,并且偏离预期的形状,导致性能较差。
为了证明方法中每个组成部分的重要性,上图展示了消融研究。可以看出,如果没有SDS loss,模型就无法理解对象的特征,比如椅子有四条腿和一个笔直的背面。如果没有SDF表示,就不可能直接在表面上应用点云约束,这导致追踪部分输入的能力较差。最后可以看到,与随机摄像头采样相比,团队的摄像头采样““curriculum”能够保持生成内容与现有传感器测量值的一致性,从而提高了补全度。
当然,团队指出,限制所述方法的主要因素是由于GPU内存限制而造成低分辨率图像的SDS loss的应用,而这需要大量的采样视图。另外,SDF模型初始化为球体,所以无法很好地处理具有其他形状对象。
相关论文:Point-Cloud Completion with Pretrained Text-to-image Diffusion Models
总的来说,英伟达和巴伊兰大学的研究人员提出了利用文本到2D预训练模型来重建各种对象的3D点云补全方法SDS-Complete。为了适应点云使用的SDS loss,他们合并了一个SDF表示,并将表面约束在输入点上。他们成功地将SDS-loss应用于从新视图呈现的图像上,并通过将图像与输入的文本描述对齐来补全对象的缺失部分。
通过仔细处理摄像头采样,团队保持了补全部分与输入捕获部分的一致性。这使得系统即使在以前未考虑的对象上都能产生更好的结果。在未来,他们希望利用文本到3D的进步来实现更高质量的补全。