Open3D-ML快速教程

Open3D-ML 是 3D 机器学习任务 Open3D 的扩展。它建立在 Open3D 核心库之上,并使用机器学习工具扩展 3D 数据处理。Open3D-ML侧重于语义点云细分等应用,并提供可应用于常见任务的预培训模型以及用于训练的管道。

Open3D-ML 与TensorFlowPyTorch合作,轻松集成到现有项目中,还提供独立于 ML 框架(如数据可视化)的一般功能。

1、安装

Open3D-ML 集成在Python版本的Open3D v0.11 中。要使用所有的机器学习功能,你需要安装 PyTorch 或 TensorFlow。Open3D v0.11 与以下版本兼容

  • PyTorch 1.6
  • TensorFlow 2.3
  • CUDA 10.1 (可选)
  • 如果你需要使用不同的版本,我们建议从源码构建 Open3D。

    我们提供预制的 pip 包,用于Ubuntu 18.04+ 的 Open3D-ML+,可以使用如下命令安装:

    
    

    可以使用如下命令测试安装:

    
    

    2、读取数据集

    dataset命名空间包含了用于阅读常见数据集的类。在这里,我们阅读语义KITTI数据集并将其可视化。

    
    

    3、运行预先训练的模型

    在上一个示例的基础上,我们可以使用预先训练的语义分割模型对管道进行即时处理,并在数据集的点云上运行。请参阅model zoo获得预训练模型的权重。

    
    

    4、训练模型

    与推理类似,管道为在数据集上训练模型提供了接口。

    
    

    有关更多示例,请参阅examples和scripts目录。

    5、使用预定义的脚本

    scripts/semseg.py为在数据集中培训和评估模型提供了一个容易的接口。它减少了定义特定模型和传递精确配置的麻烦。

    python scripts/semseg.py {tf/torch} -c <path-to-config> –<extra args>

    请注意,extra args的优先级高于配置文件中的相同参数。因此,在启动脚本时,你可以通过命令行而不是在配置文件中更改参数。

    例如:

    
    

    要获得进一步的帮助,请运行python scripts/semseg.py –help

    6、存储库结构

    Open3D-ML 的核心部分位于ml3d子目录中,该子目录集成到ml命名空间。除了核心部分外,exsamples和scripts目录中还提供支持脚本,以便设置训练管道或在数据集商运行 络。

    
    

    7、语义分割任务

    对于语义分割的任务,我们使用所有类的平均交叉合并 (mIoU) 来衡量不同方法的性能。该表显示了用于分割任务的可用模型和数据集以及相应的得分。每个分数都链接到相应的权重文件。

    Model / Dataset

    SemanticKITTI

    Toronto 3D

    S3DIS

    RandLA-Net (tf)

    53.7

    69.0

    67.0

    RandLA-Net (torch)

    52.8

    71.2

    67.0

    KPConv (tf)

    58.7

    65.6

    65.0

    KPConv (torch)

    58.0

    65.6

    60.0

    8、Model Zoo

    有关所有全重文件的完整列表,请参阅model_weights.txt和 MD5 检查文件model_weights.md5。

    9、预置数据集

    以下是我们提供Reader的数据集列表:

  • SemanticKITTI (project page)
  • Toronto 3D (github)
  • Semantic 3D (project-page)
  • S3DIS (project-page)
  • Paris-Lille 3D (project-page)
  • 要下载这些数据集,请访问对应 页并查看scripts/download_datasets中的脚本。


    原文链接:

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年5月25日
    下一篇 2021年5月25日

    相关推荐