![[PETRv2] 仅使用摄像机图像估算物体的 3D 位置。](https://aisholar.s3.ap-northeast-1.amazonaws.com/media/November2023/petrv2.png)
[PETRv2] 仅使用摄像机图像估算物体的 3D 位置。
三个要点
✔️ 仅使用摄像头图像进行三维物体识别的方法,在自动驾驶领域尤其受到关注
✔️ 除物体识别外,还同时进行鸟瞰图像分割和三维车道识别
✔️ 基于变换器的方法,为位置嵌入添加三维信息+时间序列信息
PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images
written by Yingfei Liu, Junjie Yan, Fan Jia, Shuailin Li, Aqi Gao, Tiancai Wang, Xiangyu Zhang, Jian Sun
(Submitted on 2 Jun 2022 (v1), last revised 14 Nov 2022 (this version, v3))
Comments: Adding 3D lane detection results on OpenLane Dataset
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍
PETR v2,顾名思义,是 PETR(Position Embedding TRansformer,位置嵌入变换器)方法的扩展,该方法仅使用多个摄像头的图像就能解决估计物体三维位置的任务,这项任务在自动驾驶领域备受关注。PETR 是一种仅使用多个摄像头拍摄的图像来估算物体三维位置的方法,这项任务在自动驾驶领域备受关注。PETR v2 通过使用来自多个摄像头的多时间帧图像,将时间序列信息考虑在内。PETR v2 通过使用多台摄像机拍摄的多时间帧图像,将时间序列信息考虑在内,不仅能进行三维物体识别,还能对鸟瞰图像进行分割(将鸟瞰图像中的每个像素划分为可驾驶区域、车道、汽车等),并同时进行三维车道检测。
在本文中,我将首先概述 PETR,然后概述 PETR v2,并详细介绍与 PETR 相比发生的变化。
PETR(位置嵌入转换器)
PETR 是一种基于变换器的三维物体检测方法。其一般流程如下:首先,使用 ResNet-50 等通用骨干网络计算多台摄像机获取的每幅图像的特征,然后将根据摄像机位置关系计算出的三维位置嵌入添加到特征中,从而创建三维特征。然后将这些值用于变换器。然后,这些值被用作变换器的键和值,并与根据空间三维点计算出的对象查询一起放入变换器,以更新查询,并为每次更新的查询计算 BBox 的类标签和参数。为每个更新的查询计算 BBox 的类标签和参数。
接下来,将分别解释三维位置嵌入计算、变换器的查询更新和损耗计算部分。
1. 三维位置嵌入计算
假设根据每幅图像计算出的特征维度为 C x Hf x Wf。
首先,从摄像机 FOV 空间(称为摄像机 Frustum 空间)出发,考虑 D x Hf x Wf 网格点,如下图所示,其中 D 代表深度方向上的网格点数量。
这些网格点通过根据每个摄像头的姿态计算出的矩阵从摄像头坐标系转换到世界坐标系。将这些点放入 MLP,就能得到三维位置嵌入。然后,通过对图像特征应用 1x1 conv 改变维度,将三维位置嵌入添加到图像特征中,从而获得三维位置感知图像特征。
2. 通过转换器更新对象查询
我们首先解释如何计算转换器的对象查询输入:首先,PETR 在三维空间中设置若干随机锚点(可训练参数)。这些锚点的数量是可检测物体的最大数量。将每个锚点的坐标输入 MLP 即可计算出对象查询。
然后,将该值作为查询值,并将之前计算出的三维位置感知图像特征作为键和值输入变换解码器,从而更新每个查询的值。
3. 损失计算
从变换器获得的查询分别输入到类别标签估算和边界框估算网络。对于类别标签估算结果,使用的是焦点损失,而对于边界方框估算结果,则 使用匈牙利算法计算损失,即估算对象查询所依据的原始 锚点的偏移量。
二维物体检测方法 DETR 和 DETR3D 也使用了匈牙利算法进行损失计算,前者使用了转换器,后者则将其转换为三维物体。与使用锚点盒的传统物体检测方法不同,我们不知道从给定查询生成的锚点盒对应的是哪个实际物体(=Ground Truth),因此要为查询和实际物体的每种组合计算成本函数、匈牙利算法计算出最佳组合。一旦知道了最佳组合,就可以像往常一样使用 L1 损失计算 BBox 参数的损失。
这是 PETR 的概述。
PETR v2
下图显示了 PETR v2 的处理流程:与 PETR 相比,其主要变化在于:1)使用过去的观测数据和当前时间的观测数据作为输入;2)在鸟瞰图上进行分割和车道估计以及物体检测。
C 代表 Concat 流程;A 代表 Align(对齐),指的是将根据车辆或激光雷达前一次位置在坐标系中计算的 3D 位置嵌入转换为根据当前位置在坐标系中计算的 3D 位置嵌入的流程。
下面,我们将逐一介绍 PETR 的修改细节。
1. 利用时间序列数据进行三维位置嵌入计算
与 PETR 一样,三维位置嵌入是通过转换摄像机 FOV 空间(称为 "Camera Frustum Space")中的网格点来计算的。PETRv2 也使用过去时间帧的观测数据,但为了反映由于车辆移动导致车辆过去的位置可能与现在的位置不同这一事实,过去时间的网格点被转换为基于当前时间位置的坐标系。为了反映这一点,过去时间的网格点被转换成基于当前时间位置的坐标系。然后,可以用与 PETR 相同的方法将得到的网格点纳入 MLP,这样不仅可以考虑三维位置信息,还可以考虑时间序列信息。
在 PETR 中,三维位置嵌入的计算与图像特征无关,但由于图像特征被认为有助于计算三维位置嵌入,PETRv2 现在使用以下公式在三维位置嵌入中反映图像特征。
这里,左侧是考虑了图像特征的三维位置嵌入,ξ(F) 是应用于以图像特征为输入的 MLP 输出的 Sigmoid 函数,P 是基于时间 t 位置的网格点在坐标系上的坐标值,ψ 是对其进行变换的 MLP,用ψ 得到的三维位置嵌入乘以使用了每个元素的图像特征的软掩码。利用每个元素的图像特征将图像乘以软掩码。
2. 多任务处理
PETR v2 与 PETR 一样执行三维物体检测,但它还同时在鸟瞰图 (BEV) 上执行分割和三维车道检测。这些任务使用与物体检测相同的变换器执行,更新查询并将其输入每个任务的头部。
BEV 分割:首先,将鸟瞰图分割成几个部分 = 补丁。在下图中,4 个 2x2 像素被用作一个斑块。按照与物体检测相同的方法,为补丁中的每个点计算一个查询,作为 MLP 中的锚点。将该查询输入到与物体检测相同的变换器中并进行更新,然后将查询放回到原始鸟瞰图上,进行上采样,最后使用焦点损失估计并学习鸟瞰图中每个像素的类别。在评估实验中,使用的类别是可驾驶区域、车道和车辆,鸟瞰图的大小为 200 像素 x 200 像素,斑块数(=查询次数)为 25x25 = 625。
三维车道检测:不再使用三维锚点来检测物体,而是准备一组有序的锚点,称为锚点车道。如下图所示,锚点车道平行于 y 轴(= 车辆行驶方向)。
锚点线上的每个点都由 MLP 进行变换,计算出一个查询值,并将其输入变换器,变换器的输出可用于估算车道的类别、锚点在 x 轴和 z 轴上的偏移量(即 y 坐标与锚点相同)以及估算该点是否可见。(即 y 坐标与锚点相同),并估计该点是否可见。对于车道等级和点是否可见,使用焦点损耗,对于锚点偏移,使用 L1 损耗。
在评估测试中,每条锚线包含 10 个点,Y 坐标为 [5, 10, 15, 20, 30, 40, 50, 60, 80, 100],查询次数为 100(即 10 条锚线)。
考虑到锚线的设置方式,它似乎并不打算用于检测与您行驶方向直接相反的车道,例如在十字路口。
评价
三维物体检测和鸟瞰分割任务使用 nuscenes 数据集进行评估,车道检测则使用 OpenLane 数据集进行评估。
下表比较了三维物体检测的准确性,并在 PETR 和 BEVFormer 之间划了一条线,在这条线之上的方法只使用一个时间观测,而在这条线之下的方法则使用多个时间框架。对于 PETRv2,输入的大小越大,性能越好;对于 Backbone,Res-101 的性能高于 Res-50,两者都是合理的。对于 Backbone,Res-101 的性能高于 Res-50,两者都是合理的。
下表显示了鸟瞰图分割 t 的结果,其中 PETRv2* 表示使用外部训练数据时的结果。使用相同的训练数据比较 BEVFormer 和 PETRv2,PETRv2 在车道方面更胜一筹,但 PETRv2 在驱动器方面更胜一筹,而 BEBFormer 在车辆方面更胜一筹。
下表显示了车道检测的结果,其中 PETRv2-{V,E} 显示了使用 VoVNetV2 和 EfficientNet 作为骨干网时的结果,V* 显示了锚点数量从 100 个增加到 400 个时的结果。
尽管声称是多任务学习,但每个任务的不同设置结果都公布出来了,这让人感到不安,但这可能是因为没有任何设置对任何任务来说都是 SOTA,所以每个任务都产生了最佳设置。
摘要
本文介绍了一种仅从多个摄像头图像使用 Transformer 进行 3D 物体检测、鸟瞰分割和车道检测的方法。这一领域在 2021 年特斯拉公布其技术时引起了广泛关注(论文尚未发表),目前发展迅速,我们将继续关注其发展趋势。
与本文相关的类别