APP下载

辅助驾驶中的红绿灯识别及其FPGA实现

2016-05-14翟社平李威马蒙雨

现代电子技术 2016年6期

翟社平 李威 马蒙雨

摘 要: 为了降低路况的复杂性和交通信号灯的多变性给司机带来的影响,模拟一种辅助驾驶情景,提出基于FPGA的颜色识别系统的设计,作为辅助驾驶系统中的交通灯识别模块。在识别系统中,使用颜色特征HSV作为特征提取算法。为了增强对交通灯识别的准确率,先对图像进行腐蚀操作,去掉小的噪点;然后再对图像进行膨胀操作,恢复对非噪声区域削去的部分边缘。实验结果表明,基于FPGA的识别模块可快速准确地识别红、黄、绿3种颜色,识别率达到97%。

关键词: FPGA; HSV; 图像的腐蚀; 颜色识别系统

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2016)06?0073?04

Traffic light recognition in auxiliary driving and its implementation by FPGA

ZHAI Sheping ,LI Wei, MA Mengyu

(School of Computing, Xian University of Posts and Telecommunication, Xian 710121, China)

ABSTRACT:To reduce the effect of the complexity of road situation and polytropism of traffic lights on drivers, the design scheme of a color recognition system based on FPGA is proposed by simulating an auxiliary driving scene, which is taken as traffic light recognition module in driver assistance system. In recognition system, color feature?HSV is used as feature extraction algorithm. In order to enhance the traffic light recognition accuracy, the image etching is carried out first to remove the small noise, and then the image expansion operation is conducted to restore some edge of non?noise area, which is chipped off before. The experiment results show that FPGA?based identification module can quickly and accurately identify the three colors of red, yellow and green. Its recognition rate can reach up to 97%.

Keywords: FPGA; HSV; image corrosion; colour recognition system

交通安全问题一直是人们关注的热点,路况的复杂性导致了交通事故的发生[1],辅助驾驶系统可以帮助驾驶员注意到更多的路况信息,能有效地维护交通的安全[2?3]。Mahipa.R.Yelal实现了圆形交通信号灯的检测[4],首先将图像的RGB颜色空间转换成Lab颜色空间,在Lab颜色空间[5]上进行颜色分割,依据聚类方法[6]得到候选区域;然后进行几何特征识别。该算法的缺点是在复杂环境中不能保证程序的性能。为了达到识别速度快、抗干扰能力强等要求,本文模拟辅助驾驶系统的情景设计,提出了基于FPGA的辅助系统的设计,该系统可以准确地识别红绿灯,辅助驾驶员注意路口交通灯的情况。

1 应用场景

基于FPGA的辅助驾驶系统的应用场景见图1。

当到达某一红绿灯路口时,GPS导航驱动FPGA开始工作,FPGA将分析采集到的视频图像信息。当分析到红灯亮时,FPGA首先发出提醒信号,然后降低发动机速度,直至车辆停止,以防止司机因种种原因闯红灯。

本文FPGA设计的总体框架如图2所示,主要分为以下几个步骤:摄像头采集视频图像信息,并将帧图像缓存于FPGA内存中;获得的图像信息使用RGB值表示的,将图像的RGB颜色空间转换为HSV颜色空间;匹配采集到的图像与目标图像的HSV分量值;最后,驱动外设完成相应的响应。

2 硬件电路设计

本文设计的硬件部分由主控制器、摄像头、VGA显示器以及马达控制模块组成。主控制器是Xilinx公司开发的BASYS3开发板,该开发板是围绕Xilinx Artix??7FPGA芯片XC7A35T?1CPG236C搭建的,内部时钟的最高频率可达到450 MHz,有33 280个逻辑单元和6个输入LUT结构,1 800 Kb的快速RAM块,5个时钟管理单元。还包含有3个Pmod连接口、12位的VGA输出接口,能够满足基于FPGA的辅助驾驶系统的设计以及后续的拓展需求。BASYS3核心板用于完成视频图像的实时采集与显示,颜色空间的转换,以及目标识别模块的电路设计。

2.1 视频的采集与显示

视频图像的采集用到的是OV7725摄像头,综合后的摄像头时序控制模块的电路图如图3所示。该模块根据摄像头的时序,对输入的时钟信号pclk、帧同步信号vsync、行数据有效信号href进行时序分析,摄像头的初始数据使用8位表示一个像素,驱动模块是将8位RGB像素转化为RGB565像素,并对应每一个RGB像素产生一个地址和一个写使能,以便将像素正确存到帧缓存之中。视频信号是通过VGA显示器进行显示的,VGA驱动模块的电路设计如图4所示。该驱动电路产生VGA时序信号、数据信号,时序信号用于同步VGA显示器。产生图像的行列计数值,以及帧缓存的读地址,用于读取BASYS3中的图像信息,并将该信息同步显示在VGA显示器上。视频图像的采集和图像的显示过程如图5所示,整体过程可以分为以下几个步骤:首先将摄像头采集到的图像信息读取出来,为每一个像素点指定一个位置信息;然后将图像信息缓存于核心板中;最后通过VGA驱动模块将图像信息显示在显示器上。

2.2 图像的处理

视频图像采集后需进一步的处理,图像处理框架如图6所示。处理完的图像信息经过特征的匹配才能完成目标的识别。

2.2.1 颜色空间的转换

HSV(Hue Saturation Value,色调、饱和度、数值)色彩模型是一种面向人类视觉感知的色彩模型,HSV的六面锥体结构如图7所示,其中H表示颜色的基本属性;S指颜色的纯度;V表示颜色的亮度。RGB 转换为 HSV 的转换方程如公式[7]如下:

RGB颜色空间对光照亮度变化较为敏感,HSV颜色空间中的H,S分量对光照的变化不敏感[8],因此为了减小亮度对运动目标跟踪的影响,先将图像从RGB颜色空间转换到HSV颜色空间,然后分析目标区域的每一个像素点,并在H通道上采样,得到目标的色调直方图,跟踪过程中,通过查询目标的色调直方图来实现运动目标的跟踪。电路设计的时序仿真如图9所示。RGB颜色空间和HSV颜色空间之间的转换为非线性,硬件实现需要考虑时钟同步、算法优化、实时性等问题。此模块内部调用了低延迟的除法器实现Hue分量与Saturation分量的高速计算,从而实现了RGB转换成HSV。

2.2.2 目标识别

计算得到HSV颜色空间的分量值,然后完成目标的识别与匹配,HSV 分量的匹配如图10所示,整个过程分为以下几个步骤:首先,提取目标颜色的HSV_B分量,将提取到的分量值存储于核心板中,作为参照值;然后,通过摄像头实时采集图像信息,并提取图像信息的HSV_A分量,对HSV_A与HSV_B做差值运算,当差值小于阈值时,认为该像素点的颜色与目标颜色相近,并对该像素点进行标注;最后,计算标注区域的中心坐标,将坐标信息发送给外设马达,该马达可以驱动摄像头转动,使摄像头聚焦匹配成功的颜色区域。

2.2.3 图像的腐蚀与膨胀

标注感兴趣图像区域的过程中,利用形态学处理算法去除较小的噪点。本设计实现腐蚀和膨胀两种操作的算法,先对图像进行腐蚀操作,去掉小的噪点;然后再对图像进行膨胀,恢复被削去的非噪声区域的边缘。

3 系统设计流程

电路设计的平台是基于Xilinx推出的开发软件Vivado2014.02,整体框架由13个模块组成,这些模块相互独立也表现出层层递进的相互依赖关系,各自完成相应的功能的同时,又对下一模块产生一定的影响。系统设计流程如图11所示。系统电路设计流程。主要分为以下几个过程:第一,摄像头采集视频图像,需对摄像头进行时序控制和寄存器的配置,并将采集到的视频图像按帧寄存于核心板中;第二,图像的缓存,图像的采集端和输出端并非同步,因此需要对帧图像进行缓存。设计双口RAM来实现帧缓存,该设计可同时实现读写;第三,颜色空间转换,将采集到的RGB图像转换为HSV图像;第四,HSV分量的匹配,为了实现目标的识别功能,本文采用的方法是将采集到的图像与目标图像的HSV分量进行比较,并对分量差值小于某一阈值的区域进行标注,计算该区域的中心坐标,在这一过程中对图像进行形态学处理,减小噪声的影响;最后,跟踪目标颜色,并将处理过的图像显示在VGA显示器上。

4 实验数据分析

硬件资源的使用情况如图12所示,切片逻辑的使用率为28%,内存的使用率为72%,充分使用了核心板的硬件资源,使整个设计的功能较为完善。

存储与核心板中的识别颜色分别是红色、黄色、绿色图像的HSV分量的值,各选取红、黄、绿卡片100张,实验结果的识别率如表1所示。表1中的数据表示为识别颜色与卡片颜色匹配成功的概率。

表1 识别率 %

模拟实验装置如图13所示,摄像头将采集到的视频图像进行分析比对,并将最终的处理结果显示出来。作为模拟辅助驾驶系统的设计,该实验装置可以实现识别红灯颜色,识别成功后做出相应的响应。

5 结 语

模拟出一种辅助驾驶情景,设计基于FPGA的辅助驾驶系统,能够实现准确识别红、黄、绿三种颜色,这三种颜色对应交通灯的三种颜色。后期将继续完成数字的识别,路标的识别等工作,实现智能化的辅助驾驶系统。

参考文献

[1] Tae?Hyun H, In?Hak J5 Seong?Ik C. Detection of traffic lights for vision?based car navigation system [M],Advances inImage and Video Technology. Springer BerlinHeidelberg, 2006: 682?691.

[2] 张娇.交通标志和信号灯图像检测技术研究[D].南京:南京理工大学,2011.

[3] 王豪.交通信号灯识别技术方法的研究[D].沈阳:东北大学,2013.

[4] YELAL M R,SASI S,SHAFFER G R. Color?based signal light tracking in real?time video[C]// IEEE International Conference on Video and Signal Based Surveillance. Sydney, Australia: IEEE, 2006: 103?107.

[5] REEKY M, LEBERL F. Windows detection using k?means in cie?lab color space [C]// IEEE2010 20th International Conference on Pattern Recognition (ICPR). Istanbul, Turkey: IEEE, 2010: 356?359.

[6] GARCIA?ESCUDERO L A, GORDALIZA A, MATRON C, et al. A review of robust clustering methods [J]. Advances in data analysis and classification, 2010, 4(2/3): 89?109.

[7] 时旭.人机交互中视觉目标识别识别与跟踪算法的研究[D].哈尔滨:哈尔滨工程大学,2010.

[8] 刘颖,黄源,高梓铭.刑侦图像检索中的特征提取及相似性度量[J].西安邮电大学学报,2014,19(6):11?16.