PoseCNN

GitHub
828 247 困难 2 次阅读 2周前MIT图像其他
AI 解读 由 AI 自动生成,仅供参考

PoseCNN 是一款专为复杂场景设计的深度学习模型,旨在精准估计物体的 6D 姿态(即三维空间中的位置与旋转角度)。在机器人抓取、自动驾驶及增强现实等领域,准确感知物体在杂乱环境中的具体朝向和距离是一项核心挑战,而 PoseCNN 正是为解决这一难题而生。

该工具通过卷积神经网络架构,巧妙地将任务分解为两个部分:首先定位物体在图像中的中心并预测其深度以确定三维平移,随后回归四元数表示来估算三维旋转。这种设计使其即使在物体相互遮挡或背景混乱的情况下,也能保持鲁棒的识别能力。作为由华盛顿大学与英伟达研究院联合推出的开源项目,PoseCNN 基于 TensorFlow 构建,并提供了在 YCB-Video 数据集上的预训练模型与完整复现脚本。

PoseCNN 主要面向计算机视觉研究人员、机器人算法工程师及相关领域的开发者。对于希望深入探索 6D 姿态估计技术、复现经典论文成果或为机械臂抓取系统开发感知模块的专业人士而言,它是一个极具参考价值的基准工具。虽然其部署需要一定的深度学习与环境配置基础,但其清晰的代码结构和详尽的文档为二次开发与学术研究提供了坚实支撑。

使用场景

某智能仓储团队正在开发一套机械臂自动分拣系统,需要从杂乱堆叠的货箱中精准抓取特定零件。

没有 PoseCNN 时

  • 传统视觉算法在物体相互遮挡或背景混乱时极易失效,无法准确识别目标物体的空间位置。
  • 仅能获取物体的二维平面坐标,缺乏深度距离和旋转角度信息,导致机械臂抓取姿态经常偏差。
  • 依赖人工编写复杂的几何规则来处理不同光照和遮挡情况,开发周期长且泛化能力差,换一批货物就要重新调试。
  • 抓取失败率高,频繁出现撞箱或抓空现象,严重拖慢了整个流水线的作业效率。

使用 PoseCNN 后

  • 利用卷积神经网络直接回归物体的 6D 位姿(3D 平移 +3D 旋转),即使在货物严重堆叠的混乱场景中也能稳定输出结果。
  • 通过预测物体中心点及距离相机的深度,并结合四元数表示旋转,为机械臂提供了精确的三维抓取引导数据。
  • 模型具备强大的端到端学习能力,无需手工设计特征规则,面对新类别的物体只需少量训练数据即可快速适配。
  • 大幅提升了单次抓取成功率,机械臂动作流畅精准,显著缩短了单个订单的处理时间,实现了全天候自动化运行。

PoseCNN 通过将复杂的 6D 位姿估计转化为高效的深度学习任务,彻底解决了杂乱场景下机器人“看不清、抓不准”的核心难题。

运行环境要求

操作系统
  • Linux (Ubuntu 16.04)
GPU

必需 NVIDIA GPU,CUDA >= 8.0,具体显存大小未说明

内存

未说明

依赖
notes该项目较旧,明确指定在 Ubuntu 16.04 上运行。除了 Python 依赖外,还需要编译自定义的 C++/CUDA 层(通过 make.sh)以及可选的合成数据生成库(需 CMake 构建)。需要手动下载 VGG16 权重文件和预训练模型。由于依赖特定版本的 Boost 和 Pangolin 分支,环境配置可能较为复杂。
python未说明 (需支持 Boost.Python 链接 TensorFlow)
TensorFlow >= 1.2.0
Pangolin (特定分支 c2a6ef5)
Eigen
Boost (测试版本 1.66.0,需含 Boost.Python)
Sophus
nanoflann
libsuitesparse-dev
CMake
PoseCNN hero image

快速开始

PoseCNN:一种用于杂乱场景中 6D 物体位姿估计的卷积神经网络

由华盛顿大学 RSE 实验室(RSE-Lab)和 NVIDIA Research 的 Yu Xiang 创建。

简介

我们提出了 PoseCNN,这是一种用于 6D 物体位姿估计的新卷积神经网络。PoseCNN 通过在图像中定位物体中心并预测其与相机的距离来估计物体的 3D 平移;而物体的 3D 旋转则通过回归到四元数表示来估计。arXiv, 项目主页

PoseCNN

许可证

PoseCNN 根据 MIT 许可证发布(详情请参阅 LICENSE 文件)。

引用

如果您在研究中使用了 PoseCNN,请考虑引用以下文献:

@inproceedings{xiang2018posecnn,
    Author = {Xiang, Yu and Schmidt, Tanner and Narayanan, Venkatraman and Fox, Dieter},
    Title = {PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes},
    Journal   = {Robotics: Science and Systems (RSS)},
    Year = {2018}
}

安装

  1. 安装 TensorFlow。我通常会在本地编译 TensorFlow 的源代码。

  2. 编译 PoseCNN 中引入的 $ROOT/lib 下的新层。

    cd $ROOT/lib
    sh make.sh
    
  3. 这里 下载 VGG16 权重文件(528 MB)。将权重文件 vgg16.npy 放置到 $ROOT/data/imagenet_models 目录下。

  4. 使用 cmake 编译 lib/synthesize(可选)。该包包含一些有用的工具,例如生成用于训练的合成图像以及 ICP 算法。

    安装依赖项:

    我们使用 Boost.Python 库将 TensorFlow 与 C++ 代码连接起来。请确保您的 Boost 版本中包含此库。经过测试的 Boost 版本是 1.66.0。

    修改 CMakeLists.txt 中的硬编码路径。

    我使用的 Pangolin 分支:c2a6ef524401945b493f14f8b5b8aa76cc7d71a9

    cd $ROOT/lib/synthesize
    mkdir build
    cd build
    cmake ..
    make
    

    将编译好的 libsynthesizer.so 路径添加到 Python 路径中:

    export PYTHONPATH=$PYTHONPATH:$ROOT/lib/synthesize/build
    

必需环境

  • Ubuntu 16.04
  • Tensorflow >= 1.2.0
  • CUDA >= 8.0

运行演示

  1. 这里 下载我们在 YCB-Video 数据集上训练好的模型,并将其保存到 $ROOT/data/demo_models 目录下。

  2. 运行以下脚本:

    ./experiments/scripts/demo.sh $GPU_ID
    

在 YCB-Video 数据集上运行

  1. 这里 下载 YCB-Video 数据集。

  2. 为 YCB-Video 数据集创建符号链接(名称 LOV 是历史原因,意为“从视频中学习对象”):

    cd $ROOT/data/LOV
    ln -s $ycb_data data
    ln -s $ycb_models models
    
  3. 在 YCB-Video 数据集上进行训练和测试:

    cd $ROOT
    
    # 训练
    ./experiments/scripts/lov_color_2d_train.sh $GPU_ID
    
    # 测试
    ./experiments/scripts/lov_color_2d_test.sh $GPU_ID
    

常见问题

相似工具推荐

openclaw

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

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

stable-diffusion-webui

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

162.1k|★★★☆☆|6天前
开发框架图像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图像

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|5天前
语言模型图像Agent

Deep-Live-Cam

Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

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