论文链接:https://arxiv.org/abs/1802.05591?context=cs
代码https://github.com/MaybeShewill-CV/lanenet-lane-detection
这篇论文是做车道线检测的,之前的检测方法都限制于检测预定义的固定数量的车道线,本文将车道线检测问题看做一个实例分割问题,并实现了端到端的训练,速度是50fps。还一个亮点是考虑到地面坡度的问题,使用曲线拟合的方法来增大精确度。
车道线检测思路是:将车道线检测任务分成两个分支,车道检测分支与车道嵌入分支。车道分割分支就是将图片分为车道与背景。车道嵌入分支就是将分割出的车道进一步分解成不同的实例instance。流程图如下图所示
A.车道线端到端检测网络 LaneNet,包括二值分割以及聚类进行实例分割
二值分割:将车道线对应像素连在一起,这样做的话即使车道线被汽车遮挡或者车道线不明显(如 虚线或者褪色)等情况,车道线仍能被检测出来。用的是标准的交叉熵损失函数。因为前景背景数量高度不平衡,应用了bounded inverse class weighting。【29: ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation】
实例分割:使用基于距离度量学习的one-shot学习方法【5: Semantic Instance Segmentation with a Discriminative Loss Function】。通过使用这种聚类方式,instance embedding 分支训练出为每根车道线像素训练出pixel embedding。相同线的像素embedding距离小,不同线的像素embedding距离大。
Loss function设计为:

Lvar L v a r 为方差损失,降低类内距离
在embedding后的空间中,每条线有的聚类中心uc,对于每条线上的每一点xi,计算其与uc的阈值δv范围的L2 loss:[||uc−xi||−δv]2 在 e m b e d d i n g 后 的 空 间 中 , 每 条 线 有 的 聚 类 中 心 u c , 对 于 每 条 线 上 的 每 一 点 x i , 计 算 其 与 u c 的 阈 值 δ v 范 围 的 L 2 l o s s : [ | | u c − x i | | − δ v ] 2
Ldist L d i s t 为距离损失,增大类间距离
对于每两根车道线计算L2 loss
聚类:通过设定阈值不断迭代进行聚类。为了避免选中outlier,使用mean shift。
**网络结构:**LaneNet基于 ENet的encoder-decoder架构。

B 曲线拟合 H-Net
通常情况下,车道像素被投影成“鸟瞰图”表示,使用一个固定的转换矩阵。然而,由于变换参数对所有图像都是固定的,所以当遇到非地面时,例如在斜坡上,这会引起一些问题。为了缓解这个问题,我们训练一个网络,称为H-Network,它可以估算输入图像上的“理想”透视变换的参数。
曲线拟合:曲线拟合车道线P时,一般会用转移矩阵H将车道线投影为鸟瞰图。
H=⎡⎣⎢⎢a00bdfce1⎤⎦⎥⎥
H
=
[
a
b
c
0
d
e
0
f
1
]
这里的0是为了让水平线经过映射后仍然保持水平。
先使用H映射得到 p′i=[xi,yi,1]T∈P′ p i ′ = [ x i , y i , 1 ] T ∈ P ′ , 且 p′i=Hpi p i ′ = H p i ,对于映射的 P′ P ′ 使用最小二乘法拟合一个多项式 f(y′) f ( y ′ ) ,也就是曲线函数。然后再根据y方向坐标,计算出拟合后的x坐标
简单来说,先根据转移矩阵H将车道线坐标映射到鸟瞰图上,对于鸟瞰图上的坐标拟合一条曲线,然后以y坐标映射前后保持不变, pi=[−,yi,1]T映射得到[−,y′i,1]T,拟合得到的x′∗i=f(y′i),将新的鸟瞰图上的点p′∗i=[x′∗i,y′i,1]T再映射回原图得到p∗i=[x∗i,yi,1]T,损失函数即为x∗与x的偏差 p i = [ − , y i , 1 ] T 映 射 得 到 [ − , y i ′ , 1 ] T , 拟 合 得 到 的 x i ′ ∗ = f ( y i ′ ) , 将 新 的 鸟 瞰 图 上 的 点 p i ′ ∗ = [ x i ′ ∗ , y i ′ , 1 ] T 再 映 射 回 原 图 得 到 p i ∗ = [ x i ∗ , y i , 1 ] T , 损 失 函 数 即 为 x ∗ 与 x 的 偏 差
Loss=1N∑i=1,N(x∗i−xi)2
L
o
s
s
=
1
N
∑
i
=
1
,
N
(
x
i
∗
−
x
i
)
2
结果