题目:CondLaneNet:a Top-to-down Lane Detection Framework Based on Conditional Convolution
论文:https://arxiv.org/pdf/2105.05003.pdf
代码:https://github.com/aliyun/conditional-lane-detection
作者单位:阿里巴巴,Simon Fraser University
0
动机
近年来,基于深度学习的车道线检测技术取得很大进展,但仍有挑战。
挑战之一为车道线的实例检测,通常做法是将不同的车道线检测为不同的类别,但该方法通常需要预定义最多能检测到的车道线条数;另外一种做法是对语义分割的结果进行聚类,得到不同的车道线,该方法无法解决车道线交叉、密集的场景。如下图所示:
作者借鉴了分割领域中的conditional instance segmentation策略,参考CondInst和SOLOv2,将其适配到车道线检测任务中,提出了新的车道线检测算法CondLaneNet,来解决车道线的实例检测问题。
CondLaneNet能够解决交叉线等复杂场景,且具有端到端和推理速度快的优势。
1
网络整体结构
给定输入图像 作为输入,CondLaneNet输出车道线集合,记作 ,其中 表示车道线数量。
每条车道线 使用有顺序的点集表示,即:
上式中 表示车道线的索引, 表示第 条车道线中点的数量。
CondLaneNet的整体结构如下图所示:
使用ResNet系列网络做为Backbone,Backbone中还包含用于提取多尺度特征的FPN模块。为了增强Backbone提取全局特征的能力,Backbone中还有一个Transformer Encoder模块,其结构如下图所示:
上图中的
表示矩阵加法,
表示矩阵的点乘,
表示元素乘法操作。
网络结构图中的Proposal head用于检测车道线实例,并为每个实例生成动态的卷积核参数;Conditional shape head利用Proposal head步骤生成的动态卷积核参数和conditional卷积确定车道线的点集。
2
Proposal head
Proposal head的输出之一是维度为 的heatmap。
对于通用的conditional instance segmentation方法,通常检测每个目标的中心点。对于细长的车道线来说,检测中心点是有难度的。因此作者检测每个车道线实例的起始点。作者参考CenterNet和CornerNet,预测heatmap用于表示车道线的起始点,使用focal loss损失函数,表示如下:
上式中的 表示 位置处的标签,