我熟悉两个视图立体,但模糊的SFM (结构从运动)和MVS (多视图立体)的确切工作方式。
假设我有两对立体摄像机,(A, B)和(C, D)。我可以使用带有A和B相机的双视图立体相机来计算相机A的深度图。类似地,我可以使用带有相机C和D的双视图立体相机来计算相机C的深度图。基于校准,我可以将深度图A转换为点云,并使用camera A中的颜色值对其进行着色。类似地,我可以将深度图C转换为点云,并使用camera C中的颜色值对其进行着色。在一个完美的世界中,当我叠加点云A和点云C时,它应该看起来很完美,没有任何明显的颜色问题,但不幸的是,在现实世界中,camera A和camera C为空间中的同一个点捕获的内容之间会有一些颜色差异。我尝试了各种方法对在camera A和camera C中都可见的点云进行颜色平均,但无论如何,在仅在camera A中可见的点云和在camera A和camera C中都可见的点云之间会有明显的颜色“接缝”。
然而,这种颜色问题似乎不存在于SFM和MVS中。如colmap,AliceVision和RealityCapture的结果所示。我读过很多关于SFM/MVS如何工作的教程,但没有一个特别解释它是如何克服颜色问题的。其中大多数都集中在解释如何生成深度,以及对于SFM估计内部和姿势的情况。谁能给我解释一下传统的SFM/MVS使用什么方法来解决色差?如果能链接到说明这一点的教程/论文,我将不胜感激。
发布于 2020-02-06 17:40:08
这个问题需要在两个不同的场景中解释。
回到你要解决的问题上,假设上面所有的方法对你都很有效,为了给你的点云获得好看的颜色,有两种流行的解决方案: 1)平均所有点的视图的颜色,或者2)只选择每个点的“最佳”视图。显然,1中的问题是产生的颜色会变得模糊,而对于2来说,选择每个点的视图的方法对于最小化不同视图之间的过渡是非常重要的(有很多方法可以做到这一点,但显然全局方法将是最好的)。
https://stackoverflow.com/questions/59959551
复制相似问题