2017年11月20日
当前位置: 首页 » 3D建模 » 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建

使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建

之前我们了解了如何使用 VisualSFM 对多张照片进行3D重建。除了 VisualSFM 之外,其实还有其他方法能够完成同样的任务,今天就为大家介绍一下 Python Photogrammetry Toolbox(下称 PPT)。

使用 PPT 进行照片重建,基本步骤与使用 VisualSFM 时相同,分为特征识别、特征匹配、稀疏重建以及稠密重建几步。不过 PPT 通过 Python 脚本语言将 bundle、PMVS 等工具封装了起来,一方面提供了跨平台性,更重要的,整个重建过程可以依靠脚本完成,减少了人工参与的成分。

您需要在下面的网页下载安装 PPT。

http://www.arc-team.homelinux.com/arcteam/ppt.php

如果您按照网页上的介绍,除了 PPT 之外还安装了相应的 GUI,那么重建过程会更直观。我们下面的示例也将使用 GUI。这次用于重建的照片,仍然是 Autodesk 123D Catch 中自带的佛陀,你可以在 123D Catch 安装目录下的 sample_project 中找到这些照片。

1 600x456 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

启动 PPT 的 GUI,你将看到主程序界面。

2 600x405 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

主界面中有 4 个 tab,常用的是前两个。“1. Run Bundle” 用于识别与匹配图像特征点,“2. Run CMVS/PMVS” 则完成稀疏与稠密重建。

点击 Select Photos Path 后,我们可以在弹出的对话框中选择我们希望重建的照片所在的目录。除了指定照片目录之外,界面中还提供了一些选项。其中 Select Feature Extractor 用于选择特征的抽取方法。不同的抽取方法可能有不同的许可证要求,不过对于我们试用来说区别不大。右侧的选项可以让你对图片进行统一的缩放。每次你改动配置,底部的 Run 中的命令行都会相应更新。

3 600x34 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

配置停当后,点击 Run,就可以开始我们重建的第一步了。此时,在 Python 的 Console 中,你可以看到识别以及匹配的过程。

4 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

在识别匹配完成后,会自动弹出工作目录,其中保存了各个照片的特征值以及匹配结果。

5 600x494 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

我们在主界面中切换到 “2. Run CMVS/PMVS” 标签,在 “Select Bundler Output Path” 中填入之前的工作目录。需要注意的是下面这个选项。

6 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

该选项决定了 PMVS 将使用多少张照片重建模型。如果填入的数字小于照片的总数,那么将会得到多个模型,这样你还得手动将这些模型组合起来。因为佛陀的照片一共有 40 张,所以我们直接在这里填入 40。同样的,每次你改变配置,Run 中的命令行都会相应改变。配置完之后,点击 Run,便开始稀疏重建了。与在 VisualSFM 中一样,这一步非常耗费 CPU,所以请在空闲时运行。

7 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

经过一段时间等待之后,刚才的工作目录中会多出现 pmvs 的目录,重建的结果就在其中。

8 600x494 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

打开 models 下的 ply 文件,我们就又可以看到我们熟悉的佛陀朋友了。

9 600x394 使用 Python Photogrammetry Toolbox (PPT) 进行照片3D重建 VisualSFM Python Photogrammetry Toolbox 3D重建

到这里我们已经得到了模型的点云。其后的根据点云重建多边形的步骤,与使用 VisualSFM 时相同,这里就不再介绍了。

总的来说,PPT 的重建结果与 VisualSFM 区别不大,不过 Python 的便利性还是提供了很多二次开发的可能性,如果你有什么好主意,欢迎交流哦!

喜欢这篇文章?分享给更多朋友吧~
...
  1. 可以指点下吗,我的好像也出现了那个问题,我的QQ470033974,谢谢了!

  2. 大大 你好,看了你这篇博文,收益很多,但这个时候再去找python photogrammtry toolbox这个open source 的软件时候发现其服务器down掉了,下载不了,所以可不可以麻烦你发一个python photogrammtry toolbox的source code或是相关程序给我啊?我的qq email是768616253@qq.com。谢谢你大大。我想试试并做以修改优化。

  3. 很好。能否将windows版的Python Photogrammetry Toolbox (PPT) 发到我的邮箱?谢谢。qq邮箱1261150812@qq.com

  4. 我加你QQ了,请问能把你编译好的PPT的WINDOW版发我一份吗,还有源码,我这只有LIUNIX下面的,而且UI什么的安装老是报错,谢谢,非常感谢我的QQ:34780124.邮箱34780124@qq.com

  5. 各位好,这个软件下载不了了,谁能发我一个,邮箱yrbin666@163.com,非常感谢!

  6. 太强大了,研究下怎么玩,大学的时候一直就在想能不能将二位的照片变成3维的模型,这个太吊了