首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFM/MVS如何克服不同摄像头之间的颜色差异?

问SFM/MVS如何克服不同摄像头之间的颜色差异?
EN

Stack Overflow用户
提问于 2020-01-29 09:50:11
回答 1查看 147关注 0票数 1

我熟悉两个视图立体,但模糊的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使用什么方法来解决色差?如果能链接到说明这一点的教程/论文,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-02-06 17:40:08

这个问题需要在两个不同的场景中解释。

  1. Inaccurate :关于不同视图之间的颜色信息不匹配的一个错误来源通常是计算的相机姿势中的小错误。如果不匹配出现在连续的视图中,这一点尤其正确,因为现实世界中的照明很可能没有时间在拍摄图像的时间间隔内发生太多变化。姿态误差不仅影响点云的着色,而且最重要的是影响深度图估计,这反过来又放大了由于像素深度不准确而导致的点颜色计算点颜色的误差(最终投影到另一幅图像中的错误位置)。如果SfM是准确的,则效果相同,但深度贴图估计算法在job.
  2. Illumination变化方面做得很差:由于许多原因,同一场景的两个视图之间的灯光可能会不同:光源位置变化、相机曝光变化、大气/环境变化等。有几种方法可以根据不同的阶段进行处理,如SfM或MVS。在MVS中,有几个阶段依赖于视图之间的颜色匹配,但最重要的是深度图估计(或任何其他形式的密集匹配)。

回到你要解决的问题上,假设上面所有的方法对你都很有效,为了给你的点云获得好看的颜色,有两种流行的解决方案: 1)平均所有点的视图的颜色,或者2)只选择每个点的“最佳”视图。显然,1中的问题是产生的颜色会变得模糊,而对于2来说,选择每个点的视图的方法对于最小化不同视图之间的过渡是非常重要的(有很多方法可以做到这一点,但显然全局方法将是最好的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59959551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档