孙家阔,刘扬
(北京建筑大学 智慧城市研究所,北京 102616)
基于城市实景影像的车道线检测方法研究
孙家阔*,刘扬
(北京建筑大学 智慧城市研究所,北京 102616)
城市道路车道线检测和跟踪已经成为智能辅助驾驶的核心技术和热点研究领域。为了更好地实现该项技术,完成自动化检测系统,本文通过分析多种算法,提出了Sobel算子和Hough变换相结合的方式提取道路线。经验证,该方法能准确识别出感兴趣区域内的道路线,满足文中提取道路线的要求。
道路识别与检测;Sobel算子;Hough;感兴趣区域
道路检测是基于视觉的车辆导航中的关键技术之一。从我国道路检测行业发展现状来看,道路检测问题可以简化为车道线的检测问题。车道线的检测与识别还在车道偏离预警系统、防碰撞系统等方面发挥着很重要的作用,目前已有不少相关技术公之于世。
在道路检测过程中,车道线识别的工作主要包括两个方面:首先是对原始图像进行预处理,目的是为了减少图像受光照、气候等不可避免因素的影响,以提高视觉系统的顺应性;另一方面是车道线特征点的提取。因此,在车道线检测过程中,通过对感兴趣区域的选取,缩小处理范围,增加图像预处理效果,为道路线的检测和识别提供更准确的判断。本文尝试多种算法,通过分析实验,选取出最适合本文所采取数据的检测方法。
车道线提取是车辆辅助驾驶系统中的基础部分。本文的道路检测流程为图像读取、设定感兴趣区域、图像预处理,最后对图像道路线进行提取。在对图像进行多种算法处理后,并给予相应的结果对比展示,方便对不同算法效果的直观判断,如图1所示。
图1 流程图
在图像预处理的过程中,由于获取图像的工具或方法不同,会影响所获取图像展示的信息完整度,或者会显示不必要的信息,这就更加凸显了图像预处理的重要性。为了确定处理图像的流程,找出合适的算法,需要不断分析和试验。主要包括:改善图像的大小、色彩差到灰度的转变、图像二值化、平滑处理等方法,通过对图像加以处理,可以有效改善图像数据质量,以保证图像的提取效果。
本文先简单介绍图像预处理技术,然后着重讨论了图像噪声处理和二值化的原理和方法,并用MATLAB开发工具实现了上述图像预处理并给出了各算法对应结果。
针对噪声处理,本文采用了空间域算法,该算法比较简单,对于车道线检测实用性很强。空间域算法有三种基本算法:中值滤波、均值滤波和边缘保持平滑法。由于边缘保持平滑法耗时较长,降低了道路线检测的效率,不符合本文对实验的要求,因此,需通过对比分析在中值滤波和均值滤波算法中选择一种。
中值滤波是非线性空间域滤波的一种常用方法。由图像处理结果可知,中值滤波法对于消除椒盐噪声非常有效,并且可以有效保护边缘信息。但在利用中值滤波去噪时,要根据图像的大小选用不同的模板进行试验,并不是选用的模板越大,去噪效果越好。图2(a)和图2(b)为不同模板的中值滤波去噪。图2(c)为均值滤波去噪效果图,而均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点[1~2]。因此,通过对比分析,对该图像处理采用中值滤波能达到更好的效果。
图2 不同滤波对比图
4.1 有效区域设定
在外业当中由摄像头拍摄的图像包含了大量的无效信息,例如天空和周边环境等不必要的信息,增加了系统的计算量。此时我们可以选定有效区域,只对有效区进行处理,不仅减少了计算量,而且提高了计算速度和效率。有效区的设定比较简单,由于摄像头的方向是固定的,因此每张照片中所拍摄到前方的最远距离大致相等,利用MATLAB软件读取出照片的像素以便于寻找到合适的区域。经试验可得,将像素的位置设置为[600 600 600 2000]最为合适。
4.2 图像的灰度化及阈值分割
本文中所用图像都是采用RGB颜色模式,若是直接对这种类型图像进行处理,所得结果并不能反映图像中车道线的特性,而只是从光学的原理上进行颜色的调配。而且由于图像会受到外界因子的影响,例如阳光、雨雪等,为了去除不必要的噪声,方便图像的处理,需将彩色图像灰度化,灰色图像不但可以反映整幅图像的整体和局部的色度和亮度等级的分布和特征,还削弱了彩色图像中不必要的图像信息,利于对图像的处理。因此需要将彩色图像灰度化。
灰度化后的图像,仍然不能直接被用来识别和提取车道线,还需将图像通过阈值分割,最终将原图像分为阈值为0和1的两个图像。确定阈值是分割图像的关键,但是已有选择阈值的方法多是单阈值法,不适用于多目标识别。而Otsu算法计算相对简单,在某些条件下不受图像对比度和亮度变化的影响,所以是该文中阈值自动选择的最优方法[3]。
迭代阈值法(OTSU):
(1)首先假设一个初始阈值T0,本文中白色的亮度值一般比较大,我们就将T0设置为128。
(2)用这个初始阈值T0对图像像素点进行分割,得到两组像素点集M1和M2。
(3)计算M1和M2中所有像素点的平均灰度值T1和T2。
(4)计算新的分割阈值T=(T1+T2)/2。
(5)重复进行(2)和(4)步直到T收敛。
通过上述的迭代阈值算法,可以得到一个自适应阈值T,将白色区域更准确的分割出来。图3为Otsu算法的效果图。
图3 Otsu算子效果图
4.3 感兴趣区域的边缘增强
将图像灰度化之后,需要增强道路线的边缘信息,是道路线检测中不可缺少的一步。边缘检测算子[4-5]是利用灰度值的不连续性来检测边缘的,大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多用于边缘检测的方法,他们大致可分为两类:基于搜索和基于零交叉。基于搜索的边缘检测的方法有Roberts Cross算子,Prewitt算子,Sobel算子,Kirsch算子等;基于零交叉的方法有Canny算子,Laplacian算子等。
在实际状况中,因为外界环境的变化,所需检测的车道线边缘可能与视角有关,也就是边缘可能随着视角不同而变化。而Sobel算子有两种,一种是检测水平边缘,另一种是检测垂直边缘[6~7]。与Prewitt算子相比,Sobel算子它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致,有着较为明显的优势。经过验证,由图4的对比图可知,采用Sobel算子中水平和垂直方向的模板综合使用,可以达到不错的效果。
图4 Sobel算子不同模板对比图
4.4 Hough变换检测车道线
在对图像进行Sobel算法处理后,通过聚类分析的方法对图像中的车道线进行检测,其中最普遍应用的就是Hough变换方法,它的本质就是将图像空间内具有一定关系的像元进行聚类。Hough变换的主要优点是受噪声和曲线间断的影响小。利用Hough变换可以直接检测某些已知形状的目标,如直线。由于文中所研究的道路是结构化道路,大多都是直线,并且有着明显的边缘特征,所以用Hough变换来检测提取车道线比较合适。
Hough变换把在图像空间中的直线检测问题转换到参数空间中对点的检测问题,通过在参数空间里进行简单的累加统计完成检测任务[8]。但是如果参数空间中使用直线方程,当图像空间直线斜率无穷大时,累加器的计算复杂度也会过大[9~10]。因此,需采用极坐标方程来解决这一问题,变化方程如图5所示。
图5 Hough变换极坐标图示
直线极坐标方程为:
ρ=xcosθ+ysinθ
(1)
式中:l——图像空间中一条直线;
θ——为l过原点的垂线与x轴正方向的夹角;
ρ——为原点到直线l的距离;
(x,y)——为垂直点的坐标。
从图6中可以看出,对车道线进行边缘增强后,已经滤除掉很多不必要信息,车道线在图像中已经可以明显地显现出来。此外,车道线之外还有一些杂散的像素点,但对于Hough变换提取车道线并不会有很大的影响,因为Hough变换检测图像是从整体出发,将像素点连接起来形成直线,本文采用的Hough变换可以达到直线检测的目的。
本次实验通过对600帧城市街景影像进行道路线提取,利用本文所采用的实验流程和算法,对城市道路线的提取成功率达到一半以上,已达到一个不错的效果。但针对一些特定环境,会出现误检、漏检的情况。例如在阴影遮挡比较大或者道路中有道路线相平行的护栏等,都会导致检验错误。
图6 Hough提取车道线
文中通过对多种算法对比分析,提出了最适合该项目的提取城市车道线的方法。首先选取感兴趣区域,对感兴趣区域进行灰度化、中值滤波去噪,然后用Sobel算子增强边缘线,最后提取车道线时,采用了速度和效果都比较好的Hough变换算法[11~12]。本文章实验是在Matlab平台上实现,验证结果表明该算法能够有效检测车道线,并且运算简单。
虽然能够提取出车道线,但是仍然存在不足之处:
(1)在阴影遮挡影响严重区域下的车道线不能被分割出来,因此在车道线提取中存在缺漏现象。
(2)提取出来的车道线存在断线现象,不连续。
(3)该文中的算法具有局限性,并不适用于所有的道路线提取。
[1] 周志金.自动验布机系统中的织物疵点识别算法的研究与应用[D]. 南京:南京理工大学,2013.
[2] 石强. 基于噪声水平估计的图像与视频去噪[D]. 合肥:合肥工业大学,2013.
[3] 孙红光,卜倩,李欢利等. 基于OTSU分割的云层背景下弱目标检测算法研究[J]. 东北师大学报·自然科学版,2009(2):79~83.
[4] 冯伍,张俊兰,苗秋瑾. 几种典型边缘检测算子的评估[J]. 电子设计工程,2011,19(4):131~133.
[5] 张俊,傅攀,涂年杰等. Sobel算子边缘检测在A柱盲区消除系统中的应用[J]. 四川兵工学报,2011,32(8):106~108.
[6] 曾爱群,张烈平,陈婷. 基于MATLAB的芒果边缘检测的研究[J]. 微计算机信息,2007,23(33):313~314,303.
[7] 赵玲,张伟. 图像处理中边缘检测算法性能的分析[J]. 科技资讯,2014(14):23~24.
[8] 何扬名,戴曙光. Hough变换在车灯光轴交点检测中的应用[J]. 计算机工程与应用,2009,45(30):240~241.
[9] 陈盖凯. 基于Hough变换的直线检测[J]. 西安航空技术高等专科学校学报,2007,25(3):34~36.
[10] 张文武,尉宇. 基于快速Hough变换的图像纠正[J]. 机械工程与自动化,2010(2):23~24,27.
[11] 王晓云,王永忠. 基于线性双曲线模型的车道线检测算法[J]. 杭州电子科技大学学报,2010,30(6):64~67.
[12] 徐后杰,李会方,缪国锋. 基于单目视觉的车道线分离警告算法研究[J]. 微处理机,2011,32(3):72~74,78.
Study on Lane City Real Image Detection Method Based on
Sun Jiakuo,Liu Yang
(Beijing University of Civil Engineering and Architecture,Beijing 102616,China)
Urban road lane detection and tracking has become the core technology and hot research area.In order to realize the technology and complete the automatic detection system,this paper analyzes a variety of algorithms,and proposes a combination of Sobel operator and Hough transform to extract the road route.After verification,the method can accurately identify the road route in the region of interest,and can meet the requirements of this paper.
road recognition and detection;sobel operator;hough;region of interest
1672-8262(2017)03-124-04
P232
A
2016—11—17
孙家阔(1990—),女,硕士研究生,研究方向为地理信息系统及城乡规划。
北京市属高等学校青年拔尖人才培育计划项目(CIT&TCD201504032);北京市教委科研计划项目(KM201410016008);北京市委组织部优秀人才培养资助项目(2012D005017000001)