登山第十六梯:深度恢复——解决机器人近视问题

文章目录

一 摘要

二 资源

三 内容


一 摘要

        深度感知是基于 3D 视觉的机器人技术的一个重要问题。然而,现实世界的主动立体或 ToF 深度相机经常会产生嘈杂且深度不完整,从而成为机器人性能的瓶颈。在这项工作中,提出了 一个基于学习的立体图像对深度估计框架,可以在不同的室内场景中预测干净和准确的深度,即使在经典深度感知完全失败的半透明或镜面表面等最具挑战性的场景中也是如此。该方法的关键是,通过使用去噪扩散概率模型预测视差图,将深度估计和恢复统一为图像到图像的翻译问题。在推理时,进一步纳入了左右一致性约束作为扩散过程的分类器指导。作者的框架结合了最近先进的基于学习的方法和传统立体视觉的几何约束。对于模型训练,创建了一个大型场景级合成数据集,其中包含各种透明和镜面物体,以补偿现有的桌面数据集。经过训练的模型可以直接应用于现实世界场景,并在多个公共深度估计基准测试中实现最先进的性能。在真实环境中的进一步实验表明,准确的深度预测可以显著改善各种场景中的机器人操作。

二 资源

文章:D3RoMa: Disparity Diffusion-based Depth Sensing for Material-Agnostic Robotic Manipulation

代码:https://PKU-EPIC.github.io/D3RoMa

日期:2024

三 内容

1)摘要

        深度感知是基于 3D 视觉的机器人技术的一个重要问题。然而,现实世界的主动立体或 ToF 深度相机经常会产生嘈杂且深度不完整,从而成为机器人性能的瓶颈。在这项工作中,作者提出了 D3RoMa,这是一个基于学习的立体图像对深度估计框架,可以在不同的室内场景中预测干净和准确的深度,即使在经典深度感知完全失败的半透明或镜面表面等最具挑战性的场景中也是如此。该方法的关键是,通过使用去噪扩散概率模型预测视差图,将深度估计和恢复统一为图像到图像的翻译问题。在推理时,进一步纳入了左右一致性约束作为扩散过程的分类器指导。作者的框架结合了最近先进的基于学习的方法和传统立体视觉的几何约束。对于模型训练,创建了一个大型场景级合成数据集,其中包含各种透明和镜面物体,以补偿现有的桌面数据集。经过训练的模型可以直接应用于现实世界场景,并在多个公共深度估计基准测试中实现最先进的性能。在真实环境中的进一步实验表明,准确的深度预测可以显著改善各种场景中的机器人操作。

2)创新点

①一个基于扩散模型的立体深度估计框架,可以预测最先进的深度并恢复透明和镜面表面的噪声深度图;

②通过引导扩散将立体几何约束集成到学习范式中;

③一个新的场景级 STD 合成数据集,模拟真实的深度传感器 IR 模式和照片级真实感渲染;

④通过文章更高质量的深度图和 3D 点云,机器人操作任务得到了显著改进。

3)算法结构

        在本节中,介绍了 D3RoMa,这是一个基于视差扩散的深度感知框架,用于与材料无关的机器人操作。该框架专注于提高视差图在深度估计中的准确性,特别是对于透明和镜面物体,这些物体在机器人操作任务中无处不在但具有挑战性。给定对场景的观察,该框架将深度传感器的原始视差图和左右立体图像对作为输入,输出恢复的视差图,该图将转换为恢复的深度图。

A 预定义

立体视觉和深度估计。一旦知道一对立体相机之间观察到点的视差图 x,就可以使用相机固有参数通过 d = (f · b)/x 计算这些点的深度图 d,其中 f 和 b 分别是相机焦距和立体基线。视差图 x 的估计传统上被建模为密集匹配问题,可以在图像域中求解。因此,立体深度估计可以独立于不同的相机设备进行研究。

去噪扩散概率模型。扩散模型是特殊的潜在变量模型,它反转扩散(正向)过程,该过程通过马尔可夫过程逐渐扩散原始数据 x0。

其中,方差 βt 是根据预定义策略设置的。这种马尔可夫链的一个很好的特性是,它在任何时候都具有解析形式 ,其中和 ε ∼ N (0, I)。去噪(反向)过程也是一个具有学习的高斯过渡核的马尔可夫链:

其中,方差简化为 βtI,平均值被重新参数化,使时间条件降噪网络 sθ(xt, t; θ) 近似添加的噪声ε。提出通过最小化简化下列损失来训练去噪网络:

当网络训练收敛时,噪声分布的梯度也称为评分函数:

简单地说(说人话),扩散过程q就是不断的往图像上加入随机噪声,直到图像变成一个纯噪声,而逆扩散过程p就是从纯噪声图像中生成原始干净图像的去噪过程:

整个过程每个节点仅与上一个节点相关,因此这个过程被称作马尔可夫过程。

        训练过程(个人理解):通过不断往正常深度的视差图样本中添加随机噪声直到得到深度异常的视差图,然后训练从深度异常视差图到正常视差图的逆扩散过程,从而获得深度恢复模型。

推理过程,即逆扩散过程。

B 基于视差扩散的深度估计

        在这项工作中,作者将立体深度估计问题表述为扩散模型中的图像到图像的转换问题。一个重要的设计选择是要调节什么。该模型通常被制定为以立体图像对 Il , Ir 为条件,以进行立体深度估计。作者的实验发现,额外基于原始视差 D ̃ 的条件使网络在训练过程中收敛得更快,并在分布外场景中更稳健地泛化。原始视差可以很容易地从传统的立体匹配算法 SGM 或真实的相机传感器输出中获得。对于像 RealSense 这样的真实主动立体深度传感器,左右图像由红外 (IR) 摄像头捕获,红外投影仪投射具有特殊的阴影图案。结果,在左右图像和原始视差图 D ̃ 上进行调节,训练了一个条件扩散模型来学习视差图的分布:

其中y={Il,Ir,D}。

        实证表明,这种条件去噪网络是成功的。Batzolis等人进一步证明:即使条件y没有出现在训练目标中,也可以通过相同训练目标来学习条件分数。在训练网络后,可以通过列式子来估计视差:

C 通过立体几何反向采样引导

受图像生成任务的分类指导的启发,作者建议用基于模型的几何梯度来指导视差扩散过程。引导式反向过程如上图所示。具体来说,条件评分函数受到立体匹配计算的梯度的干扰:

其中 Lsm 是相似性损失函数,它将左侧图像与扭曲的左侧图像进行比较。扭曲的左侧图像是通过对具有估计视差的右侧图像进行扭曲而获得的。s控制几何引导强度,并平衡从扩散模型中学习的梯度和从立体模型中学习的几何梯度。为了减轻立体匹配中的梯度局部性,作者在计算立体匹配的梯度时将立体图像下采样为多个不同的较低分辨率。更具体地说,有:

其中 k 是不同分辨率的图层索引,γ是平衡光度和平滑度损失的加权常数。Lssim 是结构相似性指数 (SSIM),它计算左侧图像 Il 和翘曲图像Ileft 之间的光度损失:

其中 u、v 是图像平面中的像素坐标,〈 〉 是线性采样操作。Lsmooth 是一种边缘感知平滑度损失,定义为

它通过惩罚非边缘区域中的不连续性来规范差异。这里 ∂u 表示图像平面中 u(水平)方向的偏导数。然后,按照采样过程,使用扰动梯度预测视差图 x0。最后,一旦知道了相机参数,我们就可以将视差转换为深度。

D HISS合成数据集

作者基于栖息地合成场景数据集 (HSSD)创建了合成数据集 HISS。利用 HSSD 的 168 个高质量室内场景来增加场景多样性。对于对象,总共包括来自 DREDS 和 GraspNet 的 350 多个对象模型。场景和随机选择的对象 CAD 模型在 Isaac Sim中渲染。在渲染过程中,对象材质和场景照明在模拟中专门随机化,以模拟现实世界中对象(杯子、玻璃杯、瓶子等)的透明或镜面反射物理属性。为了获得透明表面的正确深度值,采用了 two-pass 方法。首先,渲染对象材质设置为 diffuse 的场景的 RGB 图像和深度图。照明全部打开,以实现照片级真实感渲染。在第二遍中,关闭正常照明,并在场景上投射类似的阴影图案,以模拟实感 D415 红外立体图像。使用 RealSense D415 深度摄像头的内参,渲染了 10,000 多张具有模拟阴影图案的照片级逼真立体图像。实验表明,该数据集是作者方法在现实世界中具有出色的泛化性的关键推动因素。

4)实验

A 机器人领域的深度估计

        DREDS:一个桌面级的深度数据集,包含镜面反射和透明对象的合成和真实标签数据。

        从上表观察到,作者方法的所有变体都超过了所有基线所有指标。此外,消融结果表明,通过提供更多信息,尤其是原始差异的整合,该方法的性能可以稳步提高。

        由于 DREDS 没有为 STD-CatKnown 和 STD-CatNovel 数据分割(真实数据)提供 IR 图像,因此作者训练框架的变体,该变体仅以 RGB 图像和原始差异为条件,以与 SwinDR 进行比较。如上表所示,文章方法在几乎所有指标上仍然可以优于基线。具体来说,与基线相比,文章方法可以在 MAE 上达到近 100% 的改进。文章方法在 RMSE 上性能较差可能与 DREDS 真值深度中的噪声有关,因为 RMSE 对噪声误差非常敏感。作者进一步对 STD-CatKnown 和 STD-CatNovel 数据拆分的基于几何的引导进行消融研究,以验证其在现实世界场景中基于扩散的深度估计的有效性。如商标所示,基于几何引导可以显著提高性能。

        SynTODD:是另一个使用 Blender 合成透明对象的数据集。它包含 87512 个训练图像和 5263 个测试图像。

与 SimNet 和 MvTrans 的所有变体相比,我们的方法具有更好的性能。

        ClearPose:是透明和半透明对象的大规模真实 RGB-D 基准测试。该数据集包含 RealSense L515 深度相机捕获的 350,000 张真实图像。作者收集了一组非常具有挑战性的场景,包括不同的背景、严重的遮挡、半透明和不透明封面中的物体、非平面表面的物体,甚至充满了液体。

        文章方法 D3RoMa 在 6 种不同的测试场景中始终优于 ImplicitDepth 和 TransCG。

        HISS:作者进一步评估了其自己创建的数据集在透明和镜面物体深度估计方面的有效性。并与以前最先进的方法进行比较。文中方法可以预测更好的深度,尤其是在透明瓶子上。为了确保公平的比较,作者在 HISS 上进一步微调了 400,000 个 epoch 的 RAFT-Stereo。与原始模型相比,微调后的 RAFT-Stereo 可以更好地恢复透明物体的缺失深度,但物体形状仍然不准确。还与 ASGrasp进行了比较,ASGrasp是专门为基于深度估计检测和抓取透明物体而设计的。它具有与微调的 RAFT-Stereo 类似的性能,但对象边界模糊。文章方法可以为所有 STD 对象提供最佳深度,具有更清晰的对象边界和准确的形状。

B 在一般情况下与 SOTA 立体声匹配方法的比较

        作者进一步证明了文中方法在一般场景中进行立体匹配的有效性。将其与 SceneFlow上最先进的立体匹配基线进行了比较,SceneFlow是一个合成数据集,包含超过 39,000 个立体帧,分辨率为 960×540 像素。该数据集包含三个具有挑战性的场景,FlyingThings3D、Driving和Monkaa,这使其成为用于预训练的高质量数据集。作者使用 35,454 个立体对从头开始训练模型,其余部分作为测试拆分。还将数据集中的图像大小调整为 480×270,以与作者的机器人感知设置保持一致。根据前面的工作,使用最大差异值 192 对真实视差进行归一化,该值也用于裁剪测试数据。如下表所示,与现有的最先进的方法相比,文章方法获得了最好的结果。

C 机器人抓取

        将模型预测得到的视差图,基于相机内参转化成深度图,再通过深度图转换成点云数据。.从左到右依次是 RGB 图像、原始深度、使用对象 CAD 模型渲染的真实深度、通过 TransCG 、ImplicitDepth 和文章方法 D3RoMa恢复的深度。

        上图为实际场景的深度估计结果。每行(从左到右)显示了文章方法的 RGB 图像和视差结果、预训练的 Raft Stereo、在HSII数据集上微调的 Raft Stereo 和 ASGrasp。

        作者在现实世界中设置了一个桌面抓取、铰接式物体操作和一个移动抓取环境,如下图 所示。在桌面抓取实验中,作者使用了 Franka 7-DoF 机械臂。将 STD 物体放置在有凸起和凹坑的表面上,这对于深度感应和机器人抓取来说都是具有挑战性的设置。这些物体具有非漫射表面材料,例如玻璃、瓷器、玻璃等。

        作者将文中的方法与其他两个基线进行了比较。所有基线都使用相同的运动规划器 CuRobo,但深度感应不同。作者还与 ASGrasp进行了比较,后者主要是为桌面抓取 STD 对象而设计的。我们在下表中分别报告了不同对象 (STD) 的结果和总体成功,提供了三种不同移动操作场景的定量结果。虽然 ASGrasp 和 D3RoMa 都比原始传感器输出有所改进,但我们的方法以很大的幅度优于 ASGrasp。

        上表为在真实环境中使用同一运动规划器移动抓取不同基线的成功率。每个单元在镜面反射、透明和漫射对象上显示成功率。

        上表为不同深度源的桌面抓取成功率 (SR) 比较。S. = 镜面反射,T. = 透明,D. = 漫射。

5)结论

        在这项工作中,作者提出了一种新的几何梯度引导到视差空间中的扩散模型,以预测立体图像的深度。以立体图像对和原始视差图为条件,文章中的网络在现有基准测试中实现了 SOTA 性能。纯合成数据集的差异评估和深度数据集的深度评估都证明了方法的效率。作者的主要观察结果包括数据多样性可以对现实的泛化产生重大影响,而指导有助于更具挑战性的真实场景。当前基于 3D 视觉的机器人操作管道,包括抓取和零件操作,只需通过改进深度感知就可以得到显著改进。特别是,我们发现与传统的立体方法相比,生成模型可以更好地处理具有挑战性的透明对象的深度估计。

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

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

相关文章

Leetcode中最常用的Java API——util包

前言:在刷力扣的时候是核心代码模式,笔试的时候很可能是ACM模式,需要自己完成导包、定义和自行设计输出,所以一些常用的类和方法需要先导入相应的API包,java.util就是最常用到的包,因为它包含集合这个大框架…

JVM对象分配内存如何保证线程安全?

大家好,我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全?】面试题。希望对大家有帮助; JVM对象分配内存如何保证线程安全? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中,对象的内存分配…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题,并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提醒。 请大家动动小手&a…

AIGC-------AI生成内容如何赋能AR和VR体验?

AI生成内容如何赋能AR和VR体验 引言 增强现实(AR)和虚拟现实(VR)技术近年来蓬勃发展,为用户提供了沉浸式的体验。这些技术已经广泛应用于游戏、教育、医疗、建筑等领域。然而,AR和VR体验的质量与内容的丰富…

VLM--CLIP作分类任务的损失函数

info_nce_loss 这个是clip作对比学习的损失函数 各个博客上都有详细介绍了,我这里就不赘述 def info_nce_loss(image_features, text_features,logit_scale,labels, temperature0.07):batch_size image_features.shape[0]image_features image_features / image…

【模型压缩】原理及实例

在移动智能终端品类越发多样的时代,为了让模型可以顺利部署在算力和存储空间都受限的移动终端,对模型进行压缩尤为重要。模型压缩(model compression)可以降低神经网络参数量,减少延迟时间,从而实现提高神经…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环,但是前面有个if判断,能进入while循环的也不多,while循环就相当于两个for循环,但不是嵌套类型的: 变量作用域问题:

Burp与其他安全工具联动及代理设置教程

Burp Suite 是一款功能强大的 Web 安全测试工具,其流量拦截和调试功能可以与其他安全工具(如 Xray、Yakit、Goby 等)实现联动,从而提升渗透测试的效率。本文将详细讲解 Burp 与其他工具联动的原理以及代理设置的操作方法&#xff…

文件操作(File类)

目录 一、初识文件 二、File类 常用方法 一、初识文件 我们目前是如何存储数据的?弊端是什么? int a 1; int[] arr new int[5];我们这些数据是在内存中存储的,是不能够长久保存的。 那么,我们的计算机当中有没有一块硬件可以长久存储数据的? 磁…

Ubuntu硬盘分区及挂载(命令行)

文章目录 一、简介二、硬盘分区三、格式化分区四、自动挂载分区五、调整分区大小小结 一、简介 创建磁盘分区首先需要找出Linux系统中的物理磁盘,在Linux中采用了一种标准格式来为硬盘分配设备名称。 SATA驱动器和SCSI驱动器:设备命名格式为/dev/sdx&a…

用java造1万条数据

上个月项目有造数需求记录一下。 package com.company;public class CreateSqlZhou {public static void main(String[] args) {//insert into Student (id,name,sex,age,adress) values(68881624120312320,zhangsan,男,18,北京);String startSql "insert into Student…

vue iframe进行父子页面通信并切换URL

需求是2个项目需要使用同一个面包屑进行跳转&#xff0c;其中一个是iframe所在的项目&#xff0c;另一个需要通过地址访问。通过 window.parent.postMessage &#xff0c;帮助 <iframe> 内嵌入的子页面和其父页面之间进行跨域通信。 使用通义千问提问后得到一个很好的示…

【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget

目录 QLabel QFrame 例子&#xff1a; textFormat pixmap、scaledContents alignment wordWrap、indent、margin buddy QLCDNumber 例子&#xff1a; QTimer QProgressBar 例子&#xff1a; QCalendarWidget 例子&#xff1a; QLabel 标签控件&#xff0c;用来显示…

UVM 验证方法学之interface学习系列文章(十二)virtual interface 终结篇

一 双向和三态问题 任何具有多个驱动器的信号,都需要使用网(net)来建模。网是唯一能够同时解决不同状态和强度驱动同一信号效果的构造。net的行为由内置解析函数定义,该函数使用net上所有驱动器的值和强度。每当其中一个驱动器发生变化时,就会调用该函数来生成解析值。该…

【游戏设计原理】22 - 石头剪刀布

一、游戏基础&#xff1a;拳头、掌心、分指 首先&#xff0c;石头剪刀布&#xff08;又名“Roshambo”&#xff09;看似简单&#xff0c;实际上可是个“深藏玄机”的零和博弈&#xff08;听起来很高深&#xff0c;其实就是输赢相抵消的意思&#xff09;。游戏中有三种手势&…

iterm2 focus时灰色蒙层出现的解决办法

问题描述&#xff1a; 当前我的iterm2版本是3.5.10&#xff0c;是我最近才更新的&#xff0c;然后就出现以下页面显示问题&#xff0c;如图所示&#xff1a; 我个人对终端、编辑器等使用存在洁癖&#xff0c;尤其是页面显示效果不满意更是不能忍受&#xff0c;之前找了很久没有…

如何在window 使用 conda 环境下载大模型

最近开始学习 变形金刚&#xff0c;最大的问题就是 huggingface 无法访问&#xff0c;无论是翻墙还是通过本地镜像网站HF-Mirror&#xff0c;然后再通过git下载都很慢&#xff0c;影响学习进度&#xff0c;后面看了如下文章&#xff0c;Huggingface配置镜像_huggingface镜像-CS…

Linux 网络维护相关命令简介

目录 零. 概要一. ping二. ip命令2.1 ip address2.2 ip route2.3 ip neighbour 三. traceroute四. DNS查询4.1 nslookup4.2 dig 五. ss 查看网络连接状态 零. 概要 ⏹在Linux系统中有2套用于网络管理的工具集 net-tools 早期网络管理的主要工具集&#xff0c;缺乏对 IPv6、网…

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案

一、背景介绍 在我国的大江南北遍布着各种各样的果园&#xff0c;针对这些地处偏僻的果园及农场等环境&#xff0c;较为传统的安全防范方式是建立围墙&#xff0c;但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏&#xff0c;因此为了及时发现和处理一些难以察觉的问题&…

Ubuntu vi(vim)编辑器配置一键补全main函数

1.打开对应的配置文件 vi ~/.vim/snippets/c.snippets 2.按G将光标定位到文件末尾 3.按i进入插入模式 以tab键开头插入下的内容&#xff0c;空行也要加 tab键 4.:wq保存退出 5.再打开任意一个新的 .c文件后&#xff0c;插入模式输入 main 然后按tal键就能补全了