前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Lyft高性能3D目标检测,端到端融合摄像头和激光雷达

Lyft高性能3D目标检测,端到端融合摄像头和激光雷达

作者头像
McGL
发布2021-05-28 14:38:57
6620
发布2021-05-28 14:38:57
举报
文章被收录于专栏:PyVisionPyVision

这是一个来自 LyftLevel5 的自动驾驶汽车研究和实践案例,通过结合多种感知传感器,来实现更准确的 3D 检测(如汽车,行人,骑自行车的人等)。

作者:W&B 编译:McGL

>>> 介绍

无人驾驶汽车的感知依赖于互补的传感器模态: 摄像头,激光雷达和雷达。

例如,激光雷达可以提供非常准确的深度,但远距离比较稀疏。摄像头即使在远距离也可以提供密集的语义信号,但不能获取一个目标的深度。

通过融合这些传感器,我们可以利用它们的互补优势,实现对目标(如汽车、行人、骑自行车的人)的更准确的 3D 检测,而不仅仅依赖于单一的传感器模态。为了加速自动驾驶的研究来解决感知和预测问题,Lyft 公开了自动驾驶车队收集的数据(https://self-driving.lyft.com/level5/data/)。

一个 Lyft Level 5 数据集的例子,涉及到各种模态(激光雷达,雷达和摄像头)

融合摄像头和激光雷达有很多策略。感兴趣的读者可以在下面的参考资料[1-6]中找到各种融合策略的综述。在这里,我们只考虑两个策略,都利用到了深度神经网络。

第一种策略是通过两个阶段的融合,比如截头锥体(frustum) pointnets[1]: 第一阶段是图像检测模型,输入摄像头图像并输出 2D 检测结果。第二阶段输入 2D 检测建议(proposals),生成 3D 截头锥体(frustum),并在每个截头锥体中运行基于激光雷达的检测。我们在早期阶段就采用了这种策略,并取得了良好的效果(查看我们的博客,了解更多细节:https://medium.com/lyftself-driving/leveraging-early-sensor-fusion-for-safer-autonomous-vehicles-36c9f58ddd75)。

然而,两级融合的性能同时受到视觉模型和激光雷达模型的限制。两个模型训练时使用单一模态数据,没有机会学习到两种传感器模态的直接互补关系。

另一种融合摄像头和激光雷达的方法是端到端融合(end-to-end fusion/EEF): 使用一个单一的高容量模型,将所有原始摄像头(在我们的案例中是6个)图像和激光雷达点云作为输入端到端训练。该模型在每个模态上运行单独的特征提取器,并对融合后的特征图进行检测。在本文中,我们将讨论我们的端到端摄像头激光雷达融合方案并展示实验结果。

>>> 端到端融合优于两级融合

端到端训练的端到端融合比两阶段融合有几个关键优势:

  • 图像特征和激光雷达特征的融合发生在模型内部,并在训练过程中进行端到端的学习。这意味着更少的启发式(heuristics)和超参数,网络有能力学习到从输入到输出更复杂的映射。
  • 端到端融合模型可以实现丢失数据容错,只要在训练期间丢弃其中一个模态数据就可以了。相比之下,两阶段模型更难达到相同的容错水平。

在下面的图中,你可以看到在我们内部数据集中,含汽车、行人和骑自行车的人的端到端融合模型达到的 AP@0.5比的两阶段融合模型要高得多。我们观察到其他类别(汽车和骑自行车的人)也有同样的趋势。为了简单起见,我们在本文的其余部分只比较行人。

>>> 端到端融合模型性能优于纯激光雷达模型

我们运行这个实验是为了了解融合图像特征是否能提高模型精度。

  • 仅激光雷达(无融合) : 只有激光雷达的模型。
  • 端到端融合: 基于图像和激光雷达的端到端学习融合。

在下图中,我们展示了对于75米范围内的行人,端到端融合的性能在 AP@0.5 上优于仅激光雷达(无融合)

>>> 平衡模型容量(capacity)与过拟合

更高的模型容量 = 更高的准确率

我们增加了端到端融合模型中特征提取器的容量,并训练了三种容量逐步增加的配置: 端到端融合基线, 端到端融合较高的容量, 及端到端融合最大容量。

在下图中,我们展示了更高的模型容量带来的帮助。检测75米范围内的行人,最高容量(点云编码器/解码器特征的数量)模型提高了 AP@0.5 约 5%。

>>> 利用数据增强处理过拟合问题

端到端融合模型是一种高容量模型,更容易过拟合。过拟合的一个标志是,训练指标有所改进,而验证指标没有改进(或者训练和验证指标之间的差距有所增加)。

我们应用了图像和激光雷达数据增强,显著减少了过拟合。在下面的图表中,我们展示了不同类型的基于图像的数据增强技术可以减少训练和验证之间 AP@0.5 的差距最大可达 5%,并且改进了模型的泛化能力。

>>> 更快的训练: 迭代速度很重要

基于丢弃图像和半分辨率图像的快速训练

训练大容量端到端融合模型可能会很慢,因为:

  • 容量大了,计算量也变大。
  • 模型占用 GPU 内存大。这意味着模型使用大 batch size 时更容易耗尽 GPU 内存,而被迫使用较小的 batch size,这样训练会慢很多。
  • 输入大,数据加载时间长(6个全分辨率摄像头图像 + 激光雷达自旋,更多的细节可以看我们的 Lyft Level 5 Open Dataset 数据集)。

基线端到端融合模型训练用到所有6个全分辨率图像。64个 GPU 训练100个 epoch 花了 4.3 小时。为了在端到端融合模型上迭代更快,我们需要加快训练。我们试验了以下配置:

  • 6个摄像头,全分辨率: 基线端到端融合。
  • 2个摄像头,全分辨率: 训练期间随机丢弃(dropout)图像: 我们在训练时随机删除6个图像中的4个。这减少了计算和数据加载的时间,训练快了2.3倍。此外,丢弃也有助于归一化(regularization),很可能正因为如此,我们观察到了更高的准确率(如下所示: 行人 AP@0.5 +1.5%)。
  • 2个摄像头,半分辨率: 我们进一步降低了图像分辨率,使用半分辨率图像。训练比使用全分辨率图像快了2倍,而准确率并没有差多少。

在图像丢弃和半分辨率图像的帮助下,我们的训练快了4.3倍,并且提高了模型的精确率。

混合精度训练

我们使用了PyTorch 自动混合精度(automatic mixed-precision),进一步加快了1.2倍的训练速度,降低了 GPU 的内存占用,而模型精度并没有降低。

>>> 影响

  • 我们证明了高容量端到端融合比两级融合或纯激光雷达模型更适用于 3D 目标检测。
  • 我们演示了我们的工作流程,训练大容量模型,在增加模型容量的同时减少了过拟合,并且保持了快速的迭代速度。

参考资料:

[1] Qi, Charles R., Wei Liu, Chenxia Wu, Hao Su, and Leonidas J. Guibas. “Frustum pointnets for 3d object detection from rgb-d data.” In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 918–927. 2018.

[2] Xu, Danfei, Dragomir Anguelov, and Ashesh Jain. “Pointfusion: Deep sensor fusion for 3D bounding box estimation.” In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 244–253. 2018.

[3] Sindagi, Vishwanath A., Yin Zhou, and Oncel Tuzel. “MVX-Net: Multimodal VoxelNet for 3D Object Detection.” arXiv preprint arXiv:1904.01649 (2019).

[4] Sourabh Vora, Alex H. Lang, Bassam Helou, Oscar Beijbom “PointPainting: Sequential Fusion for 3D Object Detection”, In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 4604-4612

[5] Liang, Ming, Bin Yang, Yun Chen, Rui Hu, and Raquel Urtasun. “Multi-Task Multi-Sensor Fusion for 3D Object Detection.” In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 7345–7353. 2019.

[6] Liang, Ming, Bin Yang, Shenlong Wang, and Raquel Urtasun. “Deep continuous fusion for multi-sensor 3d object detection.” In Proceedings of the European Conference on Computer Vision (ECCV), pp. 641–656. 2018.

[7] Eric Vincent and Kanaad Parvate, Andrew Zhong, Lars Schnyder, Kiril Vidimce, Lei Zhang, Ashesh Jain, “Leveraging Early Sensor Fusion for Safer Autonomous Vehicles”

[8] Sammy Sidhu, Qiangui (Jack) Huang, Ray Gao. "How Lyft Uses PyTorch to Power Machine Learning for Their Self-Driving Cars"

[9] Lyft Level 5 AV Dataset 2020.

[10] "Automatic Mixed Precision package - torch.cuda.amp"

原文: https://wandb.ai/wandb_fc/case-studies/reports/Lyft-s-High-Capacity-End-to-End-Camera-Lidar-Fusion-for-3D-Detection--Vmlldzo2NjgwNDI?galleryTag=posts

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PyVision 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • >>> 介绍
  • >>> 端到端融合优于两级融合
  • >>> 端到端融合模型性能优于纯激光雷达模型
  • >>> 平衡模型容量(capacity)与过拟合
  • >>> 利用数据增强处理过拟合问题
  • >>> 更快的训练: 迭代速度很重要
  • >>> 影响
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档