从照片的三维重建(3D Reconstruction)——MVS系列(1)

来源:互联网 发布:linux 查看pythonpath 编辑:程序博客网 时间:2024/05/16 05:52

MVS——multi view system从多视图的密集重建(1)

SFM的重建成果是稀疏三维点云,为了进入更加深刻的领域,获得更好的结果,我们进入到MVS

(1)如何理解密集点云的生成原理

  MVS是生成密集点云的方法,事实上,为什么我们在SFM中不能得到密集点云?因为,SFM中我们用来做重建的点是由特征匹配提供的!这些匹配点天生不密集!而使用计算机来进行三维点云重建,我们必须认识到,点云的密集程度是由人为进行编程进行获取的。SFM获得点的方式决定了它不可能直接生成密集点云。

  而MVS则几乎对照片中的每个像素点都进行匹配,几乎重建每一个像素点的三维坐标,这样得到的点的密集程度可以较接近图像为我们展示出的清晰度。

  其实现的理论依据在于,多视图照片间,对于拍摄到的相同的三维几何结构部分,存在极线几何约束。

描述这种几何约束:

  想象,对于在两张图片中的同一个点。现在回到拍摄照片的那一刻,在三维世界中,存在一条光线从照片上这一点,同时穿过拍摄这张照片的相机的成像中心点,最后会到达空间中一个三维点,这个三维点同时也会在另一张照片中以同样的方式投影。

  这个过程这样看来,很普通,就如同普通的相机投影而已。但是因为两张图片的原因,他们之间存在联系,这种联系的证明超过了能力范围,但是我们只需要知道,此种情况下,两张照片天然存在了一种约束。

  如下图所示:极线约束

  X表示空间中的一点,x1、x2为X在两张图片中的同一点。由于天然的约束,已知x1,想要在另一张图片中找到x2,可以在直线L2上进行一维寻找。  MVS主要做的就是如何最佳搜索匹配不同相片的同一个点。

  

  

  

  

(2)初步探究MVS中的点匹配方法

  在有了约束的基础上,接下来就是在图片上的一条线上进行探测,寻找两张图片上的同一点。主要方法为逐像素判断,两个照片上的点是否是同一点——

  为此提出图像点间的“一致性判定函数”

一致性判别方程

   π (p)是使得点p投影到照片上一点的函数, Ω(x) 函数定义了一个点x周围的区域,I(x) 函数代表了照片区域的强度特征,ρ(f, g) 是用来比较两个向量之间的相似程度的

  ρ函数和Ω函数的具体选择决定这个”一致性判别“的准确度

  这个函数的具体实现,由编程实现。函数的具体选择有很多研究结果,在下一次博客MVS系列(2)中进行讨论。

  

  

  

  

本文参考furukawa博士的MVS英文教程

furukawa博士的MVS教程链接

阅读全文
0 0
原创粉丝点击