APP下载

基于FPGA的智能小车设计*

2016-09-26焦健雄罗应龙尹鹏程刘紫燕

网络安全与数据管理 2016年11期
关键词:红绿灯小车颜色

焦健雄,赵 贺,罗应龙,尹鹏程,刘紫燕

(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)



基于FPGA的智能小车设计*

焦健雄,赵贺,罗应龙,尹鹏程,刘紫燕

(贵州大学 大数据与信息工程学院,贵州 贵阳 550025)

针对目前由于各种人为因素造成的交通事故频发的问题,提出一种基于FPGA的智能小车的设计方案。在该方案中设计了颜色处理模块、图像压缩模块、SOPC模块等。通过该平台,可以实现红绿灯识别,并在SoPC中嵌入代码实现中心定位,控制小车在道路的正确轨迹行驶,从而实现自动驾驶。

智能小车;FPGA;颜色处理;图像压缩

引用格式:焦健雄,赵贺,罗应龙,等. 基于FPGA的智能小车设计[J].微型机与应用,2016,35(11):22-24.

0 引言

汽车保有量的增加给人们出行带来了极大的便利,但同时也带来了很多交通安全的隐患,如何减少交通安全事故的发生成为了一个亟需解决的问题。自动驾驶控制系统的出现提供了一个全新的思路,其主要依靠车内计算机系统为主的智能驾驶仪来实现自动驾驶,并根据视觉感知获得车辆周围环境信息以此控制车辆行驶。例如谷歌研发的无人驾驶系统就是一种自动驾驶控制系统。

目前智能小车大部分使用ARM或DSP平台,对图像的处理速度慢,影响图像识别和处理的速度。本文设计了基于FPGA的智能小车,利用机器视觉感知技术,提高了图像识别的实时性,从而增强了车辆的安全系数,对交通安全产生了深远的影响,也对人民群众的生命财产安全有重大意义。

1 智能小车系统整体设计

图1 智能小车设计框图

整个智能小车系统由摄像头、FPGA、存储器、视频显示、直流电机及驱动器模块组成[1],系统的设计框图如图1所示。其中,FPGA硬件设计是整个系统的关键,本设计采用 Altera的Cyclone IV芯片,主要实现摄像头图像的实时采集、处理、红绿灯的判断、图像压缩和中心定位,以及直流电机PWM生成;摄像头用于采集小车前方道路和红绿灯信息;直流电机及驱动模块负责小车的转向;视频显示模块实时显示处理后的视频信息;存储器模块使用SDRAM存储FPGA需要存储的信息[4]。

智能小车工作流程如下:首先,FPGA配置OV7725摄像头参数使摄像头输出图像数据为YUV格式并采集摄像头数据。采集的图像数据通过FPGA处理后存储到外部存储器并将其通过VGA显示。FPGA硬件设计主要包含颜色处理模块、图像压缩模块及SoPC模块,通过分析数据生成合适的PWM使智能小车正确行驶。

2 系统硬件平台设计

系统硬件平台设计主要包括颜色处理模块、图像压缩模块以及SoPC模块。

2.1颜色处理模块

本文设计了颜色识别模块来完成红绿灯的识别。由于FPGA将CMOS传感器配置为输出YUV格式的图像,若要进行颜色识别,首先需要将YUV格式的图像转换为RGB格式的图像[5-6,9,11],然后通过比较每个像素RGB分量完成红绿灯识别,颜色处理模块结构框图如图2所示。

图2颜色处理模块结构框图

YUV格式图像转换为RGB格式后对整张图像每个像素点的颜色进行分析,并计算每个像素点RGB分量的差值是否满足给定的阈值,判断该像素点的颜色。一帧图像结束后根据识别到相应颜色的数量判断是否遇到交通灯以及交通灯的颜色。颜色处理模块中核心代码如下:

if(R>B&&R>G?((R-B+R-G)>th_r

?1'b1:1'b0):1'b0)

//R G B分别表示三色分量都是8 bit数值,计算差值并计数

begin

“我们来援疆,除了帮助受援医院提高医疗技术水平外,还要辐射带动周边基层医院的医疗技术水平,做到优势医疗资源下沉,为边疆各族群众提供精湛、优质的医疗服务,为新疆的社会稳定和长治久安作出积极的贡献。”这是陈正副院长常说的一段话。□

cnt_red<=cnt_red+1'b1;

图6 SoPC模块处理流程图

end

颜色处理模块的RTL图如图3所示。

图3 颜色处理模块RTL图

2.2图像压缩模块

图像压缩模块包括图像预处理模块及图像分辨率压缩模块。

图像预处理模块对灰度图像进行Sobel边缘提取得到二值化图像,并通过双端口SDRAM模块写入存储器。Sobel算子对图像边缘检测速度快,能够在一定程度上抑制噪声[3,8],从而很好地提取图像边缘,图4为图像预处理模块RTL图。

图4 图像预处理模块RTL图

图5 图像分辨率模块RTL图

2.3SoPC模块

SoPC系统由微处理器、存储器、用户逻辑以及I/O组成的硬件系统和软件设计组成[2],本设计采用在FPGA中嵌入Nios II处理器的方法来实现。在FPGA中嵌入Nios II处理器实现的SoPC系统容易开发,周期短,性能高。

智能小车的SoPC模块通过读取图像压缩模块处理后的图像数据,以及颜色处理模块得到的红绿灯信息,完成装置的中心定位并控制直流电机在轨迹上正确行驶。图6为SoPC模块处理流程图。

本设计中SoPC系统的构建过程如下[1,10]:首先使用锁相环设置SoPC时钟为100 MHz,根据内部资源使用情况和系统要求选择添加合适的Nios II CPU,添加PIO用作图像数据和红绿灯数据的接收以及输出合适的占空比控制直流电机,添加UART用于SoPC与上位机通信,添加存储器以供存储数据和指令,设置中断优先级和外设基地址,最后生成软核。

3 系统平台验证

图7 系统FPGA硬件资源使用情况

本设计使用Altera公司Cyclone IV FPGA芯片,其内部有1.5 W les、4个PLL核、166个IO口、50 W bit的内存等充足资源,连接SDRAM存储器和EPCS存储器扩展内存,足以实现FPGA内部各个模块的功能。图7为该系统FPGA硬件资源使用情况。

3.1颜色处理模块测试

本模块测试是将所采集的图片中要识别的颜色转变为黑色并显示,测试结果如图8所示。

图8 红绿灯模块测试结果

图8(a)中原图的红色像素在图8(b)测试结果图中绝大部分被显示为黑色,其他点则是与原图相同显示,说明算法对颜色的识别有效,能很好地识别交通灯。

3.2图像压缩模块测试

图9为图像压缩模块测试图,是使用VGA显示边缘提取后的图像,并用PC显示分辨率压缩后图像。

图9 图像压缩模块测试

如图9所示,边缘提取图将绝大部分原图中的边缘信息保留了下来,说明控制系统中使用的Sobel算子获得很好的效果。CMOS摄像头采集图像分辨率为640×480像素,经过图像的压缩之后,图像的分辨率变为80×60像素,对原图进行了很大程度的压缩,对比压缩前后,边缘提取图的轮廓在压缩图中能很好地反映出来,说明图像分辨率压缩的实现效果很好。

3.3SoPC模块测试

图10为SoPC模块的中心定位模块测试图,对图像压缩模块输出的图像进行处理,将道路部分图像置1,其他部分置0,计算道路中心并在相应坐标置0,通过PC显示。

图10 中心定位测试图

如图10所示,中心定位模块通过分析图像压缩模块输出的图像,高效地分析出道路信息并滤除不必要的信息,根据道路边缘坐标定位中心轨迹,从图中可以明显看出中心定位模块实现效果很好。

3.4整车测试

整车测试图如图11所示,本设计搭建的小车沿着中心定位模块规划的轨迹正确行驶。测试结果表明,小车在直道上稳定行驶,在弯道和直角弯能平滑拐弯,说明SoPC中的中心定位模块和电机控制算法调试效果很好。

图11 整车测试图

4 结论

随着对视频处理速度要求的不断提高,采用ARM、DSP平台实现的实时视频处理系统很难满足对视频处理的实时性和稳定性的要求。本文基于FPGA平台设计了一种智能小车,利用摄像头完成实时道路信息采集,处理实现红绿灯识别、道路中心定位及按轨迹正确行驶,经过多次测试,该智能小车稳定性和实时性很高,是一种实用、安全的自动驾驶解决方案。

[1] 刘紫燕,冯亮,祁佳. 一种基于FPGA的实时视频跟踪系统硬件平台设计[J].传感器与微系统,2014,33(7):98-102.

[2] 吴华中. 基于FPGA的视频监控系统设计[D].太原:中北大学,2014.

[3] 祁佳,刘紫燕. 实时图像双边缘检测算法及FPGA实现[J].电视技术,2014,38(3):64-65,85.

[4] 冯亮,刘紫燕,祁佳. 基于FPGA的视频跟踪系统目标检测方法研究[J].微型机与应用,2014,33(12):34-36,39.

[5] 张浩然. 基于FPGA的视频采集及图像处理算法实现[D].昆明:云南大学,2015.

[6] 明章辉. 基于FPGA的CameraLink视频信号处理技术的研究[D].南京:南京理工大学,2014.

[7] 钱军琪. 基于DSP和FPGA的视频压缩系统的设计[D].西安:西安电子科技大学,2014.

[8] 黄彪. 基于FPGA的高清视频信号实时处理系统的研究[D].北京:中国科学院研究生院,2013.

[9] 徐建松, 俞拙非, 侯凯, 等. 一种基于FPGA的阀基电子设备的研制[J].电子技术应用,2015,41(10):27-29,33.

[10] HSU Y P, MIAO H C, TSAI C C. FPGA implementation of a real-time image tracking system[C].SCIE Annual Conference 2010, 2010:2878-2884.

[11] YU J, TAN J, WANG Y. Ultrasound speckle reduction by a SUSAN-controlled anisotropic diffusion method [J]. Pattern Recognition, 2010, 43(9):3083-3092.

Intelligent car design based on FPGA

Jiao Jianxiong, Zhao He, Luo Yinglong, Yin Pengcheng, Liu Ziyan

(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China)

For solving the problems of frequent traffic accidents due to various human factors, an FPGA-based intelligent car is presented, which includes color processing module, picture compression module and SOPC module, etc. Color recognition is implemented on the proposed platform, and centralized localizing can be accomplished by embedding code into SoPC system. Testing results show that the designed intelligent car can drive on the right track of the road automatically.

intelligent car; FPGA; color processing; picture compression

国家级大学生创新创业训练计划项目(贵大国创字2014[001])

TP273.5

A

10.19358/j.issn.1674- 7720.2016.11.007

2016-01-22)

焦健雄(1994-),男,本科生,主要研究方向:通信工程。

赵贺(1993-),男,本科生,主要研究方向:电子信息科学与技术。

刘紫燕(1977-),通信作者,女,硕士,副教授,主要研究方向:无线通信,下一代通信系统。E-mail:leizy@sina.com。

猜你喜欢

红绿灯小车颜色
大车拉小车
自制小车来比赛
刘老师想开小车
红绿灯前
神奇的红绿灯
两轮自平衡小车的设计与实现
会说话的红绿灯
特殊颜色的水
红绿灯眨眼睛