当前位置: 首页 > news >正文

基于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粘包、拆…...

OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具

OpCore-Simplify:三步解决黑苹果配置难题的零代码自动化工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 问题诊断:黑苹果配…...

Zemax光学设计(三)——从艾里斑到系统分辨率:衍射极限的实战解析

1. 艾里斑:光学的终极像素 当你用手机拍夜景时,为什么远处的路灯总变成模糊的光团?这背后隐藏着光学系统的基本限制——艾里斑。我在设计微型内窥镜镜头时,曾花了三周时间优化像差,最终却发现图像清晰度卡在一个无法突…...

FunASR Docker部署避坑大全:从SSL证书报错到热词不生效,一次解决所有常见问题

FunASR Docker实战排障指南:从证书配置到热词优化的深度解决方案 当你第一次尝试在Docker环境中部署FunASR语音识别服务时,那些看似简单的命令行参数背后可能藏着无数个"坑"。本文不会重复官方文档的基础操作,而是聚焦于五个最具代…...

客服机器人开放平台能自建知识库吗?以百应Agent为例,探讨成都企业售后自动解答的实现路径

在数字化转型加速的今天,成都作为西部电商和制造业重镇,众多企业面临售后咨询量激增的挑战。退货、物流追踪、产品故障排查等售后问题占客服咨询的 60% 以上,传统人工客服成本高、响应慢,已难以满足用户即时需求。客服机器人开放平…...

别再为发票报销发愁!用Python+EasyOFD库,5分钟搞定OFD转PDF/图片(附完整代码)

5分钟极速解决发票报销难题:PythonEasyOFD高效转换实战指南 每次月底报销时,面对邮箱里堆积如山的OFD格式电子发票,你是否也感到头疼?手动一张张下载、转换、打印不仅耗时耗力,还容易出错。今天我们就来彻底解决这个困…...

05. 微交互设计模式解析:让界面更有生命力

05. 微交互设计模式解析:让界面更有生命力 引言 微交互是用户与界面之间的小互动,它们虽然微小,却能给用户带来巨大的愉悦感。作为一名把代码当散文写的 UI 匠人,我始终认为:好的微交互不是简单的动画效果,…...

Umi-OCR服务化集成解决方案:将离线OCR能力无缝嵌入你的技术栈

Umi-OCR服务化集成解决方案:将离线OCR能力无缝嵌入你的技术栈 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.c…...

保姆级避坑指南:在Windows上用VirtualBox 6.0.24跑Ubuntu,从开机报错到完美显示的完整流程

从开机报错到完美显示:VirtualBox 6.0.24运行Ubuntu全流程实战手册 当你第一次在Windows上用VirtualBox启动Ubuntu虚拟机时,那个刺眼的报错提示可能会让你措手不及。别担心,这几乎是每个虚拟化新手都会经历的"成人礼"。本文将带你完…...

VSCode插件离线安装的隐藏技巧:如何批量安装.vsix文件提升效率

VSCode插件离线批量安装实战指南:企业级效率提升方案 在团队协作或企业内网环境中,开发者常面临VSCode插件安装的困境——无法访问官方市场、重复下载耗时、版本管理混乱。传统单个.vsix文件安装方式在需要部署数十个插件时,效率低下到令人抓…...

MoveIt2的KDL插件不好用?手把手教你自定义关节权重,优化机械臂运动优先级

MoveIt2关节权重调优实战:如何让冗余机械臂按你的想法运动 当机械臂的第七个关节开始不受控制地乱转,而前三个关节却几乎不动时,大多数工程师的第一反应是"这IK算法有问题"。但真相往往是:算法没问题,只是它…...