当前位置: 首页 > article >正文

RoboBrain:从抽象到具体的机器人操作统一大脑模型

25年2月来自北大、北京智源、中科院自动化所等的论文“RoboBrain: A Unified Brain Model for Robotic Manipulation from Abstract to Concrete”。

目前的多模态大语言模型(MLLM) 缺少三项必备的机器人大脑能力:规划能力,将复杂的操作指令分解为可管理的子任务;affordance感知,识别和解释交互目标affordance的能力;轨迹预测,预测成功执行所需的完整操作轨迹。为了增强机器人大脑从抽象到具体的核能力,引入 ShareRobot,这是一个高质量的异构数据集,可标记任务规划、目标affordance和末端执行器轨迹等多维信息。ShareRobot 的多样性和准确性,经过三位人类注释员的改进。基于该数据集,开发 RoboBrain一个基于 MLLM 的模型,它结合机器人和通用多模态数据,采用多阶段训练策略,并结合长视频和高分辨率图像来提高其机器人操控能力。

RoboBrain 如下所示:

请添加图片描述

为了增强RoboBrain的规划、感知和轨迹预测能力,开发一个ShareRobot的数据集,这是一个专为机器人操作任务设计的大规模、细粒度的数据集。数据集的生成过程如图所示:

请添加图片描述

ShareRobot 是一个综合性数据集,将抽象概念转化为具体动作,促进更高效的任务执行。ShareRobot 数据集的主要特点包括:
• 细粒度。与仅提供通用高级任务描述的 Open X-Embodiment 数据集[53]不同,ShareRobot 中的每个数据点都包含与各个帧相关的详细低级规划指令。这种特殊性增强模型在正确的时刻准确执行任务的能力。
• 多维。为了增强 RoboBrain 从抽象到具体的能力,标记任务规划、目标affordance和末端执行器轨迹,从而提高任务处理的灵活性和精确度。
• 高质量。为从 Open-X-Embodiment 数据集[53]中选择数据建立严格的标准,重点关注高分辨率、准确描述、成功执行任务、可见affordance和清晰的运动轨迹。基于这些标准,验证 51,403 个实例以确保高质量,从而为 RoboBrain 的核心功能奠定基础。
• 大规模。ShareRobot 拥有 1,028,060 个问答对,是最大的开源任务规划、可供性预测和轨迹预测数据集,可以更深入地理解从抽象到具体的复杂关系。
• 丰富的多样性。与 RoboVQA[60] 数据集的有限场景相比,ShareRobot 具有 102 个场景,涵盖 12 个实施例和 107 种原子任务。这种多样性使 MLLM 能够从不同的现实世界环境中学习,从而增强复杂、多步骤规划的稳健性。
• 易于扩展。数据生成管道具有高可扩展性,随着新的机器人实具身、任务类型和环境的发展,可轻松扩展。这种适应性确保 ShareRobot 数据集可以支持日益复杂的操作任务。

标注

从每个机器人操作演示中提取 30 帧。用这些帧及其高级描述,使用 Gemini [63] 将它们分解为低级规划指令。然后,三位注释者审查并完善这些指令,以确保标记的准确性。低级规划数据的格式与 RoboVQA [60] 结构一致,用于模型训练,使用 RoboVQA 中 10 种问题类型的问题模板。此过程将 51,403 个低级规划条目转换为 1,028,060 个问答对,注释者监控数据生成以维护数据集的完整性。

从数据集中筛选出 8,511 张图像,并为每张图像标注affordance区域。对于每个 30 帧的演示,在第一帧中标记可affordance,对应于末端执行器和目标之间的接触区域。确定接触帧,即末端执行器首次接触目标的位置,并将第一帧中的真值边框标记为 {l(x), l(y), r(x), r(y)},其中 {l(x), l(y)} 是左上角坐标,{r(x), r^(y)} 是右下角坐标。

用边框注释 8,511 张夹持器图像,与affordance边框格式保持一致。每个末端执行器都标有三部分:整个夹持器、左手指和右手指。这些数据用于计算轨迹位置和训练夹持器检测器。轨迹位置通过平均左右手指的边框来确定,从而可以有效地标记其他数据。

目标是使多模态大语言模型 (MLLM) 能够理解抽象指令并明确输出目标affordance区域和潜操作轨迹,从而促进从抽象到具体的过渡。采用多阶段训练策略:第一阶段专注于通用 OneVision (OV) 训练,以开发具有强大理解和指令遵循能力的基础 MLLM。第二阶段,即机器人训练阶段,旨在增强 RoboBrain 的核心能力,使其从抽象到具体。

RoboBrain 包含三个模块:规划基础模型、affordance 感知 A-LoRA 模型和轨迹预测 T-LoRA 模型。在实际应用中,模型首先生成详细规划,然后将其拆分为子任务描述以执行affordance感知和轨迹预测。RoboBrain 流程如图 所示:

请添加图片描述

用 LLaVA 作为 RoboBrain 的基础模型,它由三个主要模块组成:视觉编码器(ViT)g(·)、投影器 h(·)和大语言模型(LLM)f(·)。具体来说,用 SigLIP [74]、2 层 MLP [39] 和 Qwen2.5-7B-Instruct [64]。给定图像或视频 X_v 作为视觉输入,ViT 将其编码为视觉特征 Z_v = g(X_v),然后通过投影器将其映射到 LLM 的语义空间,得到一系列视觉tokens H_v = h(Z_v)。最后,LLM 根据人类语言指令 X_t 和 H_v 以自回归方式生成文本响应。

Affordance是指人手与目标接触的区域。在交互过程中,人类会本能地与特定区域内的各种目标互动。利用边框来表示affordance。正式地,考虑一个由多个目标及其affordance组成的图像 I:O_i = {A0_i , A1_i , …, AN_i },其中第 i 个目标拥有 N 个affordance。Affordance的格式定义为 {l(x), l(y), r(x), r(y)},其中 {l(x), l(y)} 表示左上角坐标,而 {r(x), r^(y)} 是右下角坐标。

“轨迹”一词是指 [21] 中提出的 2D 视觉轨迹概念。将轨迹航点定义为一系列 2D 坐标,表示整个过程中末端执行器或手的运动。形式上,在时间步 t,轨迹航点可以表示为 P_t:N = {(x_i, y_i) | i = t, t + 1,…,N},其中 (x_i,y _i) 表示视觉轨迹中的第 i 个坐标,N 表示episode中的总时间步数。

训练

第 1 阶段:通用 OV 训练在第 1 阶段,用 LLaVA-OneVision [34] 的训练数据和策略,构建了具有通用多模态理解和视觉指令跟踪能力的基础模型。这为第 2 阶段增强模型的机器人操作规划能力奠定基础。

在第 1 阶段,用 LCS-558K 数据集 [10, 59] 中的图文数据来训练 Projector,促进视觉特征 Zv 与 LLM 语义特征 Hv 的对齐。在第 1.5 阶段,用 4M 高质量图文数据训练整个模型,以增强模型的多模态常识理解能力。在第 2 阶段,用来自 LLaVA-OneVision-Data [34] 的 3.2M 单图像数据和 1.6M 图像和视频数据进一步训练整个模型,旨在增强 RoboBrain 的指令遵循能力并提高对高分辨率图像和视频的理解。

第 2 阶段:机器人训练在第 2 阶段,以第 1 阶段开发的稳健多模态基础模型为基础,为机器人操作规划创建更强大的模型。具体而言,目标是让 RoboBrain 理解复杂、抽象的指令,支持对历史帧信息和高分辨率图像的感知,并在预测潜操作轨迹的同时输出目标affordance区域。这将有助于操作规划任务从抽象到具体的转变。

在第 3 阶段,收集 1.3M 机器人数据的数据集,以提高模型的机器人操作规划能力。具体来说,这些数据来源于 RoboVQA-800K [60]、ScanView-318K 包括 MMScan-224K [24, 47]、3RScan-43K[24, 67]、ScanQA-25K [4, 24]、SQA3d-26K [24, 48] 以及本文介绍的 ShareRobot-200K 子集。这些数据集包含大量的场景扫描图像数据、长视频数据和高分辨率数据,以支持模型感知不同环境的能力。此外,ShareRobot 数据集中细粒度、高质量的规划数据进一步增强 RoboBrain 的机器人操控规划能力。为了缓解灾难性遗忘问题 [75],从第 1 阶段选取约 1.7M 的高质量图文数据子集,与第 3 阶段收集的机器人数据混合进行训练,并相应地调整整个模型。

在第 4 阶段,利用 ShareRobot 数据集中标注的 affordance 和轨迹数据,进一步增强模型根据指令感知目标affordance和预测操作轨迹的能力。这是通过引入 LoRA [23] 模块进行训练来实现细粒度规划能力的。

如表所示:各阶段的训练参数细节

请添加图片描述

在整个训练阶段,采用 Zero3 [58] 分布式训练策略,所有实验都在一个服务器集群上进行,每个服务器配备 8×A800 GPU。

相关文章:

RoboBrain:从抽象到具体的机器人操作统一大脑模型

25年2月来自北大、北京智源、中科院自动化所等的论文“RoboBrain: A Unified Brain Model for Robotic Manipulation from Abstract to Concrete”。 目前的多模态大语言模型(MLLM) 缺少三项必备的机器人大脑能力:规划能力,将复杂…...

DeepSeek本地接口调用(Ollama)

前言 上篇博文,我们通过Ollama搭建了本地的DeepSeek模型,本文主要是方便开发人员,如何通过代码或工具,通过API接口调用本地deepSeek模型 前文:DeepSeek-R1本地搭建_deepseek 本地部署-CSDN博客 注:本文不仅…...

数据库索引的作用:提升数据检索效率的关键

在数据库管理系统中,数据如同浩瀚海洋中的宝藏,如何快速准确地找到所需信息,成为了一个关键问题。这时候,数据库索引就如同一张精确的航海图,指引着我们高效地定位数据。那么,数据库索引究竟是什么&#xf…...

高效便捷的 Spring Boot 通用控制器框架

✨高效便捷的 Spring Boot 通用控制器框架✨ 一、简介 在 Java 开发中,重复性的基础接口编写工作常令人头疼。本框架基于 Spring Boot 与 MyBatis-Plus,精心构建通用控制器类BaseController,旨在为开发者排忧解难,极大减少繁琐的…...

SQL_语法

1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…...

在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行

在 CentOS 上,你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行: 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup:忽略挂断信号&#xff0c…...

全面回顾复习——C++语法篇1(基于牛客网C++题库)

注&#xff1a;牛客网允许使用万能头文件#include<bits/stdc.h> 1、求类型长度——sizeof&#xff08;&#xff09;函数 2、将浮点数四舍五入——round&#xff08;&#xff09;函数——前面如果加上static_cast会更安全一些 在C语言中可以使用printf&#xff08;“.0l…...

一、数据库 MySQL 基础学习 (上)

一、数据库的概念 DB 数据库&#xff08;database&#xff09;&#xff1a;存储数据的“仓库”&#xff0c;保存一系列有组织的数据 DBMS&#xff1a;数据库管理系统(Database Management System)。数据库是通过 DBMS 创建和操作的容器 创建的 DBMS&#xff1a; MySQL、Oracl…...

基于Django创建一个WEB后端框架(DjangoRestFramework+MySQL)流程

一、Django项目初始化 1.创建Django项目 Django-admin startproject 项目名 2.安装 djangorestframework pip install djangorestframework 解释: Django REST Framework (DRF) 是基于 Django 框架的一个强大的 Web API 框架&#xff0c;提供了多种工具和库来构建 RESTf…...

AutoGen学习笔记系列(七)Tutorial - Managing State

这篇文章瞄准的是AutoGen框架官方教程中的 Tutorial 章节中的 Managing State 小节&#xff0c;主要介绍了如何对Team内的状态管理&#xff0c;特别是如何 保存 与 加载 状态&#xff0c;这对于Agent系统而言非常重要。 官网链接&#xff1a;https://microsoft.github.io/auto…...

Redis渐进式遍历数据库

目录 渐进式遍历 数据库 渐进式遍历 keys*可以一次性的把整个redis中所有key都获取到&#xff0c;这个操作是非常危险的&#xff0c;因为可能一下获取到太多的key&#xff0c;阻塞redis服务器。要想很好的获取到所有的key&#xff0c;又不想出现卡死的情况&#xff0c;就可以…...

机器学习中的线性代数:奇异值分解 SVD

线性代数 奇异值分解&#xff08;SVD&#xff09; 参考资料&#xff1a; 超详细&#xff01;彻底搞懂矩阵奇异值分解&#xff08;SVD&#xff09;本质计算应用&#xff01;_哔哩哔哩_bilibili 非常好的视频&#xff0c;本文内容主要来自于该视频&#xff0c;在此表示感谢&#…...

【每日八股】计算机网络篇(三):IP

目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP&#xff0c;为什么&#xff1f;默认使用 UDP 的原因需要使用 TCP 的场景&#xff1f;总结 DNS 劫持是什么&#xff1f;解决办法&#xff1f;浏览器输入一个 URL 到显示器显示的过程&#xff1f;URL 解析TCP 连接HTTP 请求页…...

6. PromQL的metric name(在node exporter复制下来交给AI解释的)

目录 前言&#xff1a; Go 运行时指标&#xff1a; Go 内存统计指标&#xff1a; CPU 指标&#xff1a; 内存指标&#xff1a; 磁盘指标&#xff1a; 网络指标&#xff1a; 系统指标&#xff1a; 前言&#xff1a; 写这个得目的是为了后续方便查询&#xff0c;因为在pro…...

基于单片机的速度里程表设计(论文+源码)

1 系统方案 本次智能速度里程表的总体架构如图2-1所示&#xff0c;在硬件上包括了STC89C52单片机&#xff0c;电机&#xff0c;显示模块&#xff0c;报警模块&#xff0c;DS1302时钟模块&#xff0c;超速检测模块&#xff0c;按键等等。在软件设计功能的功能上&#xff0c;按下…...

计算机毕业设计Python+Django+Vue3微博数据舆情分析平台 微博用户画像系统 微博舆情可视化(源码+ 文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

nvidia驱动升级-ubuntu 1804

升级 1.从官网下载*.run驱动文件 2.卸载原始驱动 sudo /usr/bin/nvidia-uninstall sudo apt-get --purge remove nvidia-\* # 可能不需要加-\ sudo apt-get purge nvidia-\* # 可能不需要加-\ sudo apt-get purge libnvidia-\* # 可能不需要…...

如何使用SSH命令安全连接并转发端口到远程服务器

ssh -p 22546 rootconnect.westc.gpuhub.com d6IS/mQKq/iG ssh -CNgv -L 6006:127.0.0.1:6006 rootconnect.westc.gpuhub.com -p 22546 第一条命令&#xff1a;用于登录远程服务器&#xff0c;进行交互式操作。第二条命令&#xff1a;用于建立 SSH 隧道&#xff0c;进行端口转…...

2025年天梯赛第1场选拔赛

目录 A:徐老师的积木山峰 B:徐老师的最长上升子序列 C:徐老师的机器命令 D:徐老师的地下堡 E:徐老师的新鲜羊腿 F:徐老师的黄金矿工 G:徐老师的成绩统计 H:春节糖果 I:幸运函数 J:好坏钥匙 A:徐老师的积木山峰 徐老师有 n 块积木排成一排&#xff0c;从左往右数编号依次为 1∼…...

06实现相册小项目

一、涉及的知识点&#xff1a; 1、bmp的显示 2、双向循环链表实现图片的轮播 3、触摸屏的滑动算法实现图片的切换 4、目录操作用以检索bmp图片文件 5、项目的优化方向 &#xff08;1&#xff09;可以实现不同图片大小的显示 &#xff08;2&#xff09;图片轮播的时候可以…...

Dify+DeepSeek | Excel数据一键可视化(创建步骤案例)(echarts助手.yml)(文档表格转图表、根据表格绘制图表、Excel绘制图表)

Dify部署参考&#xff1a;Dify Rag部署并集成在线Deepseek教程&#xff08;Windows、部署Rag、安装Ragan安装、安装Dify安装、安装ollama安装&#xff09; DifyDeepSeek - Excel数据一键可视化&#xff08;创建步骤案例&#xff09;-DSL工程文件&#xff08;可直接导入&#x…...

RK3568平台(GPIO篇)Android平台集成libgpiod库

一.libgpiod 介绍 libgpiod 是一个用于与 Linux GPIO(通用输入输出)子系统交互的用户空间库。它提供了一组简单且高效的 API,允许开发者通过用户空间程序控制 GPIO 引脚,而无需编写内核模块或直接操作 /sys/class/gpio 接口。libgpiod 是 Linux 内核推荐的 GPIO 访问方式,…...

API和SDK

API&#xff08;Application Programming Interface&#xff09;和 SDK&#xff08;Software Development Kit&#xff09;是软件开发中密切相关的概念&#xff0c;但它们之间存在一些区别&#xff1a; 定义 API &#xff1a;是一组预先定义的函数、协议和规范&#xff0c;用…...

CR电路介绍

CR电路&#xff08;RC电路&#xff09;介绍 CR电路&#xff08;电阻-电容电路&#xff09;由电阻&#xff08;R&#xff09;和电容&#xff08;C&#xff09;组成&#xff0c;是电子系统中的基础模块&#xff0c;广泛用于信号处理、定时、滤波等场景。以下是其核心功能、实现方…...

安装与配置 STK-MATLAB 接口

STK版本为11.6 Matlab版本为R2018a STK 提供 Connect 和 Object Model (COM) 两种接口与 MATLAB 交互&#xff0c;推荐使用 COM接口进行二次开发。 确保安装了 STK&#xff0c;并且 MATLAB 可以访问 STK Object Model。 在 MATLAB 中运行&#xff1a; % 添加 STK COM 库&#…...

NUMA架构介绍

NUMA 架构详解 NUMA&#xff08;Non-Uniform Memory Access&#xff0c;非统一内存访问&#xff09; 是一种多处理器系统的内存设计架构&#xff0c;旨在解决多处理器系统中内存访问延迟不一致的问题。与传统的 UMA&#xff08;Uniform Memory Access&#xff0c;统一内存访问…...

计算机二级MS之PPT

声明&#xff1a;跟着大猫和小黑学习随便记下一些笔记供大家参考&#xff0c;二级考试之前将持续更新&#xff0c;希望大家二级都能轻轻松松过啦&#xff0c;过了二级的大神也可以在评论区留言给点建议&#xff0c;感谢大家&#xff01;&#xff01; 文章目录 考题难点1cm25px…...

python中采用opencv作常规的图片处理的方法~~~

在python中&#xff0c;我们经常会需要对图片做灰度/二值化/模糊等处理&#xff0c;这时候opencv就是我们的好帮手了&#xff0c;下面我来介绍一下相关用法: 首先&#xff0c;需要安装opencv-python库: 然后&#xff0c;在你的代码中引用: import cv2 最后就是代码了&#x…...

deepseek在pycharm 中的配置和简单应用

对于最常用的调试python脚本开发环境pycharm&#xff0c;如何接入deepseek是我们窥探ai代码编写的第一步&#xff0c;熟悉起来总没坏处。 1、官网安装pycharm社区版&#xff08;免费&#xff09;&#xff0c;如果需要安装专业版&#xff0c;需要另外找破解码。 2、安装Ollama…...

Redis数据结构,渐进式遍历,数据库管理

1.Redis的其他数据结构 前面我们主要讲述了Redis中比较常用的集中数据结构String&#xff0c;List&#xff0c;Hash&#xff0c;Set&#xff0c;Zset&#xff0c;但这并不代表Redis只用这几种数据结构还有如Streams&#xff0c;Geospatial&#xff0c;Hyperloglog&#xff0c;…...