最新鱼眼BEV感知 | FPNet:面向泊车场景的失真不敏感多任务算法(TIV 2022)(下)

简介: 本文介绍了一种新的大规模鱼眼数据集 FPD,旨在促进对现实环境中各种环视泊车情况的研究。值得注意的是,作者的FPD对不同的环视感知任务都显示出优秀的特点。此外,作者还提出了实时的失真不敏感的多任务鱼眼感知网络(FPNet) ,通过增强鱼眼失真操作和多任务轻量级设计来改善环视鱼眼 BEV 感知。大量的实验验证了作者的方法的有效性和数据集的异常可推广性。

失真不敏感多任务框架



在本节中,作者将介绍作者的环视鱼眼单目失真不敏感多任务框架 FPNet。下图8展示了作者的 FPNet 的框架,它主要由一个共享特征提取器和一个多任务感知模块组成,包括一个2D目标检测头、一个3D目标检测头和一个深度估计头。

640.png


给定一个鱼眼单目图像image.png,作者直接采用共享特征提取器来获得特征 image.png,为以下2D目标检测、3D单目目标检测(BEV 感知)和密集深度估计准备。通过多任务感知头,作者完成了三个任务的预测。在训练过程中,作者将3D真值投影到单目影像平面上,产生预测监督,其中鱼眼畸变模块对鱼眼相机投影进行畸变操作。在测试过程中,作者利用后处理模块对网络的预测进行解码,并结合鱼眼畸变模块的操作。此外,作者模型部署到高通8155芯片的嵌入式系统中,以达到实时和优异的感知性能。


网络部分


  1. 共享特征提取器: 为了平衡性能和速度之间的权衡,作者选择 DLA34[91]作为作者的共享特征提取器。此外,作者还应用了一些改进来实现轻量级需求。首先,作者用收音机8代替通常的4对输入图像进行下采样,这节省了大量的时间,但保持了准确性(见第 V-C3节)。其次,作者根据它们在嵌入式设备上的推理时间去掉了一些冗余层,仍然具有很好的性能。
  2. 多任务感知头: 从鱼眼单目图像中提取特征后,通过多任务感知头对三个感知任务进行预测。


2D目标检测和单目3D目标检测


2D目标检测主要集中在寻找图像中目标的边界框,而单目3D目标检测则尝试定位目标的3D位置,并回归目标的尺寸和方向,这显然比2D目标检测要困难很多。对于共享特征提取器设计和实时需求,基于中心的框架更适合作者的2D和3D目标检测。具体来说,受到 MonoCon [92]的启发,作者构建了3D目标检测,其输入仍然是共享的特性。与 MonoCon [92]不同,作者直接预测预测的3D bbox 中心热力图,而不是2D bbox 中心热力图,并从预测的3D 中心偏移到2D 中心,这提高了检测准确性。然后作者保留目标深度和不确定性,形状尺寸和航向角度的3D相关预测(MultiBin [93]回归)。对于2D目标检测,为了减少计算量,作者预测从2D中心到投影3D中心的偏移量,然后可以通过添加上述投影3D中心预测和这个偏移量来获得2D中心预测。此外,作者还预测了2D框的高度和宽度。最后,放弃了其他辅助的单目上下文[92] ,也保持了令人满意的性能。


单目测深估计


不同于上述目标为中心的深度估计,作者也估计了这个任务中的密集深度。将 DRO [63]引用到作者的深度估计模型,它指示一个门控循环网络,并通过最小化特征度量代价迭代更新两幅图像之间的深度图[63]。因此作者必须对前帧图像进行缓存,以满足深度估计模型的元组输入。此外,为了实现多任务体系结构,作者用共享特征提取器代替了原有的特征主干。此外,深度估计模型也适用于自监督任务。但在这项工作中,作者重点关注监督深度估计。


训练和损失函数


对于2D目标检测和3D目标检测,作者为不同的子任务设定不同的损失函数如下:

  1. 投影3D bbox 中心热力图的focal loss:


640.png


为了获得投影3D bbox 中心的真值,作者通过鱼眼畸变模块将3D bbox 标签投影到图像平面上。然后遵循 CenterNet [94]生成真值热力图:

640.png


公式表示预测的热力图。作者采用了focal loss。其中 α 和 β 是超参数(α = 4.0,β = 2.0)。作者将在后面部分详细介绍鱼眼畸变模块。

  1. 中心偏移量 L1损失,2D目标框的宽度和高度,3D目标框的宽度、高度和长度,航向角中的intra-bin角上的残差,密集深度估计,整体损失函数可表示为以下公式,其中 S* 表示子任务的真值,S 表示预测值。


640.png


  1. 用于目标深度估计的拉普拉斯偏移不确定性损失函数。遵循[92],作者使用拉普拉斯分布来建立不确定性模型,同时优化深度和不确定性。
  2. 航向角下 bin 指数的交叉熵损失函数。作者将 bin 索引任务作为分类任务分配,因此采用交叉熵损失函数。


测试和后处理


在测试过程中,除了网络直接预测的密集深度估计外,还应利用后处理生成最终的2D和3D检测结果。具体来说,作者首先推断网络输出投影的3D中心的热力图。然后计算热力图的局部极大值,选择top-k 的位置作为预测的3D中心。根据3D中心的位置,作者可以从预测中获得: 从2D中心到投影3D中心的偏移量; 2D框的宽度和高度; 3D框的宽度、高度和长度; 3D目标的深度、不确定性、方向角度的bin索引和intra-bin角度的残差。通过鱼眼畸变模块,投影出的3D中心和预测的目标深度可以恢复3D位置。此外,目标置信度取决于热力图中投影3D中心的得分和不确定性,公式如下:

640.png


其中 σ 表示不确定性。对于航向角,作者使用预测的 bin索引和 intra-bin残差(参考 MultiBin [93])恢复旋转。此外,作者将3D结果投影到鸟瞰图(BEV)平面以获得 BEV 感知。实际上,当同时给出前、左、右和后鱼眼图像时,经过 ReID 或目标滤波等融合处理,可以产生360度的 BEV 感知。


鱼眼畸变模块


利用鱼眼畸变模块(FDM)实现对畸变不敏感的功能,在3D空间和2D图像平面之间正确建立鱼眼投影,排除畸变的干扰。该模块具有两个主要功能: (1)通过投影3D真值来生成2D标签; (2)从2D图像点恢复3D位置。与针孔模型投影相比,鱼眼模型投影需要考虑鱼眼畸变的影响。为了达到这些目的,作者总结了鱼眼投影程序。


任务(1)。给定相机坐标系中的3D点(x,y,z)和相机参数,求出图像平面中的2D点(u,v)。根据[18] ,对于针孔投影,作者需要计算成像点的场角 θ (投影射线的场角 θ) :

640.png


针孔投影坐标(a,b)表示 a = x/z,b = y/z 和image.png 。然后对鱼眼畸变投影,利用鱼眼畸变参数计算修正角θ_d$:


640.png

然后,作者获得了畸变点坐标(x′,y′):

640.png

最后,作者得到了最终的像素坐标矢量(u,v) :

640.png


其中 image.png是相机的固有参数。根据公式(4)-(8) ,成功地基于扭曲的真值3D坐标(x,y,z)构建了投影的2D真值坐标(u,v)。

任务(2)。给定2D图像点(u,v) ,点的深度 z 和相机参数,需要恢复3D位置(x,y,z)。首先计算扭曲点坐标(x′ ,y′) ,根据逆运算:

640.png

然后联合(6)和(7) ,作者可以得到 θd,如下:

640.png


在数学工具的帮助下,用给定的 θd 求出 θ。此外,在实际情况下,将求解 θ 的唯一值限制在0到 π/2之间的滤波器下,最终得到唯一值 θ。然后,作者可以从两个方程计算 a 和 b:

640.png


其中,image.png

最后根据方程得到了3D位置(x,y,z) :

640.png


通过公式(9)-(15)完成鱼眼畸变模块的任务。

加速。回顾上面的过程,作者发现对于公式(5)来说这是非常耗时的。特别是当给定 θd求出 θ时 。然而,仔细观察(见下图9) , θ d随 θ d单调增加,θ 的范围从0到 π/2。因此,为了加速本框架,作者进一步引入了一种查找表索引方法。具体来说,作者建立了一个由900个网格组成的查找表,其中θ可以找到对应的 θd 或 θ d对应的θd。查找的过程是经济的时间,提高了实时性能。

640.png


部署


作者将模型部署到嵌入式系统中,使用 Qual-comm 8155芯片,该芯片只接受 Qualcomm 深度学习容器(DLC)文件。因此,作者将 PyTorch 模型转换为 ONNX 模型,然后借助 Qualcomm 转换工具将 ONNX 模型转换为 DLC 文件。此外,作者在芯片上运行后处理代替了嵌入式系统的 CPU,以节省 CPU 负载(从30ms 到3ms)。此外,为了满足8155芯片的 AIP 模式,与自动量化的 DSP 模式相比,作者人工量化了 DLC 文件,减少了推理误差。


实验



本部分展示了FPD数据集上的鱼眼多任务网络 FPNet的效果。然后讨论了 FPD 在不同数据集上的泛化。此外,通过消融研究和比较,分析了轻量化设计和鱼眼畸变模块 FDM 的效果。最后,通过作者的方法揭示了几个定性的感知结果。


评估指标


对于2D目标检测,作者选择0.7的 IoU 标准作为目标检测指标: 平均精度(AP)和平均Recall(AR) ,表示 AP2D 和 AR2D。对于3D目标检测,3D平均精度(AP3D)和 BEV 平均精度(APBEV)是两个重要的评估指标。作者对所有类别的 AP40采用0.5的 IoU 阈值。作者采用深度度量进行密集深度估计,绝对相对误差(abs rel.).特别是绝对相对误差较小表示性能较佳,有别于 AP2D、 AR2D、 AP3D 及 APBEV。作者评估了硬件平台的推理速度与时间消耗(毫秒)。


实现细节


作者在 Ubuntu 系统Pytorch框架上进行实验,并使用了8个 NVIDIA RTX A6000。初始学习率设置为0.1,动量和学习衰减率分别为0.9和0.01。作者采用随机梯度下降(SGD)优化器和16个epoch设置。为了对初始图像(宽度: 1920像素,高度: 1280像素)进行预处理,首先对高度(上200像素,下210像素)进行裁剪,去除空白目标空间,然后将其调整为最终尺寸: 640像素宽度和480像素高度。


对于2D目标检测,基线检测器包含 CenterNet [94]和 retinaNet [38]。对于3D 目标检测,作者选择 KM3D [59]和 MonoCon [92]作为基线检测器。对于稠密深度估计,选择 DRO [63]作为基线。为了确保可比性,所有基线都使用与其发布版本相同的实验设置。此外,作者插入鱼眼失真模块,使他们适合鱼眼图像。


此外,作者选择两个公共数据集进行跨数据集评估: COCO [95]和 KITTI [21]。COCO [95]数据集只包含2D目标检测任务,而 KITTI [21]包含3D目标检测、2D目标检测和深度估计。


结果和分析


FPD 的结果  为了证明作者的 FPNet 方法的有效性,基于 FPD 进行了三个任务的基线评估,如下表3所示。

640.png


对于FPD的2D目标检测,作者的 FPNet 优于基于anchor的RetinaNet [38]和anchor-free的 CenterNet [94] ,KM3D [59]和 MonoCon [92]。对于基于anchor的 RetinaNet [38] ,作者的FPD包含大量具有多样和大角度姿势的目标,因此预置anchor可能不适合作者的数据集。作者的 FPNet 也遵循以基于中心的结构[59] ,[92] ,[94] ,但是这些基线[59] ,[92] ,[94]直接预测2D bbox 中心,这显示了更大的挑战,因为作者的2D 标签来自投影的3D 标签而不是直接标注在2D 图像上,所以作者的2D bbox 中心可能不表示2D 目标中心的语义。投影的3D中心预测和从3D中心到2D中心的偏移估计有助于FPNet创建更正确的2D框中心,从而产生更好的AP2D和AR2D,以及更大的AP3D和APBEV,因为精确的2D中心加强了其他子任务,如目标中心的深度和航向角。因此,与 KM3D [59]和 MonoCon [92]相比,作者的 FPNet 也做出了相当可观的3D 指标改进。对于密集深度估计,多任务结构共享感知知识,提高了单深度估计模型,从而使作者的 FPNet 获得了进步。


跨数据集评估  我们验证了FPD对其他公共数据集的通用性。作者在两个通用数据集 COCO [95]和 KITTI [21]上训练 CenterNet [94]目标检测模型和 DRO [63]深度估计模型,如下表4所示。

640.png


作者首先在作者的 FPD (第一行)上训练模型,然后采用预训练的模型来微调另一个数据集(第二行)。经过微调后,作者的FPD对直接在公共数据集上训练的基线增强了大约2% 到4% 。FPD 的各种各样的案例覆盖了丰富的自动驾驶场景,大大提高了通用能力。

轻量级设计的比较研究  作者的目标轻量级设计进行了几个比较实验,设法减少模型的参数,同时仍然保持性能。


  1. 共享特征提取器。首先,作者用共享特征提取器探索了这两个变化,如下表5所示。


640.png


从(a)开始,正常下采样率4和完成层的初始设置表现最好。但是通过实验(b)和(c) ,作者发现只有当输入图像较小(c)或去除一些冗余层(b)时,可容忍的和较小的性能才会下降。最后采用设置(d)实现了最轻量级的共享特征提取器。

  1. 其他辅助单目上下文。其次,作者考察了遗漏其他辅助单目语境的效果。其他辅助单目预测包括八个投影关键点热力图和偏移矢量估计,量化残差估计与框中心。实验结果如表六所示。


640.png

从设置(a)和(b)中,可以看到额外的关键点任务有助于实现2D 和3D 目标检测,但是会消耗更多的时间。从设置(a)和(c)来看,量化残差估计似乎不太重要,性能提高不大。作者在(d)中放弃了这两个设置,操作在实时方面取得了进展,仍然有很好的结果。

  1. 查找表索引。第三,作者讨论了鱼眼畸变模块中的查找表索引,如下表七所示。在作者的轻量级设计之前,作者采用了来自 OpenCV 库的 solvePoly 函数,它的实时应用花费了大量的时间(设置(a))。显然,索引方法(b)比(a)节省更多的时间,而不会干扰检测分数。

640.png

  1. 时间总结。最后,作者在硬件平台上执行时间消耗,下表八 显示了轻量级设计和没有轻量级设计的推断时间。从(a)和(b) ,轻量级设计是非常有意义的,因为作者仔细开发先进的解决方案,以取代旧的时间密集型操作。


640.png


与不同的 bbox 中心设置比较  与[59] ,[92]不同,作者直接预测预测的3D bbox 中心热力图,而不是2D bbox 中心热力图,并从预测的3D 中心偏移到2D 中心。表9展示了直接的3D bbox 中心回归性能更好。作者指责作者从投影的3D 标签的外边界矩形生成2D 框地面真实,但是这个2D 框标签的中心可能不能反映实际目标的2D 图像中心,如图7中的摩托车和交通锥演示,这减轻了3D 检测的误差,特别是方向角度。而[59] ,[92]从正确的2D 框标签得到正确的2D框中心。因此,作者采用了从2D中心偏移到投影3D中心的方案直接回归3D框中心和。如下图11和图10所示是一些定性分析。图11显示了几个代客泊车场景的一些定性结果。(b)表示2D和3D投影结果,(c)表示估计密度深度。作者的多任务网络能够满足不同泊车场景下的实时感知需求。图10展示了一些具有更多目标和其他方向的可视化结果。值得注意的是,(c)表示来自3D检测结果的 BEV 可视化。从图10,作者的网络可以在不同方向上为拥挤的目标实现良好的感知性能。

640.png640.png


640.png


结论



本文提出了一种新的大规模鱼眼数据集——鱼眼泊车数据集(FPD)。通过提供多样化的环视泊车场景,此数据集旨在帮助业界建立一个泊车场景下的更安全的先进的驾驶辅助系统。此外,作者还提供了实时多任务鱼眼感知网络(FPNet) ,以提高鱼眼失真的性能和各种轻量级设计。在 FPD 上的大量实验验证了作者的 FPNet 的有效性。然而,FPD具有很大的发展空间,包括如何加强更多的数据多样性,简化作者的方法,以及处理可持续增长的数据和多样化视觉任务的潜力。尽管如此,希望FPD能够启发更多相关研究,并促进泊车场景下的环视感知性能。未来,将在以下方面进一步探索代客泊车的环视鱼眼BEV感知。(1)将探索LiDAR相机融合感知,因为LiDAR点云提供了更多的3D信息。(2)将探索轻量级图像特征提取器,以实现更健壮的视觉特征。(3)将设计特定的技术来增强失真的鱼眼图像,以增强泛化能力。(4)将环视鱼眼BEV感知和数据集应用于其他任务,如障碍物检测。


参考



[1] Surround-view Fisheye BEV-Perception for Valet Parking: Dataset, Baseline and Distortion-insensitive Multi-task Framework


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


相关文章
|
1月前
|
数据采集 算法 双11
高并发的场景下,不能不说的限流算法
高并发的场景下,不能不说的限流算法
42 1
|
16天前
|
机器学习/深度学习 运维 算法
[ICDE2024]多正常模式感知的频域异常检测算法MACE
阿里云计算平台大数据基础工程技术团队主导,与浙江大学合作的论文《Learning Multi-Pattern Normalities in the Frequency Domain for Efficient Time Series Anomaly Detection》被ICDE2024收录,该论文解决了云服务环境中不同服务存在不同正常模式,而传统神经网络一个训练好的模型只能较好捕捉一种或少数几种正常模式的问题,该论文提出的方法可以使用一个统一模型对不同服务进行检测,就达到比为每一个服务定制一个模型的SOTA方法更好的效果。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
基于改进ISODATA算法的负荷场景曲线聚类(matlab代码)
|
7月前
|
算法 测试技术 定位技术
滴滴出行 地图感知算法 面经
滴滴出行 地图感知算法 面经
37 0
|
8月前
|
机器学习/深度学习 监控 算法
目标检测算法的优缺点及适用场景
目标检测算法的优缺点及适用场景
257 0
|
1月前
|
机器学习/深度学习 数据采集 监控
基于yolov2深度学习网络的车辆检测算法matlab仿真,包括白天场景和夜晚场景
基于yolov2深度学习网络的车辆检测算法matlab仿真,包括白天场景和夜晚场景
|
1月前
|
机器学习/深度学习 算法 计算机视觉
蔚来感知算法岗面经
蔚来感知算法岗面经
66 0
|
9月前
|
机器学习/深度学习 算法 数据挖掘
【KNN算法详解(用法,优缺点,适用场景)及应用】
【KNN算法详解(用法,优缺点,适用场景)及应用】
341 0
|
1天前
|
算法 JavaScript 决策智能
基于禁忌搜索算法的TSP路径规划matlab仿真
**摘要:** 使用禁忌搜索算法解决旅行商问题(TSP),在MATLAB2022a中实现路径规划,显示优化曲线与路线图。TSP寻找最短城市访问路径,算法通过避免局部最优,利用禁忌列表不断调整顺序。关键步骤包括初始路径选择、邻域搜索、解评估、选择及禁忌列表更新。过程示意图展示搜索效果。
|
1天前
|
机器学习/深度学习 算法
基于BP神经网络和小波变换特征提取的烟草香型分类算法matlab仿真,分为浓香型,清香型和中间香型
```markdown 探索烟草香型分类:使用Matlab2022a中的BP神经网络结合小波变换。小波分析揭示香气成分的局部特征,降低维度,PCA等用于特征选择。BP网络随后处理这些特征,以区分浓香、清香和中间香型。 ```