论文阅读《Robust Monocular Depth Estimation under Challenging Conditions》

news2024/11/24 8:43:01

论文地址:https://arxiv.org/pdf/2308.09711.pdf
源码地址:https://github.com/md4all/md4all


概述

  现有SOTA的单目估计方法在理想的环境下能得到满意的结果,而在一些极端光照与天气的情况下往往会失效。针对模型在极端条件下的表现不佳问题,文章提出一种用于解决这种安全问题的模型:md4all。该方法首先生成一组与正常样本对应的复杂样本,然后通过生成的样本来计算相应原始视图上的标准损失,引导其自监督或者全监督来训练模型,使得模型在不同条件下能够恢复原始的信息。在nuScenes 和 Oxford RobotCar 数据集上的结果表明该方法的有效性,在标准条件下和极端条件下的表现都超过了之前的工作。
在这里插入图片描述


模型架构

在这里插入图片描述

Self-Supervised Baseline

  使用Monodepth2作为baseline模型,使用白天数据来进行蒸馏学习得到一个针对白天数据的初始模型,如图Fig.3 所示(x=0)。

md4all-AD: Always Daytime, No Bad Weather

  核心思想是从简单的样本中学习,即使输入的是困难样本,也能将其转为简单样本后进行推理,如图Fig.4所示。
在这里插入图片描述
Day-to-adverse translation
   为了训练模型,我们需要同时拥有简单样本与其所对应的困难样本 ( e i , h i c ) (e_i, h_i^c) (ei,hic) e i e_i ei 表示简单样本,而 h i c h_i^c hic 表示困难样本, c c c 代表困难的类型(下雪之类),在正向推理的过程中通过转换模型,将困难样本转换成简单样本然后进行推理。为此,需要先从简单样本中生成困难样本,对于每个简单样本 e i e_i ei和对应的条件 c c c,训练一个转换模型来得到 h i c = T c ( e i ) . h_{i}^{c}=T^{c}(e_{i}). hic=Tc(ei).,通过此步骤,我们将训练的样本集扩充到了 C × E C\times E C×E
Training scheme
  训练策略如Fig4所示,深度估计模型的输入为 m i m_i mi,是原始简单样本 e i e_i ei 和经过转换的困难样本 h i c h_i^c hic 的混合。此外,根据记录时间来对输入归一化,用来学习与输入条件无关的鲁棒特征。在极困难的夜晚样本中,通过增加大量噪声来增强输入。对于姿态估计网络,使用采用简单样本序列 [ e i − 1 , e i , e i + 1 ] [e_{i-1},e_{i},e_{i+1}] [ei1,ei,ei+1]来作为输入。
Learning in all conditions
  在困难样本对之间计算重投影误差损失和平滑损失会出现问题,因为在恶劣条件下难以建立有效的匹配。因此,在简单样本上训练,最后在困难样本上部署比同时训练更加有效。为此,作者通过始终在简单样本 E E E 上计算损失来提供可靠的训练信息。也就是在 e i e_i ei上计算损失,即使深度模型的输入为 h i c ( x % ) h^c_i(x%) hic(x),这样会让深度估计模型学习去提取鲁棒特征,无论输入属于 E E E还是 H H H
Inference
  训练玩深度估计和姿态估计模型后,只保留深度估计模型,在推理时使用参数相同的模型来预测深度,而不需要考虑输入条件。

md4all-DD: Day Distillation

  md4all DD的核心思想与md4all AD 相同,通过简化训练方案将后者的性能提升到一个新的水平,md4all-DD框架模仿了理想设置 E E E中的模型,不考虑输入的样本难度。如Fig3所示,通过从早期在 E E E上训练的深度网络(基线)向新的深度模型DD进行知识蒸馏,以便同时适用于简单和复杂场景。后者使用 m i m_i mi 来训练,即与md4all-AD(第3.1.2节)中的 e i e_i ei h i c h^c_i hic 相同的混合,而前者使用 e i e_i ei 来训练。 DD仅通过以下目标进行优化:
L d = 1 N ∑ j = 1 N ∣ D D ( m i ) j − B ( e i ) j ∣ D D ( m i ) j (1) \mathcal{L}_d=\frac1N\sum_{j=1}^N\frac{|DD(m_i)_j-B(e_i)_j|}{DD(m_i)_j}\tag{1} Ld=N1j=1NDD(mi)jDD(mi)jB(ei)j(1)


实验结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

拓展世界 | “秀才”被封,千万粉丝一朝空,数字时代来临,大众情感寄托是否有新的出口?

近日,短视频千万粉丝博主“秀才”因违反平台相关规定被封,引起了不少网友的关注,网络上大家戏称他为“中年妇女收割机”,这次的封杀,网友开玩笑道“这得有多少阿姨伤心欲绝”。 在当今数字时代,网红主播已…

计算机领域期刊会议级别分类

文章目录 一、查询期刊1.1、知网1.2、letpub1.3、ccf 二、CCF2.1、CCF和SCI的区别2.2、国际学术期刊2.3、国内期刊2.4、国际会议2.5、国内会议 三、期刊会议总结 一、查询期刊 1.1、知网 查询中⽂期刊⼀般用知⽹,输入你想了解的期刊然后搜索,可以查看期…

Ab3d.DXEngine 6.0 Crack 2023

Ab3d.DXEngine 不是另一个游戏引擎(如Unity),它强迫您使用其游戏编辑器、其架构,并且需要许多技巧和窍门才能在标准 .Net 应用程序中使用。Ab3d.DXEngine 是一个新的渲染引擎,它是从头开始构建的,旨在用于标…

计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目。今年第11号台风“海葵”后部云团的影响,福州地区的降雨量突破了历史极值,多出地方存在严重的积水。城市道路积水是造成交通拥…

关于ThreadPoolTaskExecutor线程池的配置

说明: 1、线程池分类、其他 1.1、分类 IO密集型 和 CPU密集型 任务的特点不同,因此针对不同类型的任务,选择不同类型的线程池可以获得更好的性能表现。 1.1. IO密集型任务 ​ IO密集型任务的特点是需要频繁读写磁盘、网络或者其他IO资源&a…

Netty—Channel

文章目录 一、Channel 是什么?🤔️二、 Channel 的继承体系👪三、Channel 的初始化过程 🔍首先,channel() 指定 ChannelFactory 类型其次,Channel 实例化 一、Channel 是什么?🤔️ …

初识Java 5-1 实现隐藏

目录 库单元:package 代码组织 独一无二的包名 Java访问权限修饰符 包访问权限 接口访问权限(public) 不可访问(private) 继承访问权限(protected) 包访问权限与公共构造器 接口与实现…

基于Java+SpringBoot+Vue前后端分离医疗挂号管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

pdf怎么转cad?几个简单方法分享给你

pdf怎么转cad?PDF文件转换为CAD文件是一项非常重要的任务,特别是对于那些需要进行工程、建筑和设计的专业人士来说。在过去,这项任务可能需要耗费大量时间和精力,但现在,随着技术的不断发展,已经有很多工具…

华为云云服务器评测| 之性能测试

文章目录 前言软件安装扩展知识 收集服务器负载信息指令解析开始压测后台运行 stress 运行 sysbench 测试网络带宽总结 测试磁盘 I/O 性能I/O 性能评估总结 前言 在当今数字化时代,云计算作为一种高效、灵活的计算方式,正日益受到企业和个人用户的广泛关…

如何远程访问Linux MeterSphere一站式开源持续测试平台

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…

基于Java+SpringBoot+Vue前后端分离校园商铺管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

LeetCode 15 三数之和

题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 // 1. 排序双指针 // 2. 固定一个值nums[i] 然后去剩下的位置去找 两数之和符合nums[j]nums[k]是否等于-nums[i] // 3. 细节问题:由于题目中是不可以包含重复的三元组的…

功率放大器的功能是什么功能

功率放大器是一种电子设备,用于放大输入信号的功率,并输出对应增强后的信号。功率放大器的功能主要包括增强信号的功率、保持信号的形状和质量、提供足够的电流和电压驱动负载,以满足不同应用需求。 功率放大器的主要功能是增强信号的功率。输…

阿里巴巴API接口解析,实现按关键字搜索商品

要解析阿里巴巴API接口并实现按关键字搜索商品,你需要进行以下步骤: 了解阿里巴巴API接口文档:访问阿里巴巴开放平台,找到API文档,了解阿里巴巴提供的API接口以及相关的参数、返回值等信息。注册开发者账号&#xff1…

远传水表和流量计的区别

远传水表和流量计是两种用于测量和控制水流的设备,虽然在某些方面有重叠的功能,但它们之间也有一些区别。下面我们将详细介绍这两种设备的区别。 一、定义和作用 远传水表是一种能够远程传输用水数据的水表,可以通过无线通信技术将数据传输到…

轻松解决Idea中maven无法下载源码

今天在解决问题的时候想要下载源码,突然发现idea无法下载,这是真的蛋疼,没办法查看原因,最后发现问题的原因居然是因为Maven,由于我使用的idea的内置的Bundle3的Maven,之前没有研究过本地安装和内置的区别&…

前端面试0906

// 请给出输出结果 function foo(){ console.log(a); } function bar(){ var a 3; console.log(this.a); foo(); } var a 2; bar(); 2 2 // 请从下面的问题中挑选3道进行回答 1. 防抖和节流分别是什么,一般用在什么场景? 防抖(Debounc…

CocosCreator3.8研究笔记(七)CocosCreator 节点和组件的介绍

相信很多新手朋友,肯定会问,CocosCreator 中什么是节点?什么是组件? 一、什么是组件(Component)? Cocos Creator 3.8 的工作流程是以组件式开发为核心,即以组合而非继承的方式进行游…

安卓手机记事本数据转移到苹果手机上怎么操作?

国内有不少网友使用的手机都是小米、荣耀、OPPO、vivo等安卓手机,而再次更换手机时,就想要尝试一下不同的操作系统,例如更换一台苹果手机。不过在换手机之前,还有一件重要的事情需要去做,这就是安卓手机记事本数据转移…