点击上方“3D视觉车间,选择星标
第一时间送达干货
作者丨黄浴
来源:计算机视觉深度学习和自动驾驶
arXiv论文“SurroundDepth: Entangling Surrounding Views for Self-Supervised Multi-Camera Depth Estimation2022年4月,清华、天大、鉴智机器人2年4月上传。
从图像中估计的深度是自动驾驶3D感知的基本步骤是昂贵的深度传感器如激光雷达)的经济替代品。时间光度学一致性(photometric consistency)可实现无标记自监督深度估计,进一步促进其广泛应用。然而,大多数现有的方法只基于每个单目图像的预测深度,而忽略了多个周围摄像头之间的相关性,这通常适用于现代自动驾驶车辆。
本文提出了一个SurroundDepth该方法将来自多个周围视图的信息合并,预测摄像头之间的深度图。具体来说,使用联合网络处理所有周围视图,并提出交叉视图transformer从多个视图中有效地整合信息。多摄像机特征图之间的全局交互,采用交叉视图自注意有效实现。与自监督单目深度估计不同,在给定多摄像机外参的情况下,可以预测现实世界的尺度。为了实现这一目标,运动恢复结构(SfM)提取尺度-提取尺度-感知伪深度。此外,估计车辆的单独摄像头的自动运动,而是估计车辆的通用自动运动,并将其传输到每个视图中,以实现多视图的一致性。在实验中,该方法深入估计了具有挑战性的多摄像头数据集DDAD和nuScenes最新性能。
代码位于https://github.com/weiyithu/SurroundDepth
摄像头的3D由于其丰富的语义和经济性,感知已成为一种非常有前途和潜在的替代方法。D图像和真实3D下游3号环境之间的桥梁D理解有着至关重要的影响,越来越受到重视。
由于密集标记深度图的昂贵成本,深度估计通常是通过自我监督来学习的。现有方法利用连续图像之间的时域光度一致性作为监控信号,同时预测深度图和摄像头的自动运动。虽然现代自动驾驶汽车通常配备多个摄像头来拍摄周围场景的360度全景,但大多数现有的方法仍然关注单目图像预测深度图,而忽略了周围视图之间的相关性。由于相对尺度只能通过时域光度的一致性来推断,这些自监督的单目深度估计方法无法产生尺度感知的深度。但由于多摄像机外参矩阵中的平移向量获得了现实世界的尺度,因此有可能获得尺度-感知预测。
探索学习深度和运动的路线,同时监督单目深度估计方法。对于单目序列,几何约束通常基于相邻帧。首先,将问题构建为视图合成任务,并训练两个网络分别预测姿势和深度。也有提出ICP损失证明了整个3的使用D结构一致性的有效性。Monodepth2采用最小重投影损失,全分辨率多尺度采样auto-masking损失,进一步提高预测质量。还有一个尺度不一致性(scale consistency )解决深度图之间尺度不一致的问题。PackNet SfM通过引入3D卷积进一步提高了深度估计精度。最近,FSM通过引入上下文的空间和时间来丰富监督信号,将自监督单目的深度估计扩展到周围视图。
多视图特征交互是多视图立体视觉、目标检测和分割的关键组成部分。MVSNet构建基于方差成本体的多视图特征(variance-based cost volume),并用3D CNN成本正则化回归深度值。另外还有引入自适应聚合和LSTM进一步提高性能。最近,CVP-MVSNet深度预测采用金字塔结构迭代优化。STTR采用一种具有交替自注意和交叉注意的transformer取代成本体。LoFTR在transformer采用自注意和交叉注意层,获得两幅图像的特征描述子。Point MVSNet结合2D图像外观线索和几何先验知识线索和几何先验知识的动态融合。此外,PVNet集成3D以便更好地识别联合3D形状。
附加监督信号的深度估计可以加强光流和目标运动等深度估计的准确性。DispNet是第一个将合成立体视频数据集的信息传输到现实世界深度估计的工作。此外,使用一个双模块域自适应网络进行生成性对抗损失(two-module domain adaptive network),从合成域迁移知识。辅助深度传感器用于捕获准确的深度,如激光雷达,以帮助深度估计。此外,由于深度受曲面法线决定的局部切平面约束,一些方法还引入了曲面法线来帮助预测深度。GeoNet从深度到法线提出(depth-to-normal)从网络和法线到深度(normal-to-depth)网络迫使最终预测遵循几何约束。此外,许多工作引入了传统的方法(如SfM),为了帮助模型训练,产生一些稀疏但高质量的深度值。DepthHints采用现成的立体视觉算法加强立体视觉匹配。
如图所示,传统单目的深度估计方法和SurroundDepth的比较:
通过最小化像素光度重投影损失,优化深度网络F,其中包括SSIM度量和L1损失项:
这个过程需要一个姿态网络G来预测It-》Is相对姿态。具体而言,给定摄像头固有矩阵K,基于预测深度图,可以计算It中任何像素p1在Is的相应投影p2。这样,根据投影坐标p2可以在Is使用双线创建合成RGB图像。这种基于重建的自监督范式在单目深度估计方法上取得了巨大进展,可以直接扩展到多摄像头全环视深度估计。I可以写下预测深度图和姿势:
相邻视图之间的重叠将所有视图连接成一个完整的360度环境视图,包含许多有益的知识和先验知识,有助于理解整个场景。基于这一事实,构建联合模型,首先提取和交换周围所有视图的表征。交叉视图交互后,多视图表征同时映射到最终深度。此外,与视图相关的自动运动可以从预测的共同姿态(universal pose)迁移到已知的外部矩阵中。简而言之,深度和姿势预测可以表示为:
采用联合模型,不仅可以通过交叉视图信息交互提高所有视图的深度估计性能,还可以生成共同的自动运动,使用相机外参矩阵生成尺度-感知预测。
如图是SurroundDepth网络概览图:网络F可分为三部分,即共享编码器E、共享解码器D和多个交叉视图Transformer(CVT)。给定一组周视图像,编码器网络首先并行提取其多尺度表征。与现有的直接解码学习特征的方法不同,它将所有视图的特征纠缠在每个尺度上,并进一步利用多尺度的特征CVT,在所有尺度上执行交叉视图自注。
CVT使用强大的注意机制,特征图的每个元素都可以将其信息传输到其他位置,并吸收其他位置的信息。最后,将交互后的特征分离到N个视图,并发送到解码器D。
与单目深度估计不同,这种尺度可以从摄像头外参矩阵中恢复到现实世界。使用这些摄像头外参矩阵的一个简单方法是嵌入两个相邻视图之间的空间光度损失。然而,发现深度网络不能通过监督空间光度的一致性直接学习尺度。为了解决这个问题,作者提出了尺度-意识SfM预训练和联合姿势估计。
具体来说,用两帧SfM生成伪深度预训练模型。预训练深度网络可以学习现实世界的规模。N摄像头的时域自动运动有明确的几何限制。这里不使用一致性损失,而是估计车辆的共同姿势,并根据外参矩阵计算每个视图的自动运动。
如图所示:该工作使用从所有周围视图中提取的多尺度特征,用交叉视图替换编码器和解码器之间的跳跃连接transformer(CVT)
首先,沿深度可分离卷积(DS Conv,depthwise separable convolution)层将多视图特征总结为紧凑表征。然后构建Z交叉视图自注意层,充分交换平面多视图特征。交叉视图交互后,使用DS Deconv(depthwise separable deconvolution)恢复多视图特征的分辨率。最后,结合输入和恢复的多视图特征,构建跳连接。
SfM预训练的目的是从相机外参矩阵中探索现实世界的规模。使用外参矩阵的直接方法是在两个相邻视图之间使用空间光度损失,即:
但事实上,这并不好。这个结论不同于FSM(“Full Surround Monodepth from Multiple Cameras“,arXiv 2104.获得00152,2021)。事实上,在训练开始时,空间光度损失将无效,深度网络学习的真实尺度无法监督。为了解决这个问题,使用它SIFT描述子提取相应的关系。然后,用摄像头外参矩阵进行三角测量来计算尺度-觉察的伪深度。最后,用这些稀疏的伪深度和时间光度损失来训练深度网络和姿态网络。
如图所示,尺度-检测SfM预训练:由于小重叠和大视角变化,传统的两帧运动恢复了结构(SfM)会有很多错误对应。region mask(定义图像Ii图像的左侧1/3区域Ii 右侧1/3区域)缩小了相应关系的搜索范围,提高了搜索质量。使用相机外参矩阵获得的极线几何可以进一步过滤异常值。
这里一点的外极线表示为:
在单目深度估计框架中,相对摄像头姿势是由PoseNet估计,PoseNet是编码器E-解码器D网络。因此,在多摄影头设置中,所有摄影头的姿态都是为所有视图生成监控信号所必需的。一种直观的方法是分别估计每个姿势。然而,该策略忽略了不同视图之间的态度一致性,这可能导致监控信号无效。为了保持多视角自动运动的一致性,将摄像头姿势估计问题分为两个子问题:共同姿势预测和universal-to-local变换。以获得共同的姿态P,我一次将N对目标和源图像进入PoseNet G,并在解码器前平均提取特性。共同姿态可以通过以下方式计算:
根据摄像头内参,计算每个摄像头的姿态如下:
实验结果如下:
本文仅做学术分享,如有侵权,请联系删文。
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
扫码添加小助手微信,可
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题