YOLOP 论文笔记

YOLOP: You Only Look Once for Panoptic Driving Perception

YOLOP

论文链接: https://arxiv.org/abs/2108.11250v5

一、 Problem Statement

自动驾驶中,如果使用一个接一个模型来进行图像分析,比如目标检测,语义分割和车道线检测,会增大消耗资源,也有可能无法达到实时性能。

二、 Direction

提出一个通用范式: one encoder backbone + three prediction heads。这个模型分别用于目标检测,可通行区域分割和车道线分割。整体的模型框架如下:

三、 Method

1. Backbone and Neck

作者采用CSPDarknet,SPP和FPN的一个组合作为encoder。

2. Prediction heads

  • Detect Head
    类似于YOLOv4,作者使用了path aggregation network(PAN)和anchor-based的检测头。

  • Drivable Area Segment Head & Lane Line Segment Head
    可通行区域的检测头和车道线分割的检测头都是同样的网络结构。使用FPN最后一层作为输入,维度为: ( W / 8 , H / 8 , 256 ) (W/8, H/8, 256) (W/8,H/8,256)。使用Nearest Interpolation Method进行上采样,恢复输出分辨率为: ( W , H 2 ) (W, H 2) (W,H2)

3. Loss function

先来看一下整体的Loss function:
L a l l = γ 1 L d e t + γ 2 L d a − s e g + γ 3 L l l − s e g L_{all} = \gamma_1 L_{det} + \gamma_2 L_{da-seg} + \gamma_3 L_{ll-seg} Lall=γ1Ldet+γ2Ldaseg+γ3Lllseg

上面的式子包含三个部分:

  • L d e t L_{det} Ldet是目标检测的损失函数。包括三个部分:classification loss,object loss,和bounding box loss。
    L d e t = α 1 L c l a s s + α 2 L o b j + α 3 L b o x L_{det} = \alpha_1 L_{class} + \alpha_2 L_{obj} + \alpha_3 L_{box} Ldet=α1Lclass+α2Lobj+α3Lbox
    其中, L c l a s s , L o b j L_{class}, L_{obj} Lclass,Lobj使用Focal Loss, L b o x L_{box} Lbox是CIoU Loss。

  • L d a − s e g L_{da-seg} Ldaseg L l l − s e g L_{ll-seg} Lllseg都使用Cross Entropy Loss。但是对于车道线分割,它还多了一项IoU Loss: L I o U = T N T N + F P + F N L_{IoU} = \frac{TN}{TN+FP+FN} LIoU=TN+FP+FNTN
    L d a − s e g = L c e L l l − s e g = L c e + L I o U L_{da-seg} = L_{ce} \\ L_{ll-seg} = L_{ce} + L_{IoU} Ldaseg=LceLllseg=Lce+LIoU

四、 Conclusion

同时使用一个backbone,不同的prediction heads来进行end-to-end训练。效果都分别达到SOTA,思路较为简单。

Reference

你可能感兴趣的:(2D目标检测论文笔记,车道线检测论文笔记,实例分割论文笔记,自动驾驶,深度学习,计算机视觉)