Paper Reading: YOLOPv2
多任务学习方法解决全景驾驶感知问题方面提供了高精度和高效率的性能。已经成为在计算资源有限的情况下,设计自动驾驶系统网络的流行范式。
本文提出一个有效的多任务学习网络,同时执行目标检测,可驾驶道路区域分割,和车道线检测。
- 更好:提出了一个更有效的模型结构,开发了更复杂的
bag-of-freebies
,例如在数据域处理时进行mosaic
与mixup
,应用了一种新的混合损失。 - 更快:为模型实施了一个更有效的网络结构和内存分配策略。
- 健壮:在一个强大的网络架构下训练出来的,因此它有很好的通用性,可以适应各种情况,同时保证速度。
在BDD100K数据集上,取得了SOTA水平,且推理时间大幅度减少。
方法
我们在一系列现有工作(YOLOP
、HybridNet
等)的基础上设计了一个更有效地网络。我们利用解码器头的三个分支来执行具体任务,而不是在同一个分支中运行可驾驶区域分割和车道线检测任务,因为我们观察到可驾驶区域分割和车道检测的任务难度完全不同,意味着对特征层面的要求不同,因此最好有不同的网络结构。
网络架构
他由一个共享编码器和三个解码器头组成,前者提取输入图像特征,后者完成相应任务。
共享编码器
与YOLOP
不同,我们使用E-ELAN
的设计,利用组卷积,时不同层的权重能够学习更多不同的特征。
在neck
部分,从不同阶段产生的特征被手机起来,并通过串联进行融合。
任务头
我们为每个单独的任务设计了三个独立的编码器头,如YOLOv7
采用一个基于锚的多尺度检测方案。
可驾驶区域分割与车道线检测分割在不同任务头中进行,对于两个任务我们采用了不同语义层次的特征,我们发现对于可驾驶区域分割深层次的特征并不是必须的,反而增加了训练收敛难度,因此,可加是区域分割头的分支被连接到FPN
之前,为了补偿这一变化造成的损失,额外应用了一个上采样层。
对于车道分割,任务分支被连接到FPN
层的末端,以便在更深的层次上提取特征。此外,在车道检测的解码阶段采用了反卷积操作,以进一步提高性能。
设计 BOF
我们在检测部分保留了损失函数的设置, 时检测损失,为分类损失、对象损失、边界损失的加权和。
可驾驶区域分割使用CE loss
,车道线分割使用focal loss
。此外,本文在实验中实施了由hybrid loss
与focal loss
组合的混合损失。hybrid loss
能够学习类别分布,缓解不平衡像素的问题,focal loss
有能力迫使模型学习不良像素,最终损失计算为: