pointnet

GitHub
5.4k 1.5k 较难 1 次阅读 今天NOASSERTION开发框架图像
AI 解读 由 AI 自动生成,仅供参考

PointNet 是一款专为三维点云数据设计的深度学习框架,由斯坦福大学团队开发,主要用于实现高效的 3D 物体分类与部件分割。在传统方法中,不规则的点云数据通常需要先转换为规则的体素网格或图像集合才能处理,这不仅增加了数据体积,还可能导致信息丢失。PointNet 创新性地提出了一种直接消费原始点集的神经网络架构,无需任何中间转换步骤。

其核心技术亮点在于巧妙解决了点云的“排列不变性”难题:无论输入点的顺序如何变化,网络都能输出一致的分析结果。这种设计使得 PointNet 结构简洁却极具效能,能够统一处理从单一物体识别到复杂场景语义解析等多种任务。代码库提供了基于 TensorFlow 的完整训练与评估流程,支持在 ModelNet40 和 ShapeNet Part 等主流数据集上快速复现研究成果。

PointNet 非常适合计算机视觉领域的研究人员、算法工程师以及需要处理激光雷达或 3D 扫描数据的开发者使用。对于希望深入理解几何深度学习原理,或正在寻找轻量级方案来解决 3D 感知问题的技术团队而言,这是一个极具参考价值的开源基石项目。

使用场景

某自动驾驶初创公司的感知团队正致力于提升车辆对道路障碍物(如行人、车辆、路障)的实时识别与部件分割能力,以优化紧急避障策略。

没有 pointnet 时

  • 数据预处理繁琐且失真:团队必须将不规则的激光雷达点云强制转换为规则的 3D 体素网格或多视角图像,导致数据体积膨胀并丢失原始几何细节。
  • 计算资源浪费严重:转换后的稀疏体素网格包含大量无效空白区域,使得神经网络在进行卷积运算时消耗了不必要的显存和算力。
  • 排列敏感性限制泛化:传统方法难以天然适应点云无序的特性,需要额外的排序或对齐步骤,一旦输入点的顺序变化,模型稳定性即受影响。
  • 部件分割精度不足:在识别复杂物体的具体部件(如区分行人的手臂与躯干)时,因几何特征提取不充分,导致分割边界模糊,影响决策判断。

使用 pointnet 后

  • 直接处理原始点云:pointnet 直接接收无序点集作为输入,无需体素化或图像化转换,完整保留了物体表面的精细几何结构。
  • 推理效率显著提升:摒弃了对空白区域的无效计算,模型架构轻量高效,在同等硬件下实现了更低的延迟,满足车载实时性要求。
  • 天然具备置换不变性:pointnet 通过对称函数设计,从根本上解决了点序问题,无论传感器扫描角度如何变化,输出结果始终稳定一致。
  • 细粒度分割效果优异:凭借统一的架构优势,pointnet 能精准定位并分割物体的关键部件,大幅提升了系统对复杂场景的语义理解能力。

pointnet 通过革新性的直接点云处理架构,消除了传统预处理带来的性能瓶颈,让 3D 感知系统更高效、精准地服务于自动驾驶安全决策。

运行环境要求

操作系统
  • Linux (Ubuntu 14.04)
GPU

需要 NVIDIA GPU,具体型号和显存未说明,需 CUDA 8.0 和 cuDNN 5.1

内存

未说明

依赖
notes代码已在 Ubuntu 14.04 上测试通过。训练分类网络时会自动下载约 416MB 的 ModelNet40 数据集;训练部件分割网络时需手动下载约 1.4GB 的 ShapeNetPart 数据集及预处理文件。若使用 PyTorch,需参考第三方实现版本。
python2.7
TensorFlow 1.0.1
h5py
pointnet hero image

快速开始

PointNet:用于3D分类与分割的点云深度学习

由斯坦福大学的 Charles R. QiHao SuKaichun Mo 以及 Leonidas J. Guibas 共同创建。

预测示例

简介

本工作基于我们的 arXiv 技术报告,该报告即将发表于 CVPR 2017。我们提出了一种新颖的深度网络架构,直接处理点云(作为无序点集)。您也可以访问我们的 项目主页 以获取更深入的介绍。

点云是一种重要的几何数据结构。由于其不规则的格式,大多数研究者会将这类数据转换为规则的3D体素网格或图像集合。然而,这种做法不仅使数据变得冗余庞大,还会引发诸多问题。在本文中,我们设计了一种新型神经网络,可以直接处理点云,同时很好地保持输入点的排列不变性。我们的网络名为 PointNet,提供了一个统一的架构,适用于从物体分类、部件分割到场景语义解析等多种应用。尽管结构简单,PointNet 却高效且效果显著。

在本仓库中,我们发布了用于训练 PointNet 分类网络的代码和数据,这些数据来自从3D形状中采样的点云;同时也提供了用于在 ShapeNet Part 数据集上训练部件分割网络的代码和数据。

引用

如果您在研究中使用了我们的工作,请考虑引用以下文献:

@article{qi2016pointnet,
  title={PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation},
  author={Qi, Charles R and Su, Hao and Mo, Kaichun and Guibas, Leonidas J},
  journal={arXiv preprint arXiv:1612.00593},
  year={2016}
}

安装

请安装 TensorFlow。您可能还需要安装 h5py。该代码已在 Ubuntu 14.04 上使用 Python 2.7、TensorFlow 1.0.1、CUDA 8.0 和 cuDNN 5.1 进行测试。

如果您使用 PyTorch,可以在此处找到第三方的 PyTorch 实现:点这里

安装 Python 的 h5py:

sudo apt-get install libhdf5-dev
sudo pip install h5py

使用方法

要训练一个用于分类从3D形状中采样点云的模型:

python train.py

日志文件和网络参数将默认保存到 log 文件夹中。来自 ModelNet40 模型的点云将以 HDF5 文件格式自动下载(416MB)至 data 文件夹。每个点云包含从形状表面均匀采样的 2048 个点。每个点云均经过零均值处理并归一化至单位球面。此外,在 data/modelnet40_ply_hdf5_2048 中还包含文本文件,用于指定 h5 文件中各形状的 ID。

查看训练脚本的帮助信息:

python train.py -h

我们可以使用 TensorBoard 查看网络架构并监控训练进度。

tensorboard --logdir log

完成上述训练后,我们可以评估模型,并输出一些错误案例的可视化结果。

python evaluate.py --visu

被错误分类的点云将默认保存到 dump 文件夹中。我们通过渲染成三视图图像来可视化这些点云。

如果您希望准备自己的数据,可以参考 utils/data_prep_util.py 中的一些辅助函数,用于保存和加载 HDF5 文件。

部件分割

要训练一个用于物体部件分割的模型,首先需要下载数据:

cd part_seg
sh download_data.sh

下载脚本将下载 ShapeNetPart 数据集(约1.08GB)以及我们准备好的 HDF5 文件(约346MB)。

随后,您可以在 part_seg 文件夹中运行 train.pytest.py 来进行训练和测试(计算 mIoU 作为评估指标)。

许可证

我们的代码采用 MIT 许可证发布(详情请参阅 LICENSE 文件)。

使用 PointNet 的精选项目

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|4天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|5天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

149.5k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|今天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|今天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架