AI学习者 · 2023年07月21日 · 广东

Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型

image.png

在这项工作中提出了一种高效的量化感知全景驾驶感知模型(Q-YOLOP),用于自动驾驶背景下的目标检测、可驾驶区域分割和车道线分割。本文的模型使用高效层聚合网络(ELAN)作为其Backbone,并针对每个任务使用特定于任务的Head。

本文采用4阶段训练过程,包括在BDD100K数据集上进行预训练,在BDD1000K和iVS数据集上微调,以及在BDD100K上进行量化感知训练(QAT)。在训练过程中,本文使用强大的数据增强技术,如随机透视变换和Mosaic,并在BDD100K和iVS数据集的组合上训练模型。这两种策略都增强了模型的泛化能力。

所提出的模型通过mAP@0.5对于目标检测为0.622并且对于分割为0.612的mIoU,同时保持低的计算和存储器要求。

1、简介

全景感知系统是自动驾驶汽车的关键部件,使其能够全面感知和理解环境。这些系统同时解决了多个视觉任务,包括物体检测、车道线分割、可驾驶区域分割,并对道路场景产生了丰富的理解。

为了解决全景驾驶感知的多任务问题,本文开发了一个针对交通场景定制的低功耗多任务模型,解决了目标检测和语义分割的挑战。其目的是创建高效的算法,能够准确识别物体并分割车道线和可行驶区域,同时保持最低的计算成本,使其非常适合在移动设备、物联网设备和嵌入式系统等资源受限的环境中部署。

为了实现低功耗,本文采用了针对能效进行优化的神经网络架构。开发过程包括减少用于目标检测和分割的模型的大小和复杂性,以及量化模型以最小化能量消耗。

本文的全景驾驶感知系统在NVIDIA V100上达到93.46 FPS,在联发科Dimensity 9200系列平台上达到3.68 FPS。同时,在竞争iVS数据集的目标检测和分割任务上,它分别达到0.622mAP和0.612mIoU。

2、本文方法

本文的模型源自YOLOPv2和YOLOv7,专门设计用于处理目标检测和分割任务。它包括5个主要部件:Backbone、Neck、检测Head、可驱动区域分割Head和车道线分割Head。Backbone是高效层聚合网络(ELAN),针对快速高效的特征提取进行了优化。

本文模型的瓶颈是空间金字塔池(SPP)网络,它通过在多个分辨率下池化特征来方便处理具有不同规模和大小的目标。这种增强提高了目标检测的准确性和鲁棒性。检测Head基于RepConv,这是一种创新的神经网络架构,融合了移动网络的效率和更复杂模型的准确性。随后,将非最大值抑制应用于目标检测过程的输出,以生成最终预测。因此,本文的模型能够准确地检测图像中的目标,同时管理计算和内存需求。

此外,除了目标检测,本文的神经网络还包括用于可驾驶区域分割和车道线分割的特定任务Head。这些专用Head具有针对其各自任务进行优化的不同网络结构。由于可驾驶区域分割和车道线分割生成单独的预测,本文允许车道线分割的结果与可驾驶区域划分的结果重叠。

image.png

总之,本文的模型旨在优化效率和准确性,同时解决与多任务相关的挑战。其独特的组件组合和专门的任务Head使其成为资源受限环境中自动驾驶和物体识别等现实应用的理想选择。本文的模型体系结构的可视化表示如图2所示。

2.1、损失函数

image.png

2.2、量化

量化感知训练(QAT)是一种旨在使神经网络更易于量化的技术。在QAT过程中,本文通过依次应用量化和反量化操作,在训练过程中引入量化误差。这使得网络能够学习更鲁棒的表示,这些表示可以在推理期间被有效地量化。

本文将直通估计器(STE)算法用于QAT,它提供了一种简单有效的方法。利用STE,本文在前向传播期间将权重和激活四舍五入到最接近的量化水平,同时在后向传播期间利用未量化值的梯度。

通过这种方式,网络可以通过量化操作反向传播梯度,这在其原始形式中是不可微的。通过模拟训练过程中的量化误差,本文可以确保网络学习对量化不太敏感的鲁棒特征。

3、实验

3.1、训练策略

在本文的实验中,训练过程由几个阶段组成:

  1. 在BDD100K数据集上进行初始预训练
  2. 在具有Mosaic增强的BDD100K上进行预训练
  3. 在BDS100K和iVS数据集上都进行微调
  4. 在集成的iVS和BDD1000K数据集上的量化感知训练(QAT)

最初,本文在BDD100K数据集上训练本文的模型,不进行300个Epoch的Mosaic,然后对150个Epoch进行Mosaic增强。随后,本文在BDD100K和iVS数据集上联合训练了额外150个Epoch的模型。最后,本文将QAT应用于额外的20个Epoch进行量化。

3.2、推理

推理过程包括对输入图像进行预处理,包括从1080×1920调整到384×640。随后,用平均值(0.485、0.456、0.406)和标准差(0.229、0.224、0.225)对图像进行归一化。执行检测和分割部分的后处理步骤。

在检测部分中,非最大值抑制(NMS)的并集交集(IoU)阈值被设置为0.25,置信度阈值被设置成0.05。

在分割部分,来自两个分割Head的结果被合并,并且输出从384×640上采样到1080×1920。

3.3、实验结果

本文提出的模型的性能是通过不同的训练阶段来评估的。在没有Mosaic的预训练阶段,如表I所示,模型在BDD100K数据集上进行训练,这有效地提高了所有数据集的性能。

image.png

基于YOLOv4,本文在模型训练中集成了Mosaic技术。然而,在表I所示的Mosaic预训练阶段,本文注意到所有任务的性能都有所下降。Mosaic技术的实现并没有提高性能,这可能归因于其仅在BDD100K数据集上进行训练。因此,该模型可能更适合BDD100K数据集,导致应用于iVS数据集时性能略有下降。尽管如此,对iVS数据集的进一步微调使该模型能够实现增强的性能。

image.png

表二显示了比赛组织者提供的公开数据集在比赛中的测试结果。本文的方法对目标检测和分割任务都是有效的,在Mosaic阶段的预训练中实现了0.495mAP和0.401mIOU。在混合数据集上微调模型将性能提高到0.540mAP和0.615mIoU,证明了混合数据集在克服域偏移方面的重要性。将QAT应用于微调模型不仅保持了模型的性能,而且提高了检测任务,分别达到0.622mAP和0.612mIoU。

image.png

比赛组织者提供的比赛中私有数据集的测试结果见表3。本文的方法在目标检测和分割任务中都取得了最先进的性能,有0.421 mAP和0.612 mIoU。

image.png

此外,表4显示,本文的量化策略有效地减少了模型大小4倍,推理速度提高了3倍。这些结果证明了本文的量化策略不仅在提高模型性能方面,而且在降低计算成本和内存占用方面,这对于深度学习模型的实际部署非常重要。

image.png

使用不同量化范式的量化网络的性能如表5所示。本文首先观察到,训练后量化导致分割任务的性能显著下降,可驾驶区域和车道线分割分别仅达到0.285和0.248mIOU。

然而,这种性能下降可以通过采用量化感知训练(QAT)策略来缓解。本文的实验结果证明了QAT在减轻量化导致的性能下降方面的有效性。具体而言,量化网络实现了0.569mAP的目标检测和0.852mIoU的可驾驶区域分割以及0.402mIoU的车道线分割。

这些发现证明了与训练后量化策略相比,QAT策略在提高量化网络性能方面的有效性。表5:在竞赛组织者提供的iVS数据集上,用不同量化范式进行三阶段训练后,模型的测试性能。

4、参考

[1].Q-YOLOP: Quantization-aware You Only Look Once for Panoptic Driving Perception.

作者: 小书童
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
18838
内容数
1371
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息