第一部分:设计概述
安全辅助驾驶(Safety Driving Assist,简称SDA)是当前国际智能交通系统研究的重要内容,它主要解决交通安全的问题,对于困扰运输领域的交通堵塞及环境污染两个问题也有缓解作用。基于此,世界上很多国家都在加强车辆安全辅助驾驶技术领域的研究。关于安全辅助驾驶技术的研究主要集中在车道偏离预警,前方障碍物探测,以及驾驶员状态监测等方面。近20年来,车道偏离预警系统作为安全辅助驾驶研究领域的一个组成部分,已经受到越来越多的关注,很多国家都投入大量的人力、物力和财力进行系统研发。
车道偏离预警系统研究背景:
车道偏离报警系统( Lane Departure Warning System, 简称LDWS)是指汽车在高速行驶的过程中,在驾驶员没有示意车辆变道的情况下,车辆偏离了正常行驶的车道时, 利用报警方式提醒驾驶员修正车辆方向的汽车主动安全装置。车道偏离报警系统将会是继安全带、安全气囊后,在汽车内安装的又一项安全装置。在美国,1994 年由于车道偏离引起的伤亡事故占所有车辆伤亡事故的37.0%, 2000 年为42.0%, 2001 年则上升到43.0%, 平均每年上升0.75 个百分点。车道偏离报警系统在车辆偏离车道线时, 可以向驾驶员发出警示信号, 提示驾驶员修正车辆的方向, 提醒驾驶员集中注意力。有研究表明,车道偏离报警系统可以减少至少24%的车道偏离伤亡事故。世界上一些国家已经成功研制出一些各具特色的车道偏离报警系统, 如Auto Vue 系统、AWSTM系统、DSS 系统、SCARF 系统和ALVINN 系统等。在我国,车道偏离报警方面的研究起步较晚,还没有相关的产品问世, 只有吉林大学的汽车动态模拟国家重点实验室、东南大学仪器科学与工程学院进行了一些探索性的研究。经过探索性的研究表明, 基于视觉的车道偏离报警系统是一种切实可行的方案。
MicroBlaze嵌入式软核是一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。Xilinx公司的MicroBlaze 32位软处理器核是支持CoreConnect总线的标准外设集合。MicroBlaze处理器运行在150MHz时钟下,可提供125 D-MIPS的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。
设计摘要:
本课题是以Xilinx公司FPGA开发板上的MicroBlaze微处理器IP核为核心,和其它外设一起,针对于行驶在高速公路或者城市道路上的司机,设计出了汽车离道报警系统。该系统图像采集子系统、FPGA开发板和其他设备组成。图像采集子系统能实时地采集路面实况数据,数据进入系统后,它被实时地变换成可处理的格式,在处理器内部,首先进行预处理,过滤掉图像捕获期间混入的噪声,然后探测车辆相对于车行道标志线的位置。道路图像的输入信息流被变换为一系列画出道路表面轮廓的线条。在数据字段内寻找边缘就能发现车道标志线。这些边缘事实上形成了车辆向前行驶应保持的边界。处理器则要时刻跟踪这些标志线,以确定行车路线是否正常。一旦发现车辆无意间偏离车行道,处理器作出判断后输出一个信号驱动报警电路,让驾驶员立即纠正行车路线。报警电路采用蜂鸣器放出警告声音。
第二部分:设计结构
1.系统框图介绍
不管是哪一种车道偏离报警系统,都可以划分成三个基本模块:道路和车辆状态感知模块、车道偏离评价算法模块和信号报警电路,如图1所示系统运行的基本过程是:状态感知模块感知道路几何特征和车辆的动态参数,然后由车道偏离评价算法对车道偏离的可能性进行评价,一旦发现车辆无意间偏离车行道,处理器作出判断后输出一个信号驱动报警电路,让驾驶员立即纠正行车路线。报警形式可以是蜂鸣器或者喇叭,也可以用语言提示,还可以用振动座椅来提醒驾驶员。
图1 系统设计框图
车道偏离报警系统具体在硬件上则是通过装在车上的摄像头进行视频图像的采样,然后对表现为模拟信号的视频图像进行数字转换,将数字的视频信息传输给处理器单元,处理器单元根据算法要求进行计算,得出车辆偏离车道的实时状态,如果出现车道偏离或者将要出现车道偏离,系统将通过报警电路对驾驶员进行提示报警,防止意外发生。
2.硬件框图
图2 硬件框图
3.软件流程图
软件流程图如图3所示
图3 软件流程图
1.道路图像采集
本文主要研究车道线检测技术在车道偏离预警中的应用,图像在采集过程中,光照强度、障碍物遮挡、路边树木以及路面不平坦而导致的摄像头抖动都会对图像中车道线信息造成影响。因而,要想准确地提取出车道线参数,就必须对采集的道路图像在车道线检测之前进行预处理。在图像处理算法中,没有哪一种算法可以适用于各类图像,每一种算法都有自己的局限性。因此,在实际应用中,需要做大量的实验,并结合车道偏离预警系统的需要,选取适合该系统的算法。适用于本文检测算法的路面为摄像机视野上方可能会为天空或高山等背景的至少含有两个同向以车道线隔开的高速公路和城市道路。
2.图像预处理
根据投影理论,当摄像机光轴与地平面平行时,而车辆一般在下方的地面部分,因此图像下半部分有车辆的区域才是我们的感兴趣区域,只需要分析这部分的情况即可,预处理中一般把图像的下半部分划分为感兴趣的部分,而上半部分一律作黑色处理,从而使得预处理后的白色部分所表示的信息即为车道线。这样既较好地符合实际情况,同时算法简便,避免了处理大量信息的冗余,提高了计算速率。预处理分四步完成:
a.灰度化。这里之所以进行灰度化,是因为石子沥青路面为深黑色,而黄线为浅色,灰度化以后,二者在图像上就表现为一黑一白,易于操作,也便于后面的处理。
b.采用空间滤波技术去除图像中多余的噪声。可用的算法有直方图均衡化、领域平均、中值滤波等。
c. 采用道路图像的二值化分割对图像进行分割,以获取明显的车道线特征,大大简化了后面分析并检测车道标识线的复杂度。可用的算法有直方图波形分析法、最大熵法、最大类方差法等。
d. 划分感兴趣的区域。通过缩减检测区域的范围来减少冗余的数据,提高运算速度。常见的感兴趣区域的划分算法有:基于灰度图投影法、动态感兴趣区域。
3. 车道线检测算法设计与实现
车道线的快速与准确识别是实现车道偏离预警系统实时性和鲁棒性的前提和基础,本章在叙述基于曲线拟合的车道线检测的原理的基础上提出了一种基于LMedsquare选取最佳子集。LMedsquare的核心思想是对随机选择数据子集进行重复操作,直到至少有一个子集的数据能够达到一定的可信度(比如95%),它是一种随机采样算法。车道线检测算法包含以下几个步骤:
a. 种子点的选取。要想准确得到车道线坐标方程,就需要先找出车道线的中心点,再对车道线中心点的集合进行车道线拟合。因此,需要找出车道线中心点。在这里,可以根据车道线图像二值化后车道线的特征来找出车道线中心点,为下一步车道线参数拟合做准备工作。
b. 车道标识线的检测。在种子点归类后,我们就要判断待拟合的种子点数是否充足,在道路路况较好的情况下,近视野车道线比较清晰,自下至上扫描归类,一般都会获得数目比较充足车道线种子点数,则可以直接利用LMedsquare选取最佳子集的车道线检测算法进行参数的拟合。
c. 基于最佳子集的最小二乘直线拟合。运用最小二乘法拟合曲线是智能导航技术中常用的拟合算法,但是其最大的缺点就是对噪声比较敏感,显而言之,解决噪声的影响是准确地拟合出车道线参数的前提和基础。因此,在车道线种子点归类后种子点数目比较充足时,可以利用LMedsquare曲线拟合技术的思想选取最佳子集,以去除多余的噪声后,再利用最小二乘法在最佳子集内进行直线拟合,会得到很好的效果。
第三部分:系统原理和技术特点
1.首先用EDK软件XPS(Xilinx Platform Studio)构建一个MicroBlaze软核系统,FPGA内部CPU外围各种模块用Vhdl语言编写,然后再将FPGA外部模块通过FPGA接口与FPGA相连。
2.道路图像采集可以采用CCD摄像头。CCD摄像头安装于挡风玻璃内侧,驾驶台中央位置,采用长焦镜头,采集路面状况。路面信息码流处理应用Philips半导体公司的视频解码芯片SAA7115,它是一款多通道输入的视频解码器,支持多种视频信号格式,如PAL制、NTSC制、SECAM制等。SAA7115对于输入的视频信号自动检测并完成转换。SAA7115能提供捕捉各种标准清晰度信号的高性能。芯片采用一个小的100 引脚QFP14X142100A封装,并在其中集成抗锯齿滤波器和ADLLT( adap tive digital line length tracking,自适应数字列长度追踪) ,且支持多种视频信号格式,如PAL 制、NTSC制、SECAM制等,能对于输入的视频信号自动检测并完成转换。基于以上特性本设计选用其作为视频编码芯片,可以实现与FPGA的无缝连接。因外围电路与FPGA的处理速度相差甚大,故信号流要先经SN74CBT3245芯片缓冲,然后送处理器进行车道特征值得提取。
3.图像预处理技术
图像中含有丰富的信息,在车道识别中,并不是所有信息都是需要的。因此要对采集到的连续图像进行处理,去除无用信息,增强有用信息,有利于后续处理。在进行图像预处理时,车道检测部分对其进行反馈,可以增快它的处理速度。具体步骤包括图像灰度变换、图像噪声滤除、图像边缘检测、图像二值分割。
图像在采集过程中,由于光照强度、障碍物遮挡等影响因素,对采集进来的图像中车道线信息造成影响。因此,要想准确提取出车道线参数,就必须对采集的道路图像在车道线检测之前进行预处理。在图像处理算法中,没有哪一种算法可以适用于各类图像,每一种算法都有自己的局限性。因此,在实际运用中,需要做大量的实验,并结合车道偏离预警系统的需要,选取适合该系统的算法。
首先采用空间滤波技术去除图像中多余噪声。
然后进行道路图像的二值化分割将图像分割,这将大量压缩数据,而且将简化其后的分析和处理。
再进行车道线特征点搜索区域的划分,及感兴趣区域的划分,通过缩减检测区域范围来减少冗余数据,提高运算速度。
4.车道线识别算法
一是基于Hough变换的车道线识别技术。首先提取出车道线样本点,然后对样本点进行Hough拟合。用此法进行车道线检测时优点是不受车道线间断影响,有很好的抗干扰性。但其也有不足之处,到实际运用时需要通过做实验验证并进行改进。
二是基于LMedsquare选取最佳子集结合卡尔曼预测的车道线检测算法。首先进行种子点的选取,然后进行车道标识线的检测,最后进行基于最佳子集的最小二乘直线拟合。
5.车道偏离决策
我们是依靠机器视觉预警决策方法,可以用仅基于图像的车道线夹角法偏离预警决策方式,有两种报警方式:一是设定一个角度阈值为大偏航角分界,如果连续几帧图片检测结果显示车辆位置处于大偏航角状态,则立即报警。二是设定一个角度域值为小偏航角的分界,车辆位置处于小偏航角状态时,等待连续多帧图片处理结果,如果连续多帧图像显示车辆偏航角处于持续增大过程,则立即报警。
6.扩展功能:
在人为主动换道时,在离道之前打开指示信号,报警系统在车偏离车道时不会报警。
技术特点:
1.用EDK软件XPS构建MicroBlaze软核系统,简便而且高效地实现了系统设计对CPU的要求。在FPGA内的各种接口模块,将采用vhdl语言编写。
2.图像处理细节较多,而且图像处理每一步算法多样,在实际应用时要结合所采用的硬件,经过实际做实验,结合系统需要选取最合适的算法。
3.图像预处理算法中选取感兴趣部分。它不仅提高了计算速率,而且减小了不必要的信息干扰,为提高了检测的准确性和及时性打下了很好的基础。
4.车道线检测算法中采用了选取种子点以后的基于最佳子集的最小二乘直线拟合方法,它可以很好地除去最小二乘直线拟合法中常遇到的噪声干扰问题。
5.摄像头具有自动校正功能。在车里坐多人时,车底盘会发生下沉而且会发生倾斜,这时候摄像头会自动校正,依然可以检测出离道信息。