基于局部纹理方向的非结构化道路消失点检测 [PDF全文]
曹江华,侯北平,Wesley Kenniard Takudzwa Gwatidzo,崔志鹏
(浙江科技学院 自动化与电气工程学院,杭州 310023)
针对现有道路消失点检测方法存在的计算复杂度高、精确度低等问题,提出了一种新的非结构化道路消失点检测方法。首先采用Gabor滤波器计算每个像素点的局部纹理方向,然后根据纹理方向的置信区间筛选有效投票点,并通过一种基于距离加权的局部软投票方法进行道路消失点投票,最后选择获得最高票值的像素点作为非结构化道路的消失点。试验结果表明,本方法有效降低了计算的复杂度,提高了检测的精确度和速度,其精确度相对于经典的Kong等的算法和Moghadam等的算法分别提高了29%和10%。本算法可以在多种复杂环境下快速准确地检测出道路消失点的位置,因而对实际工程有一定的参考价值。
Vanishing point detection of unstructured road based on local texture direction
CAO Jianghua, HOU Beiping, Wesley Kenniard Takudzwa Gwatidzo, CUI Zhipeng
(School of Automation and Electrical Engineering, Zhejiang University of Science and Technology, Hangzhou, 310023, Zhejiang, China)
In response to the problems of high computational complexity and low accuracy afflicting the existing road vanishing point detection methods, a novel vanishing point detection method was proposed for unstructured road. Firstly, the Gabor filter was used to calculate the local texture direction of each pixel. Then the effective voting points were selected according to the confidence interval of the texture direction, carrying out road vanishing point voting based on a distance-weighted local soft voting method. Finally, the pixel with the highest vote value was regarded as the vanishing point. The experimental results show that the method effectively reduces the computational complexity and improves the detection accuracy and speed. And compared with the classic algorithms such as Kong and Moghadam, its accuracy is improved by 29% and 10% respectively. The proposed algorithm can quickly and accurately detect the location of the road vanishing point under various complex environments and thus has a certain reference significance to the actual project.
引言

基于视觉的道路检测方法已经成为智能车辆等研究领域的一项关键技术。目前,针对单一道路类型的检测技术已经比较成熟,这类道路通常结构单一且具有明显的车道边界,但实际行驶的道路千差万别,很多道路并没有建立清晰的标识线,且道路的检测效果容易受光照、阴影、水迹等外部环境因素的影响,因此想要准确地检测出可行驶的道路区域存在一定的困难[1-2]。近年来的研究表明,无论是结构化道路还是非结构化道路,直行路或弯道路,消失点均可以指引汽车的行驶方向[3]。利用消失点作为约束条件,可以快速地提取一个三角形的可行驶道路区域,从而大幅提高道路的检测效果。

现实中的道路通常具有连续性,这使得其纹理特征能够基本上保持一致,且纹理特征对色彩、光照的变化不具有敏感性,因此可以利用道路图像的局部纹理特征检测消失点的位置[4-5]。现有的基于纹理特征检测道路消失点的方法主要采用Gabor滤波器[6-8]、gLoG滤波器[9-10]等计算每个像素点的局部纹理方向,并配合投票的方法实现。为了快速地提取局部纹理方向,从而提高道路消失点的检测速度,王永忠等[11]提出了一种基于Haar特征的纹理提取方法,利用积分图快速地计算Haar特征; 罗小松等[12]提出了一种基于韦伯局部特征的方法,有效地提取道路的线索区域。此外,许多研究者对道路消失点投票方法也进行了探索。为了判断消失点是否在图像内,田峥等[13]提出了基于道路主方向的多维投票策略; 傅重添等[14]提出了一种快速的局部适应软投票算法,提高了消失点的检测速度; 潘奎刚等[15]提出了基于主方向加权的投票方法,可以更准确地检测出弯道的消失点。上述研究都取得了较好的检测效果,但不能很好地满足准确性、实时性和鲁棒性之间的平衡,为此,本研究提出一种新的非结构化道路消失点检测方法。本方法采用3个尺度、18个方向的Gabor滤波器计算每个像素点的局部纹理方向,根据纹理方向的置信区间筛选有效的投票点后,利用笔者提出的一种基于距离加权的局部软投票方法进行道路消失点投票,选取图像中累计票值最大的像素点作为非结构化道路的消失点。

1 纹理主方向估计

利用道路图像的纹理特征检测消失点位置的基础和前提是准确地估计纹理主方向。现有研究表明,Gabor滤波器与人眼的生物作用相仿,具有良好的尺度特性和方向特性,且在纹理特征提取方面有比其他滤波器更好的纹理表示能力[16]。因此,本研究采用Gabor滤波器对道路图像进行纹理分析,其Gabor滤波器函数表示如下:

式(1)中:a=xcosφ+ysinφ; b=-xsinφ+ycosφ; K=π/2。

采用Gabor滤波器估计各像素点的纹理主方向的过程如下:

1)将灰度图像I(x,y)与Gabor滤波器进行卷积计算,即

式(2)中:ω为尺度,ω=2nω00=4/π,n=0,1,2); φ为方向角,φ=mπ/18(m=0,1,…,17)。

2)用卷积计算结果ω,φ的实部与虚部的平方和来表示像素点z的局部纹理特征,即

式(3)中:Re(ω,φ(z))和Im(ω,φ(z))分别为点z处的实部值和虚部值。

3)取像素点z在多尺度下纹理响应的平均值作为每个纹理方向上的Gabor响应值,即

4)将多方向上的Gabor响应值中最大值所对应的滤波器方向作为该像素点的纹理主方向,即

θ(z)=max(Rφ(z))。

为了实现精确的方向估计,可以使用具有更多方向的Gabor滤波器,但这样会导致过高的计算量,进而影响道路消失点检测的实时性。经过试验验证,随着滤波器尺度性和方向性的增强,检测的精确度虽有所提高,但实际效果并不明显,且需要花费较长的检测时间,故本研究选取了3个尺度、18个方向的Gabor滤波器估计各像素点的纹理主方向。

纹理主方向估计过程中获得的效果如图1所示。其中,图1(a)为彩色图像经预处理后的灰度图像; 图1(b)为灰度图像与Gabor滤波器进行卷积计算后的纹理响应图; 图1(c)为估计的纹理主方向图,使用线条显示了各像素点的纹理主方向。

图1 纹理主方向估计过程中获得的效果图<br/>Fig.1 Effect picture obtained during estimation process of main texture direction

图1 纹理主方向估计过程中获得的效果图
Fig.1 Effect picture obtained during estimation process of main texture direction

2 道路消失点投票2.1 筛选投票点

在估计了各像素点的纹理方向之后,若直接采用投票的方法进行道路消失点的检测,会导致一些纹理特征不明显或局部纹理特征较强的像素点参与到投票过程中,影响检测的结果。因此,需要在开始投票之前对投票点进行筛选。

Kong等[7]2213提出采用置信度的方式筛选有效的投票点。该方法利用置信函数计算各像素点的置信度,通过与设定的全局阈值进行比较,筛选出具有明显纹理特征的像素点作为有效的投票点。但该方法需要将像素点在36个方向上的Gabor响应值进行排序,此过程计算量很大,且无法排除局部纹理特征较强的干扰点,其实际检测效果并不理想。

为解决上述问题,本研究采用设定置信区间的方法选取有效的投票点。本方法根据像素点的纹理方向来决定其是否能够作为有效的投票点参与到后续的投票过程中。试验研究发现,在道路图像中天空和地面交界处的像素点通常具有较强的纹理特征,且纹理方向大多接近0°或180°。但这些像素点的纹理方向并不在形成道路边界的范围内,如果对候选消失点进行加权投票,将会对检测结果造成严重的影响。因此,试验时设定纹理方向的置信区间为(20°,160°),纹理方向小于20°或大于160°的像素点不能作为有效的投票点,但其仍可以作为候选消失点。

2.2 投票方法分析

在选取有效的投票点之后,就可以利用投票的方法确定道路消失点的位置。通过比较分析已有的投票方法发现这些方法仍存在精确度低、实时性差等问题。局部自适应软投票方法[7]2213-2215利用候选消失点统计投票区域内的票值作为其总票值,导致算法的时间复杂度非常高。基于正弦函数和距离加权的投票方法[8]427-428是一种线性的投票方法,这类方法过分依赖于纹理主方向的估计,一旦纹理主方向估计出现误差将会直接影响道路消失点的检测效果,而且该方法中的距离值取决于各投票点的方向角度,导致算法的计算复杂度特别高。

图2 投票区域<br/>Fig.2 Voting area

图2 投票区域
Fig.2 Voting area

针对上述问题,本研究提出了一种基于距离加权的局部软投票方法。本方法为每个有效的投票点建立局部投票区域A,如图2所示,它是一个以投票点P为中心,纹理方向O为中心线,半径R=0.35×L(L为图像的对角线长度),圆心角为2γ(试验时将γ设为1°)的扇形,其投票函数表示如下:

式(4)中:sinθP和cosθP分别为投票点P的正弦函数值和余弦函数值; d(P,V)为投票点P与候选消失点V归一化的欧氏距离。

基于距离加权的局部软投票方法通过以投票点为中心建立小角度的扇形投票区域,既可以减少投票时的计算量,又降低了某些投票点因纹理主方向估计不准确造成的影响。通常情况下,消失点所在的消失线具有一定的倾斜度,利用投票点纹理方向的三角函数值进行加权处理,可以抑制水平或垂直的纹理方向获得较大的权重。算法的具体步骤如下:

1)建立一个与原图分辨率相同的累加器,并将所有像素点的累加器的初始值设为0;

2)将筛选后的像素点依次视为有效投票点,对于任一投票点P建立小角度的扇形投票区域,利用式(4)对局部区域内的候选消失点进行加权投票;

3)累加器将记录各像素点收到的总票数,选取图像中总票值最大的像素点V作为非结构化道路的消失点。

3 试验结果及分析

试验对本文方法与Kong等[7]、Moghadam等[8]提出的经典方法进行了性能比较,对比了各方法的实际检测结果及检测的精确度和速度。试验中使用了Moghadam等[8]428提供的道路图像数据集,该数据集中包含501幅自然道路图像,像素均为320×240,并且每幅测试图像均提供了真实的消失点位置。试验程序均在软件MATLAB 2016a上编程实现,硬件平台为CUP Intel Core i5、主频2.4 GHz、内存8.0 GB的笔记本电脑。

3种方法在道路图像数据集上的部分检测结果如图3所示。图中红色点代表本文方法的检测结果,绿色点代表Kong等的方法的检测结果,蓝色点代表Moghadam等的方法的检测结果,黑色点代表测试图像提供的真实消失点位置。

图3 消失点检测结果对比<br/>Fig.3 Comparison of vanishing point detection results

图3 消失点检测结果对比
Fig.3 Comparison of vanishing point detection results

由于Kong等的方法仅对纹理特征不明显的像素点做了处理,导致来自道路边缘和其他区域的纹理方向对投票方法都具有相同的影响,这大大降低了算法的检测性能,特别是天空和地面交界线上的像素点更容易受到影响,如图3中第2行和第3行的第1~4幅图像所示。由于Moghadam等的方法采用正弦函数值对纹理方向进行加权投票,导致图像中垂直方向的纹理会获得较大的权重,当图像中存在竖直的物体时会对该算法产生较大的影响,如图3中第4行的第1~2幅图像所示。

与上述2种方法相比,本研究提出的道路消失点检测方法在大多数情况下都获得了较好的检测结果,如图3中前3行的第1~4幅图像所示。但在个别情况下,本文方法也会出现较大的误差,这通常发生在道路狭窄的上坡或下坡路段,此时图像中的道路区域占比很小,如图3中第4行的第3~4幅图像所示。

为了验证本研究提出的基于距离加权的局部软投票方法的有效性,试验中增加了与基于正弦函数和距离加权的投票方法的对比试验,将Moghadam等提出的纹理主方向估计方法与基于距离加权的局部软投票方法进行组合,即试验中改进了Moghadam等的投票方法。

试验中通过计算真实消失点位置与检测的消失点位置的距离误差来评估各方法的精确度,采用归一化的欧氏距离进行误差比较:

式(5)中:P为测试图像的真实消失点位置; P0为各方法检测的消失点位置; L为图像的对角线长度。

图4 误差分布对比<br/>Fig.4 Comparison of error distribution

图4 误差分布对比
Fig.4 Comparison of error distribution

为了更直观地对比各方法的精确度,根据d(P,P0)的值绘制了误差分布对比图,如图4所示,横坐标表示距离误差,被量化为间距为0.01的11个区间,对于大于或等于0.1的距离误差将其放置在最后一个区间中,纵坐标表示在距离误差区间内的图像数量。试验中以距离误差小于0.01作为检测道路消失点位置的精确度标准,本方法符合标准要求的图像有215幅(42.9%),高于Kong等的69幅(13.8%)和Moghadam等的165幅(32.9%)。另外,由改进的Moghadam等的方法的试验结果可知,检测误差小于0.01的有205幅(40.9%)图像,高于Moghadam等的方法,说明本研究提出的基于距离加权的局部软投票方法要优于基于正弦函数和距离加权的投票方法,且采用本研究提出的纹理主方向估计方法可以更准确地检测出道路消失点的位置。

各方法在道路图像数据集上的平均距离误差和平均时间对比见表1。由表1数据可知,Kong等的方法检测道路消失点的速度最慢,且平均距离误差最大; Moghadam等的方法检测道路消失点的速度最快,精确度在3种方法中列第2位; 本文方法的平均检测速度介于上述两种方法之间,但精确度最高。此外,改进的Moghadam等的方法的平均检测速度是1.11 s,平均距离误差是0.029,与Moghadam等的方法相当,说明本文方法的耗时主要花费在采用多尺度多方向的Gabor滤波器估计纹理主方向方面。

表1 各方法的平均距离误差和平均时间对比<br/>Table 1 Comparison of average distance error and average time of each method

表1 各方法的平均距离误差和平均时间对比
Table 1 Comparison of average distance error and average time of each method

从上述分析可知,本研究提出的非结构化道路消失点检测方法有效地降低了计算的复杂度,提高了检测的精确度和速度,且提出的基于距离加权的局部软投票方法要优于已有的投票方法,能够在多种环境下快速准确地检测出消失点的位置,为后续检测可行驶的道路区域提供良好的算法支持。

4 结 语

本研究采用3个尺度、18个方向的Gabor滤波器对道路图像进行纹理分析,并估计各像素点的纹理主方向,利用提出的基于距离加权的局部软投票方法检测出道路消失点的位置。试验结果表明,本方法可以在多种环境下快速准确地检测出道路消失点的位置。目前,我们仅研究了如何获取非结构化道路图像中的消失点位置,并没有对道路进行分割,从而得到可行驶的道路区域,因此下一阶段的研究重点是融合图像的其他特征进行道路分割。

参考文献