摘要:目前高速公路上由于车道偏离而导致的交通事故造成了巨大的损失,从而使得车道偏离预警系统的研究成为了社会的一大热点。本文基于DSP 计算和FPGA 计算,构造出一套基于视觉的车道偏离预警系统。本文给出了系统的框架结构以及硬件实现方式,并基于所提出的系统详细研究了视觉系统中大容量数据的传输、存储和处理等问题。最后,基于构造的系统,通过一系列典型的视觉处理算法和应用于车道跑偏决策的软件算法,验证了系统的可行性。
1、引言
汽车驾驶是涉及驾驶员、汽车、道路三方面因素的动作行为。驾驶员通过眼睛等一系列生理器官感受道路信息,通过对道路信息的理解和判断,及对汽车行驶状况的跟踪,做出一系列的驾驶决策。但是由于驾驶员长时间驾驶、粗心大意等一系列因素及驾驶员对道路信息的感知和车辆状况的了解存在一定的“盲区”,导致的交通事故越来越成为社会的一大主要安全隐患。本文从驾驶员、汽车、道路三方面入手,研究一套模拟人的驾驶行为来提高车辆行驶安全性的汽车主动安全系统,实现车道偏离预警等主动安全技术。
在基于机器视觉的系统中,实时性一直是一个主要的问题,尤其是像车道偏离预警这样的系统来说,要实现的算法更是覆盖了从图像预处理到高层视觉计算的整个视觉计算流程,既有底层的可高度并行实现的大数据量的卷积、灰度变换等规整算法,也包含有中层的特征提取等模式识别算法及高层的一些视觉处理方法,用以实现对道路的理解等。一直以来,嵌入式系统的通用性与效率一直是难以调和的一对矛盾[1],如何构造一套较通用的视觉处理系统,对于视觉各个层次的并行及串行算法,都具有较高的实现效率是本文要解决的一个问题,高速的DSP 处理芯片和大规模可重构芯片的出现为我们提供了一个很好的解决方案。
大规模的可重构芯片,诸如 FPGA 等,内部集成了大容量的基于查找表结构的门电路系统,非常适合构造细粒度的SIMD 处理阵列或者流水线结构,而这对于如图2 所示的典型的底层图像处理算法[1],具有着天然的适应性。TI 公司的C6000 系列的DSP 计算芯片,采用哈佛结构,内部具有8 个处理单元,还集成了专用的硬件乘法器,适合于完成一些串行的视觉处理算法,对于高层的数据量较少的但运算过程较复杂的道路理解等,具有较好的实现效果。
基于上面的分析,本文结合高速的 DSP 计算芯片和可重构的FPGA 芯片构造一套高速的嵌入式视觉处理系统,FPGA 作为辅助逻辑控制和前端处理模块,主要完成图像的前期采集和一些类似直方图统计、卷积等底层的高密度图像处理工作,可在硬件结构上灵活的配置,通过实现一系列的并行结构或流水线结构完成底层的算法,避免由DSP 完成这些细粒度的算法而造成资源的浪费和时间上的损耗;DSP 作为主要的计算中心,完成高层的串行为主的视觉处理任务,诸如道路理解和解释、车道跑偏决策等,DSP 的高速处理能力能较好的完成这些串行度高的算法。系统的基本框图如图2 所示。