【论文学习笔记-7】Bi3D:Stereo Depth Estimation via Binary Classification(CVPR2020)

【论文学习笔记-7】Bi3D:Stereo Depth Estimation via Binary Classification(CVPR2020)

本文提出了Bi3D,通过一系列二元分类来进行深度估计。与已经存在的方法不同,本方法不是直接检测物体是否存在于一个特定的深度D,而是将物体分类为比D近/比D远。这种方法坚固了准确率和延迟,能够在很快速度(as little as a few milliseconds)的条件下检测比一个给定的距离更近的物体,或通过任意粗量化方法(arbitrarily coarse quantization)进行深度估计,同时只消耗与量化等级线性的复杂度。同时Bi3D也能通过给定的量化等级获得连续的深度。在普通的深度任务上,Bi3D能够达到与SOTA相近或同等的水平。

传统的方法不能只关注一个特定的深度范围,必须要将全图中所有的像素的深度都计算出来。这是因为已有的已有的方法的核心大多是检测一些候选时差值,在一些成本函数下选择最可能的点。这导致:

①这些方法需要把场景中所有物体都进行一个范围的搜索。

②视察的分划不能较粗,不然效果很差。

本文提出了一种平衡深度量化程度和计算预算的方法。不进行对真实深度的回归,而是在给予一个参考平面π后,对每个点进行二分类:在π平面的前面或是后面,π平面可以看作立体相机前的一个“地理围栏”(geo-fence),可用于检测物体是不是在一个安全距离之内。在通过多个这样的平面的分类之后,就可以通过估计像素的深度。通过调整这些平面就可以对深度估计的范围进行控制。

通过右图的图像缩放获得平面D,平面D前和后pixel的movement方向相反(在D和相机中间的方向不变,更远的方向相反)

Bi3D

①可以在段时间内判别一个物体比一个给定的距离更近还是更远,称为二元深度估计。

②如果时间的预算更多,Bi3D可以通过更细致的量化分类来提高精度,同时计算时间线性提升。这成为“量化的深度"(比如一个平面可以将像素分成两类,两个平面分成三类,n个分成n+1类等)

③或者,Bi3D也可以在两平面[π1,π2]间预测连续的深度。同时判断在这个范围之外的物体究竟是离π1更近还是π2更远,称为"选择性的深度估计"。

④最后Bi3D可以像普通方法那样预测部的深度同时达到与SOTA相匹配的效果。

Method

考虑一个立体图片对R和S,可以在每个视差d上建立一个Plane sweep volume(PSV),计算公式为:

在这里插入图片描述
其中W是在单应性矩阵H上的单应性变换, π d i \pi d_i πd

### BEVStereo方法详解 BEVStereo是一种先进的多视角3D目标检测方法,其核心在于通过动态时间立体(Dynamic Time Stereo)机制增强深度估计,从而提升检测精度和鲁棒性。该方法基于鸟瞰视图(BEV)框架,旨在解决多摄像头系统中不同视角下目标特征的融合问题。 BEVStereo的关键技术在于其深度估计模块。传统的单目或立体视觉方法依赖于固定的几何约束和手工设计的特征,而BEVStereo通过动态时间立体机制,能够自适应地调整不同视角图像之间的匹配关系。这种机制不仅提高了深度估计的准确性,还增强了对复杂场景的适应能力[^2]。 在具体实现中,BEVStereo利用多帧图像的时间一致性信息,结合当前帧的立体匹配结果,动态调整深度估计。这种方法能够有效处理遮挡和视角变化带来的挑战,从而在多视角3D目标检测中表现出色[^2]。 ### 多视角3D目标检测 多视角3D目标检测的核心挑战在于如何从多个视角的2D图像中准确恢复出3D空间中的目标信息。BEVStereo通过将多视角图像统一映射到BEV空间,实现了高效的特征融合和目标检测。这一过程包括以下几个步骤: 1. **特征提取**:每个视角的图像首先通过卷积神经网络(CNN)提取特征。 2. **视角变换**:将不同视角的特征映射到统一的BEV空间中。 3. **特征融合**:在BEV空间中,对来自不同视角的特征进行融合,以增强目标的表示。 4. **目标检测**:在融合后的BEV特征上进行3D目标检测。 这种流程不仅提高了检测的精度,还增强了系统的鲁棒性,尤其是在复杂场景下的表现[^1]。 ### 动态时间立体 动态时间立体(Dynamic Time Stereo)是BEVStereo中的一个重要机制,旨在通过时间一致性信息增强深度估计。该机制的核心思想是利用多帧图像之间的时序关系,动态调整立体匹配过程中的参数。 在具体实现中,动态时间立体机制通过以下方式提升深度估计: - **时间一致性约束**:利用多帧图像的时间一致性信息,减少深度估计中的噪声和误差。 - **动态参数调整**:根据当前帧和历史帧的匹配结果,动态调整立体匹配的参数,提高匹配的准确性。 这种方法能够有效处理遮挡和视角变化带来的挑战,从而在多视角3D目标检测中表现出色。 ### 深度估计增强 深度估计是多视角3D目标检测中的关键步骤。BEVStereo通过动态时间立体机制,实现了深度估计的显著增强。具体来说,该方法在深度估计过程中引入了时间一致性约束,确保不同帧之间的深度估计结果具有一致性。 此外,BEVStereo还支持混合精度训练和多GPU协同训练,这些技术进一步提升了模型的训练效率和检测精度。在评估方面,BEVStereo提供了多种评估指标,如平均精度(mAP)和平均绝对误差(mATE),以便全面评估模型性能。 ```python # 示例代码:BEVStereo的深度估计增强 def dynamic_time_stereo(image_sequence): # 初始化深度估计 depth_estimates = [] # 遍历图像序列 for i in range(len(image_sequence)): # 获取当前帧和历史帧 current_frame = image_sequence[i] history_frames = image_sequence[max(0, i-5):i] # 计算时间一致性约束 time_consistency = calculate_time_consistency(history_frames) # 动态调整立体匹配参数 adjusted_params = adjust_parameters(current_frame, time_consistency) # 进行立体匹配 depth_estimate = stereo_matching(current_frame, adjusted_params) # 保存深度估计 depth_estimates.append(depth_estimate) return depth_estimates ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值