Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

张承灏作者中科院自动化所硕士生学校深度估计研究方向

AAAI 2020 开源论文 | 用于深度立体匹配的自适应单峰匹配代价体滤波

本文介绍北航和深动科技在 AAAI 2020 上的论文 Adaptive Unimodal Cost Volume Filtering for Deep Stereo Matching,他们在这篇工作中提出给匹配代价体(cost volume)添加自适应单峰分布的真值信息来监督,从而提升立体视差估计的准确率。 

论文链接:https://arxiv.org/abs/1909.03751

源码链接:https://github.com/DeepMotionAIResearch/DenseMatchingBenchmark

立体匹配是一个经典的计算机视觉任务,传统方法主要基于滑动窗口来计算匹配代价。基于深度学习的方法将视差估计视为回归问题,这些模型都只在网络的最终结果上计算损失函数,即预测的视差值与真实视差值的误差。它们忽略了视差回归的中间产物——匹配代价体在学习中容易产生过拟合,因为匹配代价体是没有监督信息的。

针对这个问题,作者提出直接给匹配代价体增加在真值附近的单峰约束,并且设计了置信度估计网络来生成单峰分布的方差,用以表示模型在不同纹理区域下匹配的不确定性。截止 2019.08.20,论文提出的模型 AcfNet 在 KITTI 2012 公开榜单上排名第一,在 KITTI 2015 上排名第四。

研究背景

立体匹配算法分为四个步骤:匹配代价计算,代价聚合,视差回归和视差精修。其中,匹配代价的计算是至关重要的一步。根据匹配代价计算方式的不同,可以将基于深度学习的视差估计算法分为两类。

1. 基于相关性的匹配代价计算。以 DispNetC [1] 为代表,利用相关层对左右图像的特征计算匹配代价,构造 3 维的匹配代价体,最后使用 2D 卷积回归视差图。iResNet [2] 通过引入堆叠的精修子网络进一步提升了性能。 

2. 基于 3D 卷积的匹配代价计算,以 GC-Net [3] 为代表,通过将左右图的特征体进行连接来构造 4 维的匹配代价体,最后使用 3D 卷积和可导的”winner takes all (WTA)”策略来得到视差图。基于此改进的 PSMNet [4] 和 GANet [5] 等模型是目前性能较好的网络。 

本文属于第二类方法,基于 PSMNet 对匹配代价体增加自适应的单峰滤波约束,从而使得预测的代价匹配体在真值附近能够得到和真值一致的分布,如图 1 所示。第 1、3 行分别是 PSMNet 和 AcfNet 预测的代价分布,第 2、4 行分别是真值的代价分布。PSMNet 在真值附近生成了两个最小值的峰值,这与真值的分布不符合。而本文的 AcfNet 在真值附近生成了正确的分布。

图1. 沿匹配代价体的视差维度展示的代价分布情况

论文方法

方法概述(Overview)

图2. AcfNet的整体框架图

图 2 是 AcfNet 的整体框架图。论文在 PSMNet 的基础上,提出自适应单峰匹配代价体滤波,它作用于匹配代价体上。匹配代价体一方面通过 CENet 得到置信图,结合真值视差形成对匹配代价体进行监督的单峰分布,另一方面通过 soft argmin 来预测视差。 

在匹配代价计算中,可能的视差分布是 {0, 1, ..., D-1},那么构建得到的匹配代价体的大小即为 H×W×D(高度×宽度×最大视差值)。形式上,对每个像素包含 D 个代价的匹配代价体定义为 ,那么每个子像素估计的视差可以通过 soft argmin 得到:

将每个子像素预测的视差和真值视差做 smooth L1 loss 使得整个网络模型是可导的,可以进行端到端的训练。 

然而,这种监督信息还是不够完善的,可能有无数种模型权重来实现正确的插值结果。中间产物代价匹配体由于其灵活性很容易过拟合,因为许多学习不正确的匹配代价体可能会插值接近真实的视差值。为了解决这个问题,根据匹配代价体的单峰特性,直接对其进行监督。

单峰分布(Unimodal distribution) 

匹配代价体是用来反映候选匹配像素对之间的相似性的,因此真实的匹配像素对应该具有最小的代价,这反映出在真值视差的附近应该是单峰分布的,这种单峰分布可以定义为:

这里的 σ 是方差,用来控制分布在峰值附近的尖锐度。但是这样构造的真实匹配代价体并不能反映不同像素之间的相似性分布差异,比如桌角上的像素应具有非常尖锐的峰,而均匀区域中的像素应具有相对平坦的峰。为了为代价匹配体构建更合理的监督信息,作者设计了一个置信度估计网络以自适应地预测每个像素的

置信度估计网络(Confidence estimation network, CENet) 

CENet 实际上是由两个卷积层构成,第一层是带有 BN 和 ReLu 的 3×3 卷积,第二层是带有 sigmoid 激活的 1×1 卷积用来生成置信图 。再经过尺度缩放得到最终的真值匹配代价体监督信息:

这里非负的 s 反映的对置信度 的敏感性的比例因子,正数 ε 定义 的下界,避免了除以 0 的数值问题。由于置信度越高,其对应的匹配代价体就应该越低,所以 是成反比的, 的范围在 [ε,s+ε]。消融实验表明 s=1, ε=1 能取得最好的性能。论文中最终的结果也表明,置信度低的区域就是纹理较弱和难以匹配的遮挡区域。

立体焦点损失(Stereo focal loss) 

预测的匹配代价体和真实的匹配代价体之间存在严重的样本不均衡,因为对每一个像素点来说只有一个视差值是正确的,这是一个正样本,其余的均为负样本。因此,作者参照用于目标检测的 focal loss,设计了 stereo focal loss。

其中 α=0 时与交叉熵损失一样;α>0 时给视差正样本赋予更多的权重。消融实验表明比标准的交叉熵损失性能要好。 

最终的损失函数由三部分构成,一是 stereo focal loss;二是预测视差和真实视差的回归损失;三是 CENet 得到的置信度的损失,其表示如下:

实验结果

作者在立体匹配的主流数据集 Sceneflow,KITTI 2015,KITTI 2012 上进行实验,从表 1 可以看到 AcfNet 的性能成为新的 state-of-the-art。图 3 中最右边两列可以看到误差图和置信图很好的对应起来,说明 AcfNet 可以给予具有丰富信息的像素较高的置信度,同时防止信息较少的像素过拟合。图 4 在 KITTI 15 上的可视化结果表明 AcfNet 在细节信息上优于以往 SOTA 模型。

表1. AcfNet在Sceneflow,KITTI 2015和KITTI 2012上的性能

图3. Sceneflow数据集上的可视化结果

图4. KITTI 2015数据集上的可视化结果

评价与思考

本文的创新点比较新颖,关注的是以往被忽略的匹配代价体的监督问题,从理论上得出匹配代价体的分布是单峰分布。作者所提出的 CENet 和 stereo focal loss 也直观而有效。行文写作简洁明了,值得学习。 

立体匹配方法最大的难点是缺少泛化性能,本文对匹配代价体的概率分布施加约束,能够作为辅助的监督信息,适用于多种基于匹配代价体的立体匹配方法。

参考文献

[1] Mayer, N., Ilg, E., Hausser, P., Fischer, P., Cremers, D., Dosovitskiy, A., Brox, T.: A large dataset to train convolutional networks for disparity, optical flow, and scene flow estimation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 4040–4048 (2016) 

[2] Liang, Z., Feng, Y., Guo, Y., Liu, H., Chen, W., Qiao, L., Zhou, L., Zhang, J.: Learning for disparity estimation through feature constancy. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 2811–2820 (2018) 

[3] Kendall, A., Martirosyan, H., Dasgupta, S., Henry, P.: End-to-end learning of geometry and context for deep stereo regression. In: Proceedings of the IEEE International Conference on Computer Vision (ICCV). pp. 66–75 (2017) 

[4] Chang, J.R., Chen, Y.S.: Pyramid stereo matching network. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 5410–5418 (2018) [5] Zhang, F., Prisacariu, V., Yang, R., Torr, P.H.: Ga-net: Guided aggregation net for end-to-end stereo matching. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). pp. 185–194 (2019)

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论AAAI 2020论文立体视觉计算机视觉
相关数据
深动科技机构

深动科技(deepmotion.ai)成立于2017年7月,其创始团队来自微软研究院,在立体视觉和深度学习领域拥有多年一线产品的研发经验。深动科技主要提供无人驾驶感知、定位和高精地图解决方案。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

流数据技术

流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,数据流可被视为一个随时间延续而无限增长的动态数据集合。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。

插值技术

数学的数值分析领域中,内插或称插值(英语:interpolation)是一种通过已知的、离散的数据点,在范围内推求新数据点的过程或方法。求解科学和工程的问题时,通常有许多数据点借由采样、实验等方法获得,这些数据可能代表了有限个数值函数,其中自变量的值。而根据这些数据,我们往往希望得到一个连续的函数(也就是曲线);或者更密集的离散方程与已知数据互相吻合,这个过程叫做拟合。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~