用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析

在机器人领域,让机器人在现实世界中精准执行任务是大家一直追求的目标。可模拟环境和现实世界之间存在着不小的差距,特别是基于 RGB 图像的操作策略,从模拟转移到现实时总是状况百出。

今天咱们就来聊聊 SplatSim 框架,看看它是怎么解决这个难题的。

工作链接:https://splatsim.github.io/assets/splatsim_paper.pdf

一、研究背景——sim研究的困境

在机器人的发展进程里,把在模拟环境中训练的控制策略应用到现实世界,也就是 “Sim2Real” 问题,一直是个大挑战。虽说最近在这方面有了些进展,像机器人能在复杂地形行走、灵活操作物体等,但大多是靠深度、触觉这些感知方式实现的。为啥 RGB 图像在机器人学习里不受重视呢?要知道,RGB 图像能捕捉颜色、纹理这些重要视觉信息,而且获取方便,和人类的视觉感知很接近,在很多任务里都很关键,比如挑水果的时候,看颜色就能知道熟没熟。

image.png

可问题在于,机器人在模拟环境里看到的 RGB 图像,和现实世界中的差别太大了。这就好比模拟世界是个 “理想国”,现实世界却是 “真实战场”,两个世界的图像分布完全不同。这使得基于模拟 RGB 图像训练的策略,一到现实世界就 “水土不服”,根本没法正常发挥作用。所以,怎么缩小这个差距,让机器人能靠 RGB 图像在现实里好好干活,就成了科研人员急需攻克的难题。

二、SplatSim :用高斯溅射 “改造” 模拟世界

为了让机器人在现实中能更好地依赖 RGB 图像执行任务,SplatSim 框架带来了新的思路。它的核心就是用高斯溅射(Gaussian Splatting)技术来生成超逼真的模拟数据,让模拟世界更接近现实。

image.png

2.1 高斯溅射技术的神奇之处

高斯溅射是一种很厉害的渲染技术,它用 3D 高斯原语来描绘场景,能把复杂的几何形状展现得既高效又逼真。和其他类似技术比起来,它有个很大的优势,就是结构像点云一样清晰明确,操作起来特别方便。这种特性让机器人领域的研究者们看到了希望,不少人开始把它应用到各种机器人任务里。

2.2 SplatSim 框架的具体实现步骤

image.png

  1. 定义问题与坐标框架 在 SplatSim 里,要解决的问题就是用现实场景的高斯溅射表示SrealSreal​,在模拟器(像 PyBullet)里生成超真实的渲染图像IsimIsim,然后用这些图像来训练基于 RGB 的操作策略。为了把现实世界、模拟器和溅射点云之间的关系搞清楚,研究人员定义了好几个坐标框架。现实世界坐标框架FrealFreal​是基准,模拟器坐标框架FsimFsim​和现实世界机器人框架FrobotFrobot​都和它对齐,而溅射坐标框架FsplatFsplat​表示场景高斯溅射里机器人底座的框架,它们之间的转换靠特定的矩阵来完成。
  2. 构建机器人溅射模型 想要得到不同关节姿势下机器人的渲染图,得经过三步。首先,用迭代最近点(ICP)算法把机器人相关的 3D 高斯和模拟器里的真实点云对齐,算出转换矩阵TFrobertFsplatTFrobert​Fsplat​​ ,这一步就像是给机器人在模拟世界里找准位置。接着,利用机器人 CAD 模型提供的链接边界框,把 3D 高斯和各个链接对应起来,分割出每个链接的 3D 高斯SreallSreall​。最后,用机器人的正向运动学,结合 PyBullet 里的正向运动学例程,算出每个链接的变换TfklTfkl​ ,再通过一系列矩阵运算得到 3D 高斯的最终变换,这样就能渲染出不同姿势的机器人啦。
  3. 处理物体溅射模型 和机器人渲染类似,物体的 3D 高斯SobjkSobjk​也要用 ICP 算法和模拟的真实点云对齐,得到转换矩阵TFk−obj,simFk−obj,sialtTFk−obj,sim​Fk−obj,sialt​​。根据物体在场景中的位置ptkptk​和方向RtkRtk​,算出物体在原始模拟器框架Fk−obj,simFk−obj,sim​的变换Tfkk−objTfkk−obj​,再通过矩阵运算得到在SrealSreal​框架下的变换,用高斯溅射渲染框架就能渲染出物体在新位置和方向的样子。
  4. 攻克铰接物体的分割难题 像平行夹爪这样的铰接物体,用普通的边界框分割可不行,因为它们的链接和标准轴对不上。这时候,研究人员训练了一个基于 K 近邻(KNN)的分类器,用模拟器点云的真实标签来训练。这样,就能准确判断对齐后的溅射里每个 3D 高斯属于哪个链接,解决了铰接物体的分割难题。
  5. 渲染模拟轨迹与训练策略 有了单个刚体的渲染能力,就可以用它来精确表示模拟轨迹了。把基于状态的变换和前面提到的方法结合起来,得到用于策略学习的演示数据τGτG​ 。在训练策略的时候,用的是扩散策略(Diffusion Policy),这是行为克隆领域很厉害的技术。考虑到模拟和现实环境还是有差异,比如模拟场景没有阴影,一些柔性部件渲染得不准确,所以在训练时会加入图像增强操作,像加高斯噪声、随机擦除、调整亮度和对比度等,让策略更能适应现实世界。

image.png

三、实验:SplatSim 真的靠谱吗?

为了验证 SplatSim 框架的效果,研究人员做了一系列实验,主要从数据收集、零样本策略部署、渲染量化和增强效果这几个方面来测试。

3.1 数据收集

在数据收集环节,现实世界里每个任务的演示数据都得靠人工收集,又费时间又费精力。但在模拟器里就方便多了,用基于特权信息的运动规划器,能自动生成数据。像有些任务,在现实世界收集数据要 20.5 小时,在模拟器里只要 3 小时,效率大大提高,而且数据质量还不错。这充分体现了模拟器在数据收集方面的强大优势,能为后续的训练提供充足的数据支持。

3.2 零样本策略部署

研究人员在四个和接触相关的现实任务里测试了零样本策略部署的效果,用任务成功率作为主要衡量指标。结果显示,SplatSim 框架训练的策略,零样本从模拟到现实的转移平均成功率能达到 86.25%,虽然比直接用真实数据训练的策略(97.5%)低了一些,但已经很厉害了。在 T - Push 任务里,机器人不用在现实数据上微调,就能在推物体的时候达到 90% 的成功率;Pick - Up - Apple 任务里,抓苹果的成功率也有 95%;Orange on Plate 任务和 Assembly 任务同样表现不错,说明这个框架真的能让模拟训练的策略在现实世界发挥作用。

image.png

3.3 量化机器人渲染

为了看看渲染出来的机器人图像有多逼真,研究人员对比了不同关节配置下的渲染图像和现实世界图像,用峰值信噪比(PSNR)和结构相似性指数(SSIM)这两个指标来衡量。结果发现,即使关节配置变来变去,渲染图像的平均 PSNR 能达到 22.62,SSIM 是 0.7845,这表明模拟图像在视觉质量上和现实世界的 RGB 观测很接近,生成的模拟数据确实能反映现实场景的特征。

3.4 增强的作用

点击用高斯溅射技术跨越机器人模拟与现实的鸿沟:SplatSim 框架解析查看全文

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

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

相关文章

【自然语言处理与大模型】如何知道自己部署的模型的最大并行访问数呢?

当你自己在服务器上部署好一个模型后,使用场景会有两种。第一种就是你自己去玩,结合自有的数据做RAG等等,这种情况下一般是不会考虑并发的问题。第二种是将部署好的服务给到别人来使用,这时候就必须知道我的服务到底支持多大的访问…

[FPGA基础] UART篇

Xilinx FPGA UART 硬件接口使用指南 1. 引言 UART (通用异步收发器) 是一种广泛使用的串行通信接口,因其简单、可靠和易于实现而成为 Xilinx FPGA 设计中的常见硬件接口。UART 用于在 FPGA 与外部设备(如 PC、微控制器、传感器等)之间进行数…

【Netty4核心原理】【全系列文章目录】

文章目录 一、前言二、目录 一、前言 本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。 本系列内容基于 Netty 4.1.73.Final 版本,如下&#xf…

用 PyTorch 和numpy分别实现简单的 CNN 二分类器

作业用到的知识: 1.Pytorch: 1. nn.Conv2d(二维卷积层) 作用: 对输入的多通道二位数据(如图像)进行特征提取,通过滑动卷积核计算局部区域的加权和,生成新的特征图。 关键参数&a…

使用n8n构建自动化工作流:从数据库查询到邮件通知的使用指南

n8n是一款强大的开源工作流自动化工具,可以帮助你将各种服务和应用程序连接起来,创建复杂的自动化流程。下面我将详细介绍一个实用的n8n用例:从MySQL数据库查询数据并发送邮件通知,包括使用场景、搭建步骤和节点部署方法。 使用场…

Vscode已经打开的python项目,如何使用已经建立的虚拟环境

在 VS Code 中使用已创建的 Conda/Mamba 虚拟环境 pe100,只需以下几步: 步骤 1:确保虚拟环境已存在 在终端运行以下命令,检查 pe100 环境是否已正确创建: conda activate pe100 python --version # 应显示 Python 3…

Volatility工具学习

背景 VMware虚拟机系统hang死,手动重启无法触发系统panic,从而不能触发kdump产生vmcore文件进行原因分析;此种情况下需要手动生成虚拟机内存快照,进而利用Volatility工具分析系统hang死的具体原因。 配置 使用VMware创建虚拟机…

学习笔记(C++篇)--- Day 4

目录 1.赋值运算符重载 1.1 运算符重载 1.2 赋值运算符重载 1.3 日期类实现 1.赋值运算符重载 1.1 运算符重载 ①当运算符被用于类类型的对象时,C语言允许我们通过通过运算符重载的形式指定新的含义。C规定类类型对象使用运算符时,必须转换成调用对…

Docker 快速入门教程

1. Docker 基本概念 镜像(Image): 只读模板,包含创建容器的指令 容器(Container): 镜像的运行实例 Dockerfile: 用于构建镜像的文本文件 仓库(Repository): 存放镜像的地方(如Docker Hub) 2. 安装Docker 根据你的操作系统选择安装方式:…

vue项目中使用tinymce富文本编辑器

vue使用tinymce 文章目录 vue使用tinymcetinymce富文本编辑器在这里插入图片描述 一、本文要实现二、使用步骤1.安装tinymce2.tinymce组件新建3. 在store添加商品详情的状态管理4. tinymce组件的引入 tinymce富文本编辑器 提示:以下是本篇文章正文内容,下…

简单适配torch_npu不支持的ATen算子

简单适配torch_npu不支持的ATen算子 一、背景说明1.1 PyTorch扩展机制1.2 核心概念二、实现步骤详解2.1 实现前向、反向传播算子2.2 编译生成动态库2.3 测试验证程序三、关键点解析3.1 设计注意事项3.2 性能优化方向四、验证结果一、背景说明 1.1 PyTorch扩展机制 PrivateUse1…

同样的html标记,不同语言的文本,显示的字体和粗细会不一样吗

同样的 HTML 标记,在不同语言的文本下,显示出来的字体和粗细确实可能会不一样,原因如下: 🌍 不同语言默认字体不同 浏览器字体回退机制 CSS 里写的字体如果当前系统不支持,就会回退到下一个,比如…

基于 Spring Boot 瑞吉外卖系统开发(六)

基于 Spring Boot 瑞吉外卖系统开发(六) 菜品列表 在系统管理端首页,单击左侧菜单栏中的“菜品管理”,会在右侧打开菜品管理页面。 请求URL/dish/page,请求方法GET,请求参数page,pageSize。 该菜品列表…

计算机视觉与深度学习 | TensorFlow基本概念与应用场景:MNIST 手写数字识别(附代码)

TensorFlow 基本概念 TensorFlow 是一个开源的机器学习框架,由 Google 开发,核心概念包括: 张量(Tensor):多维数组,是数据的基本单位。计算图(Graph):早期版本中用于描述数据流和计算过程,2.x 默认启用即时执行(Eager Execution),兼顾灵活性和性能。层(Layers)…

vue+django+LSTM微博舆情分析系统 | 深度学习 | 食品安全分析

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号: D031 LSTM 架构:vuedjangoLSTMMySQL 功能: 微博信息爬取、情感分析、基于负面消极内容舆情分析…

RHCE第三次作业 搭建dns的正向解析服务器

server为服务器 client为客户端 设置主配置文件 在server下: [rootServer ~]#vim /etc/named.conf #进入到配置页面,并修改 设置区域文件 [rootServer ~]# vim /etc/named.rfc1912.zones 设置域名解析文件 [rootServer named]# cd /var/named…

Windows 同步技术-一次性初始化

组件通常设计为在首次调用时执行初始化任务,而不是加载它们时。 一次性初始化函数可确保此初始化仅发生一次,即使多个线程可能尝试初始化也是如此。 Windows Server 2003 和 Windows XP: 应用程序必须使用 互锁函数 或其他同步机制提供自己的…

OpenCV 中的角点检测方法详解

文章目录 引言1. Harris角点检测原理1.1 什么是角点?1.2 Harris算法的核心思想1.3 角点、边缘和平坦区域的区分 2. OpenCV实现Harris角点检测3. 总结 引言 在计算机视觉和图像处理中,特征点检测(Feature Detection)是一个关键任务…

全面介绍AVFilter 的添加和使用

author: hjjdebug date: 2025年 04月 22日 星期二 13:48:19 CST description: 全面介绍AVFilter 的添加和使用 文章目录 1.两个重要的编码思想1. 写代码不再是我们调用别人,而是别人调用我们!2. 面向对象的编程方法. 2. AVFilter 开发流程2.1 编写AVFilter 文件2.1.…

生物计算安全攻防战:从DNA存储破译到碳基芯片防御体系重构

随着碳基生物芯片突破冯诺依曼架构限制,DNA数据存储密度达到1EB/克量级,合成生物学与信息技术的融合正引发新一轮安全革命。本文深入解析碳基芯片逆向工程路径,揭示酶驱动DNA数据解码的技术突破,预警合成生物回路潜在的数据泄露风…