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