【论文精读1】MVSNet架构各组件详解

这篇具有很好参考价值的文章主要介绍了【论文精读1】MVSNet架构各组件详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MVSNet(ECCV2018)是使用神经网络做三维重建的一篇经典论文,但大部分讲解其实都是翻译…看来看去最重要的网络训练各步骤原理和作用都是朦朦胧胧,感谢@朽一的博文用书来比喻特征图让我大致理解了整个过程。
下边结合我自己的理解做了图示来逐流程介绍,个人认为是比较易懂的,当然也欢迎讨论交流!

【论文精读1】MVSNet架构各组件详解

一、训练流程

1.特征提取

与传统三维重建方法类似,第一步是提取图像特征(SIFT等特征子),不同点在于本文使用8层的卷积网络从图像当中提取更深层的图像特征表示,网络结构如下图所示:

输入:N张3通道的图像,宽高为W,H
输出:N组32通道图,每通道尺度为,H/4,W/4

【论文精读1】MVSNet架构各组件详解

2.构建特征体(Feature Volume)

2.1 单应性变换

单应性变换简单来说,对于3D空间的点X,我们通过相机1拍照,得到照片1上的对应二维像素点P(x,y);在另一个位置用相机2拍照,得到照片2上的对应二维像素点P’(x’,y’)——通过一个正确的单应矩阵H(包含相机1,2的位置转换参数R,T、相机1到点X的距离d),可以实现P’ = HP。即在已经提前获取相机的内外参数前提下,因此只需要一个深度值变量,就可以找到参考图像上点P对应在源图像上点P’的位置。

【论文精读1】MVSNet架构各组件详解

若我们已知两个位姿的相机参数(相机1,2的位置转换参数),现在设置一个深度区间[d1,d2],并设置分辨率为Δd,由此得到D=(d2-d1)/Δd个平面,那么每个d都对应了一个单应变换矩阵h。
如果对一张图片上每个像素点,使用di对应的矩阵hi进行变换可以得到一张变换后的图片,意义为假设各个像素点真实深度都为d时,在另一位姿下各像素点的应有的对应特征值。
而我们假设了D个深度,也即将得到D幅变换后的图像,各图代表了其像素点真实深度为当前深度时变换对应的特征值,即可理解为上图中各层蓝色由深变浅的图层。

为什么是“锥形视锥”,因为当单应矩阵对应的真实深度不同时,由近大远小原理可知能被当前位置的相机看到的特征点数量随着深度减小而减小,因而出现锥形。(在下一步构建特征体时使用了双线性插值来保证所有深度的特征图尺寸一致)

2.2 特征体构建

【论文精读1】MVSNet架构各组件详解

在本文当中,我们通过特征提取得到的是N个特征图(1个参考图、N-1个原图),每个特征图有32通道。
每个特征图可以理解为一本书,有32页,每页尺寸是HxW
那么,一本书(一个特征体)通过2.1中的单应变换就变成了一摞书,等于将原来第一页通过深度为[d1,d2]的矩阵[h1,h2]变换成n个深度下的第一页,将原来第二页变成n个深度下的第二页……
此时,一本书 = 某深度d
书的某页 = 某深度下某特征通道
书的某页上某字 = 某深度下某特征通道某点的特征

需要注意的是,对于Ref的特征图则是直接在每个深度下复制,因为多个Src都是要变换到这个参考图下的

3.生成代价体(Cost Volume)

【论文精读1】MVSNet架构各组件详解
通过第2步我们得到了N摞书,现在竖着看每摞书的第一本,代表了假设深度为d1时,各特征图上各像素经过变换后的特征值——若某个像素真实深度接近d1的话,那变换后该列该处的特征值应该是近似的
基于这样的想法,对每一列书的每一页上的每个像素计算方差,代表了假设深度为di时,各图像特征图的各通道各特征点的差异情况,方差越小,越相似,该特征点真实深度就越可能是di。

该步得到了一摞书,每本书 = 一个深度
每页 = 某深度下特征图一个通道
页上的点 = 该深度下特征图某通道上点的相似程度,方差越小越相似

这里就是论文所说能够接受任意N个输入的原因,因为是取方差所以输入几个都一样。

4.代价体正则化(Cost Volume Regularization)

在第3步中得到了代价体,但论文说 “The raw cost volume computed from image features could be noise-contaminated” ,即这个代价体由于非朗伯面、遮挡等原因是包含噪声的,要通过正则化来得到一个概率体P(probability volume),具体采用了一个类似UNet的网络结构,对原代价体进行编码和解码,并最终将各通道数压缩为1,即将一摞书变成了一本书
【论文精读1】MVSNet架构各组件详解
此时书 = 概率体
每页 = 某深度
页上的点 = 该点在该深度的概率

如对(H,W)平面上的一点(x,y),若在深度d处值最大,该点深度为d

个人感觉把多个通道特征压缩成一个通道,直观想法是保留其中方差最小(最可能属于当前深度)的那个通道的特征,然后方差越小说明这个像素点的深度越可能是当前层深度;但文章说是出于噪声目的试用网络来正则化获得最终的概率体,不太理解为什么要用这个UNet网络。

5.深度图初始估计(Depth Map Initial Estimation)

【论文精读1】MVSNet架构各组件详解
利用第4步的概率体,沿深度d方向求期望,就得到对应像素点的初始深度值;
对每个像素点求期望,即将概率体变成了一张概率图。

6.深度图优化(Depth Map Refinement)

【论文精读1】MVSNet架构各组件详解

7.损失计算(Loss)

【论文精读1】MVSNet架构各组件详解

二、后处理

论文在摘要中提到*“With simple post-processing”*之后模型效果很好,这个post-processing主要包括深度图滤波和深度图融合两部分。

1.深度图滤波(Depth Map Filter)

【论文精读1】MVSNet架构各组件详解
深度图滤波主要提出了两个约束,光度约束和几何约束。

1.1 几何约束

首先几何约束比较简单,就是说将参考点p1通过其估计深度d1投影至源视角pi点,再将pi点通过其深度估计di重投影至参考视角preproj点,这个重投影后的preproj点深度估计为dreproj,若满足
【论文精读1】MVSNet架构各组件详解
则说是满足几何约束的,论文里保证三视图满足该几何约束一致性。

1.2 光度约束

光度约束,其实是在通过概率体得到初始深度图的同时计算了一个概率图【论文精读1】MVSNet架构各组件详解
各像素点的深度越集中在某个深度附近,则该点深度判断的准确概率越高,最后过滤掉概率小于0.8的点。

2.深度图融合(Depth Map Fusion)

【论文精读1】MVSNet架构各组件详解
即在多个视角下推测深度图,并采取特定融合算法融合;其中每个深度图的像素深度选择是使用了几何约束时计算的重投影的均值作为最终深度估计。

三、总结

【论文精读1】MVSNet架构各组件详解文章来源地址https://www.toymoban.com/news/detail-413927.html

到了这里,关于【论文精读1】MVSNet架构各组件详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ECCV2022论文列表(中英对照)

    Paper ID Paper Title 论文标题 8 Learning Uncoupled-Modulation CVAE for 3D Action-Conditioned Human Motion Synthesis 学习用于 3D 动作条件人体运动合成的非耦合调制 CVAE 16 Generative Domain Adaptation for Face Anti-Spoofing 人脸反欺骗的生成域自适应 19 Learning Depth from Focus in the Wild 从野外专注中学习深度 34 Rel

    2023年04月21日
    浏览(35)
  • 【论文阅读】2020ECCV-DFDNet

    中文:基于深度多尺度分量字典的盲人脸复原 paper: code:https://github.com/csxmli2016/DFDNet 近年来,基于参考的人脸恢复方法因其在真实低质量图像上恢复高频细节的能力而受到广泛关注。然而,这些方法中的大多数都需要具有相同身份的高质量参考图像,这使得它们仅适用于有

    2024年02月16日
    浏览(25)
  • 查找计算机视觉顶会CVPR/ECCV/ICCV论文的方法

    http://www.cvpapers.com/ https://openaccess.thecvf.com/CVPR2022 https://openaccess.thecvf.com/CVPR2021 https://openaccess.thecvf.com/CVPR2020 https://openaccess.thecvf.com/CVPR2019 https://openaccess.thecvf.com/CVPR2018 https://openaccess.thecvf.com/CVPR2017 https://openaccess.thecvf.com/CVPR2016 https://openaccess.thecvf.com/CVPR2015 https://openaccess.thec

    2024年02月04日
    浏览(27)
  • 查找计算机视觉顶会CVPR/ECCV/ICCV论文的方法大全

    http://www.cvpapers.com/ 查历年的CVPR论文,到2020截至 ICCV跟ECCV是每两年一届,分别是奇数年跟偶数年。往年ICCV的论文: 往年ECCV的论文: ECCV 2018 Open Access Repository 查论文与代码: The latest in Machine Learning | Papers With Code 这几个网站可以经常看看: 此外还有个神奇的网站:https://ar

    2024年02月08日
    浏览(31)
  • 【论文简述】Multi-View Stereo Representation Revisit: Region-Aware MVSNet(CVPR 2023)

    1. 第一作者: Yisu Zhang 2. 发表年份: 2023 3. 发表期刊: CVPR 4. : MVS、3D重建、符号距离场 5. 探索动机: 像素深度估计仍存在两个棘手的缺陷。一是无纹理区域的估计置信度较低。二是物体边界附近的许多异常值。这主要是因为表面通常被视为一组不相关的采样点,而

    2024年02月10日
    浏览(41)
  • 【论文阅读】视频理解系列论文精读

    视频理解论文串讲(上)【论文精读】 我们研究了多种扩展CNN在时域上的连接性的方法,以利用局部的时空信息,并建议采用多分辨率、凹陷的架构作为加速训练的一种有希望的方式。 在图像领域积极成果的鼓舞下,我们研究了CNN在大规模视频分类中的表现,在这种情况下

    2023年04月09日
    浏览(28)
  • 【Whisper】《OpenAI Whisper 精读【论文精读】》学习笔记

    Whisper在论文中表示使用单模型(single model)来完成多个语音任务(multitask),李沐教授认为 优点是设计上比较干净 ; 但是他同时也提出了两个疑问: 使用单模型会不会跑得不够快(因为保证多任务的性能需要大参数的模型) 假设同时能做五个任务,假设有一个任务做得比

    2024年02月16日
    浏览(40)
  • Kubernetes架构与组件详解

    Kubernetes是由Google开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序的平台。Kubernetes充分利用了云计算和容器化技术,可以大幅简化应用程序的开发、部署和运行过程。 Kubernetes的优势主要包括以下几点: 高可用性 :Kubernetes可以在多个地理位置和云平台上运

    2024年02月05日
    浏览(32)
  • 论文精读--MAE

    BERT在Transformer的架构上进行了掩码操作,取得了很好的效果。如果对ViT进行掩码操作呢? 分成patch后灰色表示遮盖住,再将可见的patch输入encoder,把encoder得到的特征拉长放回原本在图片中的位置,最后由decoder去重构图片  图二的图片来自ImageNet,没有经过训练,是验证集。左

    2024年02月21日
    浏览(28)
  • 论文精读之BERT

    目录 1.摘要(Abstract) 2.引言(Introduction): 3.结论(Conlusion): 4.BERT模型算法: 5.总结 与别的文章的区别是什么:BERT是用来设计去训练深的 双向的 表示,使用没有标号的数据,再联合左右的上下文信息。(改进在什么地方) 效果有多好:在11个NLP任务上取得了很好的效果。需要

    2024年02月15日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包