Poly lane车道线检测方案

解读:张一极

paper:PolyLaneNet: Lane Estimation via Deep Polynomial Regression

总体流程:

1.输入为rgb图像,输出为车道的多项式表达。

end2end模式,输入为图像矩阵,输出为多项式参数以及额外参数。

输出细节:对于每条车道线,预测候选多项式(不同阶多项式,输出参数不同,理论上越高阶拟合越精确),以及三个附加参数:车道线最高位置h,车道线最低位置s,每条车道线的置信度分数c。

提取特征使用cnn的backbone,如Resnet,efficientnet等,然后特征图接入全连接,being the outputs 1, . . . , Mmax for lane marking prediction and the output Mmax + 1 for h. PolyLaneNet adopts a polynomial representation for the lane markings instead of a set of points,共max+1个输出,从1到max用以预测车道线(即输出车道线表达多项式参数),max+1用以预测h(最高高度),最低高度s,置信度c。

传统语义分割方法问题:如果使用点做预测以后,需要进行点聚合,two-stage效率低,且像素冗余严重。

文章使用上述表达车道线,其中k代表阶数,k阶的多项式。

image-20210512153046695

例如输出五条车道线,输出中每个车道线预测4(每条车道线是)个系数,S代表每条车道线最低高度,C代表每条车道线的置信度,h代表每条车道线最高高度,如右图。

loss:

其中为分类损失,即交叉熵函数,代表均方误差损失,目标差异的平方,即最低点垂直预测的差异,同样算均方误差,但是h为共享结果,故只有一个无需平均,第一部分表示多项式内的点,表示gt的点,表示多项式的点。

tips:

1.W系列为不同权重

2.作者另外设定了一个固定的阈值,由经验设计得到的loss,如果超过某个阈值的拟合效果,即忽略第一部分的损失,即只有在偏移量足够大的时候,才会计算这部分损失,计算如下:

image-20210512163907863

不同阶数多项式效果如图,可以看到3阶多项式以后边界效应明显,所以作者建议选择3阶多项式进行测试。

image-20210512164013715

不同backbone和inputsize的差异。

image-20210512164112676

论文数据集基于tusimple公开数据集。