BezierLaneNet

BezierLaneNet

前段时间读了PolyLaneNet的论文,发现论文中的思路跟我当时做的一些工作很类似,感觉手头上的工作可以跟车道线检测这个任务进行结合,于是有了现在的BezierLaneNet。但是我自己并不是专门做车道线检测的,所以只花了一个周末的时间,写了一份小代码进行探索性的试验,初步验证了想法的可行性,因此这个模型也只能当作一个基线模型。

PolyLaneNet使用了多项式建模车道线,对于每一张输入图片,模型输出条多项式表示的候选车道线以及地平线的垂直高度,每一条车道线的表示由多项式系数,垂直偏移量以及置信度构成,其中,区间为多项式的定义域,对于同一张输入图片,地平线的垂直高度是共享的。

BezierLaneNet使用了贝塞尔曲线建模车道线,对于每一张输入图片,模型输出条贝塞尔曲线表示的候选车道线,每一条车道线的表示由贝塞尔曲线的控制点以及置信度构成。

PolyLaneNet vs BezierLaneNet

  1. 都直接设定了的值;
  2. 每条车道线都有置信度
  3. 贝塞尔曲线的表示方式更加简洁(只需要控制点),其中,第一个控制点和最后一个控制点分别对应了曲线的起点和终点,正好也分别对应了车道线的起点和终点,不需要额外的参数;
  4. 若使用贝塞尔曲线标注车道线数据,标记数据可以直接用来训练BezierLaneNet;
  5. 若使用贝塞尔曲线标注车道线数据,BeizerLaneNet可以对数据进行预标记,标注员可以通过调整贝塞尔曲线的控制点进行曲线修正,起到辅助标记的作用。

贝塞尔曲线背景知识

网上有不少介绍贝塞尔曲线的文章,这里不再赘述,只给出维基百科的词条链接,以及构造一条三次贝塞尔曲线的演示动画图:

动画中的取值范围为。值得注意的是,当时,对应曲线起点,当时,对应曲线终点。随着变化到,从起点到终点的轨迹描绘出一条曲线。对于每一个都有对应的轨迹点与之对应:

实验使用的数据集

实验使用了CULane数据集,该数据集提供了车道线坐标点的标记,很适合用来验证BezierLaneNet的可行性。对于数据集中的图片,可能存在条至条车道线,因此,我将设置为。对于每一张图片,都有四个数值0/1分别表示图片中从左到右四条车道线是否存在,如0 0 0 0表示图片中没有车道线,1 1 1 1表示图片中有四条车道线,0 0 1 1表示图片中有两条车道线。

BezierLaneNet模型:

BezierLaneNet使用了ResNet101作为主干网络,后接一层全连接层直接回归出贝塞尔曲线的控制点。对于CULane数据集,模型固定输出四条贝塞尔曲线a b c d,与数据集中的0/1 0/1 0/1 0/1标签一一对应,将0/1 0/1 0/1 0/1作为每条贝塞尔曲线的置信度的标签,以0/1 0/1 0/1 0/1逐项乘以四条贝塞尔曲线的回归损失,即可消去0/1 0/1 0/1 0/1标签中值为0的车道线(即不存在的车道线)的贝塞尔曲线的回归损失。

训练标签的生成

对于模型训练时使用到的标签,可以参考以下两种方式生成:

  1. CULane数据集中的每一条车道线拟合出一条贝塞尔曲线,再将拟合出来的贝塞尔曲线的控制点作为模型回归的目标(两阶段间接法);
  2. CULane数据集中的每一条车道线,模型直接拟合出一条贝塞尔曲线(一阶段直接法);
  3. 上述两者相结合(既有控制点坐标标签也有曲线坐标标签)。

无论是直接法还是间接法,都需要给数据集中每条车道线的每个坐标点赋予一个值。显然,每条车道线的起点坐标的值为,终点坐标的值为。对于车道线中的坐标点,有多个方法可以进行赋值,最为简单的一种是计算索引比例:,其中为数据集中一条车道线标记的坐标点的个数,为车道线标记的坐标点的索引,从0开始,故其取值范围为,索引越大,对应的值也越大,并且当索引分别为时,对应的值分别为,把起始点和终点的情况也包含在同一条计算公式之中。利用这个方法可以生成比较自然的值,作为对真实值的近似。将值代入贝塞尔曲线的表达式中,通过解方程(伪逆)即可得出控制点坐标作为模型回归目标,也可根据值与模型输出的控制点坐标,直接对车道线标记的坐标点进行拟合。

模型的训练

BezierLaneNet的训练采用了一阶段直接法,由于每条车道线的标记坐标点的个数可能不相同,在训练时随机均匀抽取个标记坐标点,并根据个坐标点的索引动态生成对应的值,将模型输出的控制点坐标与对应的值代入贝塞尔曲线的表达式中,得到个预测的坐标点,并在预测的坐标点与标记的坐标点上建立损失函数以提供监督信号。

最终效果

关于改进的思路

  1. 预先设置的值似乎不太合理;

  2. 0/1 0/1 0/1 0/1的标签形式似乎不太合理;

  3. 更好的参数的赋值方式;

  4. 使用更好的主干网络;

  5. ……