第1章 绪论
1.1 课题研究的背景和意义
随着城市化的发展和汽车的普及,交通环境日趋恶劣,交通拥挤加剧,交通事故频发,交通问题已经成为全球范围内人们普遍关注的社会问题。近年来,为解决交通问题世界各国都竞相开展智能车路系统和智能交通系统等领域的研究。智能系统的发展为改善交通环境状况,提高车辆行驶的安全性与可靠性,减少驾驶员人为因素造成的交通事故等开辟了广阔的前景。随之,智能车辆导航(Intelligent Vehicle Guidance)的概念应运而生。基于视觉的智能车辆导航可追溯到19世纪70年代初期的移动机器人研究,但由于当时的硬件水平还比较低,而图像处理的计算量非常大,研究者的精力也就过多地耗费在硬件平台的设计、实现和测试上。但随着计算机硬件水平的飞速发展,该问题得到了很好的解决。在智能车辆导航诸多复杂且具有挑战性的任务中,最受重视之一的是基于视觉的道路检测问题。
从理论上分析,在道路检测中,要获得道路环境的三维信息,需要采用双目或多目立体视觉系统[1]。但是,双目或多目立体视觉系统在实际应用中所需计算量很大,而且双目或多目立体视觉系统在视觉匹配问题上很难解决,而智能车辆在较高速度下的图像处理速度比一般情况下要高,目前的微处理器计算能力还不能完全满足其实时性的要求,所以目前双目或多目立体视觉系统还不适合在较高速度下智能车辆视觉导航中应用。当前,智能车辆视觉系统主要是获取道路平面的二维路径信息,而道路中的其它车辆和障碍物信息可以通过视觉系统、激光雷达测距仪及避障传感器系统进行信息融合得到。这就极大的提高了信息获取的可靠性,所以单目视觉系统仍然能够满足较高速度情况下视觉导航的要求。实际上,世界范围内大多数智能车辆视觉导航系统都采用单目视觉来获取道路环境信息。在单目或多目视觉导航系统中最为关键的技术就是计算机视觉。计算机视觉的主要任务是完成道路的识别和跟踪,对于信息采集处理的实时性、行驶过程控制的鲁棒性以及自主运行决策的可行性都有很高的要求。这些要求就使所设计的系统必须在理论算法上给予强大的支持,针对计算机视觉部分就是要有实时高效的图像处理算法。
对基于视觉的车道线识别研究意义在于能实现智能车辆乃至机器人的自主导航,提高驾驶的安全性,改善交通环境和驾驶的舒适性。识别技术用于车辆的路径偏离预警系统,大部分由于车辆偏离车道造成的事故可以避免。用于驾驶员预警系统同样具有重要意义。其次,识别技术可以用来提高智能巡航控制中跟踪引导车辆的精度。最后,识别技术可广泛应用于公路、码头、仓库等的自动运输系统中,实现车辆运输的自动化。
1.2 国内外研究现状
目前为止,国内外智能车辆无一例外地使用机器视觉作为其重要的感知方式,基于计算机视觉系统的导航技术具有价格低廉、结构简单、方便与其他传感器进行数据融合等优点,所以利用机器视觉识别公路上的车道线实现自主导航是现阶段智能车辆常用的方法。该方法己经被实际系统证明是最有效的外部环境感知方式,道路的识别是视觉导航的关键技术,因其较大的复杂性和挑战性而备受关注。
一部分学者致力于用多目视觉技术来解决这个问题。德国学者利用立体视觉方法来提高系统的鲁棒性,可是,多目视觉中存在一个无法回避的难题是图像匹配的实时性问题。日本通过当前图像与参考图像之间像素的迅速匹配,解决了巨大运算量的实时处理的困难。与此同时,许多学者试图用单目技术来实现道路检测,而且目前也已经取得了丰富的成果。其中法国学者提出一种视觉方法,仅利用一台摄像机得到路面的信息,就能够正确地跟踪有路标和无路标情况下的道路。该方法从图像中提取出道路的边缘特征,定位机器所在车道的位置,再采用车道的统计模型进行精确匹配,结果较为准确。美国也采用单目摄像机,通过图像序列测取道路环境的信息。
目前基于视觉导航的智能车辆[2]中比较有成效的是:美国Carnegie Mellon University研制的Navlab系列智能车,可识别和跟踪S形曲线和道路行车线,平均速度达到88.5km/h;日本丰田公司1993年研制的智能车,安装了2/3英寸CCD镜头,普通高速公路上的实验车速为60km/h;德国的UBM大学研制了装有4个彩色CCD构成双目视觉系统跟踪车道白线、避障和自动超车;法国帕斯卡大学与雪铁龙技术中心合作研究的Peugeot智能车,能判别引导线是否漏检或丢失,车速达130km/h;清华大学研制的THMR智能车辆系统集成了二维彩色摄像机、GPS、超声等传感器,系统可完成白线跟踪、路标识别、道路识别等任务;吉林大学智能车辆课题组研制的视觉导航的智能车辆实现了对路面铺设的条带状路标的视觉识别以及车辆自主导航的功能。
1.3 论文的研究内容
当智能车辆在公路高速行驶,视觉系统作为最重要的感知手段之一时,图像在识别外界信息中扮演着重要角色,如何通过图像提取车道线,目前有许多算法,例如像素扫描、模板匹配、霍夫变换和边缘跟踪等常用的车道线边缘像素提取方法,其中像素扫描是普遍采用的一种提取方法,具有灵活、高效、抗干扰能力强的特点。
在研究不同的算法在道路图像的应用过程中,图像的预处理至关重要。首先对一些图像的预处理算法,如图像灰度化、图像滤波、图像边缘增强等,用MATLAB进行仿真,比较它们的处理结果。因为不同的预处理方法影响检测的实时性和正确性,其中为了更多的利用彩色图像提供的车道标记线和沥青路面色彩的信息,本设计用彩色通道提取法得到灰度化图像。由于实际情况复杂多变,如遇到雨、雪天气,因此加入椒盐噪声模拟实际情况,并用各种常用的滤波模板处理图像。从处理后图像再现清晰度的效果中,选出最优的滤波方法。一般获得的道路图像中包含的信息都有车道线和路面两种信息,而由于车道线作为图像中的一种边缘,根据边缘的属性,可以用差分算子将边缘检测出来。通过对常见的差分检测算子和自定义的差分算子比较,可以看出后者更能增强车道线标记部分。在图像边缘增强后,不仅车道线得到了增强,许多树木、行人、车辆等也得到了增强,由此增加了许多虚假的边界。为获得更准确的车道线边界,本设计用融合边缘和区域信息的方法定位车道线,并且与自适应二值化图像比较,可以看出前者克服虚假边界的能力更强。最后,建立并提取车道线模型是最为关键的部分,本设计假设在结构化道路上,智能车辆仅采集的是前方不远处的道路图像,提出直线型车道线模型,而且该模型计算量小,在一定程度上能适应车辆在高速行驶过程中对实时性的要求。基于直线型车道线的假设,在图像中提取特征直线时,用hough变换及其改进的算法和中值截距法进行提取。通过比较,改进的hough变换——随机hough变换实时性最好,并且对其它图像进行检测,一定程度上随机hough变换的鲁棒性也符合要求。
第2章 单目视觉系统
2.1 引言
为了准确识别道路环境,视觉导航系统理应获得车辆前方道路的三维信息,包括车辆与道路的位置关系和道路中障碍物信息。要正确的理解三维世界环境,理论上应该采用双目或者多目视觉系统,但从立体视觉的角度来解决环境重建问题,因为从现有的研究结果来看,直接通过对图像进行三维恢复获取环境信息有以下几个方面的困难:首先,计算量巨大。其次,匹配点寻找困难。另外,遮挡问题。例如,左右视野的部分场景不匹配、左右视野环境光的不同都使得户外环境下的基于像素的视野景物深度恢复困难重重,如今的立体视觉研究者多数简化了这些不利因素的影响。即使这样,双目或者多目视觉系统需要的计算量仍是比较大的,目前计算机的计算能力还不足以满足车辆导航系统的实时性要求,因此双目或者多目视觉系统一般用于复杂、未知环境下低速行驶的智能车辆,并且双目或者多目视觉系统也会提高系统成本。对于道路检测来说,需要获得道路方向和车辆与道路的位置关系,也没有必要一定要完全理解整个三维世界环境。目前基于视觉导航的智能车辆多采用单目视觉系统完成道路检测及跟踪,而采用多目视觉系统完成道路上的障碍物检测。当采用单目视觉系统检测道路时,由于从三维的世界环境转换到图像的二维信息,在这个转换过程中,损失了三维环境中的深度信息,而且这个过程是不可逆的。通常为了从单目视觉系统中获得道路的三维信息,对此提出了一些合理的假设,如道路平坦假设、道路边缘连续性假设、道路模型假设等。从国内外实验情况来看,采用了一些合理假设后,单目视觉系统进行道路检测是可行的。
2.2 单目视觉导航系统成像模型
为了得到图像中的像素和实际道路区域点的对应关系,必须知道二维图像信息和三维世界信息的关系模型。由于单目视觉系统损失了三维世界中的深度信息,这个过程是不可逆的,在实际应用中,根据需要作了一些假设和已知一定的信息,从而从二维图像中估计出三维的道路信息。具体的做法如下:假设车辆前方的道路是平坦的,设定摄像机的安装位置固定(安装的高度、俯视角、偏离角),摄像机的固有参数为常数(摄像机焦距、孔径张角)。由于在道路检测的过程中,只需要得到道路延伸方向、车辆的偏移距离,并不需要将道路的三维信息完全恢复,以上的假设是可以满足实际需要的。在摄像机成像几何模型中最常用最简单的是线性模型——针孔模型[3]。下面就摄像机成像模型进行介绍。
摄像机成像的实质是将三维道路场景信息变换成二维图像信息,这个变换可以用一个从三维空间(3D)到二维空间(2D)的映射如式(2-1):
来表示。上述的这种映射关系可以用透视投影针孔成像模型来近似解释。透视投影成像模型的特点是所有来自场景的光线均通过一个投影中心,它对应于透视的中心。图2-1(a)中经过投影中心
且垂直于图像平面的直线为摄像机光轴
,
为世界坐标系,
为图像平面坐标系,f为摄像机焦距。由几何关系可知,世界坐标系中的点
经投影中心
点在图像平面坐标系中的投影点为
,可以看出其成像是倒立的。为了避免这种倒立图像,现在假定图像平面位于
轴正半轴且与投影中心
的垂直距离为焦距
处,此时点
经投影中心
点在图像平面坐标系中的投影点为
,如图2-1(b)所示,可以看出
位于点
和点
之间,其投影大小与
完全相同,但是此时为正立的投影图像,这种现象在计算机视觉中也称为视网膜成像。
(a) 透视投影倒立成像图 (b) 透视投影倒立成像图
图2-1 透视投影图像
由于这种成像模型最简单,计算量小,在作了一些假设之后,适应于实际情况,因此本设计将单视目成像的针孔模型作为二维图像信息和三维世界信息的关系模型。
由图2-1(a)或图2-1(b)均可以得到
点与其在图像平面上的投影点
或
的映射关系,由图中几何关系可以得到透视投影方程式(2-2)所示:
即世界坐标系中
点与其在图像平面上投影点
或
的映射关系如式(2-3)所示:
2.3 本章小结
本章简单介绍了两种道路信息的获得方法,即采用双目或多目视觉系统和采用单目视觉系统。由于单视目系统在实时性,系统成本上优于前者,所以目前常用的是单视目导航系统。从三维世界坐标得到二维图像坐标的方法中,简要讨论了单目视觉系统中最简单、常用的成像几何模型——针孔模型,由于在实际应用中,一些假设和已知一定信息的存在,该模型应用在车道线识别中是可行的。
3.1 引言
智能车辆视觉系统完成图像采集后,需要对获取的图像进行各种处理与识别。而视觉系统在图像的生成、采样、量化、传输、变换等过程中,由于CCD传感器的噪声、随机大气湍流、光学系统的失真等原因会造成CCD摄像机成像质量的降低。另外,由于车辆行驶时视觉系统与道路环境之间存在相对运动,输出图像的质量也会降低,常产生运动模糊等现象。为了改善视觉系统图像的质量,需要突出道路图像中的有用信息并尽可能消除其它环境信息的干扰,因此需要对原始图像进行图像的预处理操作。
图像预处理是指按特定的需要突出一幅图像的某些信息,同时,削弱或去除某些不需要的信息的处理方法。其目的是使处理后的图像对于某种特定的应用,比原始图像更便于人和机器对图像的理解和分析。
3.2 道路图像灰度化
大部分道路图像是通过彩色COMS图像传感器采集的,原始图像为彩色图像。其中颜色模型为RGB模型,图像中的任何颜色都是通过红(Red)、蓝(Green)、绿(Blue)三种基本颜色按照不同的比例混合得到的。在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值。因此,灰度图像每个像素只需一个字节存放灰度值,一般将白色的灰度值定义为255,黑色的灰度值定义为0,而由黑到白之间的明亮度均匀的划分为256个等级。在道路图像提取车道线过程中,很多算法没有利用图像的彩色信息而是将其灰度化。虽然,灰度化图像无可避免的丢失一些信息,但是对灰度图像的处理,从其存放方式可以看出速度相对较快。而对彩色图像的处理,就是分别对三个分量处理,可见速度相对较慢。于是将彩色图像转换为灰度图像,下面就常用的四种方法[4]进行介绍。
3.2.1 常用的灰度化方法
(1)分量法
将彩色图像中三个分量的亮度分别作为三个灰度图像的灰度值如式(3-1)所示,可根据需要选取一种灰度图像。
其中
为转换后的灰度图像在
处的灰度值。
(2)最大值法
将彩色图像中三个分量亮度的最大值,作为灰度图像的灰度值如式(3-2)所示。
(3)平均值法
将彩色图像中三个分量的亮度求平均,得到一个灰度图像如式(3-3)所示。
(4)加权平均法
根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感度最高,对蓝色敏感度最低,因此,按式(3-4)对RGB三分量进行加权平均能得到亮度较合理的灰度图像。
用MATLAB对分量法、最大值法、平均值法、加权平均法四种常用灰度化方法,对一幅道路图像进行仿真,结果如图3-1、图3-2:
通过图3-2图像灰度化的结果可以看出:在处理道路图像时,平均值灰度化彩色图像效果最差,因为图像大部分区域是路面,灰度化后,道路标记线被弱化。其它看来,感觉差别不大,原因在于所选图像的色彩差别不是很大,选用色彩差别明显的图像,可以看出加权平均法混合后可以得到更符合人类视觉的灰度值。由于篇幅有限,这里不再用其它图像说明。
通过方法的介绍可以看出,以上的灰度化方法,并没有更多的利用彩色图像提供的色彩信息,而是大致通用的一些方法,没有考虑到图像的特征。本设计采用的是下面一种彩色通道提取[5]的方法。
3.2.2 彩色通道提取灰度化
彩色通道提取的主要目的是根据车道标志线的色彩信息,提取一定的颜色通道,形成突出车道标志线块状结构的灰度图像。车道标志线一般为黄色或白色,而路面多为沥青表面。在彩色图像中车道标志线上的点成像后,其R和G通道的颜色值相对大于B通道,而沥青表面的成像以灰色为主,其RGB三通道的颜色比较平均而且相对较小。因此试图通过提取R、G通道的方法突出车道标志线的块状结构是可行的。
为了从提取的通道合成灰度图像,在此将R、G通道的颜色值相加。具体是R、G通道颜色值之和在一定的阈值之上的像素点直接取灰度最大值255。而低于这个阈值的像素点,则被弱化。其在灰度图像中的像素值取(R+G)/2。综上所述,其变换原理如式(3-5):
式中,C——阈值;
R——像素颜色值的Red分量;
G——像素颜色值的Green分量。
从式(3-5)中可以看出,对于R、G通道颜色值较大的车道边缘点在灰度图像中其灰度值得到强化。而对于R、G通道颜色值较小的沥青路面其灰度值将被弱化。从而经过R+G处理后,得到的是车道边界强化的灰度图像。对于阈值C的选取,目前没有固定的方法,本设计的做法是,在车辆采集到的图像下方取一块条形区域,搜索B通道相对大的像素点,并计算出它们平均的(R+G)/2值,把该值作为整个图像处理时的阈值,使整个图像尤其是远方的车道线得到增强。用MATLAB对彩色通道提取法对道路图像进行仿真如图3-3:
图3-3 彩色通道提取灰度化
从图3-3中可以看出,车道边缘部分在灰度图像中得到了有效的增强,由于255表示灰度图像中的白色,因此图中车道标记部分基本都被染成了白色,起到了增强边界的作用。本设计选用彩色通道提取的方法灰度化道路图像。
3.3 图像灰度变换
道路图像灰度化后,灰度值通常只是集中在某个范围,为使图像的动态范围加大,图像对比度扩展,清晰度提高,特征明显,进行图像灰度变换[6]是必要的。灰度变换可以是线性变换,也可以是非线性变换。
3.3.1 图像灰度线性变换
首先,介绍线性变换。使用一个线性单值函数,对图像中的每个像素点做线性扩展,将有效的改善图像的视觉效果,增强对比度,而且计算复杂度低,易于实现。基本原理如式(3-6):令原始图像
的灰度范围为[a,b],线性变换后的图像
的灰度范围为[a',b'],
和
之间存在下列关系:
另外一种情况,图像中大部分像素的灰度值在[a,b]范围内,少部分像素在小于a和大于b的区间。此时,可以做如式(3-7)所示的变换:
这种两端“截取式”的变换使小于灰度级a和大于灰度级b的像素强行压缩为a'和b',显然这样将会造成一部分信息的丢失。不过,有时为了某种特殊的应用,这种“牺牲”是值得的。道路图像的大部分信息是路面,可以预见灰度值集中在某个区间,进行该变换是具有实际意义的。但是在道路图像处理中,压缩区间范围的不确定性,没有得到很好的解决,因此该方法是今后进一步研究的重点。