论文《DeepPruner: Learning Efficient Stereo Matching via Differentiable PatchMatch》的部分翻译,如有翻译不当之处敬请评论指出,蟹蟹!(2019-11-29)
发表:ICCV2019
代码:https://github.com/uber-research/DeepPruner
由于有研究者已经对此论文的实验之前的内容做了比较好的翻译了,所以本翻译仅仅翻译从实验部分开始的内容,前三部分内容请参考:https://blog.csdn.net/u011832617/article/details/102552972
我们将我们的方法与性能最佳的算法[41、15、9、25、29、8]和实时模型进行比较[32, 23]。
具体来说,我们评估了两种不同的方法 DeepPruner-Best 和 DeepPruner-Fast 。DeepPruner-Best 使cost-volume 有4倍下采样,DeepPruner-Fast 使cost-volume 有8倍下采样。两个模型其他的保持不变。
在本节中,我们首先描述我们的实验设置。接下来,我们在有挑战性的公共基准上评估我们的方法。最后对模型的特点进行了全面的研究。
SceneFlow:正如在[23]中提出的,这是一个合成数据集,包含35454个训练和4370个测试立体对的ground truth视差图(H=540,W=960)。我们使用端点误差(EPE)作为SceneFlow数据集的评估指标。
KITTI 2015:这是一个真实世界的数据集,包含200个训练和200个测试立体对的维度(H=376,W=1240)。Ground truth来自使用Velodyne HDL64E激光扫描仪收集的激光雷达点。与之前的KITTI2012版本不同,稠密视差图为动态场景。所使用的评估指标与基准所提供的相同如异常值的百分比。
模型训练的端到端随机裁剪图像补丁的大小(H = 256, W = 512)使用Adam(β1 = 0.9,β2 = 0.999)作为优化器。使用ImageNet统计数据(均值和标准差)作为唯一的预处理步骤对输入图像进行颜色归一化。模型在4块Nvidia-TitanXp GPUs上训练。对于所有的数据集,我们在我们的损失函数里使用超参数 λ=0.315 和 γ=2.4 。我们只计算了训练中ground truth在0和192之间的像素损失。对所有像素进行评估,而不考虑它们的视差值。
对于SceneFlow数据集,我们从零开始训练模型,batch_size大小为16,epoch为64。初始学习率设置为0.001,每隔20个epoch衰减0.0003。
对于KITTI数据集,我们结合了KITTI 2012和KITTI 2015图像对,总共得到了394个训练图像对。我们从总共394张图片中保留了40张用于验证。
然后我们使用Sceneflow的预训练模型,并对其进行了微调1040个epoch。在800个epoch后,所有批处理规范层都切换到eval模式。为了进一步的训练,运行平均值和标准差统计数据被固定下来。在DeepPruner-Best模型中,我们使用batch_size=16,DeepPruner-Fast模型的batch_size=64。我们使用最初的lr为0.0001,并在500个epoch之后将其减少到0.00005。为了提交到KITTI测试基准,我们在1040个epoch的所有394张训练图像上重新训练了模型。
SceneFlow:如表1所示,我们的方法在很大程度上优于大多数方法,并取得了第二好的结果。与最先进的[9]相比,我们最好的模型要快2.5倍,而我们最快的模型要快8倍以上。与实时方法[23]相比,我们的方法在几乎相同的运行时间内减少了40%的终点误差。定性结果如图4所示。深度剪枝器可以捕获大的差异和小的对象,并且能够对图像边界进行精确的估计。
KITTI:表2展示了性能和所有竞争算法在KITTI立体基准上的运行时间。DeepPruner-Best达到了与最先进的方法相当的性能,同时显著地更快。比较实时的立体模型DeepPruner-Fast降低了40%以上的异常值比率。图6显示了测试集上的一些立体结果。深度修剪器在各种场景中产生竞争估计。
消融研究:为了了解深度剪枝器中每个组件的有效性,我们使用不同的配置来评估我们的模型。如表4所示,置信区间预测器对我们的模型至关重要。在细化网络的帮助下,我们可以进一步捕捉锐利的边缘和细粒度细节,提高整体的立体估计。
可视化置信范围预测:置信度范围预测器的目标是剔除不可能匹配的空间,确保昂贵的成本量操作只在少数视差值处发生。为了了解预测器的有效性,我们将预测的搜索范围以及像素在水平线上的GT视差可视化。如图5所示,我们的置信范围在大多数情况下都很小,这大大减少了成本量预测的计算量和内存负担。
不确定性:范围预测也可以被认为是置信度/不确定性水平的测量——范围越大,模型越不确定。为了验证这个假设,我们比较了预测的置信范围(即,最大范围减去最小范围)针对多个验证图像的视差误差映射。如图7所示,不确定度(预测范围)图与误差图高度相关,可以很好地指示潜在误差。为了进一步验证这一点,我们通过从最不确定的像素开始,逐步删除不确定像素来跟踪度量的变化。通过去除6%的不确定像素,我们将异常值比率提高了38%。这清楚地表明,我们的高置信度区域有非常低的误差,而大多数误差发生在低置信度区域。
鲁棒性和普遍性:为了验证我们的模型在不同场景下的泛化效果,我们对我们的模型进行了评估。具体来说,我们在KITTI[24]、ETH3D[28]和MiddleburyV3[26]上联合微调我们的sceneflow预训练模型,并在所有三个数据集上报告结果。如表5所示,DeepPruner在两个数据集上获得了最高的排名,并在整体排名中名列第一。它还能够捕获各种场景的精细几何图形(参见图8)。
运行时间和内存分析:在表3的推理期间,我们对模型中的每个组件的运行时间进行基准测试。由于PatchMatch和置信度范围预测器逐渐缩小了可能的解决方案空间,我们只需要在一小部分视差之间进行成本聚合。因此,该模型要快得多。为了进一步证明我们的模型的效率,我们将内存消耗与之前的全成本量方法[8]进行了比较。对于一对全尺寸的KITTI立体图像,PSM-Net[8]在推理期间占用4351 MB内存。相比之下,我们的DeepPruner-Best和DeepPruner-Fast分别只消耗1161 MB和805 MB的内存。存储需求不到[8]的四分之一,显示了集成到移动计算平台的潜力。
在本文中,我们展示了如何利用这样一个事实,即我们可以快速地为每个像素修剪成本体积的一部分,而不需要充分评估其匹配分数。为了实现这个目标,我们开发了一个端到端的可训练网络,该网络利用了一种新颖的可微分的PatchMatch作为其内部结构的一部分。我们的实验表明,我们的模型在实时方法中取得了最好的性能,并与性能最好的方法进行了比较,同时保持了几倍的速度。在未来,我们计划将我们的方法应用于光流和场景流任务。