Vanishing Point Constrained Lane DetectionWith a Stereo Camera (IEEE 2017)

[Vanishing Point Constrained Lane DetectionWith a Stereo Camera (IEEE 2017)]


Abstract

提出一种采用stereo-rig的a robust vanishing-point con-strained lane detection method

优点:无参数(当车道边界被车辆部分遮挡或存在许多镶嵌阴影图案时,这些参数化方法往往无法找到正确的车道边界)

首先,我们提出了一种基于v-disparity和visual odometry技术的准确高效的道路消失点检测方案,其中v-disparity map可以显着减少消失点的搜索空间,视觉里程计可以有利于直线和曲线的消失点检测。消失点检测。

接下来,我们将车道检测问题作为图形搜索程序,建议使用消失点约束 Dijkstra 最短路径车道模型来获取最低成本地图。可以通过找到两条最佳路径来检测两个通道,分别从消失点到两个成本地图衍生


Introduce:

已有方法的问题: When the lane borders areblocked partially by vehicles or when there are many tessellatedshadow patterns, these parametric methods tend to fail to find thecorrect lane borders(当车道边界被车辆部分遮挡或存在许多镶嵌阴影图案时,这些参数化方法往往无法找到正确的车道边界)

大体思路:将车道线检测问题当作graph-search procedure

贡献:**1) we propose a nonparametric lane-border modelin a graph-search framework **

2)To realize it, we propose an accurate and efficient vanishing point detection scheme with the stereov-disparity and visual odometry techniques based on the texture-voting strategy [3].

3) We propose a new method to create a Dijkstraminimum-cost map based on both gradient and disparity information


Algorithm Detail

1.Horizon Detection by a Stereo Camera

目的为了找到地平线horizon,简化vp的寻找空间

ELAS算法首先,我们通过ELAS算法从立体相机生成视差图[18]。 ELAS 算法首先计算一组稀疏的"支持点"的差异,这些"支持点"由于其纹理和唯一性而可以强烈匹配。为了稳健性,仅当它们可以从左到右和从右到左匹配时才保留对应关系。然后,支持点的图像坐标用于通过 Delaunay 三角剖分创建 2D 网格。为了计算其他位置的视差,计算先验和图像似然以减少立体匹配模糊度。这允许有效利用视差搜索空间, 生成精确的密集视差图,无需全局优化。最后,基于最大后验估计计算密集视差图。后处理,包括左/右一致性检查、小段去除和填充,可以进一步改善视差结果。图2显示了道路图像的密集视差图。然后,计算v-视差图像[19]。在v-disparityimage中,可以将平面道路区域投影为一条直线。显然,地平线上的像素与相机的距离为无穷远,因此视差为0。因此地平线的位置是地平线的截距v 视差图像中垂直轴上的轮廓线

Hough transformmethod

RANSAC method

RS method

在这里插入图片描述

2.Odometry-Based Vanishing Point Detection

目的为了寻找道路区域的消失点

通过改进Kong【20】中提出的投票算法来进行检测,将消失点搜索限制在了第一步中的地平线周围的几行。

通过visual odometry method分析车辆的状态,根据下图将搜索空间进一步压缩

在这里插入图片描述

基于视觉里程计估算车辆运动

相机运动变换,从RGB 和深度图中建立特征对应在这里插入图片描述

通过【21】中提出的近似最大集团方法来拒绝错误匹配(异常值)。然后可以从一组内点(正确的特征对应)中获得两个连续相机位置之间的变换矩阵: P i , = R P i + t + v i P^,_i=RP_i+t+v_i Pi,=RPi+t+vi 其中 R 是标准的 3×3 旋转矩阵,t 是 3D 平移向量,vi 是噪声向量。

求解最优变换的 R ^ \hat{R} R^ t ^ \hat{t} t^可以是以下等式的最小化: [ R ^ , t ^ ] = a r g min ⁡ R , t ∑ i = 1 N ∣ ∣ P i , − ( R P i + t ) ∣ ∣ 2 [\hat{R},\hat{t}]=arg \min \limits_{R,t}\sum_ {i=1}^N ||P^,_i-(RP_i+t)||^2 [R^,t^]=argR,tmini=1NPi,(RPi+t)2

得到了旋转矩阵 R ^ \hat{R} R^和平移向量 t ^ \hat{t} t^之后估算方向偏差 Θ \Theta Θ,然后根据方向偏差确定车辆状态:
V e h i c l e S t a t e = { L ( 向 左 ) , if  Θ ˉ  <-2 and  σ ( Θ )  <-5 R ( 向 右 ) , if  Θ ˉ  >2 and  σ ( Θ )  <5 S ( 直 走 ) , Other VehicleState=\begin{cases} L(向左),&\text{if $\bar{\Theta}$ <-2 and $\sigma(\Theta)$ <-5}\\ R(向右),&\text{if $\bar{\Theta}$ >2 and $\sigma(\Theta)$ <5}\\ S(直走),&\text{Other}\\ \end{cases} VehicleState=L(),R(),S(),if Θˉ <-2 and σ(Θ) <-5if Θˉ >2 and σ(Θ) <5Other
Θ ˉ \bar{\Theta} Θˉ表示方向偏差的均值, σ ( Θ ) \sigma(\Theta) σ(Θ)表示方向偏差的方差

接下来就是通过类似[22](H. Kong, S. E. Sarma, and F. Tang, “Generalizing Laplacian of Gaussian filters for vanishing-point detection,” IEEE Trans. Intell. Transp. Syst., vol. 14, no. 1, pp. 408–418, Mar. 2013.)中投票算法进行消失点的寻找

在这里插入图片描述

[figure4](图 4 直观地描述了三种不同车辆状态的候选人和选民的选择。红色虚线是 III-A 部分中的估计地平线。红色和绿色矩形区域分别是候选人和选民的区域。促使我们选择上述选民和候选区域的动机如下:对于弯曲的道路,消失点的定位强烈依赖于地平线附近小区域的纹理方向。对于直路,地平线以下大小合适的图像区域起主要作用。对于直路,地平线检测更准确。因此,我们只选择地平线周围的几行像素作为候选。对于弯曲的道路,我们稍微扩大了候选范围以容忍地平线检测中的错误。)

确定了候选者和选民后,通过下列公式进行投票:
V p S c o r e = e x p ( − d ( p c , p v ) ⋅ ∣ θ v − θ v c ∣ h 2 + w 2 ) VpScore=exp(\frac{-d(p_c,p_v)\cdot|\theta_v-\theta_{vc}|}{\sqrt{h^2+w^2}}) VpScore=exp(h2+w2 d(pc,pv)θvθvc)
其中 d(pc, pv ) 是像素 pc(候选人)和 pv(选民)之间的距离。 θv 是 pv 处的纹理方向,θvc 是从 pv 到 pc 的向量方向。

3.The Vanishing Point Constrained Minimum-Cost Map

最后一步通过改进Dijkstra最短路径模型来找到车道边界包括两步

第一步:局部成本的定义:受[23](E. N. Mortensen and W. A. Barrett, “Interactive segmentation with intelligent scissors,” Graph. Models Image Process., vol. 60, no. 5, pp. 349–384, 1998.)的启发,我们将局部成本函数定义为几个分量成本函数的加权和,这使得车道边界上的像素具有较低的局部成本。在 [23] 中,局部成本函数计算为三个分量的总和:梯度幅度函数 Fgm§、梯度方向函数 Fgd (p, q) 和拉普拉斯零交叉函数 Fz(p )。 Fgm§ 与像素 p 的梯度大小成反比。 Fgd (p, q) 通过将 p 和 q 处的急剧方向变化的高成本关联起来,在 p 和 q 之间添加了平滑约束。当两个像素的梯度方向与它们之间的链接的梯度方向一致时,Fgd(p,q) 的值很小。 Fz§ 是一个二元函数,在边缘像素处等于 0,否则等于 1。这些定义保证了边缘像素的成本更低。然而,在我们的例子中,我们只想检测车道边界的边缘。因此,我们添加两个组件成本,车道成本 Fl§ 和视差成本 Fd §,使局部成本函数适用于车道检测。

车道标记成本函数 Fl§ 是一个二元函数,其中值等于 0 表示 p 可能是车道标记像素,否则为 1。一般来说,车道标线是一种暗-明暗的过渡模式。也就是说,车道标记像素应该比周围的非标记区域更亮。如图 5(a)所示,p 是车道标记像素,pl、pr 分别是左侧和右侧的两个非标记像素。显然,对于车道标记图案,p 和 pl (pr) 处的强度差异应该很大,而 pl 和 pr 处的强度差异应该很小。我们根据这些差异计算 Fl§ :
F l ( p ) = { 0 , if  ∣ p − p l ∣ + ∣ p − p r ∣ − ∣ p l − p r ∣  > 20 1 , o t h e r F_l(p)= \begin{cases} 0,&\text{if $|p-p_l|+|p-p_r|-|p_l-p_r|$ > 20}\\ 1,&other \end{cases} Fl(p)={0,1,if ∣ppl+pprplpr∣ > 20other
其中 |p−pl|表示 p 和 pl 处的强度差。图 5(b) 显示了车道标记成本图。

在这里插入图片描述

视差成本函数 Fd § 计算平坦区域像素的低成本和非平坦区域像素的大成本。对于第 i 行的像素 p,我们检查其视差与 v 视差图中检测到的道路轮廓线上的相应值之间的差异。差异越大,越不可能是道路像素,因此 Fd 应该越大
F d ( p ) = ∣ D m a p ( p ) − P r o f i l e L i n e ( p ) ∣ / d m a x F_d(p)=|D_{map}(p)-ProfileLine(p)|/d_{max} Fd(p)=Dmap(p)ProfileLine(p)/dmax
其中 Dmap§ 表示 p 的视差。 ProfileLine§ 是 v 视差图中检测到的道路轮廓线上的相应值。 dmax 是与 p 位于同一行的像素的最大视差。图5©显示了图5(a)的视差成本图。

最后local cost function写成: F c o s t ( p , q ) = w 1 ∗ F g d ( p , q ) + w 2 ∗ F g m ( p ) + w 3 ∗ F z ( p ) + w 4 ∗ F d ( p ) F_{cost}(p,q)=w_1*F_{gd}(p,q)+w_2*F_{gm}(p)+w_3*F_{z}(p)+w_4*F_{d}(p) Fcost(p,q)=w1Fgd(p,q)+w2Fgm(p)+w3Fz(p)+w4Fd(p)w1 = 0.3,w2 = 0.2,w3 = 0.1,w4 = 0.15,w5 = 0.25

图 6 显示了使用改进的局部成本图的车道边界检测结果。显然,改进后的局部代价函数有效抑制了非车道物体(如道路护栏、路缘石等)的尖锐边缘,突出了车道边界的边缘在这里插入图片描述

第二步 最小成本图的计算:根据上面两个相邻像素之间局部成本的定义,我们应用Dijkstra算法,以检测到的消失点为源节点,得到一个累积成本图PathCost,其中每个元素的值代表消失点和元素之间的最小累积成本。同时,我们还可以得到每个元素与消失点之间对应的最短路径PathPtr,其长度记录在PathLen中。通过 PathCost 和 PathLen 之间的元素划分,我们得到 PathAvg。在 PathAvg 的最后一行,直观上,我们寻找两个最小元素,作为端点分别指向中间元素的左侧和右侧。搜索条件是:
t P l = a r g m i n i = 1 ⌊ w 2 ⌋ P a t h A v g ( h , i ) t P r = a r g m i n i = ⌊ w 2 ⌋ + 1 w P a t h A v g ( h , i ) tP_l =argmin^{\lfloor\frac{w}{2}\rfloor}_{i=1}PathAvg(h,i)\\ tP_r=argmin^{w}_{i=\lfloor\frac{w}{2}\rfloor+1}PathAvg(h,i) tPl=argmini=12wPathAvg(h,i)tPr=argmini=2w+1wPathAvg(h,i)
其中 h 和 w 分别是图像的高度和宽度。 tpl 和 tpr 分别是左右车道边界的端点。图 7 说明了这个过程。这两个最小元素被视为两个端点在这里插入图片描述

从它们中,我们可以根据PathPtr 获得对应于两个车道边界的最短路径(从每个端点到vp 的最佳路径在PathPtr 中是已知的)。图 8 显示了一些车道检测结果在这里插入图片描述

Experiment

测试图像选自包含各种道路场景的 KITTI 和 Oxford RobotCar 数据集

A. Horizon Detection

在这里插入图片描述

在这里插入图片描述

对比结果表明,WS方法可以有效地提高精度并减少运行时间。 200次采样的WS方法大约有99.61%的图像误差不大于10个像素,而HT方法的百分比为90.54%。当采样次数为50次时,RS方法只能达到78.9%的准确率,误差不大于10个像素,而WS方法可以达到98.69%的准确率。在实践中,我们只需要检测一次地平线就可以进一步加快这个过程。因为同一台摄像机拍摄的道路图像的地平线位置是相似的。即使视差图的质量不是很好,我们的方法仍然可以工作,这也很有帮助。

B. Vanishing Point Estimation

在本节中,我们评估了所提出的消失点估计方法的性能。我们分别在直线和弯曲道路图像上评估我们的方法。我们将所有测试图像分成直线和曲线道路图像集。此外,我们将我们的方法与其他两种流行的方法进行了比较:基于 Gabor (Gabor) [20] 和基于 gLoG 过滤器 (gLoG) [22] 的方法。由于这两种比较的方法不适合在弯曲道路图像上进行消失点检测,因此我们仅在直线道路图像上对其进行评估。在评估这三种方法时,我们通过与地面实况位置进行比较来计算消失点结果的 L2 范数误差。我们方法的结果显示为图 10(a)和(b)中的红色图,分别对应于直线和弯曲道路图像的精度。我们计算检测误差不大于阈值的图像的百分比。图 10 (a) 还显示了我们的方法与其他两种方法之间的比较。通过我们的方法,97%以上的直道图像可以得到误差不大于10像素的消失点,76%以上的弯道图像误差不大于30像素。与其他两种方法相比,我们的方法可以显着提高消失点检测的准确性。

在这里插入图片描述

C. Lane Border Detection

我们将车道区域检测为由两个检测到的车道边界和道路图像的最后一行包围的区域。我们将该区域与手动标记的地面实况结果进行比较。使用了五个评估标准,包括 MaxF(最大 F1-measure)、PRE(精度)、REC(召回)、FPR(假阳性率)和 FNR(假阴性率),所有这些标准都在 [1] 中定义]。 MaxF 是主要的,它提供了对算法最佳性能的洞察。首先,我们在从 KITTI(1789 个图像)和 Oxford(915 个图像)数据集中选择的图像上测试我们的方法。我们根据与手动标记的地面实况数据进行比较来获得结果。如表III所示,所提出的方法在两组图像中分别可以达到93.47%和91.21%的准确率(MaxF)。

在这里插入图片描述

我们还将我们在 KITTI-UM-Lane 数据集上的方法与最先进的方法进行了比较。我们观察到,表现最佳的方法几乎都基于深度学习技术。然而,他们中的大多数(或几乎所有)不提供源代码,实际上甚至没有对其方法的引用(例如,SAIT 方法)。因此,我们无法比较所有基于深度学习的方法。 Up_Conv_Poly 方法是唯一一种提供所有方法的源代码的深度学习方法,这些方法曾经将其结果提交给 KITTI 车道检测基准。比较是在鸟瞰图 (BEV) 空间中进行的。表四详细显示了比较结果。 SAIT 方法和 Up_Conv_Poly 方法 [17] 分别在 KITTI-road 网站上报告的方法和可参考的文章中给出了最佳性能。与 Up_Conv_Poly 方法和其他基于立体视觉的方法 [24]、[25] 相比,我们的方法更准确。

在单个数据集上的表现不能完全反映比较方法的泛化能力。因此,我们在公共 Oxford Robotcar 道路数据集上测试 Up_Conv_Poly 方法和我们的方法。我们发现这种基于深度学习的方法在牛津数据集上的性能比我们的差得多。 Up_Conv_Poly 方法的 MaxF 为 71.27%,而我们的方法可以达到 91.21% 的 MaxF。图 11 给出了 Up_Conv_Poly 和我们的方法在一些牛津道路图像上的比较结果。通常,当测试图像与训练图像相似时,基于深度学习的方法可以取得良好的性能。然而,当训练道路场景与测试道路场景不同时,深度学习方法的性能通常会下降很多,特别是对于车道宽度和布局变化较大的车道检测任务,并且图像是由不同的具有不同焦距、视角、分辨率、纵横比等的相机。

在这里插入图片描述

方法可以取得良好的性能。然而,当训练道路场景与测试道路场景不同时,深度学习方法的性能通常会下降很多,特别是对于车道宽度和布局变化较大的车道检测任务,并且图像是由不同的具有不同焦距、视角、分辨率、纵横比等的相机。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值