深度学习论文: You Only Look at Once for Panoptic driving Perception及其PyTorch实现
深度学习论文: Single-shot detector for panoptic perception in autonomous driving及其PyTorch实现
该方法通过单次扫描实现多场景感知在自动驾驶中的应用
PDF: https://arxiv.org/pdf/2108.11250.pdf
PyTorch代码: https://github.com/hustvl/YOLOP
1 概述
该网络具备全方位的自动驾驶感知能力,并可实现交通目标识别、驾驶区域划分以及车道线辨识。其中包含了用于特征提取的一个编码模块,并配置了三个专门负责不同任务的解码器。针对具有高度挑战性的BDD100K数据集进行测试后发现该方案表现出色,在精确度和处理速度两个方面来看,在三个任务场景下该方案均达到了最优性能。
YOLOP同时可以在嵌入式设备(Jetson TX2)上实时处理三个视觉任务。

2 Architecture
YOLOP网络架构图展示了其独特的单阶段设计理念,在系统组成中主要由一个共享编码器构成,并整合了三个模块化设计的解码器以实现多任务处理功能

2-1 Encoder
Backbone: 选择yolov4的 CSPDarknet作为骨干网络。
Neck: 基于SPP和FPN搭建了Neck模块。其中,SPP用于融合不同尺度的特征;而FPN则在多层次的基础上融合特征,从而实现了多层次的信息整合。
2-2 Decoders
YOLOP包含三个用于三个不同任务的解码器
Detect Head: 利用PAN技术融合特征信息;随后引入了一种类似于YOLoV4算法、基于锚框(Anchor)设计的多尺度检测机制。
Drivable Area Segment Head: 将FPN生成的特征输入分割模块中,并经过三次上采样处理后的特征进行后续操作。在降低计算负担的同时采用了最近邻上采样以减少资源消耗。
Lane Line Segment Head: 同上。
2-3 Loss Function
Detection Loss: 是分类损失、目标检测以及目标框损失的加权和

其中, L_{class} 和L_{obj} 为 focal loss, L_{box} 是 CIoU。
Drivable Area Segmentation Loss: 交叉熵损失

Lane Line Segmentation Los: 交叉熵损失 + IoU损失

最终的损失是由上述三个损失加权得到:

3 Experiments
Traffic Object Detection:


Drivable Area Segmentation:


Lane Detection:


