【论文简述】Bi-ClueMVSNet: Learning Bidirectional OcclusionClues for Multi-View Stereo(IJCNN 2023)_ijcnn论文集-程序员宅基地

技术标签: 遮挡  3D重建  深度学习  MVS  双向投影  

一、论文简述

1. 第一作者:Zhe Zhang

2. 发表年份:2023

3. 发表期刊:IJCNN

4. 关键词:MVS、深度学习、遮挡、双向投影

5. 探索动机:现有的工作很少考虑遮挡问题,导致边界和遮挡区域的重建效果不佳。

In traditional MVS methods, taking COLMAP as an example, the occlusion issue can be modeled under the probabilistic framework. However, very few learning-based methods have taken the occlusion problem into consideration.

However, these methods all apply a variance-based cost metric, assuming that a given pixel is visible in all input images. In fact, many pixels only appear at some baseline angles and are occluded in others. As a result, an increasing number of input images lead to even worse depth estimation.

6. 工作目标:在上述挑战的激励下,本工作通过明确建模遮挡问题,提出了一个基于端到端学习的MVS网络。

7. 核心思想:In this paper, the Bidirectional Occlusion Cluesbased Multi-View Stereo Network (Bi-ClueMVSNet) is proposed as an end-to-end MVS framework that explicitly models the occlusion obstacle for depth map inference and 3D modeling.

  1. We introduce bi-directional projection and occlusionaware aggregation for constructing the cost volume, which reduces the risk of propagation and accumulation of incorrect matches at the root.
  2. We propose the occlusion-enhanced network to transfer 2D visibility maps to 3D occlusion clues, improving the representational ability of regularization.
  3. We combine regression and classification strategies for adaptive depth map inference and build occlusion cluesbased loss for robust convergence.

8. 实验结果:

The proposed method is evaluated on DTU and Tanks and Temples datasets. Our method achieves very competitive results compared with previous methods and gets significantly better reconstruction results in boundaries and areas with severe occlusion.

9.论文下载:

https://ieeexplore.ieee.org/abstract/document/10191325

二、实现过程

1. Bi-ClueMVSNet

Bi-ClueMVSNet的总体架构如图所示。从粗到细的管道(上)和详细的架构(下)。首先使用多尺度特征金字塔网络(M-FPN)从输入图像中提取深度特征。然后,从双向投影(BDP)和遮挡感知聚合(OAA)模块构造代价体,并结合遮挡增强网络(OEN)进行正则化。最后,使用自适应深度图推理(ADMI)策略来估计深度,并使用基于遮挡线索的损失(OCL)进行监督训练。

2. 多尺度特征

多尺度金字塔网络(M-FPN)用于从{Ii}中提取深度特征。一般作品通常使用高分辨率图像作为输入,在网络中进行下采样。不同的是,我们使用9层2D CNN从低分辨率图像中提取全尺寸特征,以避免信息退化。(对于训练,输入图像的数量设置为N = 5,分辨率为160 × 128。)

3. 遮挡感知代价体

以往的方法在构造和聚合代价体时没有考虑遮挡问题。为此,我们提出了双向投影来扩展扭曲特征表示的能力,并提出了闭塞感知聚合策略来减少源遮挡的影响。

单应性和双向投影。在MVSNet中,受传统平面扫描的启发,将特征warp到参考相机的D个前平行平面,构建特征体Vi。同样,根据相机参数的可逆性,也可以建立从源视图到参考视图的反向单应性变化。深度d处的Ii的每个像素经过单应性变化的数学表示为:

​那么自然可以使用双向投影Hi→0(d)和H0→i(d),以及微分双线性插值对参考图像和源图像之间的深层特征进行warp,得到参考视图中W(Vi),在源视图中W’(Vi)的特征体。

遮挡感知聚合。对于单向投影,基于方差的代价度量用于成对特征体聚合,因为明确的遮挡处理不能仅通过两个视点(一个参考视图和一个源视图)建模。具体地说,成对的代价体计算为:

其中Npair = 2, W(Vi)为代价体的数值平均值。由W′(Vi)从相反方向构造的Cpair′也是如此。

在获得每个视点成对的代价体Cpair和Cpair’之后,一个轻量级的3D沙漏CNN用于匹配代价增强。然后可以得到成对概率体Ppair和Ppair ',通过沿深度方向应用softmax运算,来估计精确遮挡线索的“置信度”,表示为Oi和Oi'。直接使用遮挡线索聚合W(Vi)。这避免了由根源遮挡引起的不正确匹配的传播和积累。遮挡感知聚合最终可以建模为:

其中,clue是最终的双向遮挡线索,OEN是遮挡增强网络,⊙表示逐元素乘法。

4. 遮挡增强代价体正则化

双向投影和遮挡感知的代价体聚合明确地对遮挡问题进行建模,Oi和Oi'已经编码了每个像素的空间遮挡线索。此外,我们提出了遮挡增强网络,将遮挡线索进一步扩展到通道维度和深度假设维度。首先,连接Oi和Oi'有一个统一的输入表示,使用2D CNN的作用类似于U-Net,它扩展了搜索感受野以促进原始遮挡线索。最后一个卷积层产生M通道特征,然后是tanh激活函数和截断,将遮挡感知权重归一化为0 ~ 1。根据均匀深度假设,使用通道扩展线索进行深度插值。最后,遮挡感知的代价体可以通过公式3得到,最终的遮挡线索clue可以通过公式4得到。遮挡感知代价体C表示当前从空间方向、通道方向和深度方向上的遮挡线索。还应用3D CNN进行进一步正则化。

5. 深度图推断

沿深度方向应用softmax运算生成概率体P∈D×H×W,可得到深度估计D0。现有的基于学习的方法采用回归或分类方法。回归达到亚像素精度,但由于权值和的平滑效应,边界往往缺乏细节。分类方法可以防止估计平面受到周围深度假设的污染(只选择一个平面)。然而,它很容易造成深度不连续,特别是在前景目标中。

自适应深度图推断策略:结合回归方法和分类方法的优点,提出了自适应深度图推断策略,该策略利用上述遮挡线索自适应地选择合适的深度图估计方法。更具体地说,首先沿着深度维度取clue的平均值,并设置δ为概率连续性阈值。当概率足够连续时,自适应地采用回归策略进行深度图估计。反之亦然,Bi-ClueMVSNet转换为分类模式,用于深度概率分布明显不连续的遮挡区域和边界。边界和遮挡区域概率分布的可视化如图所示,ADMI策略预测了更平滑的主体、更清晰的边界和正确的透视关系。

边界(上)和遮挡区域(下)的概率分布。与单一方法相比,ADMI实现了清晰的边界和正确的透视关系(蓝色矩形),分类方法(绿色虚线)根据强遮挡线索预测合理深度。

6. 基于遮挡线索的损失函数

回归方法通常直接使用真值深度图DGT和估计深度图D ~之间的l1损失,分类方法计算潜在深度表示P与其真值分布PGT之间的交叉熵。基于监督遮挡线索的训练损失和总损失定义为:

式中,p为参考图像的像素,Ω为具有真值精度的有效像素集,L为金字塔层级,每个层级采用组合权值λl = 1。 

7. 实验

7.1. 实现细节

使用PyTorch实现,并使用Adam优化器在NVIDIA上以0.001的起始学习率训练模型16次特斯拉V100 (16G虚拟内存)。

7.2. 与先进技术的比较

7.3. 时间和内存开销

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43307074/article/details/132101254

智能推荐

MqttAndroidClient使用-程序员宅基地

文章浏览阅读4.3k次。MQTT是一个由IBM主导开发的物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。应项目要求使用MQTT协议实现客户端与服务端通信。_mqttandroidclient

anaconda哪个版本是 python3.6_windows10(64位)Anaconda3+Python3.6搭建Tensorflow(cpu版本)及keras...-程序员宅基地

文章浏览阅读1.2k次。1.本来电脑安装的是anaconda3 5.3.1,但安装的python版本是3.7,后来卸载了安装anaconda3 4.4.0,这个版本是3.62.打开Anaconda Promptconda --version //检查Anaconda是否成功安装(如果成功会显示版本号)conda update conda //更新conda版本conda create -n tensorflow p..._anaconda3+对应python3.6

第十一届蓝桥杯单片机省赛题目解析_蓝桥杯单片机考什么-程序员宅基地

文章浏览阅读1.1w次,点赞18次,收藏124次。第十一届蓝桥杯单片机省赛题目解析这次题目照样还是LED、数码管、按键三大模块,还有模拟电压输入(ADC)、AT24C02(EEPROM),都是常见的外设,且之前题目出现过的,所以不难,考的都是基本功。1 数码管显示数码管主要显示获取的电压、计数和参数设置三个界面,不过要注意上电之后就要显示电压数据界面。2 LED当电压小于设置的参数时5s后L1亮,这个还是很好做的。当计数为奇数时L2亮,计数的话,我是先判断电压是..._蓝桥杯单片机考什么

LightOJ - 1067 Combinations(快速幂+逆元)_快速幂求逆元 在线oj-程序员宅基地

文章浏览阅读484次。DescriptionGiven n differentobjects, you want to take k of them. How many ways to can do it? For example, saythere are 4 items; you want to take 2 of them. So, you can do it 6 ways. Take 1, _快速幂求逆元 在线oj

Fairseq学习日记:注定麻烦的旅程_final_lr_scale-程序员宅基地

文章浏览阅读6.6k次,点赞10次,收藏23次。现在开头:Fairseq是一个正在快速迭代的产品,而且是开源的!这不是表扬,这意味着三件事情:1.他没有文档!所有框架代码都没有任何注释,包括函数docstring都没有2.他没有经过有效测试,估计是抢时间吧!即使是官网Readme里的例子也是无法跑起来的!3.他是一个框架,而且是一个非常不Pythonic的框架,充斥着inline/包装器/莫名其妙的语法。虽然这三点决定他真的对不住Facebook的金字招牌,但是作为一个学习者,总要把他运行起来,那么开始这场针对 FaceBOOK派“全_final_lr_scale

[Linux][Busybox]分享你不知道Top 命令参数_busybox top-程序员宅基地

文章浏览阅读5.1k次。目录摘要:基本操作与命令介绍:进入top后交互一点点新的操作Author: Keivn.Xu [email protected]摘要: 玩过Linux一定使用过busybox top命令,但下面的操作方法,你不一定有见过。基本操作与命令介绍:console:/ $ busybox top -help top: invalid optio..._busybox top

随便推点

ASCON:以“慢而稳”赢得NIST轻量级加密算法标准-程序员宅基地

文章浏览阅读3.3k次。ASCON:以“慢而稳”赢得NIST轻量级加密算法标准_ascon

[BAT]Win7下可用于bat文件中的call调用-程序员宅基地

文章浏览阅读982次。全部已在本机验证,可能根据用户安装的系统功能不同而有些命令无效。设备管理器 hdwwiz.cpl 或devmgmt.msc添加或删除程序 appwiz.cpl管理工具 control admintoolsBluetooth文件传送向导 fsquirt计算器 calc证书管理控制台 certmgr.msc字符映..._window bat call 环境

计算机视觉——相机标定-程序员宅基地

文章浏览阅读1.1w次,点赞8次,收藏82次。相机标定_相机标定

js获取年月日 时分秒的日期格式_js 时分秒 时间格式-程序员宅基地

文章浏览阅读1.1k次。const date = new Date()const year = date.getFullYear()const month = date.getMonth() + 1 >= 10 ? date.getMonth() + 1 : `0${date.getMonth() + 1}`const day = date.getDate() >= 10 ? date.getDate() : `0${date.getDate()}`const hours = date.getHours() ._js 时分秒 时间格式

【模拟】Oracle重建索引_oracle 重建索引-程序员宅基地

文章浏览阅读2.2k次。摘要:简述重建索引的情况及重建索引_oracle 重建索引

keil迁移到cubeIDE_cubeide生成代码 keil打开-程序员宅基地

文章浏览阅读2.7k次。以stm32f105rct6为例子,keil迁移到cubeIDE_cubeide生成代码 keil打开

推荐文章

热门文章

相关标签