三维重建 SFM 与MVS

举报
风吹稻花香 发表于 2022/04/16 04:19:28 2022/04/16
【摘要】 Structure from Motion(SFM) Multi View Stereo(MVS) 使用开源工具pipeline: Bundler(SFM) -> CMVS(MVS) -> PMVS2(MVS) 回答: sfM 和MVS两者互补,它们基于不同的假设。且他们的输入也不相同。 sfM: (bundler...

Structure from Motion(SFM)
Multi View Stereo(MVS)

使用开源工具pipeline:
Bundler(SFM) -> CMVS(MVS) -> PMVS2(MVS)

回答:
sfM 和MVS两者互补,它们基于不同的假设。且他们的输入也不相同。

sfM: (bundler, VisualSFM, OpenMVG)
input: 一组图片
output: 场景粗糙的3D形状(稀疏重建), 还有每张图片对应的相机参数。

sfm只能稀疏重建的原因:
sfM先从检测图像中提取2D特征(SIFT or ORB)表征。这些图像特征的表示为图像中的一个小区域(既一堆相邻像素)。
2D特征的特点:可以可靠的表示高度纹理区域或者粗糙的几何形状。
但是这些场景特征需要再整个场景中唯一(比如重复的墙纹理,难以匹配)。故而通过这些唯一的特征只能生成稀疏的mesh。当图像之间找到很多匹配项时,可以计算出图像之间的3D变换矩阵从而有效地给出两个相机之间地相对3D位置。

将MVS算法用于细化通过SfM技术获得的网格,从而产生所谓的密集重构。此算法要求每个图像的相机参数都起作用,这由SfM算法输出。由于它适用于更受约束的问题(因为它们已经具有每个图像的摄像机参数,例如位置,旋转,焦点等),因此MVS将在2D特征未正确(或无法正确检测)的区域上计算3D顶点或匹配。这就是PMVS2所做的。
PMVS如何在二维特征描述符难以匹配的区域上工作?由于您知道相机参数,因此知道图像中的给定像素就是另一图像中线的投影。这种方法称为对极几何。 SfM必须为每个描述符搜索整个2D图像以找到可能的匹配,而MVS将在一条1D线上工作以找到匹配,从而大大简化了问题。因此,MVS通常会在优化过程中考虑照明和物体材质,而SfM则不会。
但是,有一个问题:PMVS2执行相当复杂的优化,可能会非常缓慢,或者在大图像序列上占用天文数字的内存。这是CMVS发挥作用的地方,将粗略的3D SfM输出聚集到区域中。然后,将在每个群集上(可能并行)调用PMVS2,以简化其执行。然后,CMVS将把每个PMVS2输出合并到一个统一的详细模型中

SfM旨在使用结构化(但未知)的图像序列执行3D重建,而MVS是基于人类立体视觉的双视立体视觉的概括

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/124195430

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。