LaneNet网络主要分成两部分:①车道线边缘提取(像素级别的车道线分类) ② 车道线定位
车道线边缘提取(编码部分):
-
对输入图片上的每个像素进行二进制分类,而并非对车道线进行手工标注
-
采用轻量级的编码——解码的网络结构:编码部分采用深度可分离卷积(3,3)+空洞卷积(扩大图片的感受野)+1*1卷积进行分层特征提取——>无参数解码层恢复feature map的大小(子像素卷积层)
-
有效减少维度的方法:把车道线边缘的映射图转化成车道线边缘点的坐标
-
LaneNet 的图片输入并未做任何预处理,只做了逆透视变换(IPM)
-
网络结构图:
车道线定位(解码部分): -
结构图:
-
使用sub-pixel convolution layers恢复feature map的大小
sub-pixel convolution layers(子像素卷积),又叫做pixel shuffle,是一种图像和特征图upscale的方法。放大特征图的常见方法有直接上采样,双线性插值,反卷积等。sub-pixel是一种在超分辨率中经常使用的upscale方法。
想对原图放大三倍,那么需要生成3*3=9个same size的feature map,然后拼在一起称为新的大图。 -
使用跳跃式连接提供高分辨率feature map,对车道线边缘进行精确定位
-
二次函数拟合车道线,使用LSTM预测图片中车道线的参数(用置信分数作为终止检测的标准,置信分数低于预期设定的阈值说明没有检测到车道线)
-
输入的是车道线坐标,有两点好处:模型简洁轻量化;弱监督学习
训练过程:
- 利用弱监督学习对车道线定位网络进行fine tune ——1000个样本图片仅仅被标注了车道线数量
- min-distance loss 为优化指标,使用SGD优化loss
loss定义式:L2 loss 和 min-distance loss(计算所有点到离其最近的预测车道线之间的水平距离总和)的加成