Pollen-Vision:机器人零样本视觉模型的统一接口

Pollen-vision 是一个开源库,旨在通过提供精选的零样本视觉模型集合,使机器人具备抓取未知物体的自主能力。它能够创建 3D 目标检测流水线,在无需事先训练的情况下确定物体的空间坐标 (x, y, z)。

Pollen-Vision 中的核心视觉模型

为了在消费级 GPU 上实现多样性和实时性能,库集成了三种主要的零样本模型:

  • OWL-ViT(Open World Localization - Vision Transformer):由 Google Research 开发,该模型在 RGB 图像中执行文本条件的 2D 目标定位,生成边界框。
  • Mobile SAM(Segment Anything Model):Meta AI 的 SAM 的轻量版,该模型在提供边界框或点作为提示时实现零样本图像分割。
  • RAM(Recognize Anything Model):由 OPPO 研究院创建,RAM 执行零样本图像标记,根据文本描述识别物体的存在,从而帮助优化其他模型的性能。

3D 目标检测流水线与实现

pollen-vision 允许开发者将独立模块组合成一个流水线,将 2D 图像数据转换为 3D 空间坐标。

从 2D 检测到分割

使用该库,可以建立一个流水线,先由 OWL-ViT 检测目标(例如 “纸杯”)并生成边界框,然后将其传递给 Mobile SAM 生成精确的分割掩码。

计算 3D 位置

为了将 2D 图像转换为 3D 坐标,库采用以下流程:

  1. 质心估计:通过计算二值分割掩码的质心,得到像素空间中的 (u, v) 位置。使用掩码而非边界框可避免背景像素对深度平均值的影响。
  2. 深度融合:将像素坐标与深度信息(米)以及相机的内参矩阵 (K) 结合,系统计算出相机坐标系下物体质心的 (x, y, z) 位置。
  3. 机器人坐标系转换:若已知相机相对于机器人原点的位置,可将坐标转换到机器人坐标系,从而使末端执行器移动到物体位置进行抓取。

性能与优化

OWL-ViT 的推理时间随提示数量而变化。在配备 RTX 3070 GPU 的笔记本上测试得到以下延迟:

  • 1 条提示:每帧约 75ms
  • 2 条提示:每帧约 130ms
  • 5 条提示:每帧约 330ms
  • 10 条提示:每帧约 650ms

由于延迟呈线性增长,使用 RAM 模型先识别图像中存在哪些物体,再对 OWL-ViT 进行提示,从而优化处理速度。

当前局限性与未来路线图

虽然 pollen-vision 为基础的机器人操作奠定了框架,但 Pollen Robotics 团队已识别出若干改进方向:

  • 检测一致性:OWL-ViT 可能不稳定,未必检测到所有物体,团队正在寻找更好的替代方案。
  • 时空一致性:目前所有数据每帧都重新计算,团队正致力于集成点跟踪以提升一致性。
  • 抓取精细化:当前仅支持正面抓取,未来工作将聚焦于 6D 检测及更完善的抓取姿态生成。
  • 系统速度:仍有提升流水线整体执行速度的空间。

Sources