焦健雄,趙 賀,羅應(yīng)龍,尹鵬程,劉紫燕
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
?
基于FPGA的智能小車設(shè)計*
焦健雄,趙賀,羅應(yīng)龍,尹鵬程,劉紫燕
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
針對目前由于各種人為因素造成的交通事故頻發(fā)的問題,提出一種基于FPGA的智能小車的設(shè)計方案。在該方案中設(shè)計了顏色處理模塊、圖像壓縮模塊、SOPC模塊等。通過該平臺,可以實現(xiàn)紅綠燈識別,并在SoPC中嵌入代碼實現(xiàn)中心定位,控制小車在道路的正確軌跡行駛,從而實現(xiàn)自動駕駛。
智能小車;FPGA;顏色處理;圖像壓縮
引用格式:焦健雄,趙賀,羅應(yīng)龍,等. 基于FPGA的智能小車設(shè)計[J].微型機與應(yīng)用,2016,35(11):22-24.
汽車保有量的增加給人們出行帶來了極大的便利,但同時也帶來了很多交通安全的隱患,如何減少交通安全事故的發(fā)生成為了一個亟需解決的問題。自動駕駛控制系統(tǒng)的出現(xiàn)提供了一個全新的思路,其主要依靠車內(nèi)計算機系統(tǒng)為主的智能駕駛儀來實現(xiàn)自動駕駛,并根據(jù)視覺感知獲得車輛周圍環(huán)境信息以此控制車輛行駛。例如谷歌研發(fā)的無人駕駛系統(tǒng)就是一種自動駕駛控制系統(tǒng)。
目前智能小車大部分使用ARM或DSP平臺,對圖像的處理速度慢,影響圖像識別和處理的速度。本文設(shè)計了基于FPGA的智能小車,利用機器視覺感知技術(shù),提高了圖像識別的實時性,從而增強了車輛的安全系數(shù),對交通安全產(chǎn)生了深遠(yuǎn)的影響,也對人民群眾的生命財產(chǎn)安全有重大意義。
圖1 智能小車設(shè)計框圖
整個智能小車系統(tǒng)由攝像頭、FPGA、存儲器、視頻顯示、直流電機及驅(qū)動器模塊組成[1],系統(tǒng)的設(shè)計框圖如圖1所示。其中,F(xiàn)PGA硬件設(shè)計是整個系統(tǒng)的關(guān)鍵,本設(shè)計采用 Altera的Cyclone IV芯片,主要實現(xiàn)攝像頭圖像的實時采集、處理、紅綠燈的判斷、圖像壓縮和中心定位,以及直流電機PWM生成;攝像頭用于采集小車前方道路和紅綠燈信息;直流電機及驅(qū)動模塊負(fù)責(zé)小車的轉(zhuǎn)向;視頻顯示模塊實時顯示處理后的視頻信息;存儲器模塊使用SDRAM存儲FPGA需要存儲的信息[4]。
智能小車工作流程如下:首先,F(xiàn)PGA配置OV7725攝像頭參數(shù)使攝像頭輸出圖像數(shù)據(jù)為YUV格式并采集攝像頭數(shù)據(jù)。采集的圖像數(shù)據(jù)通過FPGA處理后存儲到外部存儲器并將其通過VGA顯示。FPGA硬件設(shè)計主要包含顏色處理模塊、圖像壓縮模塊及SoPC模塊,通過分析數(shù)據(jù)生成合適的PWM使智能小車正確行駛。
系統(tǒng)硬件平臺設(shè)計主要包括顏色處理模塊、圖像壓縮模塊以及SoPC模塊。
2.1顏色處理模塊
本文設(shè)計了顏色識別模塊來完成紅綠燈的識別。由于FPGA將CMOS傳感器配置為輸出YUV格式的圖像,若要進(jìn)行顏色識別,首先需要將YUV格式的圖像轉(zhuǎn)換為RGB格式的圖像[5-6,9,11],然后通過比較每個像素RGB分量完成紅綠燈識別,顏色處理模塊結(jié)構(gòu)框圖如圖2所示。
圖2顏色處理模塊結(jié)構(gòu)框圖
YUV格式圖像轉(zhuǎn)換為RGB格式后對整張圖像每個像素點的顏色進(jìn)行分析,并計算每個像素點RGB分量的差值是否滿足給定的閾值,判斷該像素點的顏色。一幀圖像結(jié)束后根據(jù)識別到相應(yīng)顏色的數(shù)量判斷是否遇到交通燈以及交通燈的顏色。顏色處理模塊中核心代碼如下:
if(R>B&&R>G?((R-B+R-G)>th_r
?1'b1:1'b0):1'b0)
//R G B分別表示三色分量都是8 bit數(shù)值,計算差值并計數(shù)
begin
“我們來援疆,除了幫助受援醫(yī)院提高醫(yī)療技術(shù)水平外,還要輻射帶動周邊基層醫(yī)院的醫(yī)療技術(shù)水平,做到優(yōu)勢醫(yī)療資源下沉,為邊疆各族群眾提供精湛、優(yōu)質(zhì)的醫(yī)療服務(wù),為新疆的社會穩(wěn)定和長治久安作出積極的貢獻(xiàn)?!边@是陳正副院長常說的一段話。□
cnt_red<=cnt_red+1'b1;
圖6 SoPC模塊處理流程圖
end
顏色處理模塊的RTL圖如圖3所示。
圖3 顏色處理模塊RTL圖
2.2圖像壓縮模塊
圖像壓縮模塊包括圖像預(yù)處理模塊及圖像分辨率壓縮模塊。
圖像預(yù)處理模塊對灰度圖像進(jìn)行Sobel邊緣提取得到二值化圖像,并通過雙端口SDRAM模塊寫入存儲器。Sobel算子對圖像邊緣檢測速度快,能夠在一定程度上抑制噪聲[3,8],從而很好地提取圖像邊緣,圖4為圖像預(yù)處理模塊RTL圖。
圖4 圖像預(yù)處理模塊RTL圖
圖5 圖像分辨率模塊RTL圖
2.3SoPC模塊
SoPC系統(tǒng)由微處理器、存儲器、用戶邏輯以及I/O組成的硬件系統(tǒng)和軟件設(shè)計組成[2],本設(shè)計采用在FPGA中嵌入Nios II處理器的方法來實現(xiàn)。在FPGA中嵌入Nios II處理器實現(xiàn)的SoPC系統(tǒng)容易開發(fā),周期短,性能高。
智能小車的SoPC模塊通過讀取圖像壓縮模塊處理后的圖像數(shù)據(jù),以及顏色處理模塊得到的紅綠燈信息,完成裝置的中心定位并控制直流電機在軌跡上正確行駛。圖6為SoPC模塊處理流程圖。
本設(shè)計中SoPC系統(tǒng)的構(gòu)建過程如下[1,10]:首先使用鎖相環(huán)設(shè)置SoPC時鐘為100 MHz,根據(jù)內(nèi)部資源使用情況和系統(tǒng)要求選擇添加合適的Nios II CPU,添加PIO用作圖像數(shù)據(jù)和紅綠燈數(shù)據(jù)的接收以及輸出合適的占空比控制直流電機,添加UART用于SoPC與上位機通信,添加存儲器以供存儲數(shù)據(jù)和指令,設(shè)置中斷優(yōu)先級和外設(shè)基地址,最后生成軟核。
圖7 系統(tǒng)FPGA硬件資源使用情況
本設(shè)計使用Altera公司Cyclone IV FPGA芯片,其內(nèi)部有1.5 W les、4個PLL核、166個IO口、50 W bit的內(nèi)存等充足資源,連接SDRAM存儲器和EPCS存儲器擴展內(nèi)存,足以實現(xiàn)FPGA內(nèi)部各個模塊的功能。圖7為該系統(tǒng)FPGA硬件資源使用情況。
3.1顏色處理模塊測試
本模塊測試是將所采集的圖片中要識別的顏色轉(zhuǎn)變?yōu)楹谏@示,測試結(jié)果如圖8所示。
圖8 紅綠燈模塊測試結(jié)果
圖8(a)中原圖的紅色像素在圖8(b)測試結(jié)果圖中絕大部分被顯示為黑色,其他點則是與原圖相同顯示,說明算法對顏色的識別有效,能很好地識別交通燈。
3.2圖像壓縮模塊測試
圖9為圖像壓縮模塊測試圖,是使用VGA顯示邊緣提取后的圖像,并用PC顯示分辨率壓縮后圖像。
圖9 圖像壓縮模塊測試
如圖9所示,邊緣提取圖將絕大部分原圖中的邊緣信息保留了下來,說明控制系統(tǒng)中使用的Sobel算子獲得很好的效果。CMOS攝像頭采集圖像分辨率為640×480像素,經(jīng)過圖像的壓縮之后,圖像的分辨率變?yōu)?0×60像素,對原圖進(jìn)行了很大程度的壓縮,對比壓縮前后,邊緣提取圖的輪廓在壓縮圖中能很好地反映出來,說明圖像分辨率壓縮的實現(xiàn)效果很好。
3.3SoPC模塊測試
圖10為SoPC模塊的中心定位模塊測試圖,對圖像壓縮模塊輸出的圖像進(jìn)行處理,將道路部分圖像置1,其他部分置0,計算道路中心并在相應(yīng)坐標(biāo)置0,通過PC顯示。
圖10 中心定位測試圖
如圖10所示,中心定位模塊通過分析圖像壓縮模塊輸出的圖像,高效地分析出道路信息并濾除不必要的信息,根據(jù)道路邊緣坐標(biāo)定位中心軌跡,從圖中可以明顯看出中心定位模塊實現(xiàn)效果很好。
3.4整車測試
整車測試圖如圖11所示,本設(shè)計搭建的小車沿著中心定位模塊規(guī)劃的軌跡正確行駛。測試結(jié)果表明,小車在直道上穩(wěn)定行駛,在彎道和直角彎能平滑拐彎,說明SoPC中的中心定位模塊和電機控制算法調(diào)試效果很好。
圖11 整車測試圖
隨著對視頻處理速度要求的不斷提高,采用ARM、DSP平臺實現(xiàn)的實時視頻處理系統(tǒng)很難滿足對視頻處理的實時性和穩(wěn)定性的要求。本文基于FPGA平臺設(shè)計了一種智能小車,利用攝像頭完成實時道路信息采集,處理實現(xiàn)紅綠燈識別、道路中心定位及按軌跡正確行駛,經(jīng)過多次測試,該智能小車穩(wěn)定性和實時性很高,是一種實用、安全的自動駕駛解決方案。
[1] 劉紫燕,馮亮,祁佳. 一種基于FPGA的實時視頻跟蹤系統(tǒng)硬件平臺設(shè)計[J].傳感器與微系統(tǒng),2014,33(7):98-102.
[2] 吳華中. 基于FPGA的視頻監(jiān)控系統(tǒng)設(shè)計[D].太原:中北大學(xué),2014.
[3] 祁佳,劉紫燕. 實時圖像雙邊緣檢測算法及FPGA實現(xiàn)[J].電視技術(shù),2014,38(3):64-65,85.
[4] 馮亮,劉紫燕,祁佳. 基于FPGA的視頻跟蹤系統(tǒng)目標(biāo)檢測方法研究[J].微型機與應(yīng)用,2014,33(12):34-36,39.
[5] 張浩然. 基于FPGA的視頻采集及圖像處理算法實現(xiàn)[D].昆明:云南大學(xué),2015.
[6] 明章輝. 基于FPGA的CameraLink視頻信號處理技術(shù)的研究[D].南京:南京理工大學(xué),2014.
[7] 錢軍琪. 基于DSP和FPGA的視頻壓縮系統(tǒng)的設(shè)計[D].西安:西安電子科技大學(xué),2014.
[8] 黃彪. 基于FPGA的高清視頻信號實時處理系統(tǒng)的研究[D].北京:中國科學(xué)院研究生院,2013.
[9] 徐建松, 俞拙非, 侯凱, 等. 一種基于FPGA的閥基電子設(shè)備的研制[J].電子技術(shù)應(yīng)用,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
國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(貴大國創(chuàng)字2014[001])
TP273.5
A
10.19358/j.issn.1674- 7720.2016.11.007
2016-01-22)
焦健雄(1994-),男,本科生,主要研究方向:通信工程。
趙賀(1993-),男,本科生,主要研究方向:電子信息科學(xué)與技術(shù)。
劉紫燕(1977-),通信作者,女,碩士,副教授,主要研究方向:無線通信,下一代通信系統(tǒng)。E-mail:leizy@sina.com。