ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

理解MVSnet

2021-05-11 14:29:15  阅读:348  来源: 互联网

标签:深度图 概率 图像 理解 深度 空间 代价 MVSnet


MVSnet:从非结构化多视角立体中推断深度
网络输入:1张参考图像+N张原图像(从其他视角观察同一物体的图像),每张图像对应的相机内参和外参
网络输出:概率图+优化深度图,在后处理中使用概率图对优化深度图进行过滤

MVSnet的理解

一、训练数据处理

1.数据准备

使用dtu数据集,因为其GT为点云或网格格式,采用SPSR(Poisson surface reconstruction,筛选的泊松表面重建)+网格渲染将原GT转化为深度图GT

2.视图选择

每个原图像分别与参考图像计算得分,取得分高的前N张图像作为网络输入原图像。
同时缩小图像尺寸至800×600,然后从中心裁剪W=640、H=512的图像块作为训练输入,输入的相机参数会相应地更改。
深度假设:[425,935]mm均匀取样,分辨率为2mm(D=256)或[425,902.5],分辨率为2.5mm(D=192)

二、特征提取

在这里插入图片描述
在这里插入图片描述

目标:提取每幅输入图像的特征,输入1个参考图像+N个原图像,输出N+1个32通道的特征图。
1.参数共享:与常见的匹配任务类似,参数在所有特征图间共享。
2.每个输入图像输出一个1/4原尺寸,32通道的特征图:将每个剩余像素的原始邻域信息编码到32通道的像素描述符中,与直接对原始图像稠密匹配相比,在特征空间中进行稠密匹配提高了重建质量。

三、构建代价空间

在这里插入图片描述

目标:将所有特征图变换到参考相机的锥形立体空间,形成N+1个代价空间Vi。

这里的空间是四维的,首先对四维空间有一个抽象的认知:
三维空间是一本书,书页的大小用长W和宽H来表示,书的每一页是一个Channel(通道),W、H、Channel三个维度构成了三维空间
四维空间是一摞书,每一本书构成第四个维度,用Depth(深度)来表示

在这里,使用单应性矩阵对每个特征图进行变换
1.首先,每个特征图Fi对应D(深度采样数)个单应性矩阵,把每张特征图看成一本书,那么每个深度经单应性变换得到一本书,D个深度,会得到一摞书,书有D本。
2.不同深度的单应变换确定了变换后书的位置和书页大小(由Hi(d)计算公式决定)
3.书的位置为参考相机的锥形立体空间,可以理解为拍摄参考图像的相机所在的相机坐标系,沿Z轴方向由Z的范围(深度假设范围)确定的一个立体空间。
4.同时,由于单应性变换得到的每本书的书页大小不同,可以看成一摞书,从上往下,书的书页大小逐渐增大,由此形成了锥形空间。
5.最终,每个特征图得到了一摞呈锥形分布的书,书页大小逐渐增加(代表W,H两个维度),每本书代表一个深度(同一深度内书页尺寸相同,因为由同一个单应性变换矩阵得到),每本书的每一页代表一个通道,每本书的通道数相同,都为32(原特征图的通道数)。

N+1个特征图,会在参考相机锥形空间的同一空间位置同时产生N+1个锥形空间(也可以称为代价空间),这里实际上已经5维了,下一步将这同一空间位置的的N+1的代价空间合并为一个代价空间,降回4维。
在这里插入图片描述
在这里插入图片描述

这里的单应性变换是可微的,即可以实现反向传播,进行端到端训练。

四、代价度量

在这里插入图片描述

目标:将N+1个代价空间聚合为一个统一的代价空间C(将N+1摞书合并为一摞书)
C.shape:(D,W,H,F),D、W、H、F为深度采样数、输入图像的宽度,高度的1/4和特征图的通道数。

实现过程:
N+1个代价空间是重叠在同一空间位置的,对同一空间位置的点计算方差
比如说,将每摞书第一页左上角的点都取出来,然后计算方差,得到输出的那摞书的第一页左上角的点。对每个空间点都进行这样的计算,得到输出的一摞书,即最终的代价空间。

在最后,因为每本书的大小还是不同的,即还是锥形空间,对其进行可微双线性插值,将每本书的大小都变换为(W,H)大小,得到一个方形的代价空间。

现在代价空间是一摞页面大小相同的书,同样,页面大小为W、H,每一页代表一个通道,每一本代表一个深度。

使用方差的好处:
1.可以适应任意数量的原图像输入
2.显式的度量了多视图特征的差异
在这里插入图片描述

五、代价空间正则化

在这里插入图片描述

目标:根据代价空间C得到概率空间P(将一摞书合并为一本书)

抽象理解:
在这一步做了三件事
1.通过三维卷积对代价空间正则化,即将深度的取值集中起来,尽可能变成单峰分布。
2.三维卷积的最后将通道降为1,也就是把每本书都变成一页纸,一张纸代表一个深度。
这个时候可以把这些纸按序纸合并为一本书(W,H,D),页面大小为(W,H),页数为D,这就是最终的代价空间,对于书页((W,H)平面)上的每一个点,若它在第三页的值最大,那么这个点的深度就为第三页的取值(例如,[425,935]mm均匀取样,分辨率为2mm(D=256),那么第三页的深度为425+3x2=431mm)。
3.沿页数方向用softmax进行归一化,即对于(W,H)平面上的每个点,沿D方向的概率合为1.,这便得到最终的概率空间P.
下一步将从概率空间P获取初始深度图和概率图。

网络:类似于3D-UNet,使用编码器-解码器结构,以相对较低的内存和计算成本,从一个大的感受野聚集相邻的信息。

简单说一下三维卷积和二维卷积的区别:
二维卷积:卷积核在每个channnel上2d移动,每个channel使用不同的参数,每个channel得到的值相加.
三维卷积:由于每个channl存在deepth,卷积核在每个channel上3d移动(卷积核的deepth<channel的deepth),每个channel使用不同的参数,每个channel得到的值相加.

六、深度图初始估计

在这里插入图片描述

目标:从概率空间P中获取深度图(将一本书变成一页纸,(W,H,1))

方法:
对(W,H)平面每个点,沿书页D方向计算期望,期望值即为该点的深度估计。

使用期望的优势:
1.相比于argmax,过程可微
2.可以产生连续的深度估计

七、概率图

在这里插入图片描述

目标:由概率空间P获取深度质量的估计d(也是一张纸(W,H,1)),对深度图进行过滤。
深度估计的质量d:估计值在真实值附近一个小范围的概率。
计算方式:由于深度假设是沿着摄像机视锥截取的,只需对四个最高概率的深度假设取概率和(前4的概率值相加?)。
概率图:每个点的值表示该位置深度估计的有效性,概率越高,越可能为正确的深度估计(或该点的深度估计有效,不是背景等)。

八、优化深度图

在这里插入图片描述

目标:利用参考图像的边界信息优化深度图。
初始深度图是一个不错的深度图,但由于正则化时感受野较大,重建的边界可能过度平滑,而自然场景中的参考图像包含边界信息。

具体做法:
1.将参考图像(RGB3通道)缩小1/4,使其和初始深度图尺寸相同(W,H,3)。同时,将深度图归一化[0,1],防止在某个深度比例上产生偏差(W,H,1)。将处理过的两个图进行通道拼接(W,H,4)
2.将拼接后的4通道图像放入 4层残差结构的卷积网络进行信息融合
3.将残差网络输出的单通道特征图(W,H,1)与初始深度图逐元素相加,并将归一化的值映射到深度假设的区间,由此得到优化后的深度图。

九、损失计算

在这里插入图片描述
在这里插入图片描述

1.使用L1损失,分别对初始深度图和优化深度图进行损失计算,再以权重系数λ相加,λ一般设置为1.0。
2.只考虑GT中有深度信息的像素点(除过图中蓝色背景的区域)。

十、后处理

1.深度图过滤

1.光度一致性度量匹配质量。用网络得到概率图来衡量深度估计的质量。在实验中,将概率低于0.8的像素视为漏光像素。
2.几何约束度量多个视图之间的深度一致性,类似于立体图像的左右视差检查。

几何约束可以用视差原理图来理解:
在这里插入图片描述
假设上图右相机为参考相机(左右相机共用深度图),通过像素点PR和它的深度d1,可以得到它在相机坐标系的实际位置(射线O2 PR上到线段O1 O2距离为d1的点),连接该点和O1,即可得到PR在左相机成像平面的对应点PL,将PL通过它的深度d2用同样的方式投影回右相机成像平面,因为深度使用的是估计值,因此投影回右相机成像平面的点会与PR产生位置偏差,假设投影点为P reproj,该点的深度估计为d reproj,如果重投影坐标P reproj和重投影点深度d reproj满足
在这里插入图片描述
则认为p1的深度估计d1是两视图一致的。在实验中,所有深度至少应为三视图一致性。

2.深度图融合

将不同视点的深度图融合到统一的点云表示中,使用基于可见性的融合算法,把遮挡,光照等影响降到了最低,使得不同视点之间的深度遮挡和冲突最小化。
为了进一步抑制重建噪声,在滤波步骤中确定每个像素的可见视图,并将所有重投影深度的平均值作为像素的最终深度估计。
融合后的深度图直接投影到空间,生成三维点云。

标签:深度图,概率,图像,理解,深度,空间,代价,MVSnet
来源: https://blog.csdn.net/qq_43027065/article/details/116641932

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有