基于transformer的多帧自监督深度估计 Multi-Frame Self-Supervised Depth with Transformers
Multi-Frame Self-Supervised Depth with Transformers
基于transformer的多帧自监督深度估计
0 Abstract
多帧深度估计除了学习基于外观的特征外,也通过特征匹配利用图像之间的几何关系来改善单帧估计。我们采用深度离散的核极抽样来选择匹配像素,并通过一系列的自我和交叉注意力来细化预测,这构成了一种新的基于transformer的成本量。这种方式可以改善歧义和局部极小值的标准相似度。方法在KITTI和DDAD上进行测试,效果良好。
1 Introduction
特征匹配是SFM的一个基本组成部分,其被广泛的用于深度估计、自我运动估计、光流和场景流等等。这些方法依靠特征匹配建立起图像之间的跨帧的对应关系,从而建立起一个视图到另一个视图的扭曲重投影损失,从而构建了自监督约束方式。虽然从训练的角度来说,自监督方式更具有挑战性,但是自监督方法可以利用大量未标记的数据,具有更广阔的使用范围。而目前的自监督方法已经超过了一些监督方法。
单帧深度估计和多帧深度估计虽然在训练的时候都采用多帧输入,但是单帧自监督方法在测试的时候仅需要单帧输入,而多帧自监督在训练的时候需要多帧输入,这使得多帧方法在测试时多采用了时序信息和相邻帧之间的几何关系,在指标上多帧方法也普遍高于单帧方法。但是多帧方法很依赖特征匹配来构建帧间的对应关系,而缺乏纹理、重复、光度变化和动态对象会导致模糊和局部极小值。
本文提出了一种改进自监督特征匹配的新框架,在目标和背景图像之间建立了一个成本量,采用可微的深度离散化核极采样,并提出了一种新的基于注意力机制来细化像素间的匹配概率,所得到的多帧成本量直接通过高响应窗口滤波直接转化为深度估计值。本文的贡献如下:
- 提出了一种新的基于transformer框架,通过交叉和自我注意力结合深度离散化核极采样来改进多视图特征匹配。
- 我们的特征匹配细化模块可以在数据集之间传输,具有良好的鲁棒性。
- 指标较好,超过了部分监督单帧深度估计。(这个现在已经到0.95了哦)
2 Related work
相关工作主要从自监督深度估计、多帧深度估计和深度估计中的注意力机制三个方面来讲。自监督深度估计最早由momo提出,采用视图合成方式建立了自监督深度估计的基本框架,并添加了一个位姿网络来预测相机的自我运动,自监督单目深度估计通过一些方法已经超过了一些监督算法。
单幅图像的深度估计本质上是一个不适定问题,因为单幅2D图像可以对应无数3D图像,单帧网络在一些对抗中会失败(这里主要讲的是19年的一篇文章,这篇文章多mono进行了评判,目的在于探究深度估计网络是怎么进行深度信息获取的。方式是采用一些数据增强方式例如骑车位姿和尺度的缩放,相机的角度和汽车的边缘和底部,以此来看深度估计网络的效果,结论是深度估计网络更看重图像中物体的垂直位置,并以此来进行深度估计,How do neural networks
see depth in single images?很有意思的一篇论文),但多帧网络通过在测试时使用多幅图像来突破这一限制。
3 Method
首先描述了单目深度估计的投影和重投影过程,接着讲交叉注意力成本量的构建,主要分为极线采样和交叉注意力匹配。第一个公式是采用空间离散化分配的一个深度信息,第二个公式是从目标帧到相邻帧的一个投影过程。
随后采用交叉注意力机制来细化成本量,下图也可以看到采用了交叉注意力后,网络估计出的深度在预测值附近相对集中。
本文与其他的不同点在于,其他多帧网络在计算成本量后会直接送入解码器进行深度解码,但本文提出了一个高响应的深度解码方式,通过一个自适应的窗口来将分配的深度转化为真实的深度。但是这样的深度缺乏上下文联系(交叉注意力成本量是在极线上进行回归的),所以采用了上下文调整层来细化深度值。本文采用了额外的单帧网络以用来补全成本量体积失败的地方,这个单帧网络采用共同的姿态预测网络,在评估的时候被丢弃。
4 Experiments
KITTI结果。
这篇文章的工作量我个人认为还是比较大的,实验也比较详细,涉及的点也比较多,从深度估计、立体匹配、极线采样、交叉注意力和自注意力等等,还添加了高响应的自适应深度方法以及上下文调整层等等。好久没读论文了,过起来还是比较吃力的。
相关文章:
基于transformer的多帧自监督深度估计 Multi-Frame Self-Supervised Depth with Transformers
Multi-Frame Self-Supervised Depth with Transformers基于transformer的多帧自监督深度估计0 Abstract 多帧深度估计除了学习基于外观的特征外,也通过特征匹配利用图像之间的几何关系来改善单帧估计。我们采用深度离散的核极抽样来选择匹配像素,并通过一…...
设计模式: 单例模式
目录单例模式应用场景实现步骤涉及知识点设计与实现单例模式 通过单例模式的方法创建的类在当前进程中只有一个实例; 应用场景 配置管理 日志记录 线程池 连接池 内存池 对象池 消息队列 实现步骤 将类的构造方法定义为私有方法 定义一个私有的静态实例 提供一…...
idea编辑XML文件出现:Tag name expected报错
说明 Tag name expected解释其实就是:需要标记名称,也就是符号不能直接使用的意思 XML (eXtensible Markup Language) 是一种标记语言,用于存储和传输数据。在 XML 中,有些字符被视为特殊字符,这些字符在 XML 中具有…...
第十三届蓝桥杯省赛C++ A组 爬树的甲壳虫(简单概率DP)
题目如下: 思路 or 题解: 概率DP 状态定义: dp[i]dp[i]dp[i] 表示从树根到第 iii 层的期望 状态转移: dp[i](dp[i−1]1)∗11−pdp[i] (dp[i - 1] 1) * \frac{1}{1-p}dp[i](dp[i−1]1)∗1−p1 这个式子的意思是:…...
手动集成Tencent SDK遇到的坑!!!
手动集成的原因 由于腾讯未把Tencent SDK上传到Github中,所以我们不能通过Cocoapods的方式集成,只能通过官方下载其SDK手动集成。 Tencent SDK手动集成步骤 1.访问腾讯开放平台SDK下载界面,找到并下载iOS_SDK_V3.5.1。(目前最新…...
三天吃透mybatis面试八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...
SpringBoot整合Quartz以及异步调用
文章目录前言一、异步方法调用1、导入依赖2、创建异步执行任务线程池3、创建业务层接口和实现类4、创建业务层接口和实现类二、测试定时任务1.导入依赖2.编写测试类,开启扫描定时任务3.测试三、实现定时发送邮件案例1.邮箱开启IMAP服务2.导入依赖3.导入EmailUtil4.编…...
Golang 中 Slice的分析与使用(含源码)
文章目录1、slice结构体2、slice初始化3、append操作4、slice截取5、slice深拷贝6、值传递还是引用传递参考文献众所周知,在golang中,slice(切片)是我们最常使用到的一种数据结构,是一种可变长度的数组,本篇…...
瀑布开发与敏捷开发的区别,以及从瀑布转型敏捷项目管理的5大注意事项
事实证明,瀑布开发管理模式并不适合所有的软件项目,但敏捷项目管理却对大多数项目有效。那么当团队选择转型敏捷的时候有哪些因素必须注意?敏捷开发最早使用者大多是小型、独立的团队,他们通常致力于小型、独立的项目。正是他们的…...
“华为杯”研究生数学建模竞赛2007年-【华为杯】A题:建立食品卫生安全保障体系数学模型及改进模型的若干理论问题(附获奖论文)
赛题描述 我国是一个拥有13亿人口的发展中国家,每天都在消费大量的各种食品,这批食品是由成千上万的食品加工厂、不可计数的小作坊、几亿农民生产出来的,并且经过较多的中间环节和长途运输后才为广大群众所消费,加之近年来我国经济发展迅速而环境治理没有能够完全跟上,以…...
基于JavaWeb学生选课系统开发与设计(附源码资料)
文章目录1. 适用人群2. 你将收获3.项目简介4.技术实现5.运行部分截图5.1.管理员模块5.2.教师模块5.3.学生模块1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。 2. 你将收获 提供:项目源码、项目文档、数据库脚本…...
centos7 oracle19c安装||新建用户|| ORA-01012: not logged on
总共分三步 1.下载安装包:里面有一份详细的安装教程 链接:https://pan.baidu.com/s/1Of2a72pNLZ-DDIWKrTQfLw?pwd8NAx 提取码:8NAx 2.安装后,执行初始化:时间较长 /etc/init.d/oracledb_ORCLCDB-19c configure 3.配置环境变量,不配置环境变量,sq…...
【算法设计-分治】递归与尾递归
文章目录1. 阶乘尾递归:递归的进一步优化2. 斐波那契数列3. 最大公约数(GCD)4. 上楼梯5. 汉诺塔(1)输出移动过程输出移动步数5. 汉诺塔(2)输出移动过程输出移动步数6. 杨辉三角形7. 完全二叉树1…...
HTML 编辑器
文章目录 HTML 编辑器HTML 编辑器推荐编辑器下载网站HBuilder步骤 1: 新建 HTML 文件步骤 2: 另存为 HTML 文件步骤 3: 在浏览器中运行这个 HTML 文件HTML 编辑器 HTML 编辑器推荐 可以使用专业的 HTML 编辑器来编辑 HTML,我为大家推荐几款常用的编辑器: Notepad++:Windows…...
css盒模型详解
一、引言 盒模型是网页开发中的一个基本概念,它描述了网页元素的外观和大小。盒模型由内容区域、内边距、边框和外边距四个部分组成,这些部分的大小和位置都可以通过CSS进行控制。在本文中,我们将介绍盒模型的概念和作用,并提出本…...
函数模板(template关键字的应用)
注释:本文主要介绍了函数模板的由来以及用法,还有关键字template。 我们感到时间的延续像一条我们无法逆行的小溪。 ——柏格森 文章目录一、语言的定式二、函数模板2.1 函数模板格式2.2 模板函数的实例化2.2.1隐式实例化/显式实例化2.3 模板参数的匹配…...
嵌入式学习笔记——使用寄存器编程操作GPIO
使用寄存器编程操作GPIO前言GPIO相关的寄存器GPIO 端口模式寄存器 (GPIOx_MODER) (x A..I)位操作GPIO 端口输出类型寄存器 (GPIOx_OTYPER) (x A..I)GPIO 端口输出速度寄存器 (GPIOx_OSPEEDR) (x A..I/)GPIO 端口上拉/下拉寄存器 (GPIOx_PUPDR) (x A..I/)GPIO 端口输入数据寄…...
图像的读取与保存
图像是由一个个像素点组成,像素点就是颜色点,而颜色最简单的方式就是用RGB或RGBA表示图像保存图像将像素信息按照 一定格式,一定顺序(即编码) 存在硬盘上的 二进制文件 中保存图像需要以下必要信息:1. 文件…...
【蓝桥杯集训·每日一题】AcWing 4074. 铁路与公路
文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴Floyd 算法Spfa 算法一、题目 1、原题链接 4074. 铁路与公路 2、题目描述 某国家有 n 个城市(编号 1∼n)和 m 条双向铁路。 每条铁路连接两个不同的…...
网络:TCP与UDP相关知识(详细)
目录:1、UDP 和 TCP 的特点与区别2、UDP 、TCP 首部格式3、TCP 的三次握手和四次挥手4、TCP 的三次握手(为什么三次?)5、TCP 的四次挥手(为什么四次?)6、TCP 长连接和短连接的区别7、TCP粘包、拆…...
不好!有敌情,遭到XSS攻击【网络安全篇】
XSS:当一个目标的站点,被我们用户去访问,在渲染HTMl的过程中,出现了没有预期到的脚本指令,然后就会执行攻击者用各种方法注入并执行的恶意脚本,这个时候就会产生XSS。 涉及方: 用户࿰…...
Mysql中Explain详解及索引的最佳实践
Mysql中Explain详解及索引的最佳实践1.Explan工具的介绍1.1 Explan 分析示例1.2 Explain中的列1.2.1 id1.2.2 select_type1.2.3 table1.2.4 partitions1.2.5 type1.2.6 possible_keys1.2.7 key1.2.8 key_len1.2.9 ref1.2.10 rows1.2.11 filtered1.2.12 Extra1.Explan工具的介绍…...
JavaScript 内的 this 指向
在 javascript 语言中, 有一个奇奇怪怪的 “关键字” 叫做 this为什么说它是 奇奇怪怪 呢, 是因为你写出 100 个 this, 可能有 100 个解释, 完全不挨边,但是, 在你的学习过程中, 搞清楚了 this 这个玩意, 那么会对你的开发生涯有很大帮助的,接下来咱们就…...
Java多种方法实现等待所有子线程完成再继续执行
简介 在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。 Thread的join方法 该方法是Thread提供的方法,调用join()时,会阻塞主线程࿰…...
制造企业数字化工厂建设步骤的建议
随着工业4.0、中国制造2025的深度推进,越来越多的制造企业开始迈入智能制造的领域,那数字工厂要从何入手呢? 数字工厂规划的核心,也正是信息域和物理域这两个维度,那就从这两个维度来进行分析,看如何进行数…...
网上鲜花交易平台,可运行
文章目录项目介绍一、项目功能介绍1、用户模块主要功能包括:2、商家模块主要功能包括:3、管理员模块主要功能包括:二、部分页面展示1、用户模块部分功能页面展示2、商家模块部分功能页面展示3、管理员模块部分功能页面展示三、部分源码四、底…...
【实战】用 Custom Hook + TS泛型实现 useArray
文章目录一、题目二、答案(非标准)三、关键知识点1.Custom Hook关键点案例useMountuseDebounce2.TS 泛型关键点一、题目 完善自定义 Hook —— useArray ,使其能够完成 tryUseArray 组件中测试的功能: 入参:数组返回…...
【LeetCode】剑指 Offer(18)
目录 题目:剑指 Offer 35. 复杂链表的复制 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 35. 复杂链…...
Kubernetes节点运行时从Docker切换到Containerd
由于k8s将于1.24版本弃用dockershim,所以最近在升级前把本地的k8s切换到了Containerd运行时,目前我的k8s版本是1.22.5,一个master,二个Node的配置,以下做为一个操作记录日志整理,其它可以参考官网文档。 在…...
【编程基础之Python】12、Python中的语句
【编程基础之Python】12、Python中的语句Python中的语句赋值语句条件语句循环语句for循环while循环continue语句break语句continue与break的区别函数语句pass语句异常处理语句结论Python中的语句 Python是一种高级编程语言,具有简单易学的语法,适用于各…...
wordpress08影院404/百度上如何发广告
在写博客插入图片时,许多时候需要提供图片的url地址。作为菜鸡的我,自然是一脸懵逼。那么什么是所谓的url地址呢?又该如何获取图片的url地址呢? 首先来看一下度娘对url地址的解释:url是统一资源定位符,对可…...
为什么做网站要服务器 和域名/今日热点新闻10条
龙源期刊网 http://www.qikan.com.cn 基于 Python 的网络爬虫程序设计 作者:郭丽蓉 来源:《电子技术与软件工程》 2017 年第 23 期 摘 要 网络信息量的迅猛增长,对如何从海量的信息中准确的搜索到用户需要的信息提出 了极大的挑战。网络爬虫具…...
巫山那家做网站/2023年10月爆发新冠
当前,计算机行业是个飞速发展的行业,日新月异,因此,不断加强理论学习,拓展知识领域,进行知识更新,是我们当前最为迫切的任务,下面是关于学习计算机的体会,希望对大家有帮助。学习计算机心得体会篇一随着信息技术的高速发展并迅速渗透到社会生活的各个方面࿰…...
投资者互动平台/武汉seo哪家好
转贴自:http://blog.czug.org/panjy/2006/5/ubuntudekouhao-linux-for-human-beings panjy 提交于 2006-05-19 22:31 Linux 罗嗦一下 ubuntu_ 的这个口号。罗嗦一下 ubuntu 的这个口号。 所谓Linux for human beings,说得好听点,可翻译为“…...
哪个网站专门做快餐车/晨阳seo服务
2019独角兽企业重金招聘Python工程师标准>>> 动态数组 数组的局限性 目前为止所实现的数组类,有一个非常严重的局限性,就是这个数组实际使用的还是一个静态数组,内部容量有限。在实际使用的时候,我们往往无法预估要在这…...
如何建设视频网站/淄博seo培训
转自:http://blog.csdn.net/zy416548283/article/details/38057925 git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来稍微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私…...