APP下载

基于自适应ROI和蚁群边缘检测算法的车道线检测

2019-01-02丁蒙,戴曙光,曾思浩,王帅

软件 2019年12期
关键词:蚁群算法

丁蒙,戴曙光,曾思浩,王帅

摘  要: 论文针对天气阴暗和复杂背景等情况下难以检测车道线的情况,提出了基于消失点的自适应ROI提取和基于蚁群算法的边缘检测方法。首先进行图像预处理得到灰度化图像,然后使用基于纹理的gLoG滤波进行消失点检测以消除复杂背景的影响,使用蚁群算法对灰度图像进行边缘检测以解决Canny算子对噪声敏感的问题,最后对感兴趣区域进行Hough变换直线检测并且使用极角极径约束Hough变换拟合的直线,最后实现车道线检测的功能。实验结果表明,论文提出的方法在道路环境多变和阴暗天气下能实现很好的车道线检测结果,准确率最高可达95.96%。

关键词: 消失点检测;蚁群算法;极角极径约束法;Hough变换

中图分类号: TP391.41    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.12.028

本文著录格式:丁蒙,戴曙光,曾思浩,等. 基于自适应ROI和蚁群边缘检测算法的车道线检测[J]. 软件,2019,40(12):124128

Lane Line Detection Based on Adaptive ROI and Ant Colony Edge Detection Algorithm

DING Meng, DAI Shu-guang, ZENG Si-hao, WANG Shuai

(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093)

【Abstract】: In view of the difficulty of detecting lane lines under the background of dark weather and complex background, the paper proposes adaptive ROI extraction based on vanishing point and edge detection method based on ant colony algorithm. First of all, we try to pre-processing the image to obtain grayscale image, and then use the texture-based gLoG filtering to eliminate the effect of Vanishing point to eliminate the effect of complex background, then use the ant colony algorithm for edge detection of grayscale images. Finally, the Hough transformation line detection is carried out on the area of interest and the fitted line is constrained by the polar angle diameter. In this way, we can realize the lane line detection. The experimental results show that the method proposed in this paper can achieve good lane line test results in the changing road environment and dark weather, with an accuracy rate of up to 95.96%.

【Key words】: Vanishing point detection; Ant colony algorithm; Polar diameter angle constraint; Hough transform

0  引言

近年來,随着科学技术的发展,人民生活水平不断提高,智能驾驶技术也在不断发展。自动驾驶汽车通过传感器对周边环境进行信息采集,交由计算机进行分析以做出决策,然后执行机构依据决策来实现加速、减速、转向、刹车等操作。在自动驾驶汽车中,汽车驾驶辅助系统显得尤为重要。车道线检测是汽车驾驶辅助系统的一个重要部分,正确检测出车道线才能为自动巡航驾驶、原有车道保持、车道变道等提供最基本的环境信息,以保证车辆的正常行驶[1-3]。

目前,车道线检测[4]一般分为两种,一种是基于特征的车道线检测,另一种是基于模型的车道线检测。Chen和Jin[5]提出了一种适应结构道路的车道标记识别算法。利用Soble形态学梯度算法与Hough变换进行协调,并利用直线对二维车道进行了重构,以检测出车道线。Li和Nashashibi[6]引入了改进的canny边缘检测器,其中仅沿垂直方向在每个像素处计算图像差异,然后执行最小均方差滤波(NLMS)。Mu和Ma[7]通过对象分割来选择候选车道区域,然后用Sobel算子提取冗余边,此外还通过边缘阈值的选择获得候选车道标记,最后采用分段拟合方法检测车道标记。Yoo[8]提出了一种基于从输入图像中提取的线段交点的概率投票方法,通过几何约束来选择车道的候选线段,然后利用拟议的分数函数去除候选线段中的异常值,最后应用泛洪分水岭算法进行车道线检测。Wang等人[9]使用B-snake样条曲线来表示一条弯曲的道路。其中控制点位于曲线之外,其拟合过程需要大量的迭代。另一方面,均匀的立方体样条拟合速度要快得多,但当控制点之间的间距不均匀时,可能会导致曲线不规则。Zhao和Meuter等人结合扩展卡尔曼滤波跟踪使用基于Catmull-Rom样条的车道模型[10],该模型是一个高阶车道模型,它对噪声很敏感,夜间下雨时可能会导致光线干扰,会产生错误的车道线检测。刘萍等人[11]论文提出了一种基于反透视变换的车道线检测算法,然后利用K-均值聚类算法进行线性判别以消除线性干扰,得到车道线检测结果。文献[12]根据车道线的截面特征逐行提取车道线特征点,并使用连通域聚类滤波,然后使用卡尔曼滤波算法对车道线的端点和斜率进行跟踪。文献[13]中将车道线透视图转变为鸟瞰图。然后构建了一种平行Snake车道线检测方法,最后采用采用Kalman滤波器进行跟踪优化,抑制噪声,提高算法对车道线的识别精度。文献[14]提出一种基于大津法的二次阈值分割方法,逐行扫描选取候选车道特征点并采用聚类方法进行过滤然后分视场使用最小二乘曲线拟合算法,根据特征点的分布自适应地选取曲线拟合的方式,在此基础上提出车道宽度匹配算法,提高了算法的鲁棒性。骆济焕等人[15]对灰度图像进行改进的中值滤波除噪,再基于最大类方差法,用Canny算法提取车道线边缘,然后结合前处理算法,TCR算法通过目标区域划分和极角极径法来缩小检测范围,对车道左右双线分别进行边缘叠加处理来提高霍夫变换法的检测精度,

论文首先将图像灰度化,然后使用基于纹理的gLoG滤波进行消失点检测,消除复杂背景的影响,自适应提取感兴趣区域(ROI),使用蚁群算法对灰度图像进行边缘检测,然后对感兴趣区域进行Hough变换直线检测并使用极角极径约束车道线检测范围,得到车道线检测结果,流程图如图1所示。

图1  车道线检测流程图

Fig.1  The flowchart of lane line detection

1  图像预处理

在进行车道检测之前,需先将彩色图像转换为灰度图。本文将图像从RGB颜色空间转换为YCbCr空间,来保留图片的亮度信息,转换公式为式(1)。由于人眼对I和Q等分量感知不敏感,所以只取Y分量通道图像,图像转换结果如图2所示。

(1)

图2  彩色图像转为灰度图像

Fig.2  Color image to gray image

2  基于消失点的自适应ROI

车道一般存在于拍摄图像的下半部分,而包括天空和地标等都出现在上半部分,通过使用消失点选择感兴趣区域,对图像车道线进行约束,可以提高车道线检测的性能。本文选用基于纹理的gLoG滤波消失点检测算法[16]对车道线图像建立自适应ROI,首先生成gLoG纹理模板、然后对车道线图像进行纹理方向检测,最后通过投票确定消失点。

2.1  gLoG纹理模板生成

图像纹理模板通过二维广义拉普拉斯高斯滤波器(generalized Laplacian of Gaussian filter,gLoG)得到。二维广义高斯滤波器定义如下:

(2)

式中:A是归一化因子,系数a、b、c通过θ,σx,σy控制高斯核的形状和方向。具体计算公式如下:

(3)

(4)

(5)

二维广义拉普拉斯高斯滤波器定义如下:

(6)

在道路消失点检测中,设定,,其中,为图像长度和宽度中的较大值。滤波器的方向数量设置为18,即角度分辨率为10°,每一组滤波器内,,其中。图3展示了,,发生变化时产生的不同大小和方向的gLoG纹理检测模板。

图3  不同大小和方向的gLoG纹理检测模板

Fig.3  The gLoG texture detection template with

different sizes and directions

2.2  图像纹理方向检测

将车道线图像与18组gLoG模板分别卷积求绝对值再求和,每组结果划分为100个网格,每个格子最大值代表图像在次网格区域纹理最强烈的点,将这些点作为特征点并计算方向,结果最大的一组就代表特征点的纹理方向。

2.3  投票

对图像中位于特征点p上方一定夹角范围内的像素点v进行投票,具体公式如下:

(7)

其中,,為向量和特征点之间的夹角。是和之间的欧式距离,是归一化因子,这里取值为图像的对角线长度。投票之后,结果中值最大的位置即为消失点。

2.4  感兴趣区域

感兴趣区域的公式计算为式(8),其中,、和分别是消失点、原图和感兴趣图像的坐标。图4显示了感兴趣区域,消失点下面区域为感兴趣区域的高度,消失点用蓝色交叉标记表示,而自适应ROI为红色区域。

(8)

图4  得到感兴趣区域

Fig.4  The regions of interest

3  基于蚁群算法的边缘检测

蚁群算法是一种优化算法,大量子个体可以快速准确地搜寻到区域中的最优解。这种特点结合边缘像素的阶跃特征决定了蚁群边缘检测方法[17][18]具有较强的适应性和鲁棒性蚁群算法是一种迭代算法,在每次迭代中都执行两个基本操作:构造或修改问题的解决方案;更新信息素跟踪。基于蚁群算法的边缘检测分为以下几个步骤:

(1)输入图像为二维图形,其中节点为图像像素。蚂蚁通过从像素移动到像素和通过信息素标记遍历像素来遍历图像。

(2)初始化蚂蚁分布:m只蚂蚁被随机放置,每个像素上最多放置一只蚂蚁,所有像素强度设置为0.0001。

(3)节点转换规则:考虑两种不同的情况,如果蚂蚁位于背景像素上,并且仅被背景包围,则在下一次迭代中,它将被替换到一个新的随机选择的像素。在每种情况下,蚂蚁根据公式(9)从八个邻域中的概率选择一个,如图5所示。

(4)将第k只蚂蚁从节点(r,s)转移到节点(i, j)的概率被认为是:

图5  蚁群边缘检测图解

Fig.5  Ant colony edge detection diagram

(9)

其中是信息素的强度,为像素的可见度,和是信息素信息和启发信息的重要程度。此外,像素的可见度是由以下定义:

(10)

在此方法中,使用图像强度的灰度级的最大变化来确定可见度的值。因此,边界像素有更大的可见性值,此外,蚂蚁不能重复经历最后走过的个像素。

信息素更新规则:每一步完成后,根据式(10)(11)(12)更新信息素水平。

(11)

(12)

(13)

其中,表示蒸发率,蚂蚁标号 ,为整数,代表蚂蚁总数。表示第只蚂蚁经过位置时该像素信息素的增量。是阈值,只有信息素沉积超过才能提取为图像特征边缘。信息素的蒸发有助于避免信息素的无限制积累,如果一个像素没有被蚂蚁选择,他的信息素强度会呈指数下降趋势。为了避免搜索停滞,信息素最小强度受限制。由于,所以选择一个特定像素的概率永不为0。

边缘检测需输出二值图像,转换公式如下,最后边缘检测图像如图6所示。

(14)

图6  边缘检测结果

Fig.6  Results of edge detection

4  极角极径法约束Hough变换范围

在车道线检测中,采用Hough变换直线检测,并使用极角极径法来约束车道线检测范围。直线的极坐标方程为:

(15)

其中,为原点到直线的距离;为直线与轴正向夹角()。因为左右车道线基本都分布在道路图像两边,位置变化不大,通过对大量道路图像统计,得到左右车道线极角、和极径、的约束范围。,;,,图7为示意。

图7  极角极径法图解

Fig.7  Diagram of polar angle and

polar diameter method

實际检测中,车道线会检测出多条左右车道线,以中轴为基准,运用算子[1 0 –1]和[–1 0 1]分别对车道线进行叠加处理,得到最终车道线检测结果,如图8所示。

图8  车道线检测结果图

Fig.8  Results of lane line detection

5  实验结果与分析

我们分别对同一辆汽车驾驶过程中拍摄的4段视频进行车道线检测,检测指标如下,检测结果如表1。检测指标如下,其中,DR、C、N分别为检测率、正确检测车道线的帧数、视频总帧数。

(16)

表1  检测结果及准确率

Tab.1  Test results and accuracy

视频 帧数 正确检测车道线帧数 检测率/%

a 4500 4294 95.42

b 3150 2992 94.98

c 3600 3474 96.50

d 3450 3346 96.98

总 14700 14106 95.96

表1中,视频a为傍晚行驶视频车道,视频b为阴天行驶视频,视频c为光照较强的行驶视频,d为白天行驶视频。

实验结果表明,在天气阴暗和光照较强以及复杂道路背景下仍可以较为准确的检测出车道线,平均准确率为95.96%,最高可达96.98%,优于传统的基于Canny算子的边缘检测和Hough变换的车道线检测算法,提高了车道线检测的准确率。并且算法在阴暗情况、光照较强情况和复杂背景情况下,识别准确率仍在95%以上,也证明了算法有着较强的适应性和鲁棒性。

论文提出的方法针对复杂道路背景提出了使用消失点检测建立自适应感兴趣区域,极大的提高了车道线检测的性能。通过使用蚁群边缘检测算法解决了Canny算子对噪声敏感的问题,最后通过极角极径法约束的Hough变换来检测直线。算法能够克服光照和复杂背景的问题,后续工作应将研究重心放在弯道车道线检测中,例如使用分段线性变换以适应弯曲车道线,弥补弯曲车道线检测时存在的不足,而且为了使算法有更广泛的应用价值,还需将车道线偏离报警列入后续的研究重点。

参考文献

[1]Vahidi A, Eskandarian A. Research advances in intelligent collision avoidance and adaptive cruise control[J]. IEEE transactions on intelligent transportation systems, 2003, 4(3): 143-153.

[2]Bengler K, Dietmayer K, Farber B, et al. Three decades of driver assistance systems: Review and future perspectives[J]. IEEE Intelligent transportation systems magazine, 2014, 6(4): 6-22.

[3]Kumar A M, Simon P. Review of lane detection and tracking algorithms in advanced driver assistance system[J]. Int. J. Comput. Sci. Inf. Technol, 2015, 7(4): 65-78.

[4]张明军, 俞文静, 袁志, 等. 视频中目标检测算法研究[J]. 软件, 2016, 37(4): 40-45.

[5]Chen H, Jin Z. Research on Real-Time Lane Line Detection Techonogy Based on Machine Vision[C]//2010 International Symposium on Intelligence Information Processing and Trusted Computing. IEEE, 2010: 528-531.

[6]Li H, Nashashibi F. Robust real-time lane detection based on lane mark segment features and general a priori knowledge [C]//2011 IEEE International Conference on Robotics and Biomimetics. IEEE, 2011: 812-817.

[7]Mu C, Ma X. Lane detection based on object segmentation and piecewise fitting[J]. TELKOMNIKA Indones. J. Electr. Eng. TELKOMNIKA, 2014, 12(5): 3491-3500.

[8]Yoo J H, Lee S W, Park S K, et al. A robust lane detection method based on vanishing point estimation using the rele vance of line segments[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(12): 3254-3266.

[9]Wang Y, Teoh E K, Shen D. Lane detection and tracking using B-Snake[J]. Image and Vision computing, 2004, 22(4): 269-280.

[10]Zhao K, Meuter M, Nunn C, et al. A novel multi-lane detection and tracking system[C]//2012 IEEE Intelligent Vehicles Symposium. IEEE, 2012: 1084-1089.

[11]劉萍, 孙耀航. 基于反透视变换的车道线检测算法[J]. 计算机与数字工程, 2019, 47(3): 678-681.

[12]赵伟康, 黎向锋, 毕高杰等. 一种基于横截面特征的车道线检测方法[J]. 机械制造与自动化, 2019, 48(01): 167-170.

[13]范晖, 夏清国. 基于平行Snake耦合Kalman滤波器的车道线检测算法[J]. 电子测量与仪器学报, 2019(2): 101-109.

[14]胡胜, 黄妙华, 陈毅. 基于二次阈值分割和车道宽度匹配的车道线检测算法[J]. 汽车技术, 2019(4):1-6.

[15]骆济焕, 兰凤崇, 陈吉清. 联合图像处理和目标约束的车道线检测方法[J]. 汽车工程学报, 2019, 9(01):30-38.

[16]Kong H, Sarma S E, Tang F. Generalizing Laplacian of Gaussian filters for vanishing-point detection[J]. IEEE Transactions on Intelligent Transportation Systems, 2012, 14(1): 408-418.

[17]刘猛猛, 马超. 基于蚁群算法的边缘检测[J]. 测绘与空间地理信息, 2017(11):181-183.

[18]沙娓娓, 刘增力. 基于改进蚁群算法的无线传感器网络的路由优化[J]. 软件, 2018, 39(01): 01-04.

猜你喜欢

蚁群算法
测控区和非测控区并存的配电网故障定位实用方法