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

文章目录

一 摘要

二 资源

三 内容


一 摘要

        深度感知是基于 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.mzph.cn/bicheng/64702.shtml

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

相关文章

《全面解析 QT 各版本:特性、应用与选择策略》

《全面解析 QT 各版本:特性、应用与选择策略》 一、QT 简介与发展历程二、QT 4 版本:经典之作(一)稳定耐用的 4.8.7(二)4.x 系列的终结与遗产 三、QT 5 版本:广泛应用的系列(一&…

【NLP】序列到序列(seq2seq)建模工具fairseq使用详解

文章目录 一、fairseq简介二、安装方式2.1 pip安装2.2 源码安装 三、fairseq命令工具3.1 fairseq-preprocess3.2 fairseq-train3.3 fairseq-generate3.4 fairseq-interactivate3.5 fairseq-score3.6 fairseq-eval-lm 4. 常见报错报错1 参考资料 一、fairseq简介 fairseq 是 Fa…

108. 将有序数组转换为二叉搜索树(java)

题目描述: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,…

flink集群搭建 详细教程

一、环境准备 1、准备三台服务器 三台服务器ip 115.120.227.194 jobmanger 123.60.154.232 taskmanger 36.111.173.249 taskmanger 2、给三台主机分别配置主机名 #第一台机器 hostnamectl set-hostname hadoop01#第二台机器 hostnamectl set-hostname hadoop02#第三台…

C# opencvsharp 流程化-脚本化-(2)ROI

ROI ROI也是经常需要使用的方法。特别是在图像编辑中。ROI又称感兴趣的区域,但是图像是矩阵是矩形的,感兴趣的是乱八七糟的,所以还有一个Mask需要了解一下的。 public class RoiStep : IImageProcessingStep{public ImageProcessingStepType…

第二十四天 循环神经网络(RNN)基本原理与实现

循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络,它能够处理任意长度的序列,并且能够捕捉序列中的时间依赖关系。RNN的核心思想是网络的隐藏状态可以传递信息,从而使得网络能…

修改vscode设置的原理

转载请标明出处:小帆的帆的专栏 修改vscode设置 首先需要理解的是,vscode的系统设置和插件设置都是通过settings.json文件管理的。 vscode中有三个Settings,三个Settings分别对应三个settings.json文件 Default Settings:默认…

ios 混合开发应用白屏问题

一、问题场景 项目业务中某个前端页面中使用了多个echart 组件来显示历史数据, 在反复切换到这个页面后,会出现白屏问题。 二、问题分析 0x116000ab0 - GPUProcessProxy::didClose: 0x116000ab0 - GPUProcessProxy::gpuProcessExited: reasonCrash 0x11…

使用python的模块cryptography对文件加密

#数据安全加密# 在运维过程中,涉及到有些重要文件需要加密存储,我们可以通过python中的cryptography模块,对重要文件进行加密 首先 引入相关的模块 from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.backends i…

应用端sql慢查询监控分析

目的 定位sql慢查询并优化。定位分析出web后端查询慢的sql,或者找出系统查询慢的接口是否存在sql慢查询,并进行相应慢查询优化。 集成sql执行监控的第三方插件 阿里的druid数据库连接池,功能强大,有监控界面,暴露信…

【我的 PWN 学习手札】IO_FILE 之 stdin任意地址写

我们知道,stdin会往“缓冲区”先读入数据,如果我们劫持这个所谓“缓冲区”到其他地址呢?是否可以读入数据到任意地址?答案是肯定的。 注意!代码中的“-------”分隔,是为了区分一条调用链上不同代码片段&am…

[python SQLAlchemy数据库操作入门]-12.直接执行 SQL 语句处理股票数据

哈喽,大家好,我是木头左! 1. SQLAlchemy Core 简介 SQLAlchemy Core 是 SQLAlchemy 库的一个模块,它允许用户直接执行 SQL 语句而不必使用 ORM(对象关系映射)。对于需要精细控制 SQL 查询或处理复杂数据库操作的情况,SQLAlchemy Core 提供了一种灵活而强大的方式来与数…

用C#(.NET8)开发一个NTP(SNTP)服务

完整源码,附工程下载,工程其实也就下面两个代码。 想在不能上网的服务器局域网中部署一个时间服务NTP,当然系统自带该服务,可以开启,本文只是分享一下该协议报文和能跑的源码。网上作为服务的源码不太常见,…

【UE5 C++课程系列笔记】09——多播委托的基本使用

目录 多播委托——申明委托 一、DECLARE_MULTICAST_DELEGATE 二、DECLARE_DYNAMIC_MULTICAST_DELEGATE 多播委托——绑定委托 一、Add 二、AddStatic 三、AddRaw 四、AddSP 五、AddUObject 六、Remove 七、RemoveAll 多播委托——执行 载荷数据 上一篇:…

Python 写个 《系统信息采集工具》为重装系统做准备。。。

图样: 原码: # 系统信息采集工具 # 2024-12-18 # 作者:Hoye # 版本:1.0 # 功能:采集系统信息并保存到文件 # 使用方法: # 1. 运行程序 # 2. 点击“采集系统信息”按钮 # 3. 等待信息采集完成 # 4. 选择保存…

Ubuntu搭建ES8集群+加密通讯+https访问

目录 写在前面 一、前期准备 1. 创建用户和用户组 2. 修改limits.conf文件 3. 关闭操作系统swap功能 4. 调整mmap上限 二、安装ES 1.下载ES 2.配置集群间安全访问证书密钥 3.配置elasticsearch.yml 4.修改jvm.options 5.启动ES服务 6.修改密码 7.启用外部ht…

【Linux】磁盘空间莫名消失,找不到具体原因的思路

磁盘空间莫名消失,找不到具体原因的思路 先说下常见的几种原因: 1、删除的文件未释放空间 2、日志或过期文件未及时清理 3、inode导致 4、隐藏文件夹或者目录 6、磁盘碎片 最后一种单独介绍。 环境:情况是根分区(/&#xf…

机动车油耗计算API集成指南

机动车油耗计算API集成指南 引言 在当今社会,随着机动车数量的持续增长和环保意识的不断增强,如何有效管理和降低车辆油耗成为了车主、车队管理者以及交通政策制定者共同关注的问题。为了帮助这些群体更好地理解和优化燃油消耗情况,本接口能…

第二十四天 循环神经网络(RNN)LSTM与GRU

LSTM(长短期记忆网络)和GRU(门控循环单元)是两种流行的循环神经网络变体,它们被设计来解决传统RNN在处理长序列数据时遇到的梯度消失和梯度爆炸问题。这两种网络都通过引入门控机制来控制信息的流动,从而能…

Fiddle突然抓不到虚拟机的地址

Fiddle不抓虚拟机的地址了 查看是否更换了ip地址,我是因为换了网络 更换正确的ip地址