
Open3D-ML
开箱即用的3D点云模型训练与部署工具
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 2362
使用教程
环境要求
- Python 环境(可运行 pip)
- Open3D v0.11+(通过 pip 安装的 open3d 已内置 Open3D-ML)
- PyTorch 2.0.* 或 TensorFlow 2.13.*(二选一,按所选框架安装)
- CUDA 10.1 或 11.*(仅 GNU/Linux x86_64 上可选,非必需)
安装与启动步骤
-
1升级 pip
先确保 pip 为最新版本,避免安装 open3d 时出现依赖解析问题。
pip install --upgrade pip -
2安装 Open3D
Open3D-ML 已集成在 Open3D v0.11+ 的 Python 发行包中,安装 open3d 即同时获得 Open3D-ML,无需单独安装。
pip install open3d -
3获取依赖文件
各框架的兼容版本 requirements 文件位于 Open3D-ML 仓库根目录,需先克隆仓库才能使用。
git clone https://github.com/isl-org/Open3D-ML.git cd Open3D-ML -
4安装 PyTorch 依赖
在仓库根目录执行,安装与 Open3D-ML 兼容的 PyTorch 版本。Linux 需要 GPU 时改用 cuda 版本文件。
pip install -r requirements-torch.txt -
5安装 TensorFlow 依赖
使用 TensorFlow 框架时执行;PyTorch 与 TensorFlow 按需二选一即可,无需都装。
pip install -r requirements-tensorflow.txt -
6验证导入与配置
导入 open3d.ml.torch 并加载仓库自带配置文件,能实例化模型即说明库与框架版本匹配。
import open3d.ml as _ml3d import open3d.ml.torch as ml3d cfg_file = "ml3d/configs/randlanet_semantickitti.yml" cfg = _ml3d.utils.Config.load_from_file(cfg_file) model = ml3d.models.RandLANet(**cfg.model) print(model) -
7运行模型推理
把 dataset_path 换成自己的数据集路径后,用预训练模型跑语义分割或 3D 物体检测推理,权重见 Model Zoo。
import open3d.ml as _ml3d import open3d.ml.torch as ml3d cfg_file = "ml3d/configs/randlanet_semantickitti.yml" cfg = _ml3d.utils.Config.load_from_file(cfg_file) model = ml3d.models.RandLANet(**cfg.model) cfg.dataset['dataset_path'] = "/path/to/your/dataset" dataset = ml3d.datasets.SemanticKITTI(cfg.dataset.pop('dataset_path', None), **cfg.dataset) pipeline = ml3d.pipelines.SemanticSegmentation(model, dataset=dataset, device="gpu", **cfg.pipeline)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
cfg_file | 是 | 指定要使用的模型配置文件路径 | ml3d/configs/randlanet_semantickitti.yml |
dataset_path | 是 | 本地数据集根目录路径,需替换为真实路径 | /path/to/your/dataset |
device | 是 | 推理运行设备,可选 gpu 或 cpu | gpu |
model | 是 | 模型配置字典,直接展开传给对应模型类 | ml3d.models.RandLANet(**cfg.model) |
如何确认成功
能成功 import open3d.ml.torch,并按配置文件实例化 RandLANet 等模型且不报版本错误,即表示安装成功。
常见问题
Q:需要单独安装 Open3D-ML 这个包吗?
A:不需要。Open3D-ML 已集成在 Open3D v0.11+ 的 Python 发行版中,pip install open3d 即可同时获得,不用再装单独的包。
Q:该选 PyTorch 还是 TensorFlow?
A:两者都支持,按项目需要二选一即可。Open3D-ML 兼容 PyTorch 2.0.* 与 TensorFlow 2.13.*,安装对应的 requirements 文件即可。
Q:没有 GPU 能跑吗?
A:可以。CUDA 10.1/11.* 在 GNU/Linux x86_64 上是可选项,把 pipeline 的 device 参数改成 "cpu" 即可在纯 CPU 上运行。
Q:requirements 文件在哪?
A:位于 Open3D-ML 仓库根目录,必须先 git clone 仓库并进入该目录,否则 pip install -r 会找不到文件。
Q:怎么拿到预训练权重?
A:README 指向 Model Zoo(model_zoo.md)获取预训练模型权重,下载后按配置加载即可用于推理。
注意事项
- README 仅给出安装与推理片段,未提供完整的训练命令行,训练流程请参考仓库内 ml3d 目录及配置文件。
- requirements-torch.txt、requirements-tensorflow.txt、requirements-torch-cuda.txt、requirements-torch-xpu.txt 均在仓库根目录,按平台选择其一。
- macOS 上 TensorFlow 支持情况 README 未完全展开,建议优先选择 PyTorch 路线。
- 示例中的 dataset_path、device 等参数需按实际环境修改,不要直接照抄默认路径。
核心亮点
- 统一数据接口,内置多种主流3D数据集,省去数据预处理时间
- 同时支持PyTorch和TensorFlow,模型可无缝切换框架
- 提供预训练模型和评估脚本,便于快速基准测试
不足之处
- 文档偏重基础使用,高级自定义教程较少
- 部分新模型架构支持滞后于前沿研究
适用场景
- 自动驾驶点云感知模型快速原型验证
- 室内RGBD场景语义分割与物体检测
- 学术研究中标准数据集上的算法对比
替代项目
Pytorch3D、MinkowskiEngine、torch-points3d
上一篇:deepdetect
下一篇:photonix
同类项目推荐
ImageIndexer
开源
本地跑大模型,自动给图片打标签,搜图快人一步
Creates an index of images, queries a local LLM and adds tags to the image metadata
isaac_ros_object_detection
开源
在 ROS 2 里用 NVIDIA GPU 跑目标检测,订阅图像直接出检测框
NVIDIA-accelerated, deep learned model support for image space object detection
DEIMv2
开源
用DINOv3做实时检测,又快又准,直接落地。
[DEIMv2] Real Time Object Detection Meets DINOv3
SurgicalDINO
开源
用基础模型适配器,让内窥镜图像秒变深度图,助力手术导航。
[IPCAI 2024 (IJCARS special issue)] Surgical-DINO: Adapter Learning of Foundation Mo···
Olympus
开源
一个路由搞定所有视觉任务,免去逐个微调
[CVPR 2025 Highlight] Official code for "Olympus: A Universal Task Router for Comput···
sd-webui-segment-anything
开源
在 Stable Diffusion 里框选物体,即可精准重绘或替换
Segment Anything for Stable Diffusion WebUI
scanbot-sdk-example-android
开源
几行代码给安卓 App 加上文档扫描与 OCR 识别
Easy-to-use Android document scanner and data extraction library for native Android ···
desk-ocr
开源
框选屏幕任意区域,OCR 取字后直接搜索,省去手动录入。
Capture your screen, extract text with OCR, and instantly search the recognized cont···
production-ocr-course
开源
用 Rust+K8s 把 OCR 从 Demo 做成能扛并发的生产服务
Build, deploy, and scale a production-grade OCR pipeline using Rust, vLLM, Redis, KE···