【论文精读3】CasMVSNet

模型处理过程:

在这里插入图片描述

一. 问题引入

基于学习的MVS算法因为受到显存的限制,输出的深度图的空间分辨率只有输入图像的1/16大小(长宽均为输入图像的1/4大小)。以MVSNet为例,对于1600×1184大小的输入图像,需要构建h×w×D×F=400×296×256×8大小的代价体,16GB的显卡才可以胜任。之前的方法限制了高分辨率MVS算法的发展。

那么问题来了,为什么要得到高分辨率的深度图呢?我们知道,MVS算法的评测是对最后生成的点云进行评测。同等情况下,深度图分辨率越高,得到的空间3D点数目越多,那么点云的完整性会更高,重建质量则更佳。

在这里插入图片描述

显示了分辨率为W×H×D×F的标准成本体积,其中W×H表示空间分辨率,D是平面假设的数量,F是特征图的通道数量 ,I为深度间隔

关于代价体:代价体(Cost Volume)是三维的,存储时为4D的tensor。我们可以理解为:代价体每一个位置存储的是一个F维的向量而不是标量。如图2所示,空间分辨率H×W越高,平面假设数D越多,深度间隔I越小,那么得到的深度图质量越高;同时显存占用越大、耗时越长。那么,有没有一种可以权衡精度和效率的方法呢?

为了解决上述问题,我们提出了一个级联成本-体积公式,并以粗略到精细的方式预测代价体。

二. 模型结构

整体思路:CasMVSNet使用级联的代价体来实现coarse-to-fine【 由粗到细 】的深度估计。

具体地,首先通过一个较小的代价体估计低分辨率的深度图,然后可以根据上一级输出的深度图,缩减当前尺度的深度假设范围。

CasMVSNet使用3级的代价体来实现深度图估计,包括两级的中间结果和一个最终的深度输出。

在这里插入图片描述

1. 特征提取模块

CasMVSNet需要在每个尺度上都进行特征提取和代价体构建,所以需要输入图像的多尺度特征。文章使用了三个尺度的FPN(Feature Pyramid Network)网络。 采用具有更高空间分辨率的特征图来构建更高分辨率的成本量 ,三个尺度的特征图空间分辨率分别为输入图像的{1/16, 1/4, 1}大小。和之前的方法一样,不同输入图像之间共享权重。

在这里插入图片描述

2. 深度范围的确定

在这里插入图片描述

R1表示的第一阶段的深度(或视差)范围覆盖了输入场景的整个深度(或差异)范围。

I为深度间隔

最低分辨率:将整个场景的深度范围离散D1个平面【本文中D1=48】,如上图1所示,其中粉色直线为深度假设平面,黄色曲线为估计的深度图。

Rk+1=Rk·wk,其中Rk是第k阶段的假设范围,wk<1是假设范围的缩小因子。

Ik+1=Ik·pk,其中Ik是第k阶段的假设平面区间,pk<1是假设平面区间的缩减因子。

给定假设范围Rk和假设平面间隔Ik ,相应的假设平面数目Dk=Rk/Ik

前面问题引入部分说明了,Dk越多,会导致GPU内存和运行时间的增加 ,基于级联公式,我们可以有效地减少假设平面的总数,因为假设范围(Rk)逐阶段显著减少,同时仍然覆盖整个输出范围。

后面的尺寸:如图2所示,级联成本体积可以基于前一阶段的预测输出,缩小假设范围【Rk】。

以上一阶段估计的深度图为中心,取一定固定深度范围Rk, 确定每一像素位置处的dmin和dmax, 其中dk-1为上一阶段上采样后的深度图,Rk为当前尺度的深度假设范围,然后根据场景范围离散处Dk个深度平面【本文中D2=32,D3=8】,不同像素点的深度范围可以不一样

上一阶段的输出【推测深度图】会被送到下一阶段中和下一阶段的尺度特征图空间一起作为下一阶段的单应性变换的输入

在这里插入图片描述

3. 单应性变换

在这里插入图片描述

其中dm k表示在第k阶段的第m个像素的预测深度,∆m k+1是在第k+1阶段要学习的第m像素的残差深度。 对于原始MVSNet所使用的单应性矩阵,只是修改了d的底数

4. 损失计算

在这里插入图片描述

损失函数为3个尺寸深度图的L1损失的加权和,不同尺寸不同的权重,空间分辨率越高的尺幅权重越大,具体的,【λ1, λ2, λ3】分别被设置成了【0.5, 1.0, 1.5】

特征匹配和代价聚合和深度图回归

同MVSNet

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

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

相关文章

元数据管理,数字化时代企业的基础建设

随着新一代信息化、数字化技术的应用&#xff0c;众多领域通过科技革命和产业革命实现了深度化的数字改造&#xff0c;进入到以数据为核心驱动力的&#xff0c;全新的数据处理时代&#xff0c;并通过业务系统、商业智能BI等数字化技术和应用实现了数据价值&#xff0c;从数字经…

基于STC12C5A60S2系列1T 8051单片的IIC总线器件数模芯片PCF8591实现数模转换应用

基于STC12C5A60S2系列1T 8051单片的IIC总线器件数模芯片PCF8591实现数模转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍IIC总线器件数模芯片PCF8591介绍通过按…

uniapp Android如何打开常用系统设置页面?

uniapp Android 如何打开常用系统设置页面&#xff1f; 在使用App过程时&#xff0c;有时候会对一些权限获取&#xff0c;比如打开蓝牙、打开通知栏通知等设置&#xff0c;我们如何快速跳转到需要的设置页面&#xff1f; 文章目录 uniapp Android 如何打开常用系统设置页面&…

【论文解读】GPT Understands, Too

一.论文 1.1 P-tuning 区别于之前的工作&#xff0c;这篇工作认为promote可以在句子中的任意位置起到作用&#xff0c;可以将它们插入上下文或目标中 上图中&#xff0c;左图是不使用任何操作&#xff0c;右图是选择在居首和目标前插入promote的embedding&#xff0c;插入pro…

java 批量更改

直接上代码 void batchUpdateSpecificationId(Param("infos") List<GoodsInfo> infos);<update id"batchUpdateSpecificationId">update goods_infoset specification_id <foreach collection"infos" item"info" open&…

【有源码】基于asp.net的旅游度假村管理系统C#度假村美食住宿一体化平台源码调试 开题 lw ppt

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

Qt布局技巧

可以先把控件放置了&#xff0c;再选中所有控件右键布局 或者是点击上面的&#xff1a;

【JavaEE】Servlet API 详解(HttpServletResponse类方法演示、实现自动刷新、实现自动重定向)

一、HttpServletResponse HttpServletResponse表示一个HTTP响应 Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到 HttpServletResponse 对象中 然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通…

AI监管规则:各国为科技监管开辟了不同的道路

AI监管规则&#xff1a;各国为科技监管开辟了不同的道路 一份关于中国、欧盟和美国如何控制AI的指南。 编译 李升伟 茅 矛 &#xff08;特趣生物科技有限公司&#xff0c;广东深圳&#xff09; 插图&#xff1a;《自然》尼克斯宾塞 今年5月&#xff0c;科技公司OpenAI首席…

Mendix 创客访谈录|低代码赋能IoT应用开发

本期创客 郑锴 舜宇光学科技&#xff08;集团&#xff09;有限公司信息技术部 毕业于浙江大学&#xff0c;三年软件设计开发经验。目前任职于舜宇光学科技&#xff08;集团&#xff09;有限公司信息技术部&#xff0c;担任软件开发工程师&#xff0c;主要负责工业互联网相关软件…

【Linux】进程替换|exec系列函数

文章目录 一、看一看单进程版的进程替换二、进程替换的原理三、多进程版——验证各种程序替换接口exec系列函数execlexeclpexecvexecvp tipsexecleexecve 四、总结 一、看一看单进程版的进程替换 #include<stdio.h> #include<unistd.h> #include<stdlib.h>i…

深入了解百度爬虫工作原理

在当今数字化时代&#xff0c;互联网已经成为人们获取信息的主要渠道之一。而搜索引擎作为互联网上最重要的工具之一&#xff0c;扮演着连接用户与海量信息的桥梁角色。然而&#xff0c;我们是否曾经好奇过当我们在搜索引擎中输入关键词并点击搜索按钮后&#xff0c;究竟是如何…

【C++】类与对象 III 【 深入浅出理解 类与对象 】

文章内容 前言 &#xff1a;新关键字explicit 的引入一、explicit关键字二、static成员&#xff08;一&#xff09;概念&#xff08;二&#xff09;特性 三、匿名对象四、友元前言&#xff1a;友元的引入&#xff08;一&#xff09;友元的概念友元分为&#xff1a;友元函数 和 …

无需API开发,伯俊科技实现电商与客服系统的无缝集成

伯俊科技的无代码开发实现系统连接 自1999年成立以来&#xff0c;伯俊科技一直致力于为企业提供全渠道一盘货的服务。凭借其24年的深耕零售行业的经验&#xff0c;伯俊科技推出了一种无需API开发的方法&#xff0c;实现电商系统和客服系统的连接与集成。这种无代码开发的方式不…

解析 Python requests 库 POST 请求中的参数顺序问题

在这篇文章中&#xff0c;我们将探讨一个用户在使用Python的requests库进行POST请求时遇到的问题&#xff0c;即参数顺序的不一致。用户通过Fiddler进行网络抓包&#xff0c;发现请求体中的参数顺序与他设置的顺序不符。我们将深入了解POST请求的工作原理&#xff0c;并提供解决…

KVM Cloud云平台

项目介绍 KVM Cloud 是一款基于Java实现的轻量级私有云平台&#xff0c;旨在帮助中小企业快速实现计算、存储、网络等资源的管理&#xff0c;让企业拥有自己的云平台&#xff0c;包括但不限于如下功能: 1、基于KVM的VM基础功能(创建、启动、停止、重装、webVNC等功能) 2、使用…

【2】SM2验签工具和RSA验签工具

0X01 前言 最近看了好多验签工具&#xff0c;感觉不是很好用&#xff0c;就自己造了个。 0x02 工具功能介绍 对SM2算法进行验签和RSA算分进行验签&#xff0c;签名值可以是base64&#xff0c;也可以是十六进制。 兼容各种输入。 0x03 工具使用 RSA 验签 SM2 验签 0x04 工具…

浏览器页面被恶意控制时的解决方法

解决360流氓软件控制浏览器页面 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、接受360安全卫士的好意&#xff08;尽量不要选&#xff09;二、拒绝360安全卫士的好意&#xff08;强烈推荐&#xff09;第…

Odoo:行业领先的免费开源财务管理解决方案

面向现代企业的财务和会计软件 可靠关账&#xff0c;更快速、更准确地报告财务数据 Odoo ERP财务和会计软件可帮助财务主管设计、革新和理顺财务流程和运营。Odoo ERP无缝整合各种核心财务和会计功能&#xff0c;提供强大的合规管理特性&#xff0c;有助于企业改善业务绩效、提…

一种基于NB‑IOT的粮库挡粮门异动监测装置

一种基于NB‑IOT的粮库挡粮门异动监测装置,包括若干个NB‑IOT开门监测装置、物联网后台管理系统、NB‑IOT低功耗广域网络和用户访问终端;各个NB‑IOT开门监测装置通过NB‑IOT低功耗广域网络与物联网后台管理系统连接,物联网后台管理系统与用户访问终端连接。 我国以往粮食收储…