主动安全咋实现,给你汽车离道报警系统完整解决方案
1.1 项目背景
随着汽车的普及和高速公路的兴建,汽车的主动安全性能受到人们越来越多的关注,安全辅助驾驶已成为国际智能交通系统研究的重要内容。然而,研究表明,在驾驶员--汽车--道路3个环节中,驾驶员是可靠性最差的一个环节,80%以上的交通事故来自于驾驶员的错误。据统计,其中约有44%的交通事故与车辆行驶偏离正常车道有关,其主要原因是驾驶员注意力不集中或者疲劳驾驶,造成车辆的无意识偏离。针对此情况,行车过程中的车道检测及报警的研究,受到了世界各国的高度重视。
1.2 系统功能及项目目标
系统的主要功能分为下面五个部分:
(1)通过摄像机获取车道信息,即视频帧图像
(2)对得到的视频帧图像进行预处理
(3)对预处理后的图像进行边缘提取,获得车道标识
(4)根据车道标识进行离道评估
(5)根据评估结果做出相应报警措施
系统的要求及目标:
(1)系统的所有功能和算法都使用FPGA实现
(2)系统能满足实时处理要求,达到系统的实用性
2.项目方案
2.1 功能模块
从功能上,车道偏离报警系统可分为4个功能模块,分别是:车道识别预处理(Preprocessing)、车道模型判断(Mode Selection)、车道识别(Lane Detection)和道路偏离判断(Warning),采用例图表示系统功能,如图一所示。
图(一)车道偏离报警系统结构图
1. 车道识别预处理模块
车道识别预处理模块是整个系统的基础,车道边缘特征点提取模块主要包括一些预处理的平滑算法,基于灰度阈值分割的车道外边缘检测和车道图像的二值化处理。
2. 车道判断模块
车道判断模块,根据道路的先验知识,通过直线或者曲线模型来确定车道线,将车道检测转化为确定数学模型的参数。车道模型分为直线模型,曲线模型和组合模型三种。
3. 车道检测模块
车道检测指在没有道路先验信息条件下,确定车道标志线的位置,用直线或者曲线拟合车道特征点,得到车道线的数学模型,用于车道偏离预警的判断。
4. 道路偏离模块
道路偏离模块根据车道检测模块得到的数据,利用车道偏离警告标准进行车道偏离判断,根据判断的结果和给定的阈值比较,做出相应警告。
从用例图中可以看出这四个模块的相互关系,在图像预处理模块和车道模型选择模块的基础上,启动车道检测模块。预警模块则依赖于车道检测模块,根据车道检测的参数,判断是否预警。
2.2 处理流程
该系统的流程图如图二所示:
图(二)车道偏离报警系统流程图
1.视频图像采集
根据摄像头的安装位置,摄像头可以分为侧视摄像(摄像头安装在车辆侧面)和前视摄像(摄像头安装在车辆前部,斜指向车辆的前方),本系统中采用前视摄像方式。
2.图像预处理
图像在采集过程中,由于路面存在坡度,障碍物,车道在远方还有天空等信息,这些信息具有很强的干扰性,因此捕获得到的车道不能直接用于车道检测。需要通过一些图像初始化,选择感兴趣的区域,以减少干扰和提高计算性能。为了消除噪音的影响还要做低通滤波,最后还要采用利用阈值对图像进行二值化分割,以获取更为清晰的车道线,简化了车道线检测。
3.车道检测
车道检测指在没有道路先验信息条件下,确定车道标志线的位值,用直线或者曲线拟合车道特征点,得到车道线的数学模型,用于车道偏离预警的判断。车道的视频图像具有连续性,车道线不会发生突变,因此,对于车道特征不明的单帧图像,可以引入前一帧图像的车道模型参数,提高检测的精度。同时,在前一帧车道线周围设置感兴趣区域,缩小检测范围,提高检测速度。
4.车道偏离判断
车道偏离判断的警告标准可以分为四种,基于车辆在车道中的当前位置,基于将来偏移量的不同,基于车辆将横越车道边界的时间,基于知识的道路场景感知。
2.3 硬件架构
本设计采用Xilinx公司的Nexys 3 Spartan-6 FPGA Board开发板,利用其上的Xilinx Spartan®-6 FPGA (XC6LX16-CS324) 的大容量逻辑资源完成各个模块。根据2.2节中的处理流程,系统应该包括以下模块:视频数据提取模块,预处理模块,车道检测模块,车道偏离模块,整体的硬件架构如图三所示:
图(三)硬件架构图
视频数据提取模块复杂提取车道视频图像,并通过USB控制单元将视频帧传输到预处理模块。在预处理模块对视频帧图像进行加强,得到车道与背景分割的二值化图像。在车道检测模块中将二值化图像的中的车道进行拟合,得到清晰稳定的车道信息。最后根据车道的信息参数,判断汽车离道。
汽车离道报警Spartan-6FPGA预处理车道检 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)