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

摘要

泊车场景下的环视鱼眼感知是自动驾驶的基础和关键。泊车场的环境条件不同于一般的公共数据集,如光线不佳和模糊,这对感知性能有很大的影响。大多数现有的基于公共数据集的网络也会受到鱼眼畸变的影响,在这些代客泊车场景中得到次优结果。本文介绍了一种新的大规模鱼眼数据集 FPD,旨在促进对现实环境中各种环视泊车情况的研究。值得注意的是,作者的FPD对不同的环视感知任务都显示出优秀的特点。此外,作者还提出了实时的失真不敏感的多任务鱼眼感知网络(FPNet) ,通过增强鱼眼失真操作和多任务轻量级设计来改善环视鱼眼 BEV 感知。大量的实验验证了作者的方法的有效性和数据集的异常可推广性。

介绍

作为开发高效、安全的高级驾驶辅助系统(ADAS)[1]-[3]的重点,代客泊车近年来越来越受到工业界和研究界的关注[4]-[6]。在各种驾驶辅助应用中,代客泊车是一项必不可少而又具有挑战性的任务。下图1显示了代客泊车期间的几个具有挑战性的场景[7]-[9]。

0ab6a0c4f6c7f5bc443e49a564cc0cc3.png

此外,泊车场景中的环境条件,如光线不佳和模糊,显著增加了稳健的环境感知的难度[10] ,[11]。与高速公路和城市地区等相对清晰的场景不同,代客泊车旨在将车辆驶入泊车位等下车区域,这些区域在感知上面临着很高的要求[12]。

最近的进展[13] ,[14]展示了用便宜的车载相机取代激光雷达的潜力,这些相机可以在大多数现代车辆上轻易获得[15] ,[16]。特别是,环视鱼眼相机可以提供比针孔相机更广的视场(FoV)[17] 。此外,四个环视鱼眼相机覆盖360度的感知,这弥补了针孔相机的近场感知不足,尤其是在代客泊车的情况下[18]。然而,鱼眼镜片通常表现出明显的径向畸变,导致大量的外观畸变[18] ,[19] ,使周围的识别复杂化。为了充分利用鱼眼范式,更多的研究人员开始探索鱼眼环视感知,如车辆或行人的位置和姿势信息[12] ,[20]。

当前的数据集,如 KITTI [21] ,Cityscapes [22]等,大多采用针孔相机捕捉图像,可以在城市,农村或高速公路驾驶场景下轻松获得清晰可辨的图像。有少量用于自动驾驶的鱼眼数据集[23] ,[24] ,这有助于鱼眼环视的快速发展。Woodscape [23]和 KITTI360[24]收集了大规模的鱼眼数据集,用于地面上的不同感知任务。然而,这些数据集没有充分强调代客泊车场景和鱼眼图像格式。因此,在公共针孔数据集或鱼眼数据集上训练的模型可能显示出次优的性能,因为缺乏足够的训练样本,特别是对于泊车场景。为了扩展代客泊车场景下具有不同遮挡和姿势的环视鱼眼感知任务图像,作者提供了第一个被称为鱼眼泊车数据集(FPD)的泊车场景鱼眼数据集。数据集包括下面几个属性:

  1. 拥有超过40万张鱼眼图像的大规模数量;

  2. 不同泊车场、不同时段及不同泊车条件的高度多样化;

  3. 过滤噪音及冗余图像的高质素;

  4. 不同感知任务的多种标注,例如2D目标检测、3D目标检测、 BEV 感知、深度估计等。

与其他公共自动驾驶数据集[21] ,[25] ,[26]不同,作者的 FPD 数据集侧重于代客泊车环视感知任务,弥补了处理现实世界泊车场场景研究的空白。此外,作者提供了FPD的基线,并提出了实时失真不敏感的多任务网络鱼眼感知网络(FPNet) ,特别是环视鱼眼感知任务,包括2D目标检测,单目3D目标检测,BEV 感知和单目密度深度估计。该网络实现了轻量级和准确性之间的平衡,此外还有一个特殊的模块来解决鱼眼畸变。

作者的贡献总结如下:

  1. 作者建立了第一个鱼眼泊车数据集 FPD,专注于环视鱼眼感知,包括2D目标检测、3D目标检测、 BEV 感知和深度估计。作者贡献的FPD包括超过40万鱼眼图像,并包含有吸引力的特点,为泊车场景。

  2. 作者提出了作者的FPD的基准: 对失真不敏感的多任务框架 FPNet 用于环视感知任务,特别是 BEV 感知任务。FPNet 利用特定的失真模块和轻量级设计实现了实时性、失真不敏感性和准确性。

  3. 综合实验验证了作者收集的FPD数据集的实用性和FPD网络的有效性。

相关工作

自动驾驶数据集

为了满足自动驾驶发展的不断提高的需求,在过去的十年中,先驱者的工作创造了大量的数据集,这些数据集涵盖了大多数自动驾驶任务,比如目标检测,语义分割,深度估计,车道检测,运动估计等等,对自动驾驶做出了惊人的贡献。然而,这些数据集几乎都是针孔相机数据集,具有有限的视场(FoV)。实际上,广泛的视觉任务也采用环视鱼眼相机来监视周围的环境,因为它们的大视场[17]和足够稳定的性能[30]。特别是,自车可以达到360度的感知,而只使用四个鱼眼相机,这有利于大规模生产[31]。此外,全方位相机还能捕捉到360度的视场,它在水平面上覆盖了一个完整的圆[32]。

法雷奥发布了第一个鱼眼数据集 Woodscape [23] ,以鼓励鱼眼模型的发展。但是由于数据保护的限制,Woodscape 并没有公布激光雷达的真值。KITTI360[24]提出了另一个大规模的数据集,包含丰富的传感器信息,包括针孔和鱼眼相机。对于全方位相机时代,业界和学术界为全方位视觉提供了像 Stan-ford2d3D,Matterport3D,360D,PanosUNCG 等数据集。然而,这些数据集通常集中在地上自动驾驶场景,如城市,农村和高速公路。没有公开可用的基准数据集为代客泊车场景。作者的鱼眼泊车数据集(FPD)可以弥补这一空缺,促进研究处理现实世界的泊车场场景。

单目感知任务

自动驾驶涉及各种感知任务,如目标检测或深度估计,以帮助系统覆盖更广泛的应用场景。在这篇文章中,作者主要处理三个任务: 2D目标检测、单目3D检测和单目深度估计。作者可以从3D检测结果推导出 BEV 感知。

  1. 2D目标检测: 2D目标检测作为一个基本的视觉任务。基于CNN的2D目标检测框架包括一阶段检测方法[38] ,[39]和两阶段检测方法[40]-[42]。作为端到端的pipeline,一阶段方法在性能和速度之间实现了显着的平衡,如 SSD 系列[43]-[45] ,YOLO 系列[39] ,[46]和 RetinaNet [38]。此外,两阶段的方法,如 RCNN 系列[42] ,[47] ,[48] ,利用预定义的anchor提高性能以牺牲速度为代价。此外,[49] ,[50]融合多尺度特征图,以改善不同尺度的检测。

  2. 单目3D 检测: 许多先前的工作[14] ,[51]-[53]已经解决了从单目图像中检测3D 目标的固有病态问题。由于缺乏来自图像的深度信息,单目3D 检测比基于激光雷达和多目的检测更难学习。许多工作[54]-[56]通过利用2D-3D 几何约束来提高3D 检测性能来解决这个问题。此外,CenterNet [57]提出了一种基于中心的anchor-free方法,但其准确性受到限制。基于中心序列 SMOKE [58]、 KM3D [59]和 RTM3D [60] ,通过求解一种Perspective-n-Point,辅助目标深度的回归,取得了显著的效果。然而,大多数现有的工作针对针孔相机代替鱼眼相机,其中鱼眼相机具有强烈的径向畸变,并表现出更复杂的投影几何形状[61] ,导致外观畸变[62]。

  3. 单目深度估计: 基于CNN的监督方法[63]-[65]由于其优越的性能,在单目深度估计任务中很受欢迎。作为一个先驱,Eigen 等[66]直接回归深度,采用两个叠加的深度网络进行粗略预测,然后在局部进行细化。然后 Laina 等[67]采用端到端的单 CNN 架构,遵循残差学习。此外,DRO [63]引入了一个深度递归优化器,通过迭代交替更新深度和相机姿态,以最小化特征度量成本。此外,最近的工作[68] ,[69]应用视觉transformer,以改善深度估计。

不同成像传感器的视觉感知

大多数公开感知方法都为针孔图像设计模块 ,这些模块进行透视投影,很少考虑相机的失真问题。然而,当使用广角相机(鱼眼相机或全方位相机)时,研究人员必须考虑失真严重等问题。环视自动驾驶系统通常采用鱼眼相机来实现周围的感知[70]-[75] ,它建立特定的组件来处理失真[76]-[79]。全方位相机揭示了360 ° 全景图中更高的复杂性和扭曲性,全方位图像的感知也处理了大分辨率、图像预处理和知识迁移等引起的扭曲和问题[35] ,[80]-[83]。下表1显示了三个成像传感器的更多比较。

4aa3b5f3673c73e450e088665f626ee9.png

多任务视觉感知

许多自动驾驶调研通过联合学习不同的子任务来处理复杂的现实世界场景。MultiNet [86]通过一个通用的高效架构完成道路分割、检测和分类任务。NeurAll [88]带来了统一的 CNN 架构,包括目标识别、运动、深度估计和便于视觉 SLAM。Li 等[89]以类似的方式提出了一个统一的端到端框架(MJPNet) ,它在多个子任务之间共享预测。这些研究验证了联合多任务学习在不同自动驾驶情景下的效果。然而,大多数研究集中在无畸变的针孔视觉条件和不经常探索的广角鱼眼相机为基础的感知。OmniDet[12]在鱼眼数据集WoodScape上形成了一个具有六个主要任务的编码器共享框架。整体而言,鱼眼模型具有显著的增长潜力和丰富的情景分布。

鱼眼泊车数据集

本部分详细介绍了作者的鱼眼泊车数据集(FPD) ,包括数据采集和标注过程、数据集描述和显著特征。

数据收集

为了确保自动驾驶场景的多样性,作者共收集了三个城市,超过100个泊车场,两个时段(白天和夜间) ,并从激光雷达捕捉到400多个视频和点云序列。下图2显示了几个作者收集的代客泊车场景的真实鱼眼图像。

9b13ff734c8edfc2c85b0997ae632122.png

具体来说,作者的主激光雷达采用了 RoboSense RS-Ruby,它具有128线,10Hz 的捕获频率,360度水平视场和 -25至 + 15度垂直视场。此外,作者选择了四个纵目鱼眼 RGB 相机,分辨率为1920 × 1280,捕捉频率为20Hz。下图3演示了这些传感器的安装位置及其生成的图像或点云的性能。

d2721b8f756c5ec3db488ef2bbc43eef.png

在数据记录过程中,系统对齐了相机视频和激光雷达点云序列之间的时间戳,符合以下标注要求。除此之外,作者进一步进行传感器的标定,过程分为以下三个步骤。首先,作者可以直接根据镜头的畸变查找表中提供的初始工厂设置来计算相机的内参。其次,作者通过测量设备实现激光雷达和基于自车坐标系的相机的外参(x,y,z,俯仰角,偏航角,滚动角)。再次,通过对投影激光雷达点和图像语义的对齐,进一步校正了相机的外参。如下图5所示,作者通过上述标定将 LiDAR 点投影到图像平面,然后手动调整相机的外参以匹配投影点和语义内容。

a2ce79581449d7d498c154f699271854.png

为了覆盖泊车场的各种真实场景,作者人为地安排了各种驾驶场景来收集数据,如图1所示的汽车会车、汽车交叉口相遇和人员环绕一周等,这些都是自动泊车任务中常见但关键的情况。

数据标注

作者以与 KITTI 数据集相同的方式标注数据集[21] ,通过在每个目标的完整点云体周围画一个紧密的边界框。对于冗余的标注,作者并没有涵盖所有目标的连续移动过程。相反,作者删除相似的片段,并用三到五帧的间隔对数据进行标注。此外,作者限制可见范围(15米内) ,所以作者放弃太远的目标。对于被遮挡的目标,如果遮挡率小于80% ,通过根据标注者的经验想象完整的3D包围框来保留3D框。下图6显示了标注标签的几个示例。作者的标注包括八个类别,包括汽车,卡车,行人,骑手,婴儿车,交通锥,摩托车和不泊车标志。

8ad80083f9e5a99b4567630f6de7a3c7.png

下图4展示了8个类别的标注演示,其中蓝色边界框表示3D 标注的2D 可视化,从点云平面投影到图像平面。

f801296e09375244f9061c18a11f24a3.png

黄色边界框表示蓝色投影点的外部边界矩形,作为作者的2D目标检测,如图6(b)所示。此外,在稀疏深度图的校正和畸变参数的辅助下,作者将点云投影到单目图像上。然后作者采用深度补全方法 IP-Basic [90]来创建更加稳健的深度真值,如图6(c)所示。

数据集描述

下表2和图7说明了作者的FPD的统计数据。为了统计,作者获得超过400,000个数据,其中一个数据包含四个鱼眼图像和一个带标注的点云。

85300caae4a28cbd54060178193ec93e.png

此外,一个数据伴随着一个内参,一个外参和一个鱼眼畸变参数。作者可以通过内、外和鱼眼畸变参数对图像进行点云标注,得到2D目标包围框和深度真值。此外,作者将 FPD 分为训练,验证和测试集,比例为5:3:2,数量为210,000,126,000和84,000。白天和夜间场景的比例为2:1。此外,每个泊车场平均有4000个数据组成了超过400,000个标注,其中最常见的类别表示汽车、行人和交通锥,如图7所示。

数据集特性

作为第一个大规模的真实世界的鱼眼数据集,作者的 FPD 显示了以下优秀的特性:

  1. 第一个用于泊车场景的鱼眼数据集: 作者提供了第一个鱼眼数据集 FPD,它集中在泊车场景中的多个自动驾驶任务,也不同于公共数据集的自然场景。泊车场景中的环境条件,如光线不佳和模糊,显著增加了检测难度。关于各种棘手的泊车场景,FPD 可以促进研究处理现实世界的泊车问题。

  2. 数量巨大: 到目前为止,作者的 FPD 包含了超过200个小时的泊车场景视频和点云序列的40多万个数据。在未来,作者将继续收集不同的泊车场,以丰富现有的数据集。

  3. 高质量、多样化: 作者的FPD覆盖三个城市,一百多个不同时期的泊车场,以及不同的泊车案例。此外,作者精心挑选高质量的图像和高分辨率的点云,确保数据集的优势。

  4. 多用途: 作为一个基于点云的数据集,FPD的潜力不仅在于三个任务(即2D目标检测、单目3D目标检测和深度估计) ,还在于其他视觉任务,如点云3D目标检测、2D或3D语义分割、视频目标检测。因此,FPD 是多用途的多种任务。

失真不敏感多任务框架

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

32f670503add865feffab58dc9ac4fce.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:

0b8cc393166608e322e3a0e3165ad258.png

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

27b2c523b686b0144d426ee85c87f01c.png

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

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

9d9df40c8d66b0e3e5edfa480dd9b155.png
  1. 用于目标深度估计的拉普拉斯偏移不确定性损失函数。遵循[92],作者使用拉普拉斯分布来建立不确定性模型,同时优化深度和不确定性。

  2. 航向角下 bin 指数的交叉熵损失函数。作者将 bin 索引任务作为分类任务分配,因此采用交叉熵损失函数。

测试和后处理

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

a41b4054ad2387328a0fdab35df55c35.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] ,对于针孔投影,作者需要计算成像点的场角 θ (投影射线的场角 θ) :

cfed8f0717aa10bd006c2c5df02cd21e.png

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

154aebbb660829e5ea349c680e617e3f.png

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

4deb3156004d63e1e22dcc2e7f6d3629.png

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

a6447ec04edeefac70f386f43e4ca8ae.png

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

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

49f6978903b4b90b15740df334a300b7.png

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

3cf7f276e8614c6556340798ade7c735.png

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

f0cdb0674897900791725cc4842eb1c0.png

其中,

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

dae68fdbc221c675656ff410ffa8d8cf.png

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

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

a13cc3f0c442e0df08f0df9b0872fdde.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所示。

dd72d3bb3cf09904b0ba7436804181e5.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所示。

b8ccd3f149366b16aa4d1406299b60d9.png

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

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

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

603dff57a12f364680e9c047497aca69.png

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

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

f440deb251bfd0e8cdd5e281f0c329dd.png

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

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

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

a5e9d4ad147ea7746f5e4484e94ef799.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,作者的网络可以在不同方向上为拥挤的目标实现良好的感知性能。

bc85622a1be1e00c0503bda929b6d9b4.png 9ec0c8114e39cf2c3367b862d7d154b3.png 396a3840795b2b8b02512a79fc1d23c1.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值