CVPR 2023 | OpenLane性能自动驾驶挑战赛冠军解决方案

作者:小张Tt | 来源:3D视觉工坊

在公众号「3D视觉工坊」后台,回复「原论文」即可获取论文pdf。

添加微信:dddvisiona,备注:自动驾驶,拉你入群。文末附行业细分群。

本研究提出了解决OpenLane拓扑任务的一流方法,该任务是自主驾驶挑战赛中的主要任务之一。作者通过使用性能强大的PETRv2检测器和热门的YOLOv8检测器,在中心线和交通元素的检测阶段实现了优秀的表现。同时,作者的方法还设计了一个简单而有效的基于多层感知器的拓扑预测头部。实验结果显示,作者的方法在OpenLaneV2测试集上取得了55%的OLS,比第二名解决方案高出8个百分点。这表明作者的方法在拓扑任务中取得了显著的性能优势,并具有实际应用的潜力。

1 引言

本文介绍了OpenLane拓扑任务,这是自主驾驶领域的一个新的感知和推理任务,用于理解三维场景结构。任务的关键是分析交通元素和中心线之间的感知实体之间的关系。作者提出了一个多阶段的框架,将基本的检测和拓扑预测任务解耦。具体方法包括使用先进的3D/2D检测器进行基本检测,利用改进的PETRv2检测器进行3D车道检测,使用YOLOv8进行2D交通检测。此外,还设计了两个独立的基于多层感知器的车道-车道和车道-交通拓扑预测头部。实验结果显示,该方法在拓扑任务中取得了优秀的性能表现,相比第二名解决方案,在Topll上的性能提升近10%,在Toplt上的性能提升了3%。这表明本文提出的解决方案在拓扑任务中具有较高的准确性和鲁棒性,可应用于实际的自主驾驶系统中。这里也推荐「3D视觉工坊」新课程《面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)》

2 方法

在本节中,作者详细介绍我们的模型。首先,作者介绍了基本模型PETRv2,并进行了几项架构修改。然后介绍了改进的YOLOv8,该模型使用了几种关键策略。最后,作者描述了基于多层感知器的拓扑推理头部。

2.1 车道检测

本文介绍了在多视角3D物体检测中使用的简单而强大的基线模型PETRv2。该模型基于DETR框架,并使用3D位置嵌入来编码3D坐标位置信息。在车道检测方面,模型通过使用变压器解码器预测贝塞尔曲线的三维控制点。训练过程中,使用Focal loss和L1 loss进行类别头和车道头的损失计算。为了提高性能,采用不同的骨干网络和数据增强方法。总体而言,本文提出的方法在多视角3D物体检测和车道检测任务中取得了良好的性能。

592fc99bf7851ba8a40f9f9c74f6778c.png

2.2 交通要素检测

作者使用YOLOv8作为2D检测器,它只接收前方图像作为输入,并预测一组2D框。基于OpenlaneV2数据集的特点,作者提出了一系列策略来提高交通元素检测的性能。

  • 强数据增强。OpenLane-V2数据集中的许多帧共享相似的场景,并且缺乏前景样本,因此检测器容易出现过拟合。作者采用YOLOX中的强数据增强方法,包括混合、镶嵌增强和对HSV颜色空间进行色域增强。在引入时需要谨慎,因为颜色增强可能会模糊交通信号灯的颜色,而水平翻转可能会破坏交通标志的方向性。

  • 重新加权分类损失。通过可视化预测结果,作者发现主要困难在于交通标志之间的高相似性,而不是小尺寸对象的定位,比如“左转”、“禁止左转”和“稍左转”的属性。同时,交通标志具有相对固定的矩形形状。因此,作者选择仅针对前景中这些难样本重新加权分类损失。

  • 重新采样难样本。数据集中类别的分布也值得注意。通过统计,作者观察到交通信号灯中“unknown”的数量几乎占所有注释的一半,而黄灯的数量显著少于绿灯和红灯。剩下的九种交通标志的数量只占总注释的20%。与CBGS类似,作者根据上述类别统计重新对数据集中的帧进行采样。

  • 伪标签学习。作者发现在自车前行时,视频帧中首次出现的远处交通元素通常由于其小尺寸而没有进行注释。此外,训练集和验证集中都不可避免地存在缺失的注释,这会困扰模型训练并导致次优的性能。图3中的可视化显示了在验证集上的推断结果,其中模型仅在训练集上进行了训练。可以看出,模型具有较高的召回率,并对那些远处小尺寸对象产生了可接受的预测。作者认为高性能的检测器可以用于伪标签学习,辅助模型进一步训练。在消融实验中,作者发现与仅在训练集上使用伪标签相比,使用验证集上的伪标签显著改善了结果。

  • 测试时间数据增强。测试时间数据增强可以在推断阶段稳定地带来好处。z在只采用多尺度测试,因为复杂的变换可能导致性能下降。这种选择的尺度范围在0.7∼1.4之间。放大的图像可以提高检测器对小尺寸对象的召回率,而缩小的图像对于检测自车前方地面上的大尺寸道路标志很有帮助。

8c3914e95d05ca6ff0688db364adc825.png d738e9e37220042e9a2b14d987dadfe7.png

2.3 车道-车道拓扑

本文介绍了车道-车道拓扑的方法。通过收集解码器层的解码特征和预测的车道坐标,使用MLP对坐标进行维度转换,并将特征相加得到拓扑特征。拓扑特征经过MLP转换为二进制拓扑表示,并使用Focal loss进行监督学习。该方法能够有效地学习车道之间的拓扑关系,提高车道检测与分割的准确性。

2.4 车道-交通拓扑

本文介绍了车道-交通拓扑的方法。该方法直接利用YOLOv8对交通的预测结果作为输入,并通过连接和投影操作得到车道-交通的特征。通过MLP和sigmoid函数,预测的车道-交通拓扑表示受到Focal loss的监督。通过该方法,可以有效地学习车道与交通之间的拓扑关系,提高车道与交通的检测与分析精度。

3 实验

本节中,作者首先提供一些实现细节。然后作者在OpenLaneV2验证集上评估作者方法中前述的各个部分。最后,作者会呈现在挑战赛中的最终结果。

3.1 实现细节

  • 车道检测中,所有输入图像都被调整为1550×2048大小。

  • 不同的主干网络被用于实现模型,包括ResNet50、VOV和ViT-L。

  • AdamW优化器被用于整个网络的优化,学习率设置为2e-4,主干网络使用2e-5的学习率。- 车道查询的数量设置为300。

  • 默认情况下,模型进行20轮的训练。

  • 交通元素检测中,图像垂直方向上的注释分布被统计分析,并进行裁剪成896×1550以提高训练效率。

  • 前景分类损失的加权因子为2,伪标签损失的加权因子为1。

  • 数量比例低于10%的类别进行重新采样,采样比例为5到20倍。

  • COCO预训练检查点被加载,并进行为期20轮的微调作为2D检测器的基准线。

  • 拓扑预测中,2D交通和3D车道检测器被固定,只训练MLP网络,训练周期为10轮。

  • 学习率设置为2e-4。

3.2 车道性能

8688d6301f43cc7a80cb7bea33030e8d.png

3.3 交通元素性能

  • 在OpenLane-V2验证数据集上,作者评估了2D交通元素检测器的性能。

  • YOLOv8-x在无任何技巧的情况下可以达到65.32%的DET1得分。

  • 应用强大的数据增强技术可以提高3.77%的性能。

  • 调整分类权重后,模型性能从之前的水平提高到了71.90%。

  • 重新采样解决了样本分布不平衡的问题,并进一步提升了性能。

  • 结合伪标签训练可以带来1.31%和2.95%的性能提升。

  • 测试时增强技术将性能提升到了79.89%,无需训练模型。

  • 在训练过程中,增加训练轮数从20增加到75并没有带来性能的提升。

  • 降低微调阶段的学习率会严重损害性能。

  • 没有地面真值注释的样本仍然对模型训练有帮助。

ff120708b0ce18856b48ae9c8de68657.png

3.4 拓扑性能

  • 拓扑性能受到车道检测和交通检测性能的影响。

  • 消融实验表明,拓扑性能随着基本检测性能的提高而改善。

  • 更好的车道检测和交通检测结果对于拓扑预测有积极的影响。

  • 对于拓扑性能的提升可以通过检测的最佳得分来定量衡量(35.28% DET1和79.89% DET1)。

55e6edf7ae857a71dda371a368a5bf76.png

3.5 最终结果

  • 作者的方法在OpenLane拓扑挑战中取得了显著的性能提升。

  • 与第二解决方案相比,作者的方法在DETt、TOPll、TOPlt和OLS上分别提高了16%、16%、3%和8%。

  • 最终提交的模型是在OpenLaneV2的训练和验证集上联合训练得到的,但没有进行集成。

b7e736781f904eae3d27211a3896ef1e.png—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

db0080ddc8279653f8450fcfdcf70e1f.jpeg
添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答

针对3D视觉领域的视频课程(三维重建、三维点云、结构光、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业、项目对接为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:「3D视觉从入门到精通」

学习3D视觉核心技术,扫描查看,3天内无条件退款b302aa76830ffaed1f9a4a6b5733ac0b.jpeg

高质量教程资料、答疑解惑、助你高效解决问题
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3D视觉工坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值