Meshroom 用法

官方网站:

  • https://alicevision.org/#
  • https://meshroom-manual.readthedocs.io/en/latest/index.html

Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision framework. AliceVision is a Photogrammetric Computer Vision Framework which provides 3D Reconstruction and Camera Tracking algorithms. AliceVision comes up with strong software basis and state-of-the-art computer vision algorithms that can be tested, analyzed and reused. The project is a result of collaboration between academia and industry to provide cutting-edge algorithms with the robustness and the quality required for production usage.

Meshroom 是一个三维重建工具。它的核心流程是从二维图片中建立三维模型(即 structure from motion 这种)。它的优点是:

  • 开源。啥都不说了。
  • 直接提供了图形化的 GUI 界面,已经非常类似一个商业软件了;
  • 另一个类似商业软件的优点是,它重建出来的三维模型效果非常好看。它从不同角度的几张 2D 图片就可以重建出 texture 非常清晰的 dense mesh,这是由它的一个很长的重建流程实现的。而一般的 structure from motion 工具都是仅能实现一个稀疏点云或者一个粗糙的 mesh,即便有 texture 也不是很好。相比之下,Meshroom 生成的 texture 非常清楚。
  • 上一个优点也介绍了,Meshroom 包含了一个很长的重建流程,按照顺序大概 Feature 提取、global optimization、depth map 预测、重建 dense mesh、mesh simplification、texture image optimization、texture mapping 等。这就使得它能够得到效果很好的 mesh。

个人认为的几个缺点:

  • 多个流程需要借用 CUDA,并且很复杂,需要高配置的机器才行。
  • 即便在高配置机器上跑,Meshroom 的流程耗时也很长,例如通常重建十几张图片都需要近一个小时。
  • 使用不是很方便,因为它的官方教程很烂。教程只介绍了图形界面的软件的操作,并未介绍命令行的用法。这个比较恶心,因为很多服务器只能在命令行跑。
  • 重建结果不如一些商业软件,例如 3Df Zepher 等。

使用

命令行运行整个重建流程

直接用Meshroom 根目录下的 meshroom_photogrammetry程序:

meshroom_photogrammetry --input image_folder --output recon_mesh_folder --cache cache_folder

Linux中,如果不指定,cache_folder 默认会在类似 /MeshroomCache/UUID的路径中。 使用 --help命令获取详细用法。

文件格式转换

可以使用 Meshroom 文件夹中的 Meshroom_Path/bin/aliceVision_convertSfMFormat可执行程序,它可以进行几种 Meshroom 常用格式之间的转换,例如从 abc 文件中提取出 point cloud:

Meshroom_Path/aliceVision/bin/aliceVision_convertSfMFormat -i StructureFromMotion\97658e5c756a1f20cac324d8041bf49fffaac8d0\sfm.abc -o StructureFromMotion\97658e5c756a1f20cac324d8041bf49fffaac8d0\sfm_pcd.ply --views 0 --intrinsics 0 --extrinsics 0 --structure 0 --observations 0

整个流程的详细步骤

参考:http://filmicworlds.com/blog/command-line-photogrammetry-with-alicevision/

这个链接给出了一个 python script,将整个流程分解成一步一步。非常推荐。

Search

    Table of Contents