朱穎,吳鈺鑫,梁舒杰,朱珍妮
(廣東工業(yè)大學(xué)華立學(xué)院,廣東廣州 511325)
停車管理問題一直是城市道路交通管理中的一大難題,目前停車管理主要還停留在人工管理加車牌識別系統(tǒng)的半智能層面上,主要解決了自動停車收費(fèi)問題,管理效率不高,且不能對停車實(shí)時有效監(jiān)管,“停車亂,停車難”的現(xiàn)象還是屢見不鮮[1]。對此,針對停車場無人管理問題,學(xué)者做了大量研究。文獻(xiàn)[2]提出了一種高效魯棒的車牌識別方法,該方法利用背景發(fā)射檢測車輛圖像實(shí)現(xiàn)車輛檢測,采用字符識別和模式匹配的方法對車牌進(jìn)行定位,利用連通分量分析識別并提取輪廓,然后利用密度準(zhǔn)則發(fā)出低密度區(qū)域,提取車牌,利用統(tǒng)計特征、濾波方法和形態(tài)學(xué)算子對車牌字符進(jìn)行分割和提取,字符分割后,從每段圖像中提取統(tǒng)計全局特征和局部模式進(jìn)行分割分類,最后利用F-score 對特征進(jìn)行排序,然后利用隨機(jī)森林對每段圖像進(jìn)行37 類分類,該算法準(zhǔn)確性和魯棒性比較強(qiáng),但其僅有車牌識別功能。文獻(xiàn)[3]采用DSP 作為圖像處理系統(tǒng),數(shù)字信號處理方面性能優(yōu)良,并且具有很好的圖像處理功能,但是需要搭配硬件平臺,兼容性較差。針對上述存在的問題,文中提出基于FPGA 的停車場巡視機(jī)器人設(shè)計,采用FPGA 芯片作為現(xiàn)場可編程邏輯門陣列,可重構(gòu)性強(qiáng),且片內(nèi)有大量邏輯資源、乘法器和存儲單元,適合并行處理大量數(shù)據(jù)[4],不僅能夠提高車牌識別效率,同時能夠搭載多傳感器采集停車場環(huán)境信息,做到實(shí)時監(jiān)管車輛[5]。
停車場巡視機(jī)器人通過FPGA 控制機(jī)器人行走并采集周圍信息,根據(jù)環(huán)境光照強(qiáng)度判斷是否需要打開矩陣燈板進(jìn)行補(bǔ)光,對捕捉到的車牌圖像進(jìn)行預(yù)處理并對特征進(jìn)行提取匹配,如果車牌信息無法與物業(yè)預(yù)留的數(shù)據(jù)庫信息進(jìn)行匹配,則向物業(yè)中心反饋實(shí)時GPS 定位以及車牌號,并顯示在機(jī)器人搭載的LCD 顯示屏上。
基于FPGA 的停車場巡視機(jī)器人系統(tǒng)主要包括兩部分:硬件電路和軟件部分。系統(tǒng)硬件電路主要包括AX7050 FPGA 開發(fā)平臺、CMOS 攝像頭、GPS 北斗模塊、環(huán)境光傳感器、紅外接收器、超聲波模塊、四路循跡模塊、LORA 擴(kuò)頻無線模塊、LCD 顯示屏、舵機(jī)云臺以及機(jī)器人的底盤驅(qū)動電路與電機(jī)。硬件系統(tǒng)框圖如圖1 所示。

圖1 硬件系統(tǒng)框圖
停車場巡視機(jī)器人以賽靈思Spartan-7 系列的XC7S50 芯片為整個系統(tǒng)的處理和控制中心,以AX7050 板卡作為開發(fā)平臺。硬件主要由FPGA、DDR3 和QSPI FLASH 構(gòu)成,承擔(dān)FPGA 高速數(shù)據(jù)處理和存儲的功能,加上FPGA 和兩片DDR3SDRAM之間的高速數(shù)據(jù)讀寫,數(shù)據(jù)位寬為32 位,整個系統(tǒng)的帶寬高達(dá)10 Gb/s(333.3M×32 bit);另外DDR3 容量高達(dá)8 Gbit,滿足車牌采集與處理過程中對高緩沖區(qū)的需求。此外硬件平臺上還有一些常用的外圍設(shè)備接口,如UART、HDMI、攝像頭接口等。開發(fā)系統(tǒng)平臺示意圖如圖2 所示。

圖2 開發(fā)平臺示意圖
信息采集模塊以O(shè)V5640 為主,AP3216C 器件及S1216F8-BD 模組為輔。OV5640 作為單芯片圖像傳感器,其感光陣列達(dá)到2 592×1 944(即500 W 像素),能實(shí)現(xiàn)最快90 fps(640×480)分辨率的圖像采集。同時傳感器采用OmniVision 推出的OmniBSI 技術(shù),能提高靈敏度、降低串?dāng)_和噪聲,為機(jī)器人在停車場采集圖像提供硬件支持。AP3216C 作為一款整合型傳感器連續(xù)采集環(huán)境光照強(qiáng)度和距離值。
巡視機(jī)器人采用車載機(jī)器人形態(tài),機(jī)械結(jié)構(gòu)主要包括攝像頭轉(zhuǎn)向舵機(jī)部件、機(jī)器人底盤麥克納姆輪部件。麥克納姆輪表面有輪轂,輪轂軸與轉(zhuǎn)軸成45°角,其中輪轂向右傾斜為A 輪,向左為B 輪。當(dāng)輪子正向旋轉(zhuǎn)時,將產(chǎn)生一個45°方向的力,反轉(zhuǎn)則形成鏡像關(guān)系。四輪的機(jī)器人底盤,通過對A 輪和B輪的關(guān)系進(jìn)行組合,可以獲得24種安裝方式,麥克納姆輪的受力分析如圖3 所示。

圖3 麥克納姆輪受力分析
巡視機(jī)器人的麥輪結(jié)構(gòu),主要以ABAB 的順序進(jìn)行安裝[6]。這樣安裝的目的可以使得機(jī)器人在任意方向、角度上運(yùn)動,并且最大程度的減少移動誤差。每個麥克納姆輪都需要一個獨(dú)立的電機(jī)進(jìn)行驅(qū)動,根據(jù)物理學(xué)正交分解可推出:01010101 代表車子前進(jìn);10101010 代表車子后退;01101001 代表車子左轉(zhuǎn);10010110 代表車子右轉(zhuǎn);01100110 原地向右旋轉(zhuǎn)。
攝像頭搭載在180°云臺上,其轉(zhuǎn)動主要由兩個MG995 舵機(jī)進(jìn)行控制,以20 ms 作為一個程序周期,該設(shè)計與結(jié)構(gòu)使機(jī)器人視野更寬,更有利于后期的優(yōu)化提升。
停車場巡視機(jī)器人,框架采用三層機(jī)械結(jié)構(gòu);GPS 模塊、LORA 接收器、LCD 顯示屏、舵機(jī)云臺和攝像頭固定在頂層上,方便查看識別車牌,并且利于信號接收和圖像采集;AX7050 板卡、穩(wěn)壓器和各類傳感器固定在中層;下層具有良好的空間能力放置電機(jī)驅(qū)動、鋰電池和電源控制開關(guān),可使機(jī)器人的三層空間利用率最大化[7]。并且整體機(jī)械結(jié)構(gòu)為金屬,結(jié)構(gòu)穩(wěn)定、承受力高,使得機(jī)器人可以穩(wěn)定地行走。
該系統(tǒng)采用Verilog 語言編程,利用Robei EDA生成模塊化代碼,具有可視化以及可重構(gòu)性強(qiáng)的特點(diǎn)。程序主要分為圖像采集模塊、LORA 無線通信模塊、環(huán)境光探測模塊、循跡與超聲波模塊、紅外驅(qū)動模塊、LCD 顯示模塊以及M×N維算法。
系統(tǒng)主要實(shí)現(xiàn)方式:首先對全國車牌字符進(jìn)行圖片采集,采集后的圖片由HDIM 端口輸入至FPGA內(nèi)部進(jìn)行特征訓(xùn)練,由集成邏輯分析器ILA 對特征訓(xùn)練信息進(jìn)行抓取,生成特征庫;然后攝像頭采集外界信息數(shù)據(jù),根據(jù)車牌位置信息對機(jī)器人底盤及舵機(jī)云臺進(jìn)行調(diào)整,當(dāng)車牌信息正確進(jìn)入邊框后,對圖像進(jìn)行處理以及匹配,匹配結(jié)果通過無線擴(kuò)頻模塊傳輸給物業(yè)中心,主流程如圖4 所示。

圖4 主流程
車牌識別流程程序設(shè)計,主要包括圖像采集模塊、圖像預(yù)處理模塊以及M×N維算法模塊。
通過對I2C 進(jìn)行驅(qū)動配置從而完成圖像傳感器的初始化,用First_In 模塊將CMOS 圖像傳感器采集到的數(shù)據(jù)寫入DDR3 中緩存,之后First_Out 模塊將數(shù)據(jù)讀出,數(shù)據(jù)在TTL 驅(qū)動模塊的驅(qū)動下進(jìn)入圖像處理模塊。YCbCr 轉(zhuǎn)換算法將采集到的圖像由RGB顏色空間轉(zhuǎn)換到Y(jié)CbCr 顏色空間,對Y分量進(jìn)行中值濾波降噪,將降噪后圖像利用Binarization 模塊得到二值圖像,經(jīng)過圖像切分后的二值化圖像得到每個車牌字符的水平和垂直邊界,再將邊界信息送入特征識別模塊(通過M×N維方式進(jìn)行字符訓(xùn)練)進(jìn)行特征匹配,最終識別到圖像中的字符、車牌信息;并將識別結(jié)果通過串口通信發(fā)送給上位機(jī),同時LCD 顯示器顯示白板和識別到的車牌號。算法流程如圖5 所示。

圖5 算法流程
由于機(jī)器人工作環(huán)境光線變化很大,為消除光照的影響,需將車牌圖像由RGB顏色空間轉(zhuǎn)換到Y(jié)CbCr顏色空間。YCbCr 顏色空間亮度與色度分離,能有效排除光照因素的干擾,極大地降低噪聲[8]。YCbCr顏色空間中包含了亮度信息Y,藍(lán)色分量Cb,紅色分量Cr,空間色彩信息Cb 和Cr[9]。RGB 與YCbCr 色彩空間轉(zhuǎn)換公式如下:

車牌圖像經(jīng)過顏色空間轉(zhuǎn)換后,采用中值濾波對圖像進(jìn)行增強(qiáng)處理,中值濾波去除噪聲同時能很好地保持圖像邊緣銳度與圖像細(xì)節(jié)[10]。
濾波后的車牌圖像進(jìn)行二值化處理,保留目標(biāo)對象的主要輪廓,簡化圖像數(shù)據(jù)量[11]。經(jīng)過二值化處理,車牌字符完全凸顯出來,然后采用垂直和水平方向投影法將車牌上的字符分割成單個字符[12],為M×N維算法實(shí)現(xiàn)奠基。
字符的識別包括邊界定位和特征的提取。首先對字的4 個邊界進(jìn)行定位如圖6 所示;再將其分成一個M×N維矩陣,計算矩陣像素數(shù)除以總面積得到每一個小框黑元素的占比(大于50%記為1)來編碼一個5×8 矩陣,如圖7 所示;然后提取矩陣特征,最后進(jìn)行特征庫匹配識別字符。該算法能有效降低字符維數(shù),為FPGA 實(shí)現(xiàn)字符識別提供可能。

圖6 字符邊界

圖7 M×N維矩陣
停車場的環(huán)境錯綜復(fù)雜,要想獲取正確的車牌信息以及精準(zhǔn)定位,機(jī)器人需要獲取停車場的光照強(qiáng)度系數(shù)、與車牌的距離、地上黑線走向以及GPS 定位[13]。FPGA 首先通過I2C 總線讀取環(huán)境光傳感器采集的環(huán)境光及距離數(shù)據(jù),然后將讀到的環(huán)境光照強(qiáng)度系數(shù)反饋給LED 模塊,LED 模塊根據(jù)光照系數(shù)對LED 燈板進(jìn)行呼吸調(diào)節(jié);車輛反射到PS 上的紅外光強(qiáng)度越高,模數(shù)轉(zhuǎn)換后得到的數(shù)據(jù)就越大,要想獲得正確的車牌位置,機(jī)器人底盤的霍爾編碼器通過接收到的距離值對機(jī)器人底盤進(jìn)行PID 調(diào)整[14]。
PID 控制廣泛應(yīng)用在機(jī)械設(shè)備和電子設(shè)備控制中。PID 控制通過將實(shí)測值與給定值進(jìn)行比較,從而計算出偏差量,來調(diào)節(jié)KP、KI、KD,使其誤差變小,同時兼顧調(diào)節(jié)時間和超調(diào)量等系統(tǒng)動態(tài)參數(shù)。數(shù)字PID 包括位置PID 算法、速度PID 算法和增量式PID算法。該文采用增量型PID 算法對機(jī)器人進(jìn)行控制可有效減少累計誤差。增量型PID 是對位置型PID取增量,控制器輸出相鄰兩次采樣時刻所計算的位置值之差[15]。PID 控制輸出是增量,控制量Δu(k)是近幾次位置誤差的增量,非實(shí)際位置的偏差,沒有誤差累加[16]。

其中KP、KI、KD分別為PID 調(diào)節(jié)器的比例、積分、微分的增益系數(shù)[17],e(k)是當(dāng)前誤差,e(k-1)是上次誤差,e(k-2)是上上次誤差。
機(jī)器人在選擇自動模式工作時,需要利用循跡傳感器進(jìn)行路徑矯正,該傳感器模塊對環(huán)境光線適應(yīng)能力強(qiáng),其具有一對紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收管接收,經(jīng)過比較器電路處理之后,同時由信號輸出接口輸出數(shù)字信號。霍爾編碼器模塊對循跡信號以及測距值進(jìn)行優(yōu)先級處理,從而矯正機(jī)器人運(yùn)動路徑以及方向[18-19]。
將停車場等比例縮小,實(shí)驗(yàn)場地的環(huán)境光強(qiáng)度調(diào)節(jié)到29,按照全國34 種車牌漢字簡稱來生成34 塊藍(lán)底隨機(jī)數(shù)字字母組合車牌作為識別對象。巡視機(jī)器人根據(jù)模擬停車場的路徑對車牌進(jìn)行定位與識別。
實(shí)驗(yàn)場地大小為8 m×15 m,24 個車牌模擬器均勻擺放于場地兩側(cè),用以模擬測試合格車輛停放,8個未載入數(shù)據(jù)庫的車牌模擬器錯亂放在場地各個地點(diǎn);機(jī)器人由場地正門出發(fā),按照預(yù)留的路線,全自主行走于模擬場地,對車牌進(jìn)行識別與反饋。采用該文自主研發(fā)的停車場巡視機(jī)器人進(jìn)行車牌識別實(shí)驗(yàn)。
停車場環(huán)境錯綜復(fù)雜,環(huán)境光線強(qiáng)弱會影響攝像頭對圖像的采集與識別,在場景內(nèi)進(jìn)行50 次檢測,發(fā)現(xiàn)靠近窗戶的檢測效果較為良好,中間以及角落都需要進(jìn)行光照補(bǔ)償,實(shí)驗(yàn)結(jié)果由表1 所示。

表1 實(shí)驗(yàn)數(shù)據(jù)對比
由表1 實(shí)驗(yàn)數(shù)據(jù)可知,停車場巡視機(jī)器人采用文中算法系統(tǒng)模擬停車場補(bǔ)光前正確識別車牌率為76.47%,其中8 次為角落光照,光線較弱,圖像模塊無法正確對車牌圖像進(jìn)行定位識別。與數(shù)據(jù)庫對比成功率為100%,機(jī)器人信息91.18%上傳到物業(yè)中心,其中3 次由于場景中有金屬屏蔽物導(dǎo)致模塊信號減弱無法反饋。載入補(bǔ)光模塊后,該機(jī)器人正確識別車牌率為97.06%,與數(shù)據(jù)庫對比成功率為100%,機(jī)器人信息94.11%上傳到物業(yè)中心。實(shí)驗(yàn)結(jié)果表明,機(jī)器人通過該文改進(jìn)的自動調(diào)整系統(tǒng),對車牌的識別度得到了很大提高,達(dá)到了預(yù)期設(shè)計的效果,可實(shí)現(xiàn)移動巡視的停車場智能管理,對解決當(dāng)前“停車亂,停車難”這一問題提供了切實(shí)可行的方案。
文中設(shè)計的停車場巡視機(jī)器人利用FPGA 搭載的控制處理系統(tǒng),兼顧了實(shí)時性與可移動性,利用CMOS 攝像頭采集圖像信息,采用霍爾編碼器通過接收到的距離值對機(jī)器人底盤與云臺舵機(jī)進(jìn)行PID調(diào)整。
巡視機(jī)器人應(yīng)用多傳感器融合,能夠提高機(jī)器人的魯棒性,應(yīng)付各種突發(fā)環(huán)境干擾。為適應(yīng)多變的環(huán)境,加入了光照補(bǔ)償,提高了機(jī)器人的自適應(yīng)性。
對車牌識別算法進(jìn)行改進(jìn),提出了M×N維算法有效降低字符維數(shù),提高了車牌識別精度與速度,并通過實(shí)驗(yàn)驗(yàn)證了該算法的有效性。