采用Hough变换的道路边界检测算法
2012-08-18史晓鹏何为韩力群
史晓鹏,何为,韩力群
(北京工商大学计算机与信息工程学院,北京 100048)
采用Hough变换的道路边界检测算法
史晓鹏,何为,韩力群
(北京工商大学计算机与信息工程学院,北京 100048)
基于计算机视觉的路况信息识别是当前智能交通领域的热点课题,对道路边界的检测能够有效去除路况图像中与路况特征无关的大面积区域,是提高路况信息获取实时性的关键技术之一,提出一种适用于一般场景中直线道路和弯曲道路的边界检测算法.该算法采用直方图均衡和Otsu二值分割增强道路边界特征,使用均值滤波降噪和二值形态学方法获取特征边界,最终利用分空间的Hough变换方法实现道路边界检测.实验结果表明,该方法能够准确地检测道路边界线并进行道路区域分割,为后续的路况分类工作提供了有效保障.
道路边界检测;Otsu法;Hough变换;智能交通;计算机视觉
快速准确地获取城市路况信息是智能交通技术的关键,对缓解交通拥堵具有重大意义.基于计算机视觉方法从实时路况视频中准确获取路况信息,是计算机视觉和智能交通领域中的研究热点,而对视频图像中道路区域进行正确的检测与分割,是实现路况识别的基础.通过对路况图像中道路两侧边界线的检测,去除与路况特征无关的信息,不仅可以大幅提高获取路况信息的速度,而且能够有效提升路况识别的准确度.
目前已经发展出了多种基于计算机视觉的道路边界检测方法,这些方法采用了不同的检测技术,其各自的视角与技术特点也不尽相同.其中,最具代表性的2类是:1)无人智能车视觉.该类视觉场景接近人类驾驶车辆时的视角,道路区域占图比例大,弯曲道路曲率小.文献[1]采用了一种基于动态规划的检测方法,将道路梯度图像强度作为路径代价,通过计算最优路径确定道路边界,然后使用随机Hough变换定位边界位置.这种方法的优点在于无需考虑图像的阈值分割,缺点是梯度图像一旦被复杂场景干扰,会导致道路边界提取失败.2)遥感图像视觉.其特点是道路区域占图比例小、特征细节少.文献[2]将像素光谱信息作为分类器特征进行道路检测,通过SVM方法获取图像高维特征,将图像分割为道路区域和非道路区域,然后利用光谱和几何特征精确分割出道路,该方法适用于遥感图像中的城市道路和乡村道路.
本文道路场景来自架设在道路上方的监控探头,该视角图像中含有大量路况信息,道路区域占图比例适中,但含有曲率较大的弯曲道路.针对本文的场景特点,提出使用简单快捷的算法进行图像预处理,以增强道路边界特征,利用形态学二值边界获取道路边界特征,通过Hough变换进行道路边界线提取,实现直线道路检测,并且通过分区域直线拟合,可以检测出曲线道路.实验结果表明,该方法能够对真实场景中不同类型的道路进行快速准确的检测.
1 基于Hough变换的道路边界检测
道路场景的复杂程度直接影响检测效果,场景选得过于简单,就会失去实际应用意义,过于复杂又会给检测带来很大困难.依据实际需求,并对大量路况场景样本进行分析,可以对一般道路场景提出如下假设:1)路况畅通,路面上允许存在正常数量的行驶车辆;2)道路边界较清晰,车辆对道路边界遮挡较少;3)光照均匀,并且阴影对道路的影响不大.本文挑选了不同时间段、不同路段,符合上述要求的路况视频中的图像,部分图像样本如图1所示.本文提出的道路边界检测算法分为边界特征增强、边界形状获取和Hough变换检测3个阶段.
图1 部分道路场景Fig.1 Part of road images
1.1 边界特征增强
对于不同路段采集的道路场景,道路区域的主要特征是两侧白色边界,该边界可能是道路的白色边界线,也可能是路肩.然而由于采集条件不同,道路图像无法得到准确的曝光,导致很难统一改善白色边界的图像质量;因此,首先采用直方图均衡方法提高图像对比度,使道路边界和道路内部暗灰色区域得以显著区分.除非路面上含有高亮区域,否则,在本文处理的场景中,道路边界特征均能被直方图均衡方法所增强.
直方图均衡实质是灰度变换,将直方图中相对集中的像素分布进行重新映射,使其均匀分布到[0,255],从而提高图像灰度值的动态范围,有利于白色边界线特征的增强.从图2中可以看出,直方图均衡方法能够有效提高图像对比度,使图像中白色边界区域特征得到增强.
图2 直方图均衡处理Fig.2 Histogram equalization
边界特征增强后的图像,采用阈值分割保留图像中的白色边界,得到二值化图像.获取阈值T的方法有很多,文献[3-5]中分别使用多次迭代、自适应和最大熵阈值分割,而本文采用最大类间方差法——Otsu算法.该算法是对灰度图像中明暗像素进行客观划分的方法,其客观性体现在划分后图像中明暗区域强度有最大方差和,这种特性恰恰适用于经过直方图均衡处理后,明暗像素分布在不确定区间的图像.在实际处理中,由于光照条件的影响,以及路面对光的反射性能时常变化,因此采用最大类间方差法进行阈值分割.获取阈值T后,对场景进行阈值分割,如图3.从图3中可以看出,经直方图均衡后的图像,使用Otsu算法进行阈值分割能够有效地保留道路图像中的边界特征.
图3 Otsu阈值分割结果Fig.3 Results of threshold segmentation by Otsu method
1.2 边界形状获取
由于在特征增强过程中,场景中存在的高亮小区域同样被增强,如道路车辆和路边树叶的反光.这些无用区域的特征增强使二值图像存在噪声干扰,这些噪声点的分布会给后续的Hough变换造成很大影响.因此在边界形状获取之前,采用均值滤波模板进行滤波,有效滤除大部分噪声点.本文使用保守的3×3滤波模板,从图4的统计结果中可以看出,采集的所有路况图像的道路白线宽度为3~5个像素,如果采用较大滤波模板,会导致白色边界被误认为噪声而被滤除.实际应用中,如果白线边界宽度足够,使用大尺寸滤波模板会得到更好的效果.
图4 边界像素个数统计Fig.4 Statistic of the number of edge pixel
滤除噪声后,需要获取图像中的边界形状,文献[6-8]中均使用Sobel算子进行边缘检测.Sobel算子是一阶微分算子,类似地还有一阶Robert、Prewitt算子和二阶Gauss-Laplace微分算子,从采集图像中挑选3幅测试各种算子的边缘检测效果,如图5所示.
图5 边缘检测效果Fig.5 Results of edge detection
从图5中可以看出,Robert算子检测定位准确,但边缘不够光滑,影响了道路边界的线性特征;Sobel和Prewitt算子由于模板中使用权重“2”的思想,平滑噪声的同时扩大了图像中的边缘,这虽然有利于道路边界的Hough变换,但由于边界噪声同样被扩大,会影响检测道路边界;Gauss-Laplace算子对图像中噪声的响应很大,同样会影响通过Hough变换检测道路边界.
基于以上考虑,采用二值形态学获取边界,选择4邻域结构元素,对图像分别进行膨胀和腐蚀操作,再将两者结果相减,得到二值形态学边界.该方法无需模板乘法计算,仅用加减法便可得到适合Hough变换的理想边缘.此外,本文还比较了膨胀图像减去原始图像的形态学外边界和原始图像减去腐蚀图像的形态学内边界,由于边界都不够光滑,效果均不如二值形态学边界,如图6.
图6 形态学边界Fig.6 Morphological edges
1.3 基于Hough变换的道路边界检测算法
1.3.1 直线道路边界检测
经过上述处理,可以得到较为理想的含有道路边界直线的二值图像,直接使用Hough变换便能实现对图像中直线边界的检测.Hough变换的基本思想是点-线的对偶性,即图像空间中共线的点对应参数空间中相交的线;反过来,参数空间所有线的相交点在图像空间里有直线与之对应.考虑到Hough变换的复杂性,本文采用文献[4-5]的目标搜索区域和极角限制方法,以提高Hough变换速度.
通过使用Hough变换,寻找参数空间曲线累加的最大点,可以对应图像空间中的一条边界直线,但这仅有的一条直线无法确定道路区域.一种解决方法是,寻找参数空间次大点,对应得到图像空间中的另一条边界,这种方法看似正确,但实际情况中,次大点并不对应另一条边界直线.原因可以归结为:道路图像采集过程中,拍摄角度会导致道路一条边界较短,直线特征较弱,相比于较长边界,较短边界的直线特征可能会被场景中噪声点淹没,分布不均的噪声点可能恰巧处于同一直线,从而导致较短边界检测失败.
本文的解决方法是:将图像分为左右空间,左边界在左半空间,右边界在右半空间,分别经过Hough变换,依据像素在图像空间的位置计算参数空间累加值,2个参数空间的最大点,分别对应图像中左右边界.该方法的优势在于除了额外需要像素位置判断外,没有增加其他运算开销.但理论上有可能出现2条边界在同一半空间,并且路况视频采集过程中也没有将左右边界分别取景于左右空间的先验知识.然而在对所有道路场景的统计中,边界均存在于各自空间,虽然含有部分边界越界现象,但较长的边界部分仍保留在各自空间.这种现象可以解释为:路况视频采集过程中,道路是拍摄主体,人们会不自觉地把道路区域取景在图像正中央,从而促使道路左右边界自然落在各自空间.
1.3.2 曲线边界检测与平滑处理
对于弯曲道路情况,由于路况图像视角中道路曲率较大,无法采用文献[9]中用2条直线近似代替的方法,因此将图像水平分割为3个部分,标记为上、中、下图像,对3幅子图像分别进行左右空间边界检测,然后将边界直线分段连接,用折线近似曲线来作为弯曲道路边界,并在折线连接点附近进行平滑处理,结果如图7所示.
图7 弯曲道路边界检测Fig.7 Serpentine road edge detection
实际应用中,在对上、下图像进行检测时,会出现左右边界不存在于图像左右空间的问题,如图7(b)所示,这是由于道路弯曲特性所致.通过对弯曲道路的分析,可知水平分割后的中图像的左右边界基本存在于各自左右空间.因此,可以通过中图像左右边界位置信息来调整上、下图像的左右空间划分方法.具体处理过程是:获取中图像左边界的上端点横坐标,将该坐标值作为上图像左右空间划分的x轴起始点;再获取中图像右边界的下端点横坐标,将该坐标值作为下图像左右空间划分的x轴终点,调整空间划分方法后,上、下图像的左右边界就能落在各自空间了.
2 实验结果与分析
实验采集了北京市二环和三环主干道路部分路段的路况视频,并依据道路场景复杂程度挑选出60幅符合条件的直线道路和弯曲道路图像.算法基于VC++6.0编译环境和OpenCV图像处理库实现,处理图像大小为640×320,所用PC配置为Pentium(R)Dual-Core T4200 2 GHz处理器、2 GB内存.部分实验结果如图8所示,在不同地点的道路图像测试中,算法能够较好地检测出图像中的道路边界.
图8 道路边界检测结果Fig.8 Results of road edge detection
实际应用中,符合本文要求的大部分道路图像都能够成功检测出道路边界,但仍存在检测失败的案例,如图9所示.当图像中存在与道路边界颜色相近的物体,且该物体直线特征很强,则会对检测造成干扰,图9中道路图像左侧边缘附近的一根较长的路灯杆被误认为道路边界.此外,图9中道路右边界特征较宽,导致边界检测结果不是人眼所见的实际道路边界线,存在一定的小偏差,但这种小偏差对后续路况识别[10-11]工作不会造成影响,是可以接受的.
图9 检测失败案例Fig.9 Detecting failures
此外,本文还使用了文献[6]的方法对60幅场景样本进行了检测,实验统计结果如表1所示.由于文献[6]的方法使用了固定阈值,部分场景在阈值分割时并不能很好地保留图像中的道路边界特征,导致边界无法正确检测.而本文方法对实际道路场景有一定的适应能力,错误检测的结果多是因为存在对直线特征较强的干扰,如路灯、桥梁等,因此,若改善视频取景条件,使用本文方法能够较好地检测道路边界.
表1 道路边界检测结果Table 1 Results of road edge detection
3 结束语
本文提出了一种适用于复杂场景中直线和弯曲道路的检测方法,通过采用一系列简单快捷的图像预处理,结合Hough变换和折线拟合,实现了不同类型道路的正确检测.在对大部分采集图像的测试中,该方法表现出了良好的性能.该方法主要解决了曲率较大的弯曲道路检测问题,为弯曲道路路况识别的实时性提供了良好保障.对于失败的实验案例,应立足于提取更好的道路边界特征,此外,后续的研究工作中将对存在阴影的道路图像寻求更好的解决方法.
[1]LIN Haiping,KIM Hyongsuk,LINE C S.Road boundary detection based on the dynamic programming and the randomized Hough transform[C]//International Symposium on Information Technology Convergence.Jeonju,ROK,2007:63-67.
[2]SONG M J,CIVCO D.Road extraction using SVM and image segmentation[J].Photogrammetric Engineering and Remote Sensing,2004,70(12):1365-1371.
[3]陈军,徐友春,赵明,等.基于随机Hough变换的道路边界识别算法研究[J].中国图象图形学报,2009,14(5):905-911.
CHEN Jun,XU Youchun,ZHAO Ming,et al.A randomized Hough transform based on road edge identification algorithm[J].Journal of Image and Graphics,2009,14(5):905-911.
[4]乔洁,李京华,杨志荣.基于Hough变换的道路边缘提取[J].交通与计算机,2008,26(1):62-64.
QIAO Jie,LI Jinghua,YANG Zhirong.Extraction of path edge based on Hough transform[J].Computer and Communications,2008,26(1):62-64.
[5]游峰,王荣本,张荣辉.基于单目视觉的区域交通智能车辆道路边界检测方法研究[J].公路交通科技,2008,25(6):135-140.
YOU Feng,WANG Rongben,ZHANG Ronghui.Study on road edge recognition method for cybercar based on monocular vision[J].Journal of Highway and Transportation Research and Development,2008,25(6):135-140.
[6]AUROBINDA R,KANUNGO B M.A fast edge detection algorithm for road boundary extraction under non-uniform light condition[C]//International Conference on Information Technology.Rourkela,India,2007:38-40.
[7]徐友春,王荣本,李克强.一种基于直线模型的道路识别算法研究[J].中国图象图形学报,2004,9(7):858-864.
XU Youchun,WANG Rongben,LI Keqiang.A linear model based road identification algorithm[J].Journal of Image and Graphics,2004,9(7):858-864.
[8]黄涛,丁俊进.基于机器视觉道路识别算法的研究[J].国外电子元器件,2007(4):34-38.
HUANG Tao,DING Junjin.Research of the road recognition algorithm based on the machine vision[J].International Electronic Elements,2007(4):34-38.
[9]侯德鑫,曹丽.一种基于视频图像的道路检测方法[J].仪器仪表学报,2006,27(6):324-326.
HOU Dexin,CAO Li.Approach for road detection based on video image[J].Chinese Journal of Scientific Instrument,2006,27(6):324-326.
[10]史晓鹏,何为,韩力群.灰度直方图与LDA的路况分类[J]. 智能系统学报,2011,6(4):328-332.
SHI Xiaopeng,HE Wei,HAN Liqun.Research on traffic information classification based on a grey-histogram and linear discriminant analysis[J].CAAI Transactions on Intelligent Systems,2011,6(4):328-332.
[11]王燕清,陈德运,石朝侠.基于单目视觉的非结构化道路检测与跟踪[J].哈尔滨工程大学学报,2011,32(3):334-339.
WANG Yanqing,CHEN Deyun,SHI Zhaoxia.Unstructured road detection and tracking based on monocular vision[J].Journal of Harbin Engineering University,2011,32(3):334-339.
史晓鹏,男,1987年生,硕士研究生,主要研究方向为图像处理与模式识别.
何为,男,1953年生,高级工程师,IEEE会员,中国人工智能学会理事、智能产品与产业工作委员会秘书长,中国计量测试学会高级会员.主要研究方向为非电量检测技术、计算机测控技术、嵌入式技术应用.主持或参与国家科技攻关、火炬计划、省部级、横向等各类科研项目30余项,发表学术论文30余篇,获国家发明专利3项.
韩力群,女,1953年生,教授,中国人工智能学会副理事长.主要研究方向为智能信息处理与图像工程技术,主持各类科研项目30余项,获国家发明专利3项、北京发明创新大赛银奖1项.发表学术论文120余篇,出版专著10部.
A road edge detection algorithm based on the Hough transform
SHI Xiaopeng,HE Wei,HAN Liqun
(College of Computer Science and Information Engineering,Beijing Technology and Business University,Beijing 100048,China)
Traffic information detection has become a hot topic in the field of computer vision and intelligent transportation systems.The detection of the road edge can effectively remove a large area which has nothing to do with traffic information in order to improve real-time traffic information detection performance.A road edge detection algorithm for straight and serpentine roads was proposed.Histogram equalization and binary segmentation by Otsu method were used to enhance the road edge features,while a mean filter and morphological binary edge were adopted to get rid of noise and obtain features.The Hough transform was used in different spaces to detect the road edge.Experimental results demonstrate that the road edges were detected accurately and the road area was extracted effectively by the proposed methods,guaranteeing the subsequent work of traffic information assorting.
road edge detection;Otsu method;Hough transform;intelligent transportation;computer vision
TP391.4
A
1673-4785(2012)01-0081-05
10.3969/j.issn.1673-4785.201109004
2011-09-08.
史晓鹏.E-mail:davidxp87@yahoo.com.cn.