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