基于几何学习图像的三维重建发展_基于深度学习的三维重建算法:MVSNet、RMVSNet、PointMVSNet、Cascade系列...
欢迎关注微信公众号“3D视觉学习笔记”,分享博士期间3D视觉学习收获
MVSNet:香港科技大学的权龙教授团队的MVSNet(2018年ECCV)开启了用深度做多视图三维重建的先河。2019年,2020年又有多篇改进:RMVSNet(CVPR2019),PointMVSNet(ICCV2019),P-MVSNet(ICCV2019),MVSCRF(ICCV2019),Cascade(CVPR2020),CVP-MVSNet(CVPR2020),Fast-MVSNet(CVPR2020),UCSNet(CVPR2020),CIDER(AAAI2020),PVAMVSNet(ECCV2020),D2HC-RMVSNet(ECCV2020),Vis-MVSNet(BMVC2020)。
一 MVSNet:目标是预测图片上每个像素的深度信息
MVSNet: Depth Inference for Unstructured Multi-view Stereo
MVSNet本质是借鉴基于两张图片cost volume的双目立体匹配的深度估计方法,扩展到多张图片的深度估计,而基于cost volume的双目立体匹配已经较为成熟,所以MVSNet本质上也是借鉴一个较为成熟的领域,然后提出基于可微分的单应性变换的cost volume用于多视图深度估计。
论文实现了权龙教授多年的深度三维重建想法。
过程:
(1)输入一张reference image(为主) 和几张source images(辅助);
(2)分别用网络提取出下采样四分之一的32通道的特征图;
(3)采用立体匹配(即双目深度估计)里提出的cost volume的概念,将几张source images的特征利用单应性变换( homography warping)转换到reference image,在转换的过程中,类似极线搜索,引入了深度信息。构建cost volume可以说是MVSNet的关键。
具体costvolume上一个点是所有图片在这个点和深度值上特征的方差,方差越小,说明在该深度上置信度越高。
(4)利用3D卷积操作cost volume,先输出每个深度的概率,然后求深度的加权平均得到预测的深度信息,用L1或smoothL1回归深度信息,是一个回归模型。
(5)利用多张图片之间的重建约束(photometric and geometric consistencies)来选择预测正确的深度信息,重建成三维点云。
该论文最重要的单应性变换( homography warping)的公式写错了,误导了好几篇后续改进的顶会论文,不过神奇地是提供的代码没有错:
二 MVSNet的后续改进论文
MVSNet开启了深度学习做三维重建的先河,2019/2020又出现了多篇对其的改进,改进思路主要是把回归网络改成cascade,即改成层级的,先预测下采样四分之一的,再利用得到的结果预测二分之一,最后输出原图片大小的深度信息,或减小深度范围,或减小cost volume的范围。
目前dtu数据集上精度已经很高了,再提高也比较难,另外由于dtu数据集的ground truth本身就是不完整的,所以和这个ground truth比的话,也有问题,结果高并不表明效果好。
还有就是tanks榜单也有问题,评价系统存在问题导致需要一些技巧才能提高排名,需要平衡点云的完整度和正确性即recall和precision,不能太稀疏,但是太稠密了错的又会多。
https://www.tanksandtemples.org/leaderboard/www.tanksandtemples.org
MVSNet后续改进论文介绍:
1.RMVSNet(CVPR2019)
Recurrent MVSNet for High-resolution Multi-view Stereo Depth Inference
权龙教授团队Yao Yao对自己的MVSNet的后续改进,主要是将3D 卷积换成了一个GRU时序网络来降低显存消耗。
代码是用tensorflow写的,和MVSNet代码合到一起了,github链接:
https://github.com/YoYo000/MVSNetgithub.com
2. MVSNet(pytorch版本)
这里需要特别强调一下,提出双目立体匹配GwcNet的Guo Xiaoyang 同学把原来MVSNet的tensorflow代码改成了pytorch框架,这为几乎后续所有改进MVSNet的论文提供了极大的帮助,后续的论文几乎都是在Xiaoyang Guo同学的MVSNet_pytorch上改的。而且Guo Xiaoyang同学的MVSNet_pytorch已经比原来的MVSNet的效果好了不少,而后续的改进都是对比MVSNet论文里的结果,所以真正的提升其实并不大,后续改进应该对比Guo Xiaoyang同学的MVSNet_pytorch。
MVSNet论文里的结果和Guo Xiaoyang同学的MVSNet_pytorch在DTU数据集上的对比结果,可以看出Guo Xiaoyang已经提升了不少MVSNet的效果。
Guo Xiaoyang同学的MVSNet_pytorch 链接:
https://github.com/xy-guo/MVSNet_pytorchgithub.com
3 PointMVSNet(ICCV2019)
Point-Based Multi-View Stereo Network ,清华大学
改的MVSNet_pytorch的代码,PointMVSNet github链接:https://github.com/callmeray/PointMVSNet
4 P-MVSNet(ICCV2019)
P-MVSNet: Learning Patch-wise Matching Confifidence Aggregation for Multi-View Stereo 华中科技大学
P-MVSNet对MVSNet的改进主要在于采用传统三维重建算法中Patch-wise。还没有找到其代码。
5 MVSCRF(ICCV2019)
MVSCRF: Learning Multi-view Stereo with Conditional Random Fields
改进点:接入了一个CRF模块
清华大学。没有找到其代码。
6 cascade MVSNet(CVPR2020)
Cascade Cost Volume for High-Resolution Multi-View Stereo and Stereo Matching
阿里,GitHub链接:https://github.com/alibaba/cascade-stereo
改的MVSNet_pytorch的代码,主要是把MVSNet的模型改成了层级的,先预测下采样四分之一的深度,然后用来缩小下采样二分之一的深度,再用其缩小原始图片大小的深度,这样层级的方式,可以采用大的深度间隔和少的深度区间,从而可以一次训练更多数据。
另外由于双目立体匹配和MVSNet的MVS都是用了cost volume,双目立体匹配是用两张图片估计’深度‘,MVS的MVSNet是用三张及以上图片预测深度,所以其实模型差不多,都是相同的,cascade MVSNet也把改进思想用到了双目立体匹配上,一篇论文做了两份工作。
7 CVP-MVSNet(CVPR2020)
Cost Volume Pyramid Based Depth Inference for Multi-View Stereo
澳大利亚国立和英伟达,github链接:https://github.com/JiayuYANG/CVP-MVSNet
也是改的MVSNet_pytorch的代码,和上一个cascade MVSNet比较类似,也是先预测出深度信息然后用来缩小更大的图片的深度,CVP-MVSNet相比cascade MVSNet也缩小了cost volume的范围。
8 Fast-MVSNet(CVPR2020)
Fast-MVSNet: Sparse-to-Dense Multi-View Stereo With Learned Propagation
and Gauss-Newton Refifinement,上海科技大学
也是改的MVSNet_pytorch的代码,github链接:https://github.com/svip-lab/FastMVSNet
Fast-MVSNet采用稀疏的cost volume以及Gauss-Newton layer,目的是提高MVSNet的速度。
9 CIDER(AAAI 2020)
Learning Inverse Depth Regression for Multi-View Stereo with Correlation Cost Volume , 华科的
GitHub链接:https://github.com/GhiXu/CIDER
CIDER主要采用采用group的方式提出了一个小的cost volume
10 UCSNet(CVPR2020)
Deep Stereo using Adaptive Thin Volume Representation with Uncertainty Awareness
github链接:
https://github.com/touristCheng/UCSNetgithub.com
UCSNet和cascade/CVPMVSnet差不过,只是depth interval可以自动调整,最大层度的进行网络层级,通过下采样四分之一的深度结果来缩小cost volume和深度的范围,从而让模型尽可能小。
11 PVA-MVSNet(ECCV2020)
Pyramid Multi-view Stereo Net with Self-adaptive View Aggregation
北大,GitHub链接:https://github.com/yhw-yhw/PVAMVSNet
主要采用attention机制来自适应学习一些权重,比如不同view的权重。
12 D2HC-RMVSNet(ECCV2020 Spotlight)
Dense Hybrid Recurrent Multi-view Stereo Net with Dynamic Consistency Checking
github链接(还未提供):
yhw-yhw/D2HC-RMVSNetgithub.com
还没细看,大概和RMVSNet差不多,只不过换成用LSTM来处理cost volume,同时提出一种Dynamic Consistency Checking来后融合。
可能因为在Tanks榜单上排名较高(目前滑落到第二,论文提交时第一),所以拿了ECCV2020的Spotlight。
13 Visibility-aware Multi-view Stereo Network(BMVC2020 oral)
github:https://github.com/jzhangbs/Vis-MVSNet
香港科技大学的权龙教授团队的最新的一篇论文,发表在BMVC2020上,主要是考虑了别的基于深度学习的论文都没考虑的一个问题:多视图构建cost volume的可见性问题。代码融合多阶段和group Cost Volume等技巧。
目前在tanks榜单的intermediate上排名第一。
总结:
香港科技大学的权龙教授团队的Yao Yao把双目立体匹配的cost volume,引入了基于深度学习的三维重建领域,提出了MVSNet,并整理了DTU数据集,开创了通过深度模型预测深度进行三维重建的一个新领域。
后续提出双目立体匹配GwcNet的Guo Xiaoyang同学把原来MVSNet的tensorflow代码改成了pytorch框架,极大地增加了代码的可读性,方便了后续一系列对MVSNet的改进。也提高了改进的基点。
得特别感谢香港科技大学的权龙教授团队和Guo Xiaoyang同学。
由于tanks and temples榜单评价的是点云,阻碍tanks and temples榜单上排名的可能并不是深度值预测的不好,而是其他的问题。三维重建涉及的东西很多。榜单上排名高的模型可能是因为在模型以外的地方做了东西。。
欢迎关注微信公众号“3D视觉学习笔记”,分享博士期间3D视觉学习收获
基于几何学习图像的三维重建发展_基于深度学习的三维重建算法:MVSNet、RMVSNet、PointMVSNet、Cascade系列...相关推荐
- 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分
深度学习:在图像上找到手势 情感手势检测 (Emotion Gesture Detection) Has anyone ever wondered looking at someone and tri ...
- 深度学习将灰度图着色_通过深度学习为视频着色
深度学习将灰度图着色 零本地设置/ DeOldify / Colab笔记本 (Zero Local Setup / DeOldify / Colab Notebook) "Haal Kais ...
- pytorch 三维点分类_基于深度学习的三维重建——MVSNet系列论文解读
欢迎关注微信公众号"3D视觉学习笔记",分享博士期间3D视觉学习收获 MVSNet:香港科技大学的权龙教授团队的MVSNet(2018年ECCV)开启了用深度做多视图三维重建的先河 ...
- 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第2部分
深度学习:在图像上找到手势 情感手势检测 (Emotion Gesture Detection) Hello everyone! Welcome back to the part-2 of human ...
- 深度学习这么调参训练_聊一聊深度学习中的调参技巧?
本期问题能否聊一聊深度学习中的调参技巧? 我们主要从以下几个方面来讲.1. 深度学习中有哪些参数需要调? 2. 深度学习在什么时候需要动用调参技巧?又如何调参? 3. 训练网络的一般过程是什么? 1. ...
- 利用深度学习进行交通灯识别_通过深度学习识别交通信号灯
利用深度学习进行交通灯识别 by David Brailovsky 戴维·布雷洛夫斯基(David Brailovsky) 通过深度学习识别交通信号灯 (Recognizing Traffic Lig ...
- 自动驾驶中图像与点云融合的深度学习研究进展综述
点云PCL免费知识星球,点云论文速读. 文章:Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Revie ...
- 三维重建算法综述|传统+深度学习
作者:CJB Date:2020-2-21 来源:基于深度学习的三维重建算法综述 00 前言 01 基于传统多视图几何的三维重建算法 1.1 主动式 (1)结构光 (2)TOF 激光飞行时间法 (3) ...
- 深度学习 情感分析_使用深度学习进行情感分析
深度学习 情感分析 介绍 (Introduction) The growth of the internet due to social networks such as Facebook, Twit ...
最新文章
- java批处理框架采集端_使用Spring Batch批处理框架(参考)
- 使IIS服务器支持下载 apk/ipa 安装包
- strcmp可以比较数组么_005 继承、封装、多态及数组初识
- yolov3 权重转换
- boost::describe模块宏BOOST_DESCRIBE_PP_POINTER的测试程序
- Ajax,再生还是幻灭---好文推荐
- 【快报】基于K2 BPM的新一代协同办公门户实践交流会
- 793. 阶乘函数后K个零 golang
- unity 角度限制_喵的Unity游戏开发之路 推球:游戏中的物理
- vuedraggable嵌套块拖拽_Vue 基于 vuedraggable 实现选中、拖拽、排序效果
- html合并标记,在合并期间在HTML标记之间拉取特定的(文本)间隔
- 怎么删除w7桌面计算机图标,w7桌面图标箭头怎么去掉?w7桌面图标箭头去掉方法...
- C# CommandName四个属性
- 分布式系统架构、微服务架构等架构区别
- win10开启Linux蓝屏,win10启动蓝屏_Win10怎么开启蓝屏记录
- 【easyui】之DataGrid数据显示
- wx ipad协议
- android属性动画作用范围,Android属性动画的使用(上)
- Elasticsearch短语或近似匹配及召回率案例深入剖析-搜索系统线上实战
- 酷派大观4 8970 刷android 4.4,极速达百兆! 移动4G版酷派大观4网络体验
热门文章
- 自定义Dialog使用场景
- 【OpenCV】32 图像梯度–更多梯度算子(rober算子、prewitt算子)
- 【淘宝SEO】史上最全搜索规则经验分享!
- zepto ajax php实例,读Zepto源码之Ajax模块
- excel如何创建数据库_在Excel中创建电影收藏数据库
- Rotated_IoU
- PostgreSQL 类似SQLSERVER的isnull函数
- C++ | 误差分析公式(均方根值(RMS)、均方根误差(RMSE)、标准差:均方差)(附代码)
- xtrabackup备份(全备、增量备)与恢复
- 视频直播app源码直播弹幕系统如何实现