基于单目视觉的车辆离道预警系统
扫描二维码
随时随地手机看文章
引言
(1)设计意图
随着自动化和微电子技术的高速发展,现代交通辅助工具越来越智能化,GPS导航、兴趣点提示、多功能辅助控制系统、甚至是无人驾驶,从军用交通工具融入普及到家用型交通工具,特别是最普遍的家用轿车,已形成一种不可逆的智能化潮流。
在此背景下,本设计将基于Avnet Spartan-6 FPGA 工业视频处理套件上实现一个车辆离道的关键预警机制系统。
(2)设计思路
目前有数个国内外汽车生产商已经采用了不同的车道保持辅助系统(例如奥迪Q5、大众高尔夫7代),此类系统均建立在一个数字图像视频处理的基础上,再通过检测车道等信息进行建模和预警。虽然投入商用的系统已经很成熟完善,预警机制的逻辑判断(启动条件、提前预警)考虑较为周全,但几乎都忽略了摄像头因为汽车载客不同和路面铺设而发生倾斜的情况,在算法中加入这个因素的修正对于未来精确控制和辅助车辆行驶具有实际意义。
本项目针对这个未考虑的因素,加入三轴加速计对关于镜头倾斜后图像处理的矫正,突破由于广角摄像头的光学特性的非线性变换问题,并建立一个简化的基于单目视觉的车辆离道预警系统模块对结果进行探讨,验证其精确度。由于整个项目侧重于图形算法方面,故只考虑车辆离道的准确报警,忽略复杂的辅助驾驶系统逻辑,而是为其提供进一步成熟完善的理论。
本项目在原始图像上预处理为边缘二值图像后再采用Hough变换算法,鲁棒性和抗干扰性较高,代替现有的DSP视频处理芯片,更快速地实现实时视频处理。
考虑到软硬件结合的灵活强大功能特性,本项目将基于EDK嵌入式系统开发平台,以MicroBlaze处理器为核心,实现软硬件的协同设计。
设计文档
(1)设计框图
(2)工作原理
CCD摄像头安装在车盘中轴前方,其光轴与车盘平行;由于车轴中心距左右分车道有一定距离,根据透视投影的基本原理,摄像头路面投影图像中左右分道线会形成一个角度,这个角度会因车的位置变化而改变,当车处于两条分道线中间,所得图像中两条左右分道线的夹角最大(其斜率一正一负), 当车辆偏移中线时,这个角度会逐渐变小,至离道存在一个最小夹角,但图像中该角度信息小于这个最小夹角的时候,报警机制就会发出警报。
摄像头摄入路面图像数据,存储到板内RAM;通过畸变矫正,保证显示的分车道尽可能实况;接着,通过三轴加速计水平矫正,使得图像x轴与实际路面平行;最后通过阀值分隔、边缘检测以及Hough变换的算法,重新构建出路面图像并建立分道线角度数据传送到预警逻辑状态机。
非线性的畸变矫正是水平矫正的前提操作,也是该系统中最重要的算法之一,通过摄像头参数和Matlab等软件的仿真模拟得出的网格坐标变换表,矫正广角镜头所引起的边角畸变,才可进行正确的水平矫正。
(3)Figure 2 系统工作状态图如下:
本项目中预警逻辑状态机较为简单,分三个状态:未启用,启用,报警; 车辆刚启动时,警报系统处于未启用状态,一旦满足预警启动条件(车辆正常行驶在两分道线中间并未打开转向灯)后,警报系统切换到启用状态;在启用状态下,如果车偏离车道,图像处理运算得到分道线角度数据满足离道条件(图像分道夹角小于警报最小夹角),则进入报警状态,警报立即触发;警报触发有一个较短的持续缓冲时间,在该时间内汽车重新满足预警启动条件则警报系统重新进入启用状态,如果依旧未检测到满足启用状态的分道线角度则进入未启用状态。如果最近所得分道线的角度数据处于安全范围内时,即使有小范围摆动,但认为车未偏离车道,警报不会触发;或者,车要转向,提前打开转向灯,那么警报系统处于未启用状态。
(4) Figure3 FPGA内处理图像流程
摄像头将摄入的原始灰度图像(如图1)传入到FPGA内部,最先通过阀值边缘检测,得到边缘二值图像(如图2)数据;当车出现倾斜后,摄入的图像会出现透视畸变,所以需要通过光学畸变矫正,得到矫正后与实况相符的边缘二值图像数据;这时,安装的陀螺仪会提供相应参数,对图像进行倾角旋转矫正,得到水平边缘二值图像(如图3)数据;在通过Hough算法转化为参数平面(如图4)数据,从中提取出分道线;随着车行驶的实况,随时对警报触发条件进行判断,出现离道,警报触发条件满足后,FPGA立马将预警逻辑相关信息输出,控制触发警报