2. 深度假设的预测标签表示真实深度值是否在相应的箱子中 。在第k个搜索阶段,在网络输出概率体P后,沿P的D维应用(·)操作,返回标签j,表明真实深度值在箱子Bk,j中 。通过将Bk,j划分为两个等宽的箱子Bk+1,1和Bk+1,2,可以进一步生成第(k+1)搜索阶段的新2个箱子,该阶段对应的三条边可以定义为(上一阶段搜索到箱子的两边及中点为新的三个边)
3. 然后,从第(k+1)阶段的箱子Bk+1,1和Bk+1,2的中心点取样新的深度假设 。在所提出的二进制搜索中,初始深度区间宽度为R/2,在第k阶段,深度区间宽度为R/(2**k) 。
二分查找策略,将当前深度范围划分为多个箱子,而不是直接在给定深度范围R进行采样,3D代价体的深度维数可以减少到2,内存占用显著减少 。整个MVS网络的内存开销由2D图像编码器主导,而不再由3D代价体控制 。在实验中,MVS的二分查找策略取得了令人满意的结果 。然而,网络分类错误的问题会导致优化不稳定和精度下降 。
5. MVS的泛化的二分查找
为解决MVS二分查找中的错误积累和训练问题,将其扩展为MVS的泛化二分查找 。具体而言,进一步设计了三种有效的机制,即容错箱、梯度掩码优化和高效梯度更新机制,对二进制搜索方法进行了实质性改进 。
为了使网络具有一定的容忍预测误差的能力,在Bk+1,1的左侧和Bk+1,2的右侧分别添加一个小箱子,此过程称为容错箱(ETB)(下图虚线部分,相当于多了两个深度假设,算法类似,找中心点) 。
容错箱 。为了使网络具有一定的容忍预测误差的能力,在Bk+1,1的左侧和Bk+1,2的右侧分别添加一个小箱子,此过程称为容错箱(ETB) 。下图虚线部分,相当于多了两个深度假设,算法类似,找中心点 。容错箱将深度假设的采样扩展到二分搜索中两个原始箱的范围之外,从而使网络能够纠正预测,并在一定程度上减少误差积累 。由于深度假设的数量现在是D,所以也改变了第一阶段的深度假设的初始化 。当初始深度范围R被分成D个箱子时,初始箱子宽度为R/D,第k阶段料仓宽度为R/(D × 2k?1) 。
在实现中,只在两边垫了1个ETB,因此深度假设数为4,即D = 4 。在实验中,观察到深度预测精度显著提高,同时值得注意的是,内存消耗可以与原始二值搜索相同,因为内存仍然由2D图像编码器主导 。使用容错箱,当真实深度在第3个搜索阶段的B3,4时,网络可以预测到正确的标签为4,而原始二分搜索失败 。
文章插图
梯度掩码优化 。有监督训练中,在第k个搜索阶段获得箱子后,将真实深度图GT转换为具有一个One-hot编码的体G,计算哪个箱子被深度值GT占据 。迭代搜索中的一个问题是,某些像素的深度值GT可能超出了预测箱子 。在这种情况下,不存在有效标签,无法计算损失 。这是网络优化中的一个关键问题 。从粗到细方法通常利用连续回归损失,而具有离散分类损失的R-MVS广泛使用密集空间离散化 。
在中,根据预测箱和深度图GT计算每个阶段的掩码图 。如果某个像素的深度GT在当前箱子中,则认为该像素有效 。设像素的GT深度为dgt,当前bin边为em 。那么像素只有在以下情况下才有效:
仅使用有效像素的损失来梯度更新网络中的参数,所有无效像素的梯度不会累积 。通过此过程,可以成功地训练Bi-Net和GBi-Net 。梯度掩膜优化类似于流行的自步学习(self-paced ),在自步学习中,一开始,网络训练只涉及简单样本(即简单像素),随着优化的进行,网络可以预测更精确的困难像素标签,大多数像素最终将参与学习过程 。
- Jmeter-Java二次开发
- To Be A Better Man
- 【论文笔记】Skills Regularized Task Decomposit
- 【Rust日报】 2019-07-25:用 Rust
- 【技巧】RAR分卷压缩如何设置?
- 币圈如佛家山水,是也,非也
- 伯乐与千里马 伯乐与千里马议论文
- 【自定义控件】圆形时钟
- 【推荐】一款AI写作大师、问答、绘画工具-「智元兔 AI」
- 美国打车应用Lyft更新IPO申报文件:发行价区间为62至68美元