基于彩色特征的道路识别算法
吕高旺+王新晴+孟凡杰
摘要: 针对道路识别的问题,文章提出了一种基于彩色图像的结构化道路检测方法,由于受到光照的影响,首先将整幅图像的道路区域根据距离车辆的视野分成几个部分;将每个部分分别取一个小块并求取小块的三个分量的均值和方差,绘制出彩色三分量直方图,用统计规律确定每个部分的三分量像素值范围;最后将这几个像素值范围整合起来,可以将道路区域和非道路区域分割开来。该方法可以避免对图像的三分量逐个分析,运算量小,程序简短,检测速度快,基本满足对结构化道路的实时性要求,具有一定的抗光照的能力。
关键词:特征提取;道路识别;彩色图像
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)12-0195-02
随着科学技术的发展,自动化技术越来越得到研究者的重视,其中比较典型的便是无人驾驶技术,对无人车的研究也是当今比较热门的话题,如无人公交车已经投入到了人们的日常生活中。这些技术的核心就是自动驾驶系统,自动驾驶技术离不开道路检测系统,目前,随着私家车的不断普及和推广,研究道路检测的主动安全性尤为重要。目前已研发出的系统比较有代表性的如意大利帕尔马大学的ARGO系统、美国卡内基-梅陇大学的NAVLAB系统、德国慕尼黑联邦国防大学的VaMP系统、美国加州伯克利大学的PATH系统等等。这些系统所需要的关键技术便是道路检测。在日常城市生活中,人们上下班大多都是行驶在结构化道路上,因此针对结构化道路的研究是非常有必要的。
1 道路检测的基本算法与流程
道路检测的算法有很多种,有基于模型的算法、基于单目视觉的算法、基于小波变化的算法、基于神经网络的算法等等,不同的算法可以解决不同的问题,其用法和原理也不相同,研究人员可以根据研究的需要选择不同的算法。
根据人们的驾驶常识,本文首先定义两个假设,第一,道路颜色的变化是渐变的,不存在突变情况;第二,汽车驾驶的方向为前方。受到光照和视觉的影响,本文首先对图像进行预处理即图像的分块采样处理用以获取每个区域中的颜色灰度值,通过数理统计求出每个区域像素值的范围,确定范围之后,根据像素点是否在此范围中来进行像素点的筛选,在此范围中的像素点置为255即白色,不在范围中的像素点置为0即黑色,在统计完之后便形成了一个黑白相间的图像,在此图像上道路和周围的区域有着明显的区别,其算法流程图如图1所示:
2 图像的采样处理
在对道路进行识别之前,需要先做一下预处理。通过观察图像,可以看出路面、植物、建筑物、天空之间的像素值是不同的,为了从这些物体中识别出道路,取图像的前半部分,如图3所示,这样可以减少建筑物的影响。由于受到光照的影响,道路从前到后的颜色是不一样的,也就是亮度值不同,所以需要对图像中的路面进行分块采样以分别求出每个分块部分的亮度值,然后再整合在一起。根据图2的特征,大致可以取三块进行采样。块的大小通常为20*20的正方形比较合适。如图4:
3 像素点的统计
图像采样之后,需要对小块中的像素点值进行统计,以确定道路区域每个层像素值的范围。首先用imhist函数作出每个采样小块的直方图,如图5所示,由于是有三个分量,所以得到的是三个分量的直方图,通过直方图不难得出在直方图中的像素点值大部分的分布是比较集中的,但是也可能会出现出距离中心值比较远的部分,这时需要对其进行去除,以免对下一步的工作产生影响。对每个区域的所有像素点的RGB三个分量分别计算均值和方差,其计算公式为:
观察直方图可看出这些像素值的分布和正态分布类似,所以像素的取值范围大体上可以用来表示。
4 道路区域的识别
在经过上述几步处理完之后,道路区域每一小块每一层像素的范围已确定。首先,针对每一个小块的R、G、B三个分量,需要同时满足这三个分量的范围才是此小块对应于图像上道路区域的点,此过程可以用一个“&”来完成;其次,针对整个图像来讲,只要满足三个小块中的一个要求便是所要求的道路区域,此过程可以用一个“|”语句来完成。
5 实验结果分析
在程序执行完之后得到的图像如图6所示。值得说明的是,二值图(也即二进制图像)也是黑白图,但是此处的“二值图”和传统意义上的二值图有所区别,正常的二值图是通过设定阀值将一个图像转换为二进制图像,且图像是单层的,阀值以上的置为1,其余的置为0。
从图6可以看出,受到植物建筑物等的影响,图像有斑点和噪声,会有部分的干扰,为了解决这个问题使图像的道路显示的更为明显,采取中值滤波以去除图像中的斑点和噪声,其处理结果如图7所示。
从图7可以清晰的识别出道路区域以及道路标志线的位置这两个对于自动驾驶系统至关重要的部分。初次之外,为了体现出本算法的优越性,笔者在此特意用了图像的二值分割技术,二值分割技术是基于二值图进行图像的分割,不同的阀值可以得到不同的处理效果。设定三个不同的阀值分别为0.5、0.3、0.15,其处理结果如图8所示。本算法和二值分割一个最大的不同就是二值分割得到的图像是单层,而此算法得到的图像是三层。
6 结束语
本方法提出的是基于彩色特征进行道路的识别,在通过上述的描述可以看出本方法在道路检测上的优点,除此之外,本方法和一些比较复杂的算法相比,只需要很少的先验假设,而别的一些算法则需要大量的训练样本,例如神经网络和支持向量机等。而且训练样本的好坏也决定着算法的结果,本算法在秉承其他算法优点的基础上,还具有算法结构简单、速度快、方便实用等特点。不但可以用于解决结构化道路的检测,在非结构化道路中也有一定的作用。