ManiWAV:通过野外的音频-视频数据学习机器人操作

24年6月来自斯坦福大学、哥伦比亚大学和 TRI 的论文“ManiWAV: Learning Robot Manipulation from In-the-Wild Audio-Visual Data”。

音频信号通过接触为机器人交互和物体属性提供丰富的信息。这些信息可以简化接触丰富的机器人操作技能学习,尤其是当视觉信息本身含糊不清或不完整时。然而,机器人操作中音频数据的使用,仅限于通过将麦克风连接到机器人或物体上来收集的遥控演示,这大大限制其在机器人学习流水线中的使用。这项工作引入 ManiWAV,一种“耳在手”数据收集设备,用于收集具有同步音频和视觉反馈的野外环境人类演示,以及相应的策略界面,可直接从演示中学习机器人操作策略。四个接触丰富的操作任务,可展示系统的功能,这些任务需要被动感知接触事件和模式,或主动感知物体表面材料和状态。此外,系统可以通过从各种野外人类演示中学习,推广到未见过的野外环境。

在机器人操作任务期间,音频反馈可以揭示有关交互和目标属性的几个关键信息,包括:
• 接触事件和模式:从擦拭表面到用刮刀翻转物体,音频反馈可捕获显着且独特的信号,可用于检测接触事件和表征接触模式(如图 a、b)。
• 表面材料:音频信号可用于通过与物体的接触来表征表面材料。相比之下,图像传感器或基于视觉的触觉传感器都需要高空间分辨率来捕捉细微的纹理差异,例如魔术贴的“钩”和“环”面(图 c)。
• 物体状态和属性:通过间接接触,音频信号可以提供超出视觉观察之外的物体状态和物理属性的补充信息(图 d)。

请添加图片描述

鉴于音频数据的丰富性和可扩展性,本文提出一种多功能机器人学习系统 ManiWAV,该系统利用音频反馈来完成接触式机器人操作任务:
在硬件方面,提出一种便携式手持设备,用于野外数据收集。如下图(a)所示,引入一种“耳在手”设计,使人类能够通过同步视觉和音频反馈轻松演示各种操作任务。手持式夹持器在数据收集过程中还会自然地提供触觉反馈(例如在白板上擦拭时),这是遥操作难以获得的。为了以更高信噪比捕获接触式音频信号,选择使用顶部附有纹理高抓地力(high-grip)表面的压电(piezoelectric)接触式麦克风。

在算法方面,一个关键挑战是弥合由于测试时噪声导致的野外数据和实际机器人部署之间的音频域差距,如下图(b)所示。为了实现这一目标,提出一种数据增强策略,鼓励学习与任务相关的音频表示。此外,提出一个端到端的感觉运动学习网络来编码和融合视觉和音频信息,并利用扩散头进行动作预测。这种网络设计有助于从多模态人类演示中学习更好的视觉-听觉表示。

请添加图片描述

本文提出一个数据收集和策略学习框架,用于从视觉和音频中学习接触丰富的操作任务。在数据收集方面,目标是轻松收集具有清晰和显着接触信号的野外演示。为了实现这一目标,提出一种“耳在手”数据收集设备,使用 GoPro 相机和接触式麦克风收集同步的视觉和音频数据。

在算法方面,一个关键挑战是弥合收集的演示与机器人部署期间反馈之间的音频域差距,如图 (b) 所示。另一个挑战是学习一个可以有效指导下游策略的强大且与任务相关的视听表示。为了应对这些挑战,提出一种数据增强策略来弥合音频的域差距,并提出一个基于 Transformer 的模型,该模型从具有视觉和音频反馈的人类演示中学习。最终学习的策略部署在机器人上,如上图(c)所示。

耳-在-手的硬件设计

数据收集设备建立在通用操作接口 (UMI) [34] 之上。UMI 是一种便携式低成本手持抓手,旨在收集野外丰富的人类演示。收集的数据可用于训练,可直接部署在机器人上的视觉运动策略。

重新设计设备上的 3D 打印平行钳口夹持器,在缠绕手指的高摩擦力握带下嵌入压电接触式麦克风。麦克风连接到 GoPro 相机媒体模块上的 3.5 毫米外部麦克风端口。上图 (a) 显示手持式夹持器设计。音频以 48000 Hz 录制,并与 60Hz 图像数据同步存储为 MP4 文件。在机器人部署期间,带有嵌入式麦克风的相同平行钳口夹持器安装在 UR5 机器人手臂上,如上图 © 所示。图像和音频通过 Elgato HD60 X 外部捕获卡实时传输到 Ubuntu 22.04.3 桌面。

策略设计

本文提出一种端到端闭环感觉运动学习模型,该模型接收 RGB 图像和音频,并输出 10-DoF 机器人动作(末端执行器位置、末端执行器方向以 6D [35] 表示,以及 1D 夹持器张开度)。

音频数据增强。一个关键挑战是,实时机器人部署期间接收的音频信号,与手持夹持器收集的数据非常不同,导致训练和测试场景之间存在很大的域差距,如上图 (b) 所示。这主要是因为 1) 部署期间的非线性机器人电机信号,2) 机器人交互产生的分布不均匀声音(例如意外与物体相撞)。

为了解决域差距,关键是用噪声来增强训练数据,并引导模型关注具有不变性的任务相关信号,并忽略不可预测的噪声。特别是,从 ESC-50 [36] 中随机采样音频作为背景噪声。声音被归一化为与训练数据集中收集的声音相同的比例。还在随机采样的轨迹下记录 10 个机器人马达噪音样本,接触式麦克风的位置与部署时间相同。背景噪音和机器人噪音叠加到原始音频信号上,每个概率为 0.5。在实验中,这种简单而有效的方法,通过在任务相关的音频信号上强制模型的归纳偏差来产生更好的策略性能。

视觉编码器。用一个 CLIP 预训练的 ViT-B/16 模型 [37] 对 RGB 图像进行编码。图像被调整为 224x224 分辨率,并进行随机裁剪和颜色抖动增强。图像以 20 Hz 采样,在过去 2 个时间步内拍摄图像。每个图像使用分类 token 特征单独编码。

音频编码器。用音频频谱图 Transformer (AST) [38] 对音频输入进行编码。AST 与 ViT 模型类似,利用注意机制从频谱图块中学习更好的音频表示。使用 Transformer 编码器而不是基于 CNN 编码器背后的直觉(如先前的研究 [26、28、25] 中所见),是 CNN 利用的“漂移不变性”不太适合音频频谱图,因为时间和频域中的移位都会显着改变信息。在实验中,从头开始训练 Transformer 编码器的表现,优于预训练和从头开始的 CNN 模型。

如图所示音频的注意可视化:

请添加图片描述

首先将音频信号(根据任务不同,从最后 2-3 秒开始)从 48kHz 重新采样为 16kHz,然后使用 FFT 大小和 400 的窗口长度、160 的跳跃长度和 64 个梅尔滤波器组将其转换为对数梅尔频谱图。对数梅尔频谱图,线性归一化到范围 [-1,1]。用从 AST 编码器的最后一个隐藏层提取的分类 token 特征。

感官融合。用与 Li [28] 类似的Transformer编码器融合视觉和音频特征,以利用注意机制在任务的不同阶段自适应地加权特征(例如,视觉对于移动到目标物体很重要,而音频在接触期间很重要)。连接输出特征并使用线性投影层将维度下采样到 768。最后,将过去 2 个时间步的末端执行器姿势 (20 Hz) 连接到视听特征。

策略学习。为了对人类演示固有的多模态性进行建模,选择使用 Chi [39] 提出的 UNet 编码器扩散模型。 作为策略头,以每个去噪步骤中上述的观察表示为条件。整个模型(如图所示),包括上述编码器,都是使用噪声预测 MSE 损失对 16 步的未来机器人轨迹进行端到端训练的。

请添加图片描述

音频延迟匹配。在数据收集过程中,视觉和音频数据通过 GoPro 进行录制时同步。在部署过程中,将音频延迟校准为 0.23;采用类似于 Chi [34] 的方法来补偿这种延迟。

研究四个接触丰富的操作任务,以展示音频反馈的不同功能,例如检测接触事件和模式(翻转和擦拭)、感知物体状态(倾倒)和表面材料(胶带)。在每个任务中,在不同的场景下测试策略,并与替代方法进行比较,以验证方法的稳健性和通用性。

如图所示:翻转评估例子

请添加图片描述

如图所示:擦拭的评估例子

请添加图片描述

如图所示:倾倒的评估例子

请添加图片描述

如图所示:胶带粘贴的评估例子

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37686.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云国际站代理商:如何构建交互式安全分析看板?

1.明确看板目的 在构建交互式安全分析看板之前,首先要明确看板的具体目的和目标用户。例如,是为了实时监控网络安全态势,还是为了分析历史安全事件。明确目的有助于确定看板上需要展示的关键指标和数据类型。 2.选择合适的数据可视化…

Linux固定IP方法(RedHat+Net模式)

1、查看当前网关 ip route | grep default 2、配置静态IP 双击重启 3、验证

Android音视频多媒体开源库基础大全

从事音视频开发工作,需要了解哪些常见的开源库,从应用到底软系统,整理了九大类,这里一次帮你总结完。 包含了应用层的MediaRecorder、surfaceView,以及常见音视频处理库FFmpeg和OpenCV,还有视频渲染和音频…

代码随想录算法训练营第十五天 | 数组 |长度最小的子数组和螺旋矩阵II

长度最小的子数组 【题目简介】 【自写数组解法】 class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:minLength float(inf)slow 0fast 0cur_sum nums[slow]# 终止条件&#xff1a;fast不能超过最大索引值while slow < fast and fas…

JVM常用概念之身份哈希码

问题 当我们调用Object.hashCode时&#xff0c;如果没有用户没有提供哈希码&#xff0c;会发生什么&#xff1f; System.identityHashCode如何工作&#xff1f;它是否获取对象地址&#xff1f; 基础知识 在 Java 中&#xff0c;每个对象都有equals和hashCode &#xff0c;即…

Compose 实践与探索十六 —— 与传统的 View 系统混用

Compose 发展初期的几年&#xff0c;会是新的模块用 Compose 写&#xff0c;然后逐渐的把老界面从 View 替换成 Compose 组件&#xff0c;直到全部或几乎全部是 Compose 代码的模式。 原生的 SurfaceView 与 TextureView 的重点是在它们底层的 Surface API&#xff0c;而不是 V…

[7-01-03].SpringBoot3集成MinIo

MinIO学习大纲 一、Spingboot整合MinIo 第1步&#xff1a;搭建SpringBoot项目&#xff1a; 第2步&#xff1a;引入minio依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&q…

xLua_001 Lua 文件加载

xLua下载 1、HelloWrold 代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua; // 引入XLua命名空间 public class Helloworld01 : MonoBehaviour {//声明LuaEnv对象 private LuaEnv luaenv;void Start(){//实例化LuaEnv对象…

Redis 管道(Pipeline)深度解析:原理、场景与实战

一、为什么需要管道? 1. Redis 的请求/响应模式瓶颈 在传统 Redis 交互中: 客户端:发送命令1 → 等待响应 → 发送命令2 → 等待响应... 每次操作都需要经历: 网络传输时间 服务器处理时间 客户端阻塞等待时间 性能损耗:当需要执行大量命令时,频繁的网络往返(RTT)成…

OSPF-8 OSPF特殊区域NSSA

上一期我们介绍了特殊区域Stub区域,描述了Stub区域是如何来缩减LSA的数量以及下发LSA路由信息的 但由于Stub以及Stub区域虽然达到了缩减LSA数量的目的,但是无法引入外部路由信息所以这章我们来介绍OSPF的NSSA特殊区域,来看看NSSA区域与Stub区域有什么区别 一、概述 Stub区域与…

upload-labs靶场学习记录2

pass-2 打开靶场 提示这关与mime进行检查。 所以我们上传1.php文件并且抓包。 抓到包&#xff0c;我们修改对应的Content-Typed的类型为image/jpeg来伪造数据&#xff0c;让后端以为我们传入的是一个图片文件。 点击发送查看回传&#xff0c;复制图片的链接。 打开蚁剑&…

【C++】多态

目录 文章目录 前言 一、多态的概念 二、多态的定义及实现 三、重载/重写/隐藏的对比 四、纯虚函数和抽象类 五、多态的原理 总结 前言 本文主要讲述C中的多态&#xff0c;涉及的概念有虚函数、协变、纯虚函数、抽象类、虚表指针和虚函数表等。 一、多态的概念 多态分…

k8s部署prometheus+alertmanager+grafana监控

1、下载prometheus.yaml文件 根据github上面的版本对应说明&#xff0c;选择我们要下载的版本&#xff0c;github地址 rootiZj6c72dzbei17o2cuksmeZ:~# wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v0.14.0.tar.gz rootiZj6c72dzbei17o2cu…

扩展卡尔曼滤波

1.非线性系统的线性化 标准卡尔曼滤波 适用于线性化系统&#xff0c;扩展卡尔曼滤波 则扩展到了非线性系统&#xff0c;核心原理就是将非线性系统线性化&#xff0c;主要用的的知识点是 泰勒展开&#xff08;我另外一篇文章的链接&#xff09;&#xff0c;如下是泰勒展开的公式…

【从0实现muduo库系列】第二讲:基础类型与工具类

0 章节重点 重点内容 视频讲解&#xff1a;《CLinux编程进阶&#xff1a;从0实现muduo C网络框架系列》-第2讲.基础类型与工具类 代码改动 cp -r lesson1 lesson2 实现&#xff1a;base/Types.h 实现&#xff1a;base/copyable.h和noncopyable.h 实现&#xff1a;base/Str…

Qemu-STM32(十):STM32F103开篇

简介 本系列博客主要描述了STM32F103的qemu模拟器实现&#xff0c;进行该项目的原因有两点: 作者在高铁上&#xff0c;想在STM32F103上验证一个软件框架时&#xff0c;如果此时掏出开发板&#xff0c;然后接一堆的线&#xff0c;旁边的人估计会投来异样的目光&#xff0c;特别…

鸿蒙HarmonyOS NEXT应用崩溃分析及修复

鸿蒙HarmonyOS NEXT应用崩溃分析及修复 如何保证应用的健壮性&#xff0c;其中一个指标就是看崩溃率&#xff0c;如何降低崩溃率&#xff0c;就需要知道存在哪些崩溃&#xff0c;然后对症下药&#xff0c;解决崩溃。那么鸿蒙应用中存在哪些崩溃类型呢&#xff1f;又改如何解决…

K8S-etcd服务无法启动问题排查

一、环境、版本信息说明 k8s&#xff1a;v1.19.16 etcdctl version: 3.5.1 3台etcd&#xff08;10.xxx.xx.129、10.xxx.xx.130、10.xxx.xx.131&#xff09;组成的集群。 二、问题根因 129节点的etcd数据与其他两台数据不一致&#xff0c;集群一致性校验出错导致无法加入集…

【视觉提示学习】3.21论文随想

. . Frontiers of Information Technology & Electronic Engineering. 2024, 25(1): 42-63 https://doi.org/10.1631/FITEE.2300389 中文综述&#xff0c;根据里面的架构&#xff0c;把视觉提示学习分成两类&#xff0c;一类是单模态提示学习&#xff08;以vit为代表&…

基于SpringBoot的“校园招聘网站”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“校园招聘网站”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 局部E-R图 系统首页界面 系统注册…