本系统是针对现有市场上销售的车辆多注重于事故发生时对人身安全的保障(如安全气囊等),忽略了防范事故于未然的考虑而提出的。基于FPGA的司机眼球跟踪疲劳报警系统可以很好的解决上述问题,且相较于传统的DSP实现具有集成度高、处理速度快、功能更强大、方便改进内部设计等诸多优点。
1、研究意义
视频实时跟踪作为一个应用性研究方向,其应用愈加广泛,如军事、航空、防盗、视频会议等场合,特别是重要场合的安检系统成为新的应用领域。本系统将视频实时跟踪应用于对疲劳驾驶的司机报警,以避免交通事故的发生。“交通事故猛于虎”。近年来,国民拥有私家车的数量不断提高,与此同时交通事故的发生率也不断上升,车辆与安全问题已成为社会关注的热点。而其中疲劳驾驶引发的交通事故占事故总数的20%左右,占特大交通事故的40%以上;日本的一项事故调查统计显示,因疲劳产生的事故约占1%~1.5%;法国国家警察总署事故报道,因疲劳瞌睡而发生车祸的,占人身伤害事故的14.9%,占死亡事故的20.6%;美国国家公路交通安全管理局保守估计,每年因为疲劳驾驶而导致的车祸大约有10万起。可以说疲劳已成为安全行车的大敌。
现有市场上销售的车辆多注重于事故发生时对人身安全的保障(如安全气囊等),忽略了防事故于未然的考虑。司机眼球跟踪疲劳报警系统的设计可以很好的解决上述问题。传统的视频跟踪的图像处理过程采用DSP实现,首先在外围设备的设计上具有很高的布线复杂度,且测量精度受布线影响较大,其次设计调试具有很高的难度,在实际车内空间内往往需要更改某些参数设计等,这在实际使用中会受到较大的限制。为了克服以上缺点,急需研制一种功能强大、集成度高、方便更新内部器件的电路设计系统。
司机眼球跟踪疲劳报警系统应用视频实时跟踪原理,实时跟踪捕捉司机眼球(通过脸部图像跟踪和眼球识别),分析司机眼睛的睁闭情况并计算闭合时间,以此判断是否提出报警。本系统由摄像头及视频解码模块、显示器、LCD显示模块、开发板四部分组成。在系统设计过程中,我们以FPGA器件作为硬件基础,运用Xilinx的MicroBlaze嵌入式软核处理器,结合图像处理和动态目标识别算法,辅以必要的外围电路完成整个系统的搭建。为了提高系统处理速度,所有的主要处理过程都通过硬件方式实现,其中包括视频图像的实时采集、中值滤波器与FIR滤波器、相关图像处理算法等很多内容。
本设计主要适用于经常需要长途开车的司机,也可以面向各品牌的汽车制造商或一些交通安全保障部门。
2、系统原理
系统可分为四个模块:图像采集、特征提取、数据存储、人机交互界面
(1)面部图像数据的实时采集
通过摄像头获得的视频流经过外部的一个视频解码芯片,实现模拟视频信号向数字视频信号的转换,使其能够送入到FPGA内部做进一步的处理。
(2)图像处理功能
实现眼部特征的提取是本设计的核心算法部分,根据获得的眼部特征判断眼睛的闭合状态。利用MicroBlaze强大的运算能力,大部分算法由此软核运行C代码实现 。
(3)数据存储
FPGA内部的用户自定义模块可以将眼睛闭合时间超过设定门限值时的视频信息存储到CF卡中,在发生交通意外的情况下这些数据可以作为分析事故原因的重要资料。用户还可以通过选择,将存储在CF卡中视频信息在显示器中显示出来。
(4)人机交互界面
设计中使用高分辨率彩色LCD屏,实现可视化操作界面,根据用户需要,在发生报警时可以显示提示信息。同时利用触控屏,对界面进行功能选择,例如控制视频数据的存储等。
3、技术特点
(1)顺应时势的功能设计。随着社会生活的日益改善,汽车已经成为人们必备的出行工具,伴随而来的是交通事故频发,人员伤亡时有发生。而疲劳驾驶是交通事故的重要诱因之一。因此,设计出能够实时监测司机疲劳程度的检测器,当发现司机疲劳过度时报警,避免发生交通意外,防患于未然,通过这种方式来减少交通事故的发生。
(2)开发的周期短,可以很快的投入使用。利用MicroBlaze处理器的平台实现一种司机眼球疲劳跟踪系统,从设计理念上来说,利用软件实现必要的硬件连接,不仅在工作稳定性上有所提高,减少硬件连接,而且可移植能力增强,便于更快开发。
(3)实时的检测能力。因为汽车的速度往往是很快的,一旦检测到司机疲劳,需要迅速作出反应并报警提醒司机。系统利用MicroBlaze的强大数据处理能力,设计出具有很好的实时性的监测跟踪系统。
(4)高度的集成性。相比其他的视频跟踪系统,基于Xilinx公司FPGA的 MicroBlaze处理器内部具有丰富的外围设备,因此在芯片外部只需要很少的外围芯片即可。一方面可以降低成本,降低了开发和调试的难度,另一方面系统的体积也可以大大缩小,甚至可以做成单芯片系统,大大方便携带和使用。
(5)成本低,功耗小。由于MicroBlaze处理器的强大功能,可以减少很多外围芯片的使用,一方面可以减少产品的成本,另一方面可以降低功耗,这对需要一直“在线”的设备来说是很重要的。
(6)即时地大量数据存储。实时视频跟踪过程中会有大量的数据需要保存下来,利用MicroBlaze软核处理器的优势,引入CF卡可以方便地对这些视频数据进行存储,在司机没有及时对报警作出反应而导致发生交通意外的情况下,这些数据可以作为分析事故原因的重要证据。
图1 系统功能图
图2 基于MicroBlaze的系统硬件框图
4、系统软件流程
基于FPGA的司机眼球跟踪疲劳报警系统软件实现流程如下图所示。眼部特征的提取是系统的核心,通过眼部特征提取获得的信息来判断眼睛的睁开与闭合,并根据闭合的时间来确定是否启动报警系统。系统软件部分的功能主要包括三部分:
1.对摄像头获得的图像数据的处理,实现对眼球闭合状态的跟踪;
2.对重要数据的存储备份;
3.提供人性化的人机操作界面,方便用户的操作和存储结果的显示。
图3 软件实现流程图