ECCV2022 oral | DfM:单目3D检测任务SOTA!

简介: 多传感器设置价格昂贵,输入单目数据完成3D目标感知在领域内非常重要(特别是自动驾驶)。然而这非常困难,因为单目图像不能为预测绝对深度值提供任何线索。受双目三维目标检测方法的启发,论文利用camera ego-motion提供的强大几何结构,进行精确的物体深度估计和检测。

原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA



1论文关注问题



多传感器设置价格昂贵,输入单目数据完成3D目标感知在领域内非常重要(特别是自动驾驶)。然而这非常困难,因为单目图像不能为预测绝对深度值提供任何线索。受双目三维目标检测方法的启发,论文利用camera ego-motion提供的强大几何结构,进行精确的物体深度估计和检测。


2论文出发点



三维物体检测是自动驾驶等实际应用中的一项基本任务。在过去几年中,基于激光雷达的[19,52,57,36]和基于双目的[8,10,20,5,13]方法取得了巨大进展,并取得了不错的性能。相比之下,单目方法[46,30,38,44]效果仍然较差,因为它们的深度估计自然是不适定的。虽然有几个paper[30、38、44、55、37]试图解决这个问题,但目前的解决方案仍然侧重于从单个图像中挖掘更多的几何结构但仍然难以估计准确的绝对深度值。


本文旨在从时间上相邻的一对图像中使用立体几何,以便于目标深度估计,其基本原理类似于双目系统中的深度估计。双目系统中的两个摄像机严格限制在同一平面上,并具有固定的距离,即系统的基线。基于Stereo的SOTA 3D目标检测方法将此基线作为关键线索,并将深度估计转换为更容易的视差估计问题。


类似地,时间上的两个相邻图像也具有立体对应关系,但它们的基线是动态的,并且依赖于相机的ego-motion。直觉上,这个想法很有希望,但之前很少有人研究过。最近唯一一项从单目视频中进行3D检测的工作Kinematic3D[3],使用3D卡尔曼滤波器和集成的ego-motion模块来建立帧之间的连接,它关注检测结果的鲁棒性和稳定性,但仍然从单个图像估计depth。相反,论文的工作是第一次研究如何从ego-motion形成的强立体几何中改进目标深度估计和3D检测任务。


首先对这个问题进行理论分析,以便更好地理解几何关系。深度的直接推导涉及许多估计,因此由于累积误差而存在根本困难。stereo也有几个固有的难题,例如静态camera没有形成基线。因此,论文使用深度自运动模块构建了整体框架,解决了这些问题,以表征3D特征并检测其上的3D目标。具体而言,首先将复杂的几何关系引入到差异cost volume中,作为立体估计的替代方案。为了保证其对任意增强输入的物理合理性,还设计了一个pipeline,以确保姿态变换在原始空间,即规范空间中进行。此外,使用另一个单目pathway对其进行补偿,并用可学习的权重进行融合,这些学习权重的分布很好地证明了对立体估计固有缺点的理论讨论。


考虑到camera姿态并不总是可用,论文引入了posefree方法,使框架更加灵活。首先将自我姿态估计解耦为平移和旋转。论文没有使用简单的欧拉角,而是使用四元数(一种更友好的优化表示)来表示旋转。此外采用了一种自监督损失来正则化姿态学习,使训练摆脱了姿态标注和昂贵的损失权重调整。


KITTI单目3D检测方法第一!相比于最新的SOTA工作,在3D机动车检测任务上提升2.6%∼5.6%AP,在BEV机动车检测上提升 4.2%∼7.5% AP。


3相关工作



1.基于视频的深度估计


单目视频深度估计是移动设备和VR/AR应用中的一个重要问题。基于学习的视频深度估计方法可分为基于MVS的(多视点立体)方法[23,42]和单目-stereo混合方法[53,28,18]。由于MVS的静态假设,前者无法处理动态场景,而后者通过集成预训练单视图深度估计器来解决此问题。此外,还有另一项工作[11,12],使用视频作为监督,以实现自监督的深度估计。尽管这些工作在深度估计问题上取得了进展,但在这个领域与基于视觉的3D检测之间仍然存在着显著的差距。由于场景和最终目标的差异,以前的工作很少尝试在我们的环境中解决对象深度估计问题。


2.基于视频的目标检测


基于视频的目标检测[60,59,49,1,24]已经在2D检测基础下研究了几年,这些工作的目标是通过聚集多个帧的特征,在准确性和效率之间实现更好的balance。与3D情况不同,视频2D检测的主要问题是对象的遮挡和模糊,帧之间的转换通常基于flow,而不考虑真实世界中的几何一致性。


相比之下,单目3D视频对象检测的唯一工作[3]通过提高3D Kinematic designs改善检测结果的鲁棒性。本文与两者不同,相反,论文将重点放在3D情况下的特定问题上:根据“运动深度”设置更准确地估计目标深度,并进一步提高3D检测性能。


3.单目下的3D目标检测


与基于激光雷达的方法[19,52,57,36,58,45]相比,单目方法将RGB图像作为唯一输入,需要推理深度信息,而无需深度传感器提供精确测量。其中,单目3D检测由于其病态特性比双目检测更具挑战性,早期基于learning的单目方法[4,50,31]使用子网络来解决这个问题。之后,由于系统的复杂性以及对外部数据和预训练模型的依赖性,开始逐渐转向端到端设计[2,16,40,30,46]。


前面几项工作[44,38,30]指出了这种情况下深度估计的关键规则,[21,44,55,37]试图通过更多的几何设计来解决这个问题。同时,另一条线结合深度信息来研究特征或表示变换方法,[47,34]将输入图像转换为具有深度估计的3D表示,并在其上执行3D对象检测。CaDDN[33]将这两个阶段合并到端到端框架中,并取得了有希望的结果。论文的工作遵循这一高级pipeline,同时专注于改进视频输入的深度估计。


至于双目方法,除了前面提到的伪激光雷达方式外,可以分为两个轨道:基于透视图的[20,41,51,32]和基于鸟瞰图volume-based[5,13]方法。volume-based方法与CaDDN的特征变换思想一致,论文的框架也是由这个stream驱动的。相反,本文专注于研究更困难的stereo场景:由自运动形成的通用多视角场景。

640.png


4论文方法



1.整体框架


基于单目的3D目标检测方法主要包括三个步骤:从输入图像中提取特征,将特征提升到3D空间,并最终检测其上的3D目标。


640.png


论文整体框架如上图所示,主要包括两个关键设计,几何感知 cost volume构建和用于立体估计的单目补偿,最后,还提出了一种pose-free情况的解决方案,使框架更加灵活。


2D Feature Extraction


2D backbone采用一种改进的ResNet-34[15],具有空间金字塔池(SPP)[14]模块和上采样。在顶部附加了一个小的U-Net[35],以将SPP特征上采样回全分辨率。注意,论文使用两个不同的neck生成作为立体匹配的几何特征,并使用作为语义特征,如下[13]。为了保证语义特征能够得到正确的监控信号,它们还用于执行辅助2D检测。


立体匹配和视图变换


在获得两帧的特征后,利用它们之间的姿态变换构造了stereo cost volume  。此外,使用预定义的离散深度levels以获得stereo空间中的  ,以便后续的单目理解。双路径3D聚合网络处理这两个volume以预测深度分布 [(u,v,:)表示像素(u,v)在深度levels上的分布],深度预测由投影激光雷达点进行监督。


随后,将语义特征与相结合,然后与几何立体特征相融合作为最终的立体特征,并在其上采样体素特征。如上图所示,该过程将立体空间中的特征转换为体素空间,体素空间具有规则结构,因此更便于执行目标检测。


基于Voxel的3D目标检测


接下来,合并通道维度和高度维度,将三维特征转换为鸟瞰图(BEV)空间,并应用二维沙漏网络聚合BEV特征。最后,添加一个轻量级头部来预测三维bounding box及其类别。训练损失由[13]两部分组成:深度回归损失和2D/3D检测损失。


2.几何感知stereo cost colume构造


前面提到的立体匹配的关键组成部分是cost volume的构建,与双目情况相反,两帧之间的姿势变换是由平移和旋转组成的刚性变换。这种差异影响了构建cost volume的方法,并使得难以对输入图像执行数据扩充。论文采用下图(a)所示方法:


640.png


3.单目补偿


立体和单目深度估计的基本原理不同:立体估计依赖于匹配,而单目估计依赖于对单个图像的语义和几何理解以及数据驱动的先验。论文结合了单目上下文先验来补偿立体深度估计,如上图b所示,使用两个3D沙漏网络来分别聚合单目和立体特征。单目路径的网络与另一个共享相同的架构,然后,在立体空间中有两个具有相同形状的特征体积和。为了综合这两个特征,设计了一个简单但有效且可解释的方案。首先,将和串联馈送到一个由1×1核组成的简单二维卷积网络中,并沿深度通道聚集(从2D压缩到D),并使用融合两者特征,如下所示:


640.png


4.Pose-Free Depth from Motion


现在已经有了一个集成的框架,用于从连续帧图像中估计深度和检测三维对象。在这个框架中,ego-pose就像双目情况下的基线一样,是一条关键线索。我们基本上估计了给定度量感知姿态变换的度量感知深度。虽然在实际应用中很容易获得,但仍然提出了一种无姿态情况的解决方案。这对于野外的移动设备非常有用,并且对于在KITTI[9]测试集上评估我们的最终模型非常必要。学习pose的关键是其target公式,任何刚性姿势变换都可以分解为平移和旋转。两者都有三个自由度(DoF)。先前的工作[3,11]通常回归三维平移和三个欧拉角。平移t的回归很简单,对于旋转估计,论文用四元数q表示旋转目标,而不是估计Euler角。因此,论文的pose解码器网络的输出是7维向量,包括三维平移和四维非标准化四元数。论文使用带主干的共享编码器,并按照[11]的设计添加了一个解码器,解码器由neck层和三个卷积层组成,loss如下所示:

640.png

640.png


5实验结果

论文在KITTI数据集上进行了验证,KITTI使用平均精度(AP)进行3D对象检测评估。对于汽车,它需要一个超过70%的3D box IOU,而对于骑自行车的人和行人,需要超过50%。在[40]之后,论文报告了验证集和测试集上的AP40结果,对应于40个召回点的AP,比较起来更稳定、更公平。

640.gif


在3D和BEV任务上,DfM性能大幅超越!!!

640.png


与之前使用视频信息的唯一方法Kinematic3D[3]相比,论文的方法也显示出显著的优越性。原因是Kinematic3D更注重检测和预测的稳定性,而论文更注重深度估计。考虑到KITTI的评估指标要求对检测到的对象进行特别精确的定位,论文的方法自然在基准上显示出更好的性能。请注意,DfM也与Kinematic3D中提出的一些方法兼容。它们可以进一步提高我们框架的检测稳定性和效率,并提供与跟踪、预测和规划等下游任务的自然集成。


虽然DfM比以前的单目方法取得了有希望的进展,但仍然观察到与双目技术水平之间存在很大的差距(Mod 64.7%的AP)。部分原因是由于运动设置的深度存在固有缺陷,尽管如此,随着双目方法的进步,还是可以预期有很大的改进空间,从RT3DStereo[17](23.3%AP)到LIGA Stereo[13](64.7%AP)。


7参考



[1] Monocular 3D Object Detection with Depth from Motion.

相关文章
|
存储 机器学习/深度学习 算法
MMDetection3d对KITT数据集的训练与评估介绍
MMDetection3d对KITT数据集的训练与评估介绍
3096 0
MMDetection3d对KITT数据集的训练与评估介绍
|
8月前
|
机器学习/深度学习 数据采集 存储
大模型微调知识与实践分享
本文详细介绍了大型语言模型(LLM)的结构、参数量、显存占用、存储需求以及微调过程中的关键技术点,包括Prompt工程、数据构造、LoRA微调方法等。
2006 72
大模型微调知识与实践分享
|
Rust API 开发者
【一起学Rust | 框架篇 | ws-rs框架】属于Rust的Websocket框架——ws-rs
【一起学Rust | 框架篇 | ws-rs框架】属于Rust的Websocket框架——ws-rs
1668 0
Node历史版本下载及配置npm镜像
Node历史版本下载及配置npm镜像
1373 1
|
机器学习/深度学习 数据采集 算法
机器学习在金融风控中的角色:前沿技术助力风险防控
【6月更文挑战第18天】机器学习正重塑金融风控,提升风险防控效能。通过信贷风险评估、反欺诈识别和市场风险管理,技术实现精准预测和高效应对。高效率、精确性和适应性是关键优势,但数据质量、多样性和模型可解释性仍是挑战。未来,机器学习将在金融风控领域发挥更大作用。
|
机器学习/深度学习 PyTorch API
生成对抗网络(GAN)由两部分组成:生成器(Generator)和判别器(Discriminator)。
生成对抗网络(GAN)由两部分组成:生成器(Generator)和判别器(Discriminator)。
|
机器学习/深度学习 PyTorch Shell
必知的技术知识:ImageNet数据集介绍和下载后的处理
必知的技术知识:ImageNet数据集介绍和下载后的处理
1953 0
|
缓存 移动开发
408计算机组成原理学习笔记——输入/输出系统(I/O)
408计算机组成原理学习笔记——输入/输出系统(I/O)
517 1
408计算机组成原理学习笔记——输入/输出系统(I/O)
|
编解码 监控 开发工具
跨平台轻量级RTSP服务模块设计思路及实现探讨
为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,我们发布了轻量级RTSP服务模块,轻量级RTSP服务解决的核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,实现本地的音视频数据(如摄像头、麦克风),编码后,汇聚到内置RTSP服务,对外提供可供拉流的RTSP URL,轻量级RTSP服务,适用于内网环境下,对并发要求不高的场景,支持H.264/H.265,支持RTSP鉴权、单播、组播模式,考虑到单个服务承载能力,我们支持同时创建多个RTSP服务,并支持获取当前RTSP服务会话连接数。
358 0
|
SQL API
【vision transformer】DETR原理及代码详解(四)
【vision transformer】DETR原理及代码详解
865 0