關(guān)鍵詞: 智能小車 FPGA 顏色處理 圖像壓縮
焦健雄,,趙賀,,羅應(yīng)龍,尹鵬程,,劉紫燕
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,,貴州 貴陽 550025)
摘要:針對目前由于各種人為因素造成的交通事故頻發(fā)的問題,,提出一種基于FPGA的智能小車的設(shè)計方案。在該方案中設(shè)計了顏色處理模塊,、圖像壓縮模塊,、SOPC模塊等。通過該平臺,,可以實(shí)現(xiàn)紅綠燈識別,,并在SoPC中嵌入代碼實(shí)現(xiàn)中心定位,控制小車在道路的正確軌跡行駛,,從而實(shí)現(xiàn)自動駕駛,。
關(guān)鍵詞:智能小車;FPGA,;顏色處理,;圖像壓縮
0引言
汽車保有量的增加給人們出行帶來了極大的便利,,但同時也帶來了很多交通安全的隱患,如何減少交通安全事故的發(fā)生成為了一個亟需解決的問題,。自動駕駛控制系統(tǒng)的出現(xiàn)提供了一個全新的思路,,其主要依靠車內(nèi)計算機(jī)系統(tǒng)為主的智能駕駛儀來實(shí)現(xiàn)自動駕駛,并根據(jù)視覺感知獲得車輛周圍環(huán)境信息以此控制車輛行駛,。例如谷歌研發(fā)的無人駕駛系統(tǒng)就是一種自動駕駛控制系統(tǒng),。
目前智能小車大部分使用ARM或DSP平臺,對圖像的處理速度慢,,影響圖像識別和處理的速度,。本文設(shè)計了基于FPGA的智能小車,利用機(jī)器視覺感知技術(shù),,提高了圖像識別的實(shí)時性,,從而增強(qiáng)了車輛的安全系數(shù),對交通安全產(chǎn)生了深遠(yuǎn)的影響,,也對人民群眾的生命財產(chǎn)安全有重大意義,。
1智能小車系統(tǒng)整體設(shè)計
整個智能小車系統(tǒng)由攝像頭、FPGA,、存儲器,、視頻顯示、直流電機(jī)及驅(qū)動器模塊組成 [1],,系統(tǒng)的設(shè)計框圖如圖1所示,。
其中,F(xiàn)PGA硬件設(shè)計是整個系統(tǒng)的關(guān)鍵,,本設(shè)計采用 Altera的Cyclone IV芯片,,主要實(shí)現(xiàn)攝像頭圖像的實(shí)時采集、處理,、紅綠燈的判斷,、圖像壓縮和中心定位,以及直流電機(jī)PWM生成,;攝像頭用于采集小車前方道路和紅綠燈信息,;直流電機(jī)及驅(qū)動模塊負(fù)責(zé)小車的轉(zhuǎn)向;視頻顯示模塊實(shí)時顯示處理后的視頻信息,;存儲器模塊使用SDRAM存儲FPGA需要存儲的信息[4],。
智能小車工作流程如下:首先,F(xiàn)PGA配置OV7725攝像頭參數(shù)使攝像頭輸出圖像數(shù)據(jù)為YUV格式并采集攝像頭數(shù)據(jù),。采集的圖像數(shù)據(jù)通過FPGA處理后存儲到外部存儲器并將其通過VGA顯示,。FPGA硬件設(shè)計主要包含顏色處理模塊、圖像壓縮模塊及SoPC模塊,,通過分析數(shù)據(jù)生成合適的PWM使智能小車正確行駛,。
2系統(tǒng)硬件平臺設(shè)計
系統(tǒng)硬件平臺設(shè)計主要包括顏色處理模塊,、圖像壓縮模塊以及SoPC模塊。
2.1顏色處理模塊
本文設(shè)計了顏色識別模塊來完成紅綠燈的識別,。由于FPGA將CMOS傳感器配置為輸出YUV格式的圖像,,若要進(jìn)行顏色識別,首先需要將YUV格式的圖像轉(zhuǎn)換為RGB格式的圖像[56,9,11],,然后通過比較每個像素RGB分量完成紅綠燈識別,,顏色處理模塊結(jié)構(gòu)框圖如圖2所示。
圖2顏色處理模塊結(jié)構(gòu)框圖YUV格式圖像轉(zhuǎn)換為RGB格式后對整張圖像每個像素點(diǎn)的顏色進(jìn)行分析,,并計算每個像素點(diǎn)RGB分量的差值是否滿足給定的閾值,,判斷該像素點(diǎn)的顏色。一幀圖像結(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
cnt_red<=cnt_red+1'b1;
圖6SoPC模塊處理流程圖end
顏色處理模塊的RTL圖如圖3所示。
2.2圖像壓縮模塊
圖像壓縮模塊包括圖像預(yù)處理模塊及圖像分辨率壓縮模塊,。
圖像預(yù)處理模塊對灰度圖像進(jìn)行Sobel邊緣提取得到二值化圖像,并通過雙端口SDRAM模塊寫入存儲器,。Sobel算子對圖像邊緣檢測速度快,,能夠在一定程度上抑制噪聲[3,8],從而很好地提取圖像邊緣,,圖4為圖像預(yù)處理模塊RTL圖,。
圖像分辨率壓縮降低了圖像的分辨率,可以大大提高系統(tǒng)效率,,對于簡單圖像分辨率的壓縮不影響目標(biāo)的識別,。本文設(shè)計的圖像分辨率壓縮模塊通過雙端口SDRAM讀取存儲器中的二值化圖像,將640×480像素的二值化圖像分辨率壓縮轉(zhuǎn)換為80×60像素的二值化圖像[7],。圖5為圖像分辨率壓縮模塊RTL圖,。
2.3SoPC模塊
SoPC系統(tǒng)由微處理器、存儲器,、用戶邏輯以及I/O組成的硬件系統(tǒng)和軟件設(shè)計組成[2],,本設(shè)計采用在FPGA中嵌入Nios II處理器的方法來實(shí)現(xiàn)。在FPGA中嵌入Nios II處理器實(shí)現(xiàn)的SoPC系統(tǒng)容易開發(fā),,周期短,,性能高。
智能小車的SoPC模塊通過讀取圖像壓縮模塊處理后的圖像數(shù)據(jù),,以及顏色處理模塊得到的紅綠燈信息,,完成裝置的中心定位并控制直流電機(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ù)的接收以及輸出合適的占空比控制直流電機(jī),添加UART用于SoPC與上位機(jī)通信,,添加存儲器以供存儲數(shù)據(jù)和指令,,設(shè)置中斷優(yōu)先級和外設(shè)基地址,最后生成軟核,。
3系統(tǒng)平臺驗(yàn)證
圖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存儲器擴(kuò)展內(nèi)存,,足以實(shí)現(xiàn)FPGA內(nèi)部各個模塊的功能,。圖7為該系統(tǒng)FPGA硬件資源使用情況。
3.1顏色處理模塊測試
本模塊測試是將所采集的圖片中要識別的顏色轉(zhuǎn)變?yōu)楹谏@示,,測試結(jié)果如圖8所示,。
圖8(a)中原圖的紅色像素在圖8(b)測試結(jié)果圖中絕大部分被顯示為黑色,其他點(diǎn)則是與原圖相同顯示,,說明算法對顏色的識別有效,,能很好地識別交通燈。
3.2圖像壓縮模塊測試
圖9為圖像壓縮模塊測試圖,,是使用VGA顯示邊緣提取后的圖像,,并用PC顯示分辨率壓縮后圖像。
如圖9所示,,邊緣提取圖將絕大部分原圖中的邊緣信息保留了下來,,說明控制系統(tǒng)中使用的Sobel算子獲得很好的效果。CMOS攝像頭采集圖像分辨率為640×480像素,,經(jīng)過圖像的壓縮之后,,圖像的分辨率變?yōu)?0×60像素,對原圖進(jìn)行了很大程度的壓縮,,對比壓縮前后,,邊緣提取圖的輪廓在壓縮圖中能很好地反映出來,說明圖像分辨率壓縮的實(shí)現(xiàn)效果很好,。
3.3SoPC模塊測試
圖10為SoPC模塊的中心定位模塊測試圖,,對圖像壓縮模塊輸出的圖像進(jìn)行處理,將道路部分圖像置1,,其他部分置0,,計算道路中心并在相應(yīng)坐標(biāo)置0,通過PC顯示,。圖10中心定位測試圖
如圖10所示,,中心定位模塊通過分析圖像壓縮模塊輸出的圖像,,高效地分析出道路信息并濾除不必要的信息,根據(jù)道路邊緣坐標(biāo)定位中心軌跡,,從圖中可以明顯看出中心定位模塊實(shí)現(xiàn)效果很好,。
3.4整車測試
整車測試圖如圖11所示,本設(shè)計搭建的小車沿著中心定位模塊規(guī)劃的軌跡正確行駛,。測試結(jié)果表明,,小車在直道上穩(wěn)定行駛,在彎道和直角彎能平滑拐彎,,說明SoPC中的中心定位模塊和電機(jī)控制算法調(diào)試效果很好,。
4結(jié)論
隨著對視頻處理速度要求的不斷提高,采用ARM,、DSP平臺實(shí)現(xiàn)的實(shí)時視頻處理系統(tǒng)很難滿足對視頻處理的實(shí)時性和穩(wěn)定性的要求,。本文基于FPGA平臺設(shè)計了一種智能小車,利用攝像頭完成實(shí)時道路信息采集,,處理實(shí)現(xiàn)紅綠燈識別,、道路中心定位及按軌跡正確行駛,經(jīng)過多次測試,,該智能小車穩(wěn)定性和實(shí)時性很高,,是一種實(shí)用、安全的自動駕駛解決方案,。
參考文獻(xiàn)
[1] 劉紫燕,,馮亮,,祁佳. 一種基于FPGA的實(shí)時視頻跟蹤系統(tǒng)硬件平臺設(shè)計[J].傳感器與微系統(tǒng),2014,33(7):98102.
[2] 吳華中. 基于FPGA的視頻監(jiān)控系統(tǒng)設(shè)計[D].太原:中北大學(xué),2014.
?。?] 祁佳,,劉紫燕. 實(shí)時圖像雙邊緣檢測算法及FPGA實(shí)現(xiàn)[J].電視技術(shù),2014,38(3):6465,85.
?。?] 馮亮,,劉紫燕,祁佳. 基于FPGA的視頻跟蹤系統(tǒng)目標(biāo)檢測方法研究[J].微型機(jī)與應(yīng)用,2014,33(12):3436,,39.
?。?] 張浩然. 基于FPGA的視頻采集及圖像處理算法實(shí)現(xiàn)[D].昆明:云南大學(xué),2015.
[6] 明章輝. 基于FPGA的CameraLink視頻信號處理技術(shù)的研究[D].南京:南京理工大學(xué),2014.
?。?] 錢軍琪. 基于DSP和FPGA的視頻壓縮系統(tǒng)的設(shè)計[D].西安:西安電子科技大學(xué),2014.
?。?] 黃彪. 基于FPGA的高清視頻信號實(shí)時處理系統(tǒng)的研究[D].北京:中國科學(xué)院研究生院,2013.
[9] 徐建松, 俞拙非, 侯凱, 等. 一種基于FPGA的閥基電子設(shè)備的研制[J].電子技術(shù)應(yīng)用,2015,41(10):2729,,33.
?。?0] HSU Y P, MIAO H C, TSAI C C. FPGA implementation of a realtime image tracking system[C].SCIE Annual Conference 2010, 2010:28782884.
?。?1] YU J, TAN J, WANG Y. Ultrasound speckle reduction by a SUSANcontrolled anisotropic diffusion method [J]. Pattern Recognition, 2010, 43(9):30833092.