从照片的三维重建(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
- 从照片的三维重建(3D Reconstruction)——MVS系列(1)
- 从照片的三维重建(3D Reconstruction)(1)——获得Camera parameter & Intrinsic Matrix & K
- 三维重建(四)PMVS算法 the patch-based MVS algorithm
- qianyi-zhou offline RGB-D 三维重建(1)
- 3D Reconstruction
- 3D Reconstruction
- Dummy 3D Reconstruction
- 3D激光扫描三维重建——1.matlab相机标定
- 3D激光扫描三维重建——2.matlab读取校正参数,画面扭曲消除
- 3D激光扫描三维重建——3.matlab和arduino通信
- MIPAV 心得:三维重建大脑,功能媲美Medvol(可读3d+orig)
- qianyi-zhou offline RGB-D 三维重建(2)
- 3-D Reconstruction from a Single Still Image-学习《1》
- 基于PCL的三维重建——点云配准(二)SAC-IA+ICP算法的实践
- 三维重建: 点云三角化(二流型的)要点 —— 干货
- 基于PCL的三维重建——点云配准(一)ICP算法实现
- 游戏编程系列(1)——3D向量类的实现
- ZOJ3732 Graph Reconstruction(图的构造)
- 稀疏矩阵及其应用案例
- const与指针
- RecyclerView嵌套EditView实时更新Item数据
- 学习 shell —— 条件判断 if 的参数
- 【Spring】Spring MVC返回ModelAndView,视图解析器找不到jsp
- 从照片的三维重建(3D Reconstruction)——MVS系列(1)
- c/c++整理--静态成员和临时对象
- Flask——Jinja2 学习笔记
- hdu2047阿牛的EOF牛肉串
- 三种列表的代码
- 生成验证码且进行登录验证
- 在做业务时重写equals方法也要重写hashcode方法
- 使用Maven导出war包
- 寻找两个有序数组的第k小的数