4

我已经阅读了几篇关于使用图形切割进行3D 重建的论文,我注意到似乎有两种替代方法可以解决这个问题。

一种方法是体积方法,它描述了体素的 3D 区域,图切割用于推断每个体素的二进制标记(包含或不包含感兴趣的对象)。采用这种方法的论文包括Multi-View Stereo via Volumetric Graph Cuts and Occlusion Robust Photo-ConsistencyA Surface Reconstruction Using Global Graph Cut Optimization

第二种方法是 2D 的,它试图用投影到那里的 3D 点的深度来标记参考图像的每个像素。采用这种方法的论文包括Computing Visual Correspondence with Occlusions via Graph Cuts

我想了解每种方法的优点/缺点,以及在选择使用哪种方法时最重要的。到目前为止,我了解第一种方法的一些优点是:

  1. 这是一个二元问题,因此完全可以使用 Max-Flow 算法解决。
  2. 提供简单的遮挡建模方法。

第二种方法的一些优点是:

  1. 图的每个节点的较小邻居集。
  2. 更容易建模平滑度(但它会提供更好的结果吗?)。

此外,我会对选择一种或另一种表示方式更好的情况以及原因感兴趣。

4

1 回答 1

6

最显着的区别是算法通常使用的场景类型,以及它们表示对象 3D 形状的方式。

体积方法表现最好...

  1. 有大量的图像...
  2. 从不同的角度拍摄,很好地分布在物体周围,...
  3. 或多或少紧凑的“对象”(例如,与例如由车载摄像机观察到的室外场景形成对比的人工制品)。

体积方法在重建“对象”(尤其是人工制品)方面很受欢迎。给定足够的视图(即图像),算法给出对象形状的完整体积(即体素)表示。可以使用 Marching Cubes 或类似方法将其转换为表面表示。

您确定的第二种算法称为立体算法,图切割只是解决此类问题的众多方法之一。立体声最好...

  1. 如果你只有两张图片...
  2. 具有相当窄的基线(即相机之间的距离)

存在对多于两个图像(具有窄基线)的概括,但大多数文献都涉及双目(即两个图像)的情况。一些算法比其他算法更容易泛化到更多视图。

立体算法只给你一个深度图,即每个像素都有一个深度值的图像。这不允许您“环顾”对象。然而,有一些 3D 重建系统从图像对上的立体图像开始并结合深度图以获得完整对象的表示,这本身就是一个不平凡的问题。有趣的是,这通常使用体积表示作为中间步骤来解决。

立体算法可以并且经常用于“场景”,例如车辆中的一对摄像头观察到的道路,或者房间中的人进行 3D 视频会议。

一些结束语

  • 对于立体和体积重建,图切割只是解决问题的几种方法之一。例如,立体也可以表述为连续优化问题,而不是离散问题,这意味着其他优化方法可以解决其问题。
  • 我的回答包含一堆概括和简化。它并不意味着是对该主题的明确处理。

我不一定同意立体声情况下的平滑度更容易。你为什么这么认为?

于 2013-03-09T15:36:34.167 回答