翟社平 李威 馬蒙雨
摘 要: 為了降低路況的復(fù)雜性和交通信號燈的多變性給司機(jī)帶來的影響,模擬一種輔助駕駛情景,提出基于FPGA的顏色識別系統(tǒng)的設(shè)計,作為輔助駕駛系統(tǒng)中的交通燈識別模塊。在識別系統(tǒng)中,使用顏色特征HSV作為特征提取算法。為了增強(qiáng)對交通燈識別的準(zhǔn)確率,先對圖像進(jìn)行腐蝕操作,去掉小的噪點;然后再對圖像進(jìn)行膨脹操作,恢復(fù)對非噪聲區(qū)域削去的部分邊緣。實驗結(jié)果表明,基于FPGA的識別模塊可快速準(zhǔn)確地識別紅、黃、綠3種顏色,識別率達(dá)到97%。
關(guān)鍵詞: FPGA; HSV; 圖像的腐蝕; 顏色識別系統(tǒng)
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: 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
交通安全問題一直是人們關(guān)注的熱點,路況的復(fù)雜性導(dǎo)致了交通事故的發(fā)生[1],輔助駕駛系統(tǒng)可以幫助駕駛員注意到更多的路況信息,能有效地維護(hù)交通的安全[2?3]。Mahipa.R.Yelal實現(xiàn)了圓形交通信號燈的檢測[4],首先將圖像的RGB顏色空間轉(zhuǎn)換成Lab顏色空間,在Lab顏色空間[5]上進(jìn)行顏色分割,依據(jù)聚類方法[6]得到候選區(qū)域;然后進(jìn)行幾何特征識別。該算法的缺點是在復(fù)雜環(huán)境中不能保證程序的性能。為了達(dá)到識別速度快、抗干擾能力強(qiáng)等要求,本文模擬輔助駕駛系統(tǒng)的情景設(shè)計,提出了基于FPGA的輔助系統(tǒng)的設(shè)計,該系統(tǒng)可以準(zhǔn)確地識別紅綠燈,輔助駕駛員注意路口交通燈的情況。
1 應(yīng)用場景
基于FPGA的輔助駕駛系統(tǒng)的應(yīng)用場景見圖1。
當(dāng)?shù)竭_(dá)某一紅綠燈路口時,GPS導(dǎo)航驅(qū)動FPGA開始工作,F(xiàn)PGA將分析采集到的視頻圖像信息。當(dāng)分析到紅燈亮?xí)r,F(xiàn)PGA首先發(fā)出提醒信號,然后降低發(fā)動機(jī)速度,直至車輛停止,以防止司機(jī)因種種原因闖紅燈。
本文FPGA設(shè)計的總體框架如圖2所示,主要分為以下幾個步驟:攝像頭采集視頻圖像信息,并將幀圖像緩存于FPGA內(nèi)存中;獲得的圖像信息使用RGB值表示的,將圖像的RGB顏色空間轉(zhuǎn)換為HSV顏色空間;匹配采集到的圖像與目標(biāo)圖像的HSV分量值;最后,驅(qū)動外設(shè)完成相應(yīng)的響應(yīng)。
2 硬件電路設(shè)計
本文設(shè)計的硬件部分由主控制器、攝像頭、VGA顯示器以及馬達(dá)控制模塊組成。主控制器是Xilinx公司開發(fā)的BASYS3開發(fā)板,該開發(fā)板是圍繞Xilinx Artix??7FPGA芯片XC7A35T?1CPG236C搭建的,內(nèi)部時鐘的最高頻率可達(dá)到450 MHz,有33 280個邏輯單元和6個輸入LUT結(jié)構(gòu),1 800 Kb的快速RAM塊,5個時鐘管理單元。還包含有3個Pmod連接口、12位的VGA輸出接口,能夠滿足基于FPGA的輔助駕駛系統(tǒng)的設(shè)計以及后續(xù)的拓展需求。BASYS3核心板用于完成視頻圖像的實時采集與顯示,顏色空間的轉(zhuǎn)換,以及目標(biāo)識別模塊的電路設(shè)計。
2.1 視頻的采集與顯示
視頻圖像的采集用到的是OV7725攝像頭,綜合后的攝像頭時序控制模塊的電路圖如圖3所示。該模塊根據(jù)攝像頭的時序,對輸入的時鐘信號pclk、幀同步信號vsync、行數(shù)據(jù)有效信號href進(jìn)行時序分析,攝像頭的初始數(shù)據(jù)使用8位表示一個像素,驅(qū)動模塊是將8位RGB像素轉(zhuǎn)化為RGB565像素,并對應(yīng)每一個RGB像素產(chǎn)生一個地址和一個寫使能,以便將像素正確存到幀緩存之中。視頻信號是通過VGA顯示器進(jìn)行顯示的,VGA驅(qū)動模塊的電路設(shè)計如圖4所示。該驅(qū)動電路產(chǎn)生VGA時序信號、數(shù)據(jù)信號,時序信號用于同步VGA顯示器。產(chǎn)生圖像的行列計數(shù)值,以及幀緩存的讀地址,用于讀取BASYS3中的圖像信息,并將該信息同步顯示在VGA顯示器上。視頻圖像的采集和圖像的顯示過程如圖5所示,整體過程可以分為以下幾個步驟:首先將攝像頭采集到的圖像信息讀取出來,為每一個像素點指定一個位置信息;然后將圖像信息緩存于核心板中;最后通過VGA驅(qū)動模塊將圖像信息顯示在顯示器上。
2.2 圖像的處理
視頻圖像采集后需進(jìn)一步的處理,圖像處理框架如圖6所示。處理完的圖像信息經(jīng)過特征的匹配才能完成目標(biāo)的識別。
2.2.1 顏色空間的轉(zhuǎn)換
HSV(Hue Saturation Value,色調(diào)、飽和度、數(shù)值)色彩模型是一種面向人類視覺感知的色彩模型,HSV的六面錐體結(jié)構(gòu)如圖7所示,其中H表示顏色的基本屬性;S指顏色的純度;V表示顏色的亮度。RGB 轉(zhuǎn)換為 HSV 的轉(zhuǎn)換方程如公式[7]如下:
RGB顏色空間對光照亮度變化較為敏感,HSV顏色空間中的H,S分量對光照的變化不敏感[8],因此為了減小亮度對運動目標(biāo)跟蹤的影響,先將圖像從RGB顏色空間轉(zhuǎn)換到HSV顏色空間,然后分析目標(biāo)區(qū)域的每一個像素點,并在H通道上采樣,得到目標(biāo)的色調(diào)直方圖,跟蹤過程中,通過查詢目標(biāo)的色調(diào)直方圖來實現(xiàn)運動目標(biāo)的跟蹤。電路設(shè)計的時序仿真如圖9所示。RGB顏色空間和HSV顏色空間之間的轉(zhuǎn)換為非線性,硬件實現(xiàn)需要考慮時鐘同步、算法優(yōu)化、實時性等問題。此模塊內(nèi)部調(diào)用了低延遲的除法器實現(xiàn)Hue分量與Saturation分量的高速計算,從而實現(xiàn)了RGB轉(zhuǎn)換成HSV。
2.2.2 目標(biāo)識別
計算得到HSV顏色空間的分量值,然后完成目標(biāo)的識別與匹配,HSV 分量的匹配如圖10所示,整個過程分為以下幾個步驟:首先,提取目標(biāo)顏色的HSV_B分量,將提取到的分量值存儲于核心板中,作為參照值;然后,通過攝像頭實時采集圖像信息,并提取圖像信息的HSV_A分量,對HSV_A與HSV_B做差值運算,當(dāng)差值小于閾值時,認(rèn)為該像素點的顏色與目標(biāo)顏色相近,并對該像素點進(jìn)行標(biāo)注;最后,計算標(biāo)注區(qū)域的中心坐標(biāo),將坐標(biāo)信息發(fā)送給外設(shè)馬達(dá),該馬達(dá)可以驅(qū)動攝像頭轉(zhuǎn)動,使攝像頭聚焦匹配成功的顏色區(qū)域。
2.2.3 圖像的腐蝕與膨脹
標(biāo)注感興趣圖像區(qū)域的過程中,利用形態(tài)學(xué)處理算法去除較小的噪點。本設(shè)計實現(xiàn)腐蝕和膨脹兩種操作的算法,先對圖像進(jìn)行腐蝕操作,去掉小的噪點;然后再對圖像進(jìn)行膨脹,恢復(fù)被削去的非噪聲區(qū)域的邊緣。
3 系統(tǒng)設(shè)計流程
電路設(shè)計的平臺是基于Xilinx推出的開發(fā)軟件Vivado2014.02,整體框架由13個模塊組成,這些模塊相互獨立也表現(xiàn)出層層遞進(jìn)的相互依賴關(guān)系,各自完成相應(yīng)的功能的同時,又對下一模塊產(chǎn)生一定的影響。系統(tǒng)設(shè)計流程如圖11所示。系統(tǒng)電路設(shè)計流程。主要分為以下幾個過程:第一,攝像頭采集視頻圖像,需對攝像頭進(jìn)行時序控制和寄存器的配置,并將采集到的視頻圖像按幀寄存于核心板中;第二,圖像的緩存,圖像的采集端和輸出端并非同步,因此需要對幀圖像進(jìn)行緩存。設(shè)計雙口RAM來實現(xiàn)幀緩存,該設(shè)計可同時實現(xiàn)讀寫;第三,顏色空間轉(zhuǎn)換,將采集到的RGB圖像轉(zhuǎn)換為HSV圖像;第四,HSV分量的匹配,為了實現(xiàn)目標(biāo)的識別功能,本文采用的方法是將采集到的圖像與目標(biāo)圖像的HSV分量進(jìn)行比較,并對分量差值小于某一閾值的區(qū)域進(jìn)行標(biāo)注,計算該區(qū)域的中心坐標(biāo),在這一過程中對圖像進(jìn)行形態(tài)學(xué)處理,減小噪聲的影響;最后,跟蹤目標(biāo)顏色,并將處理過的圖像顯示在VGA顯示器上。
4 實驗數(shù)據(jù)分析
硬件資源的使用情況如圖12所示,切片邏輯的使用率為28%,內(nèi)存的使用率為72%,充分使用了核心板的硬件資源,使整個設(shè)計的功能較為完善。
存儲與核心板中的識別顏色分別是紅色、黃色、綠色圖像的HSV分量的值,各選取紅、黃、綠卡片100張,實驗結(jié)果的識別率如表1所示。表1中的數(shù)據(jù)表示為識別顏色與卡片顏色匹配成功的概率。
表1 識別率 %
模擬實驗裝置如圖13所示,攝像頭將采集到的視頻圖像進(jìn)行分析比對,并將最終的處理結(jié)果顯示出來。作為模擬輔助駕駛系統(tǒng)的設(shè)計,該實驗裝置可以實現(xiàn)識別紅燈顏色,識別成功后做出相應(yīng)的響應(yīng)。
5 結(jié) 語
模擬出一種輔助駕駛情景,設(shè)計基于FPGA的輔助駕駛系統(tǒng),能夠?qū)崿F(xiàn)準(zhǔn)確識別紅、黃、綠三種顏色,這三種顏色對應(yīng)交通燈的三種顏色。后期將繼續(xù)完成數(shù)字的識別,路標(biāo)的識別等工作,實現(xiàn)智能化的輔助駕駛系統(tǒng)。
參考文獻(xiàn)
[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] 張嬌.交通標(biāo)志和信號燈圖像檢測技術(shù)研究[D].南京:南京理工大學(xué),2011.
[3] 王豪.交通信號燈識別技術(shù)方法的研究[D].沈陽:東北大學(xué),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] 時旭.人機(jī)交互中視覺目標(biāo)識別識別與跟蹤算法的研究[D].哈爾濱:哈爾濱工程大學(xué),2010.
[8] 劉穎,黃源,高梓銘.刑偵圖像檢索中的特征提取及相似性度量[J].西安郵電大學(xué)學(xué)報,2014,19(6):11?16.