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

【原文:http://www.didayin.com/archives/695

之前我们了解了如何使用 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值