特征提取
输入 (3,N,H,W),输出(32,N,H/4,W/4)【N是指N张图】。
进行下采样是考虑到显存不够使,现在的工作一般不进行下采样的了
本文主要提出CNN来得到更好的特征,深入思考一下是否有更好的方法来进行特征提取?用transformer?有人做过了,所以说有想法不行,还要手快才行。
代价体
Homography:
从(32,N,H/4,W/4),输出(32,D,N,H/4,W/4)【D是深度假设层,可以理解为到底切了多少片】。
把特征沿着每个深度投影到中心视角下,多了一个维度D
不懂Homography可以看一下主页博客
在原文中这块还介绍了线性插值,因为在投影的过程中难免会有投不上的空洞,用插值来补全
代价体度量:
从(32,D,N,H/4,W/4),输出(32,D,1,H/4,W/4)。
通过方差将N个特征体的向量空间压缩成1个,实现了文中提出的任意输入
原文中提出的对所有视角图片给相同贡献显然有问题,因为如果要恢复正面场景,背面视角的图就没那么重要,关于这方面工作可以通过给每个视角不同的权重
代价体正则化:
从(32,D,H/4,W/4),输出(1,D,H/4,W/4)。
就是把通道维度给压缩掉,使得最终结果表示的是该像素点在深度D下的概率
概率P:(D,H/4,W/4)
深度估计
从(D,H/4,W/4),输出(1,H/4,W/4)
不用argmax是因为不能进行反向传播,意味着不能进行训练,同时无法实现亚像素估计(就是得不到类似于3.5这种深度估计)
文中提到的在[Dmin,Dmax]上均匀划分,没什么必要,因为在一个区域内肯定有些重要有些不重要,目前已有相关工作,可以继续改进
置信图
置信图反应了上一步得到的每个像素的深度估计的可靠性,可以辅助后续的滤波
置信图的计算:
对于理想情况单峰分布直接通过上一步softargmax的深度估计就可以得到一个合理的深度估计值,这个深度估计值对应的概率值最大。
但是对于更一般的多峰分布的情况,通过softargmax得到的深度估计并不总是合理【该点对应的概率值很低】,文中提出使用softargmax后得到的深度假设邻近4个的深度假设对应的概率相加后得到的概率值,来得到一个置信图。
这种方法简单粗暴,不满足sum(五点)概率大于0.8 就不用,显然不是很合理,这也是一个可以考虑改进的点,怎么在用到所有点的情况下,解决多峰分布的深度估计问题
后处理
光度一致性:反应了匹配质量,自己和周围4个深度假设的概率值相加>0.8才使用,否则就过滤掉
几何一致性:通过重投影变换,深度值不变,至少满足3视图才认为可靠