照片重建的主要步骤:

1.找出各张图片中的特征点,进行两两匹配;

要求能够精确识别物体的局部特征,并且进行快速准确的匹配。现常用的算法是由Dacid Lowe提出的SIFT方法。

2.根据匹配结果,利用射影定理计算得到相机位置等场景信息;

此步又称运动恢复结构(Structure from Motion),或稀疏重建(Sparse Reconstruction)。结果的衡量标准注意是准确性,现常用是基于Lecenberg-Marquardt算法的Bundler。

3.运用场景信息与原始照片,得到照片中物体的3D点云;

此步又称密集重建(Dense Reconstruction)。运用多视立体重建(Multi-view Stereo Reconstruction),得到3D点云。点云质量受到处理图像精度的执行效率、重建精度和完整性影响,目前最好的算法是PMVS。

4.根据3D点云构建3D模型;

将点连成面,才可在一般三维建模软件中使用。现常用的是泊松表面重建算法(Possion Surface Reconstruction)。

VisualSFM的基本理念是SFM(Structure From Motion):

Structure from motion (SfM) is a range imaging technique; it refers to the process of estimating three-dimensional structures from two-dimensional image sequences which may be coupled with local motion signals. It is studied in the fields of computer vision and visual perception. In biological vision, SfM refers to the phenomenon by which humans (and other living creatures) can recover 3D structure from the projected 2D (retinal) motion field of a moving object or scene.

安装:

1.确定电脑中有ATI或者nVidia图像卡。软件处理过程中要利用ATI或者nVidia图像处理中心(ATI or nVidia graphical processing unit, GPU)。

2.下载VisualSFM。网址:http://ccwu.me/vsfm/

下载好的文件名称叫VisualSFM_windows_32bit.zip,将其解压便可得到exe文件,不需安装。

3.对于要使用密集点云,需下载PMVS/CMVS。网址:http://www.di.ens.fr/cmvs/

下载好的文件名称叫CMVS-PMVS-master.zip,将其解压,把binariesWin-Linux中的

Win32-VS2010下的文件全部拷贝到与VisualSFM_win32.exe的相同根目录下即可使用,VisualSFM在运算过程中会自动使用PMVS/CMVS。

4.如果你有nVidia卡,还需下载一个CUDA Tookit,在nVidia官网下载即可。

(本人用的是nVidia,在NVIDIA 3D Vision驱动程序,327.02软件中即可找到CUDA Tookit工具)

VisualSFM的操作:

1.读取所需的照片;

点击“open Multiple Images”按钮,选择所需的图片(运用shift选取),再点击“open”,如下图所示。

在Task Viewer window中可以看到处理的步骤及进度,如下图。

2.匹配照片之间的特征点;

点击“Compute Missing Matches”,如下图。

3.进行稀疏重建;

点击“Compute 3D Reconstruction”,如下图。

结果如下图:

4.进行密集重建;

点击“Run Dense Reconstruction”,如下图。

选择一个文件放置将要创建的模型,如下图。

补充:

在完成上面4步后,就基本操作完毕。下面将展示使用PMVS/CMVS的效果。

为了能够更准确的展示效果,我重新对花坛拍摄了116张图片。文件后面的mat、sift格式文件是生成的一些包含特征点、场景信息等数据的文件。如下图。

用的是64位的工作站进行的图片处理,需要重新下载VisualSFM和PMVS/CMVS的64位文件。

这时的密集重建时间要很长一些(这个过程我等了近40分钟),主要是程序还会运行PMVS/CMVS的程序。得到的密集重建后的图片如下图。

以上图片依旧是稀疏重建后的效果。此时,按TAB键进行稀疏与密集的转换,效果如下图。

密集重建后的文件夹中,models中的“ply”格式的文件,可以在其他的三维软件中使用,例如MeshLab。如下图。

参考资料:

1.VisualSFM官网:http://ccwu.me/vsfm/

2.CMVS官网:http://www.di.ens.fr/cmvs/

3.PMVS2官网:http://www.di.ens.fr/pmvs/

4.Open Source Tools for 3D Forensic Reconstructions - Part 3_Eugene Liscio,P.Eng_November 2011  网址:http://www.iafsm.org/resources/Opensourcetoolspart3.pdf

5.打造离线版123D_CATCH网址:http://www.didayin.com/archives/632

sfm支持Linux和Windows吗,VisualSFM的使用方法相关推荐

  1. sfm支持Linux和Windows吗,visualSFM

    Ubuntu18.04配置VisualSFM 参考:https://www.jianshu.com/p/cc0b548313e9 VisualSFM有GPU和NO_GPU两个版本,本文安装Visual ...

  2. sfm支持Linux和Windows吗,Ubuntu18.04下VisualSFM配置

    Ubuntu18.04配置VisualSFM还是有一些坑的,记录一下.VisualSFM有GPU和NO_GPU两个版本,之前配置的是NO_GPU版本,运行正常,后来配置GPU版本,出了问题点,可能是版 ...

  3. Homebrew 1.9发布,将支持Linux与Windows 10

    近日,知名包管理器Homebrew发布1.9版本,开始测试支持Linux和Windows 10(基于Windows 10上的Linux子系统WSL),Homebrew在Linux上将使用Linuxbr ...

  4. 一个木函工具桌面测试版,支持Linux MacOS Windows

    点击上方"码农的后花园",选择"星标" 公众号 精选文章,第一时间送达 "一个木函"App版是一款小巧实用的工具,功能主要包括包括:图形图像 ...

  5. 钉钉桌面版(dingtalk)介绍:支持Linux、Windows和macOS平台

    钉钉桌面版(dingtalk)介绍:支持Linux.Windows和macOS平台 钉钉桌面版(dingtalk),它基于electron及钉钉网页版开发的跨平台桌面版钉钉,支持Linux.Windo ...

  6. linux atom 升级,Atom 1.56.0发布下载,附更新内容,支持Linux及Windows系统

    GitHub开发的开源文本编辑器Atom 1.56.0发布了,支持Linux.Windows及macOS操作系统,提供v1.56.0/atom-amd64.deb.v1.56.0/atom.x86_6 ...

  7. linux日志文件存放目录,Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    log4j1/log4j2中category的配置以及log的输出位置(windows和linux通用的log输出位置) 一.场景和需求 假设我现在有3个独立的用project(暂时用maven关联起 ...

  8. 又一国产桌面操作系统震撼发布!支持 Linux、Windows、安卓三大生态

    点关注公众号,回复"1024"获取2TB学习资源! 6月18日消息,中科方德发布方德桌面操作系统5.0与兼容平台"方德鸳鸯火锅平台8.0",基于国产x86硬件平 ...

  9. python做个抢购器语言,一起开发苏宁的抢购脚本项目,语言用Python,支持Linux和Windows...

    苏宁抢购茅台项目sn_maotai作者发出邀请,可一起来开发这款苏宁的抢购脚本,语言准备用的是Python,Linux和Windows用户都可参与.有兴趣的可跟作者畅谈,目前很多人都通过脚本成功的在苏 ...

  10. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

    最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

最新文章

  1. .NET常见问题汇总
  2. Ubuntu linux 关机、重启、注销 命令
  3. 转:MAC 下安装PHONEGAP开发环境
  4. python简介及环境安装
  5. 简单的01背包和完全背包
  6. Spring依赖注入和控制反转
  7. 三维点云学习(2)上- 二叉树实现K-NN Radius-NN Search
  8. UEditor 之初体验后记
  9. ubuntu下vlc-android编译
  10. 分页加载总页数计算公式
  11. opencv+海康威视网络摄像头实时预览+抓图(环境配置加程序)
  12. 基于Python/PYQT5的动物识别专家系统(人工智能实验)
  13. oracle怎么看日志文件,Oracle日志文件的管理与查看
  14. PDF打开不能打印什么原因呢
  15. 《软件工程》真题考点
  16. 深度学习中的几个概念
  17. 泛泰A850工程机与正式机分区表对比
  18. 房地产网站推广渠道有哪些?
  19. AD转换器输入之前为何要接一个电压跟随器?
  20. 服务器10GE网卡识别失败

热门文章

  1. 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第七章 实验传统的兴起
  2. Android/IOS高仿微信IM源码
  3. 按键精灵手机助手之实战篇(二)防封
  4. 微信模板消息的发送动态封装(Java完美封装)
  5. 【统计学】皮尔森相关系数公式理解
  6. lingix系统安装服务器,安装ngix
  7. ECharts学习(持续更新中)
  8. 18650锂电池保护板接线图_锂电池保护板的基础知识
  9. 美国 GLOBAL DOSSIER全球专利案卷系统使用方法,有图说明
  10. 如何在电脑上彻底删除Oracle客户端?