【论文解读】MODEST 透明物体 单目深度估计和分割 ICRA 2025

MODEST是一种用于透明物体的单目深度估计和分割的方法,来自ICRA 2025。

它通过单张RGB图像作为输入,能够同时预测透明物体的深度图分割掩码

由深度图生成点云数据,然后采用GraspNet生成抓取位姿,开展透明物体抓取实验。

 论文地址:Monocular Depth Estimation and Segmentation for Transparent Object with Iterative Semantic and Geometric Fusion

代码地址:https://github.com/D-Robotics-AI-Lab/MODEST

一、主体框架分析

MODEST 的主体结构,如下图所示:

  • 1、输入与编码阶段: 

    • 模型接收一张RGB图像作为输入。

    • 使用基于Transformer的编码器(ViT)对输入图像进行处理,提取多层特征,生成视觉tokens。

  • 2、重组阶段: 

    • 将视觉tokens转换为多尺度特征图。形成两个特征金字塔,分别用于深度估计和语义分割任务。

  • 3、迭代融合解码阶段: 

    • 融合模块:通过语义和几何融合模块(SGFM),将深度和分割任务的特征进行整合,充分利用两项任务间的互补信息。

    • 迭代优化:采用迭代策略,通过共享权重解码器和门控单元,逐步细化初始预测结果,从粗到细地优化深度和分割特征。

  • 4、输出阶段: 

    • 经过多次迭代后,通过深度预测头和分割预测头,最终输出深度图和分割掩码。

​​​​​总结:Transformer编码器提供了全局特征表示,重组模块将特征转换为多尺度特征图,迭代融合解码器通过语义和几何信息的融合以及迭代优化,逐步提高预测的准确性和细节。

二、进一步了解MODEST设计思路

问题定义与方法概述 

给定一张RGB图像 (3×H×W),其中 H 是图像的高度,W 是图像的宽度,

目标是获得透明物体的准确分割掩码 (S∈N×H×W )和深度图( D∈H×W),其中 N 是语义类别的数量。

模型学习一个函数 f,将输入映射到两个输出,定义为 (S,D)=f(I)。

整体架构由基于Transformer的编码器、重组模块和迭代融合解码器组成。

Transformer编码器

与传统卷积神经网络不同,modest采用Vision Transformer (ViT)作为骨干网络提取多层特征。

首先将输入RGB图像分割成非重叠的图像块,通过线性投影嵌入成tokens,然后添加位置嵌入并经过多个Transformer块处理。

编码器由12个Transformer块组成,从中选择4层tokens,从浅到深均匀分布,用于后续模块。

重组模块

由于ViT将图像特征编码为具有相同空间分辨率的tokens,需要将其转换回特征图以便后续融合和预测。

按照DPT的方法,通过连接和投影将vision tokens重塑为对应的特征图。

为了充分利用不同层次的特征,将其表示为多尺度形式,其中较深的特征对应较小的分辨率。

重组模块的结果是两个四层金字塔,分别用于深度和分割

迭代融合解码器

在解码器中,通过提出的融合模块将来自两个金字塔的几何特征和语义特征整合在一起,然后通过门控单元从同一共享权重解码器反复更新特征,以获得更细粒度的预测。

  • 融合解码器:由于透明物体的光学特性,单独使用单张RGB图像预测深度和分割特别困难。为了提高两项任务的性能,设计了一种基于注意力的融合模块,充分利用两项任务的互补信息。在每一层对深度和分割特征金字塔进行语义和几何融合,整合多尺度特征。通过通道注意力模块和空间注意力模块依次提取有意义的线索,然后通过对称乘法相互作用,实现特征的融合。

  • 迭代优化:面对透明物体,仅进行一次预测的方法往往会产生不清晰的结果。为此,提出了一种迭代优化策略,以粗到细的方式优化深度和分割特征。以多尺度融合结果作为初始特征,通过共享权重解码器反复更新。通过轻量级门控单元将前一次迭代的结果传递到下一次迭代。基于最后一次迭代的特征,通过两个预测头获得最终的深度图和分割掩码。为了使模型逐渐学习更多关于透明物体的细节,对每次迭代应用从弱到强的多尺度监督。

三、损失函数

模型采用两种损失函数进行端到端训练,分别用于深度和分割任务。

  • 几何损失:深度估计损失包括:预测深度与真实深度的L2损失、梯度的L1损失、表面法线的L1损失。

  • 语义损失:语义分割采用标准的交叉熵损失。

总体损失函数是几何损失和语义损失的加权和,通过调整超参数平衡两项任务的损失。

补充介绍:

梯度的L1损失

  • 梯度的L1损失关注的是深度图的梯度,也就是深度值在图像空间中的变化率。
  • 深度图的梯度可以反映物体的边界和表面的朝向等几何信息。
  • 通过让预测深度图的梯度尽可能接近真实深度图的梯度,可以促使模型学习到更准确的物体形状和边界信息。

表面法线的L1损失

  • 表面法线的L1损失则关注的是深度图所隐含的表面法线信息。
  • 表面法线是指垂直于物体表面的向量,它能够提供关于物体表面朝向的更直接的几何信息。
  • 通过让预测深度图所对应的表面法线尽可能接近真实表面法线,可以进一步约束模型学习到更准确的深度信息。

在深度估计任务中,将深度值的L2损失、梯度的L1损失和表面法线的L1损失结合起来,形成一个综合的损失函数。

这样可以充分利用不同损失项的优势,全面约束模型的学习过程,提升深度估计的准确性。

四、迭代融合解码器

迭代融合解码器,通过语义和几何融合模块以及迭代优化策略,逐步提高预测的准确性和细节。

在透明物体的感知任务中,仅依靠单张RGB图像进行深度估计和分割是非常具有挑战性的,因为透明物体的光学特性使得它们在图像中缺乏明显的纹理特征,并且容易与背景融合。

为了解决这一问题,MODEST提出的迭代融合解码器通过以下两个核心组件来提升模型性能:

  1. 语义和几何融合模块(Semantic and Geometric Fusion Module, SGFM):该模块通过注意力机制整合深度和分割任务的特征,充分利用两项任务之间的互补信息。

  2. 迭代优化策略(Iterative Refinement Strategy):通过多次迭代逐步细化初始预测结果,从粗到细地优化深度和分割特征。

语义和几何融合模块(SGFM)

SGFM的设计目的是通过注意力机制自适应地交互深度和分割任务的特征,从而充分利用两项任务之间的互补信息。

具体来说,该模块在每一层对深度和分割特征金字塔进行语义和几何融合,整合多尺度特征。

  • 通道注意力模块(Channel Attention Module, CAM):通过全局平均池化和最大池化操作提取特征的全局信息,然后通过全连接层学习每个通道的重要性权重。这些权重用于强调对当前任务更有意义的通道特征。

  • 空间注意力模块(Spatial Attention Module, SAM):通过卷积操作和池化操作提取特征的空间信息,生成一个空间注意力图,用于强调特征图中更重要的空间区域。

通过通道和空间注意力模块的结合,SGFM能够自适应地强调深度和分割特征中有意义的部分,从而实现更有效的特征融合。

对于深度特征 Fd​ 和分割特征 Fs​,SGFM通过通道注意力模块和空间注意力模块

分别提取通道空间信息,然后通过对称乘法相互作用实现特征的融合。这一过程可以表示为:

其中,⊗ 表示逐元素相乘,Fd′′​ 是融合后的深度特征。分割特征的处理方式类似。

 

迭代优化策略

为了进一步提高预测的准确性和细节,提出了一种迭代优化策略。

该策略通过多次迭代逐步细化初始预测结果,从粗到细地优化深度和分割特征。

  • 初始特征:以多尺度融合结果作为初始特征。

  • 共享权重解码器:通过同一个解码器反复更新特征,避免了为每次迭代单独设计解码器的复杂性。

  • 门控单元:每次迭代的结果通过轻量级门控单元传递到下一次迭代,门控单元包含卷积操作和ReLU函数,用于控制信息的流动和更新。

  • 多尺度监督:为了使模型逐渐学习更多关于透明物体的细节,对每次迭代应用从弱到强的多尺度监督。监督的强度由迭代次数决定,随着迭代次数的增加,监督的强度逐渐增强。

具体来说,迭代过程可以表示为:

其中,Fn−1​ 和 Fn​ 分别是第 n−1 次和第 n 次迭代的所有多尺度深度和分割特征,Fe​ 是来自重组模块的特征,fd​ 是由共享解码器表示的函数。

五、实验与测试

  • 实现细节:模型在PyTorch中实现,使用RTX 4090 GPU进行训练,批次大小为4,训练20个epoch。优化器采用Adam,学习率为1e-5。输入图像分辨率调整为384×384,未使用随机翻转或旋转等图像增强策略。

  • 数据集:实验在合成数据集Syn-TODD和真实世界数据集ClearPose上进行。Syn-TODD包含超过113k张图像对,支持单目、立体和多视角方法。ClearPose包含超过350k张RGB-深度帧,包含极端场景如严重遮挡和非平面配置。

  • 基线方法:与两种针对透明物体的立体和多视角方法(SimNet和MVTrans)以及两种通用多任务密集预测方法(InvPT和TaskPrompter)进行对比。

  • 评价指标:深度估计采用均方根误差(RMSE)、绝对相对差异(REL)和平均绝对误差(MAE)作为标准指标。语义分割采用交并比(IoU)和平均精度(mAP)作为评价指标。

 

在Syn-TODD数据集上,深度估计和语义分割任务上对比:

在Syn-TODD数据集上对深度和分割进行比较:

在 ClearPose 数据集上进行比较:

下面是 ClearPose 数据集上效果对比

 

论文的可视化效果,确实不错,但在复现时,发现效果差太多了,一言难尽。。。。

使用预训练权重ISGNet_clearpose.p,ClearPose中的数据,

 原图是这样的:

模型预测的深度图:

模型预测的分割效果:

后面有空再看看能不能调调参数,优化一下 

论文复现:复现 MODEST 机器人抓取透明物体 单目 ICRA 2025-CSDN博客

分享完成~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot的美食信息推荐系统设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

Unity--Cubism Live2D模型使用

了解LIVE2D在unity的使用--前提记录 了解各个组件的作用 Live2D Manuals & Tutorials 这些文件都是重要的控制动画参数的 Cubism Editor是编辑Live2D的工具,而导出的数据的类型,需要满足以上的条件 SDK中包含的Cubism的Importer会自动生成一个Pref…

2025人工智能AI新突破:PINN内嵌物理神经网络火了

最近在淘金的时候发现基于物理信息的神经网络(简称PINN)也是个研究热点,遂研读了几篇经典论文,深觉这也是个好发论文的方向,所以火速整理了一些个人认为很值得一读的PINN论文和同学们分享。 为了方面同学们更好地理解…

大模型是如何工作的

近几十年来,人工智能经历了从基础算法到生成式AI的深刻演变。生成式AI通过学习大量数据可以创造出全新的内容,如文本、图像、音频和视频,这极大地推动了AI技术的广泛应用。常见的应用场景包括智能问答(如通义千问、GPT&#xff09…

Qt常用控件之 纵向列表QListWidget

纵向列表QListWidget QListWidget 是一个纵向列表控件。 QListWidget属性 属性说明currentRow当前被选中的是第几行。count一共有多少行。sortingEnabled是否允许排序。isWrapping是否允许换行。itemAlignment元素的对齐方式。selectRectVisible被选中的元素矩形是否可见。s…

利用pdf.js+百度翻译实现PDF翻译,创建中文PDF

基于JavaScript的PDF文档解析与智能翻译系统开发实践 一、功能预览 1.1 PDF加载 1.2 PDF翻译 二、系统架构设计 2.1 PDF智能翻译系统架构设计 层级模块名称功能描述技术实现呈现层Canvas渲染器PDF文档可视化渲染PDF.js + 动态视口计算 + 矩阵变换

Java数据结构第十九期:解构排序算法的艺术与科学(一)

专栏:Java数据结构秘籍 个人主页:手握风云 目录 一、排序的概念及引用 1.1. 排序的概念 1.2. 排序的应用 1.3. 常见的排序算法 二、常见排序算法的实现 2.1. 直接插入排序 2.2. 希尔排序 一、排序的概念及引用 1.1. 排序的概念 所谓排序&#xf…

1.2TypeScript 类型系统在前端的革命性意义

文章目录 **一、前端开发的类型觉醒(历史背景)****二、类型系统的核心价值****三、类型系统与现代框架的化学反应****四、高级类型编程实战****五、工程化影响深度解析****六、生态系统的蝴蝶效应****七、企业级应用实践数据****八、类型系统的局限性***…

K8S学习之基础十九:k8s的四层代理Service

K8S四层代理Service 四层负载均衡Service 在k8s中,访问pod可以通过ip端口的方式,但是pod是由生命 周期的,pod在重启的时候ip地址往往会发生变化,访问pod就需要新的ip地址,这样就会很麻烦,每次pod地址改变就…

Varlens(手机上的单反)Ver.1.9.3 高级版.apk

Varlens 是一款专业级手机摄影软件,旨在通过丰富的功能和高自由度参数调节,让手机拍摄效果媲美微单相机。以下是核心功能总结: 一、核心功能 专业拍摄模式 支持手动/自动/程序模式,可调节ISO、快门速度、EV、白平衡等参数27 提供…

用Deepseek写一个 HTML 和 JavaScript 实现一个简单的飞机游戏

大家好!今天我将分享如何使用 HTML 和 JavaScript 编写一个简单的飞机游戏。这个游戏的核心功能包括:控制飞机移动、发射子弹、敌机生成、碰撞检测和得分统计。代码简洁易懂,适合初学者学习和实践。 游戏功能概述 玩家控制:使用键…

物联网IoT系列之MQTT协议基础知识

文章目录 物联网IoT系列之MQTT协议基础知识物联网IoT是什么?什么是MQTT?为什么说MQTT是适用于物联网的协议?MQTT工作原理核心组件核心机制 MQTT工作流程1. 建立连接2. 发布和订阅3. 消息确认4. 断开连接 MQTT工作流程图MQTT在物联网中的应用 …

在Rocky Linux上安装Redis(DNF和源码安装)

一.前言 Redis 是一款高性能的 NoSQL 数据库,被广泛用于缓存、消息队列等场景。本教程将手把手教你如何在 Rocky Linux 上安装 Redis,包括使用 DNF 进行安装和源码编译安装的两种方式。 二. 使用 DNF 安装 Redis 1.安装redis sudo dnf -y install red…

江科大51单片机笔记【10】蜂鸣器(上)

一、蜂鸣器 1.原理 蜂鸣器是一种将电信号转换为声音信号的器件,常同来产生设备的按键音、报警音等提示信号蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器(外观基本一样)有源蜂鸣器:内部自带振荡源,将正负极接上直流…

Android设备是如何进入休眠的呢?

首先我们手机灭屏后,一般需要等一段时间CPU才真正进入休眠。即Android设备屏幕暗下来的时候,并不是立即就进入了休眠模式;当所有唤醒源都处于de-avtive状态后,系统才会进入休眠。在手机功耗中从灭屏开始到CPU进入休眠时间越短&…

011---UART协议的基本知识(一)

1. 摘要 文章为学习记录。主要介绍 UART 协议的概述、物理层、协议层、关键参数。 2. UART概述 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART(串口),是一种异步****串…

共绘智慧升级,看永洪科技助力由由集团起航智慧征途

在数字化洪流汹涌澎湃的当下,企业如何乘风破浪,把握转型升级的黄金机遇,已成为所有企业必须直面的时代命题。由由集团,作为房地产的领航者,始终以前瞻视野引领变革,坚决拥抱数字化浪潮,携手数字…

【leetcode100】组合总和Ⅱ

1、题目描述 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates…

【cocos creator】热更新

一、介绍 试了官方的热更新功能,总结一下 主要用于安卓包热更新 参考: Cocos Creator 2.2.2 热更新简易教程 基于cocos creator2.4.x的热更笔记 二、使用软件 1、cocos creator v2.4.10 2、creator热更新插件:热更新manifest生成工具&…

open webui-二次开发-源码启动前后端工程-【超简洁步骤】

参考资料 openwebui docs 获取源码 git clone https://github.com/open-webui/open-webui && cd open-webui启动后端服务 cd backend conda create --name open-webui python3.11 conda activate open-webui pip install -r requirements.txt -U sh dev.sh没有cond…