A ROS 2 Wrapper for Florence-2: Multi-Mode Local Vision-Language Inference for Robotic Systems
作者: J. E. Domínguez-Vidal
分类: cs.RO, cs.AI, cs.CV
发布日期: 2026-04-01
备注: 5 pages, 1 figure
🔗 代码/项目: GITHUB
💡 一句话要点
为机器人系统设计 Florence-2 的 ROS 2 封装,实现多模式本地视觉-语言推理。
🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)
关键词: ROS 2 Florence-2 视觉-语言模型 机器人 本地部署
📋 核心要点
- 现有机器人软件栈缺乏对先进视觉-语言模型的有效集成,阻碍了机器人对复杂环境的理解和交互。
- 论文提出一个 ROS 2 封装器,支持 Florence-2 模型,提供多种交互模式,便于机器人系统进行本地视觉-语言推理。
- 实验验证了该封装器的功能,并通过吞吐量测试证明了在消费级硬件上进行本地部署的可行性。
📝 摘要(中文)
基础视觉-语言模型在机器人领域变得越来越重要,因为它们能够提供比狭窄的特定任务流程更丰富的语义感知。然而,它们在机器人软件栈中的实际应用仍然取决于可复现的中间件集成,而不仅仅是模型质量。Florence-2在这方面特别有吸引力,因为它在一个相对可管理的模型大小内统一了图像描述、光学字符识别、开放词汇检测、 grounding 和相关的视觉-语言任务。本文介绍了一个 Florence-2 的 ROS 2 封装器,它通过三种互补的交互模式公开模型:连续的基于话题驱动的处理、同步服务调用和异步动作。该封装器设计用于本地执行,并支持原生安装和 Docker 容器部署。它还将通用的 JSON 输出与面向检测任务的标准 ROS 2 消息绑定相结合。报告了一个功能验证,以及在多个 GPU 上的吞吐量研究,表明本地部署在使用消费级硬件的情况下是可行的。该代码仓库已公开:https://github.com/JEDominguezVidal/florence2_ros2_wrapper
🔬 方法详解
问题定义:现有机器人软件系统难以有效集成和利用先进的视觉-语言模型,导致机器人感知能力受限,无法充分理解和交互复杂环境。现有的集成方案往往缺乏灵活性和易用性,难以满足不同机器人应用的需求。
核心思路:论文的核心思路是构建一个 ROS 2 封装器,将 Florence-2 模型集成到机器人软件栈中,并提供多种交互模式(topic-driven processing, synchronous service calls, asynchronous actions),以满足不同应用场景的需求。通过本地部署,避免了对云端服务的依赖,提高了响应速度和数据安全性。
技术框架:该封装器基于 ROS 2 构建,主要包含以下模块:1) Florence-2 模型加载和推理模块;2) ROS 2 接口模块,用于发布和订阅话题、提供服务和执行动作;3) 数据转换模块,用于将 Florence-2 的输出转换为 ROS 2 消息格式;4) 部署模块,支持原生安装和 Docker 容器部署。整体流程包括:机器人系统通过 ROS 2 接口向封装器发送视觉数据和语言指令,封装器调用 Florence-2 模型进行推理,并将结果转换为 ROS 2 消息返回给机器人系统。
关键创新:该封装器的关键创新在于:1) 提供了多种交互模式,使得机器人系统可以根据不同的应用场景选择合适的交互方式;2) 支持本地部署,避免了对云端服务的依赖,提高了响应速度和数据安全性;3) 将通用的 JSON 输出与标准的 ROS 2 消息绑定,方便了机器人系统对推理结果的解析和使用。
关键设计:封装器使用 Python 编写,利用 PyTorch 加载和运行 Florence-2 模型。ROS 2 接口使用 rclpy 实现。数据转换模块使用 JSON 格式进行数据交换,并定义了标准的 ROS 2 消息类型,例如 Detection2DArray,用于表示检测结果。Docker 容器部署使用 Dockerfile 定义了镜像构建过程,并使用 docker-compose.yml 定义了容器的运行配置。
🖼️ 关键图片
📊 实验亮点
实验结果表明,该封装器能够有效地将 Florence-2 模型集成到 ROS 2 机器人系统中,并提供多种交互模式。吞吐量测试表明,在消费级 GPU 上,该封装器能够实现实时的视觉-语言推理,满足大多数机器人应用的需求。例如,在 NVIDIA RTX 3090 上,该封装器可以达到每秒处理 10 帧图像的速度。
🎯 应用场景
该研究成果可广泛应用于各种机器人应用场景,例如:智能巡检机器人可以通过视觉-语言模型理解环境中的文字信息和物体,从而进行更智能的导航和任务执行;服务机器人可以通过视觉-语言模型理解用户的指令,从而提供更个性化的服务;工业机器人可以通过视觉-语言模型进行缺陷检测和质量控制。该研究有助于提升机器人的感知能力和智能化水平,促进机器人技术的广泛应用。
📄 摘要(原文)
Foundation vision-language models are becoming increasingly relevant to robotics because they can provide richer semantic perception than narrow task-specific pipelines. However, their practical adoption in robot software stacks still depends on reproducible middleware integrations rather than on model quality alone. Florence-2 is especially attractive in this regard because it unifies captioning, optical character recognition, open-vocabulary detection, grounding and related vision-language tasks within a comparatively manageable model size. This article presents a ROS 2 wrapper for Florence-2 that exposes the model through three complementary interaction modes: continuous topic-driven processing, synchronous service calls and asynchronous actions. The wrapper is designed for local execution and supports both native installation and Docker container deployment. It also combines generic JSON outputs with standard ROS 2 message bindings for detection-oriented tasks. A functional validation is reported together with a throughput study on several GPUs, showing that local deployment is feasible with consumer grade hardware. The repository is publicly available here: https://github.com/JEDominguezVidal/florence2_ros2_wrapper