基于灰度特征的非结构化道路分割
2015-12-10龚波陆玲曹旭光
龚波 陆玲 曹旭光
摘要:提出了一种基于道路灰度特征的分割方法,首先对道路图像进行预处理,包括图像分割、灰度化、平滑滤波等,再对图像进行分块标记并计算特征值,然后利用改进的区域生长法提取道路区域。该方法具有一定的实用价值。
关键词:非结构化道路;区域生长;道路分块
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)26-0147-03
Unstructured Road Segmentation based on Gray feature
GONG Bo, LU Ling, CHAO Xu-guang
(School of Information Engineering, East China Institute of Technology, Nanchang 330013,China)
Abstract: We propose a segmentation method based on the gray level of the road. In this method, the road image is pre processed, including image segmentation, gray scale, smooth filtering, and then the image is segmented into the small image and the feature value is calculated. Then the road area is extracted by the improved region growing method. This method has a certain practical value.
Key words: unstructured road; regional growth; road block
1 绪论
随着科技的不断发展和人类生活水平的不断提高,人们对智能汽车的关注也在不断提升,智能汽车的研究具有较大的现实意义,其中最重要的作用之一是可以提高汽车驾驶的安全性。道路识别算法是智能车无人驾驶研究的一个重要部分。
常见的行驶道路主要分为结构化道路和非结构化道路两种,本文重点对非结构化道路进行分割。许多学者在这方面进行了研究,如贾嫣等[1]针对雨雪天气的特殊性利用HSV空间中的H空间进行模糊增强,并选取阈值进行道路的粗分,使用形态学对图像的降噪,最后使用边缘检测得到道路边缘。熊思等[2]利用高斯金字塔对图像进行降采样,对图像进行双边滤波抑制噪声,采用基于小波变换求模极大值的方法对滤波后的图像提取边缘,通过阈值法去除非道路边缘点,给出基于斜率和截距的K-means聚类算法,实现道路方程拟合。吕艳鹏等[3]应用MATLAB使用Otsu法对道路图像进行分割,再利用数学形态学和阀值面积消去法对图像进行去噪处理,然后利用Roberts算子检测出道路边缘,最后利用最小二乘法对图像进行曲线拟合,得到平滑的道路边界曲线。吕艳鹏等[4]对非结构化道路的彩色图片,利用熵、对比度等纹理特征值作为BP神经网络的输入层,进行网络训练。,然后将图片中的每一个20×20小块的纹理特征值输入BP神经网络的输入层,经过运算判断小块是否为道路部分。龚建伟等[5]提出了一种结合多线程技术和多层感知器自监督在线学习技术的道路识别算法,算法中道路图像采集、分类器训练、训练集更新、分类器识别等计算操作分别在各自线程中实现 ,算法具有较好的自适应性及实时性。
我们根据道路的灰度特征,利用分块方法计算每块的灰度方差,并通过区域生长分割道路区域。
2 道路图像预处理
道路图像预处理主要是为了去除一些与道路无关系的干扰信息以及对道路图像特征信息进行增强处理。
2.1 图像分割
根据道路图像中的道路分布可知,一般情况下道路处于图像的中下部。为了提高处理速度,去除每一幅图像的1/3上部部分,只保留与道路信息相关的下部2/3部分,如图1所示。
2.2 图像灰度化
由于大多数道路及边缘没有颜色特征,而道路中的灰度变化比道路边缘小,因此先将彩色图像(图1a)进行灰度化处理,采用平均法将道路的彩色图像变为灰度图像,如图2a所示:。
Gray=(B+G+R)/3
2.3 图像平滑滤波
平滑滤波是对图像进行模糊处理和降低噪声,常用的3×3和5×5均值滤波器如下[6]:
3 道路图像分块
为了区分道路与道路边缘的区域,同时又为了消除一定的干扰信息,对图像进行分块处理,以每个块作为一个处理单元(以下称为单元块),根据道路及边缘的特征,通过对单元块中的像素灰度分析,确定单元块的位置是否处于道路内部及道路边缘。
3.1 单元块的大小
单元块的大小确定是道路识别的关键。单元块过大,会导致块中灰度信息过多,不能突出道路边缘的特征;单元块过小,会突出干扰信息,使道路识别结果出错。经过实验得出w/20×w/20(w为图像宽度)单元块的处理效果较好,考虑到要突出弯曲道路边缘信息,单元块选定为长矩形区域较合适,即单元块的宽度为w/20左右,高度为w/30左右。如图3a所示。
3.2 单元块的特征值
为了区分道路与道路边缘,采用单元块中的像素灰度均方差作为单元块的特征值。
灰度均值 [A=1MNi=1Mj=1NI(i,j)]
均方差 [σ=(1MNi=1Mj=1N[I(i,j)-A])12]
使用如下简化式代替均方差:
[σ=1MNi=1Mj=1N|I(i,j)-A|]
式中:I(i,j)-----单元块中像素灰度值
M、N-----单元块的宽与高(以像素为单位)
可以得出,单元块处于道路中时,特征值较小;单元块处于道路边缘时,特征值偏大。而单元块处于道路外时,其特征值不确定,取决于道路外的环境特征。如图3b所示,图中的灰度大小代表特征值的大小。从图中可以看出,道路中的单元块特征值基本上都小于道路边缘上的特征值,根据这个特点,设定合适的阈值(称为单元块阈值),从道路中部开始进行区域生长,将道路提取出来。
3.3 单元块阈值的确定
单元块的阈值取决于道路中的灰度变化情况,如果道路较少裂痕与干扰信息,道路区域内是一个特征值较小的连通域,所选的阈值可偏小;否则选的阈值偏大些。如图4显示了不同阈值效果图。当阈值较小为8时,如图4a,道路中的水印及接缝影响较大;当阈值较大为22时(如图4d),道路的连通域延伸到边缘外部,不能提取出道路信息。可见,阈值的取值范围还是较大的。经过对大量道路图像的试验,阈值取值在14左右比较好。图5为不同道路的提取结果。
从图5中可以看出,低于阈值的区域除了道路区域外,还有道路外的部分区域,为了从这些低于阈值的区域中定位道路区域,本文提出使用改进的区域生长法识别道路区域。
4 道路分割
4.1 区域生长法
区域生长是从满足检测准则的点开始,在各个方向上生长区域,当其邻近点满足一致性准则就并入小块区域中,当新点并入后再用新的区域重复这一过程,直到没有可并入的邻近点时生成过程就完成。区域生长的分割方法的关键是在于定义一个一致性准则,用来判断两个邻接的区域是否可以合并[6]。
区域生长法的两个关键点是选取起始生长点和确定生长准则。一般情况下,起始生长点的选取是随机性的,但对于本文中的道路识别,需要生长道路区域而不是其他区域,因此必须选择道路区域中的单元块种子作为起始生长块,即在道路区域内选择单元块小于愈生长的单位也是以单元块为单位而不是像素。根据前面的实验结果,生长的规则是单元块的特征值小于阈值,是全局特征而不是局部特征,这样可以消除道路中的干扰因素,否则如果起始生长点的特征值偏大或偏小,会影响整体生长结果。
4.2 改进型区域生长法
改进型的区域生长法基本思想是:1)根据道路图像的分布特点定位道路区域中的一个种子单元块。一般可取图像中下位置处的单元块。如果种子单元块的特征值大于阈值,则把该单元块合并到道路区域;否则不合并到道路区域。2)对其四邻域单元块进行搜索,计算四邻域单元块的特征值,如果大于阈值,则把该单元块合并到道路区域。3)对每个新合并的单元块重复(2),直到没有大于特征值的单元块为止,就完成了区域生长的分割。
5 结束语
本文提出了基于单元块的道路区域分割算法,该方法是根据道路中灰度特征,以单元块作为单位,选取合适特征值和阈值,通过改进的区域生长法,对道路区域和非道路进行分割处理,该方法可以降低噪声的影响。改进的区域生长法是以单元块为生长单位,生长的规则考虑的是全局特征,可以消除生长区域的误差引起整体生长结果。本文方法比较适用于道路路面灰度比较均匀且没有大面积的障碍物覆盖道路边缘的情况下,而实际道路环境路况会比较复杂,在以后的研究中应该考虑各种因素的影响的情况。
参考文献:
[1] 贾嫣,李砚轶. 雨雪天非结构化道路识别算法研究[J].电脑知识与技术,2014.10(24):5741-5756.
[2] 熊思,李磊民.黄玉清.基于小波变换和K-means的非结构化道路检测[J].计算机工程,2014,40(2):158-161.
[3] 吕艳鹏,潘玉田.基于MATLAB图像处理的非结构化道路识别[J].机械工程与自动化,2014 (2):32-33.
[4] 吕艳鹏,潘玉田.基于BP神经网络的非结构化道路识别[J].机械工程与自动化,2014(3):178-180.
[5] 龚建伟,叶春兰,姜岩,熊光明.多层感知器自监督在线学习非结构化道路识别[J].北京理工大学学报,2014,34(3) :261-266.
[6] 陆玲,李金萍. Visual C++数字图像处理[J].中国电力出版社,2014.