我构建了一个遵循 timm 标准的 PyTorch 3D 点云预训练模型库 [P]

Reddit r/MachineLearning 工具

摘要

torch-pointcloud 是一个遵循 timm 规范的 PyTorch 库,通过统一的 `create_model()` 工厂接口提供多种 3D 点云架构及其预训练权重(如 PointNeXt、Point Transformer、KPConv 等),支持分类、分割、检测和自监督预训练任务。该项目目前处于 alpha 阶段,所有模型均经过统一的重新基准测试,权重托管于 Hugging Face,支持通过 pip 直接安装。

我在过去几年的业余时间里一直在开发一个项目,今天很高兴与大家分享。当初我之所以启动这个项目,是因为无法正常使用 torch-points3d(安装时出现了太多错误)。请注意,该项目仍处于活跃开发阶段,目前为 alpha 版本。欢迎早期用户试用并提供反馈! **它是什么?** torch-pointcloud 是一个纯 PyTorch 库,效仿 timm 的理念,将多种点云架构及其预训练权重统一在同一个 `create_model()` 工厂接口之下。该库专注于核心组件和层的可复用性与标准化,例如 KNN、FPS 以及其他 PointNetSetAbstraction 等模块不会被反复重复实现。在这个库中,所有模型共享同一套接口,复用相同的核心组件。 ```python import torch import torch_pointcloud as tp model = tp.create_model( "pointnext-sm.scanobjectnn-hardest.openpoints", task="classification", pretrained=True, ).eval() pos = torch.randn(2048, 3) x = torch.cat([pos, pos[:, 1:2] - pos[:, 1].min()], dim=1) # xyz + height batch = torch.zeros(2048, dtype=torch.long) logits = model(x, pos, batch) # (1, 15) ``` **安装**(详见文档): ```bash # 可选:为 torch 指定 CUDA 版本 pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cu128 pip install torch-pointcloud # 安装与你的 CUDA 版本对应的 CUDA/CPU 内核 pip install pyg-lib -f https://data.pyg.org/whl/torch-2.10.0+cu128.html ``` 我尽量让安装过程更加顺畅,没有自行维护 CUDA 内核(目前时间有限,因此尽可能复用已有的预编译 wheel 包)。 **支持范围:** 分类、语义分割、部件分割、检测和自监督预训练: - PointNet++、DGCNN、KPConv、RandLA-Net、PointNeXt、PointMLP、Point Transformer v1/v2/v3、Sonata、PointMamba、VoteNet、3DETR、PointPillars、SECOND、PointRCNN、SPVCNN、OctFormer、Point-MAE/BERT/GPT 等。 - 权重托管在 Hugging Face 上。 - 数据集(ModelNet40、ScanObjectNN、S3DIS、ScanNet、SemanticKITTI、nuScenes、KITTI、SUN RGB-D 等)、数据增强变换、大规模分割的分块推理器。 - 打包批量张量(PyTorch Geometric 惯例)。 - 支持的任务和用例 **但是……为什么要另起炉灶?** 大多数点云库都建立在以配置文件为核心的研究代码库之上,依赖需要在本地编译的自定义算子和内核。此外,复现研究代码库中已发布的实验结果有时也很困难(通常与检查点关联的代码会在没有任何通知的情况下发生变化)。还有一些模型使用不同的策略进行评估(TTA、分块等),这使得对比不公平,因为它们并非在统一下评估的。 与之相反,我希望有一个可以通过 pip 轻松安装、复用来自不同仓库的预训练权重、并方便地进行基准测试的库。所有模型都经过了重新基准测试,并与原始论文报告的指标进行了对比。实测性能与原始数据的对比见文档。 **致谢:** 架构和预训练权重来自各自的原作者,特别是 Pointcept、OpenPoints、MIT Han Lab、FAIR、OpenMMLab 等。每个检查点名称的末尾都标注了来源作者(例如 `.pointcept`)。`THIRD_PARTY_NOTICES.md` 中列出了所有源仓库、许可证和数据集条款。 - **仓库:** https://github.com/arthurdjn/pytorch-pointcloud - **文档 + 教程:** https://pytorch-pointcloud.org
查看原文

相似文章

我们很高兴开源 LIDARLearn [R] [D] [P]

Reddit r/MachineLearning

LIDARLearn 是一个开源 PyTorch 库,用于 3D 点云深度学习,统一了 56 个预配置模型,内置交叉验证和自动生成出版级 LaTeX 报告的功能。该框架支持有监督学习、自监督学习和参数高效微调方法,适用于 ModelNet40、ShapeNet 和遥感基准等数据集。

Point-E:从复杂文本提示生成3D点云的系统

OpenAI Blog

OpenAI推出Point-E,一个通过结合文本到图像和图像到3D的扩散模型,能在单个GPU上在1-2分钟内从文本提示生成3D点云的系统。该方法相比现有方法实现了显著的速度提升,同时发布了预训练模型和代码。

TencentARC/Pixal3D

Hugging Face Models Trending

Pixal3D是由TencentARC和微软开发的高保真单图转3D模型,通过反向投影显式地将像素特征提升到3D,实现接近重建级别的几何结构和PBR纹理。该模型已被SIGGRAPH 2026接收,并提供推理代码和演示。

你的模型能在 AWS Trainium 上运行吗?查一查

Hugging Face Blog

Hugging Face 发布了一个 torch-neuronx 模型支持查询 Space,可查看哪些 Hub 上的模型能在 AWS Trainium 上直接运行,并提供可复现的运行脚本和 NEFF 缓存以跳过编译。目前仅覆盖 text-generation 与 image-text-to-text 类 Transformers 模型,未来将扩展到 diffusers 和 sentence transformers。