《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于低功耗嵌入式系統(tǒng)的車牌定位算法
基于低功耗嵌入式系統(tǒng)的車牌定位算法
2017年微型機與應(yīng)用第3期
李震,,唐莉萍
東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620
摘要: 文章給出了自行設(shè)計的在低功耗嵌入式平臺上實現(xiàn)車牌定位檢測的算法。首先通過Sobel水平算子對車牌圖像進行垂直邊緣檢測,,運用形態(tài)學(xué)方法對邊緣圖像進行閉運算得到連通圖塊。然后根據(jù)連通區(qū)域輪廓確定最小外接矩形,解決車牌位置斷節(jié)問題,得到車牌候選區(qū)域,。最后根據(jù)車牌特征對提取出的車牌候選區(qū)域進行篩選實現(xiàn)準確的車牌定位。實驗結(jié)果證明了該算法的有效性,,而且在復(fù)雜背景下也具有較好的魯棒性和自適應(yīng)性,。
Abstract:
Key words :

  李震,唐莉萍

  (東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,,上海 201620)

       摘要:文章給出了自行設(shè)計的在低功耗嵌入式平臺上實現(xiàn)車牌定位檢測的算法,。首先通過Sobel水平算子對車牌圖像進行垂直邊緣檢測,運用形態(tài)學(xué)方法對邊緣圖像進行閉運算得到連通圖塊,。然后根據(jù)連通區(qū)域輪廓確定最小外接矩形,,解決車牌位置斷節(jié)問題,得到車牌候選區(qū)域,。最后根據(jù)車牌特征對提取出的車牌候選區(qū)域進行篩選實現(xiàn)準確的車牌定位,。實驗結(jié)果證明了該算法的有效性,而且在復(fù)雜背景下也具有較好的魯棒性和自適應(yīng)性,。

  關(guān)鍵詞:車牌定位,;Sobel算子;形態(tài)學(xué),;閉運算

  中圖分類號:TP391.41文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.03.014

  引用格式:李震,,唐莉萍.基于低功耗嵌入式系統(tǒng)的車牌定位算法[J].微型機與應(yīng)用,2017,36(3):45-48,,58.

0引言

  在大型停車場的出入口和停車智能收費場所都裝有攝像頭,,對進出場所的車輛進行圖像拍攝,以獲取車輛的車牌號,。對含有車輛的圖像進行車牌識別是車輛收費管理系統(tǒng)的一個重要環(huán)節(jié),。在車牌識別中,要實現(xiàn)字符的正確分割和識別,,首先需要完成對車輛車牌的精確定位,。車牌定位的精度直接影響監(jiān)控系統(tǒng)的性能[1]。多數(shù)收費管理系統(tǒng)采用的方案是攝像頭加PC,,由攝像頭采集圖像,,由PC通過圖像處理算法得到車牌號。這種方法不易實現(xiàn)活動場所的車牌識別,。因此基于嵌入式平臺的移動車牌識別成為一個新的研究熱點,。目前主流的嵌入式平臺有三種:ARM平臺、DSP平臺和FPGA平臺,。

  基于ARM平臺主要使用ARM9,、ARM11或者CortexA8處理器,例如文獻[2]用三星的ARM9芯片讀取CMOS攝像頭采集的車輛圖像進行車牌區(qū)域判斷;文獻[3]將CortexA8芯片運行于Linux操作系統(tǒng),,并借助于OpenCV圖形圖像處理庫中成熟的函數(shù)實現(xiàn)車牌的定位,;張海霞選擇ARM11開發(fā)板(S3C6410為微處理器核心)作為嵌入式車牌識別系統(tǒng)的核心硬件電路[4]?;贒SP平臺的主流處理器是德州儀器TMS系列,,例如左宗鵬等人采用TMS320DM642讀取SAA7113采集的圖像數(shù)據(jù),通過改進的BP神經(jīng)網(wǎng)絡(luò)算法實現(xiàn)車牌定位和識別[5],?;贔PGA平臺的內(nèi)核是定制的軟核處理器,如鄭存芳等人用FPGA通過定制的Nios Ⅱ軟核調(diào)用接口讀取CCD攝像頭的圖像數(shù)據(jù),,運用邊緣檢測方法進行車牌定位[6],;鄭存芳對比基于PC或DSP的車牌識別系統(tǒng),提出了基于FPGA的車牌識別系統(tǒng)研究與實現(xiàn)方案[7],。還有研究人員將FPGA和DSP結(jié)合在一起實現(xiàn)車牌識別[8],。

  以上文獻給出的嵌入式平臺,,硬件平臺采用的處理器大多為中高端產(chǎn)品,,產(chǎn)品的投入成本較高。在軟件方面有的需要運行在特定的操作系統(tǒng),,有些需要借助特殊的圖形圖像處理軟件,,將會引起處理器內(nèi)存開銷過大,影響系統(tǒng)的運行速度,。本文研究將低端,、低功耗嵌入式處理器引入移動車牌識別系統(tǒng),無需操作系統(tǒng),,通過對相關(guān)圖像處理算法進行改進,,直接在硬件電路中完成車牌定位,為后續(xù)字符的正確分割和識別提供保障,。

1系統(tǒng)組成

  本系統(tǒng)采用Aptina公司的MT9P031 CMOS傳感器作為圖像采集器件,,這種傳感器具有高分辨率、高幀率,、與處理器接口簡單的特點,。圖像有效像素為500萬,在全分辨率條件下幀率為14幀/s,,在640×480像素下的幀率可達50幀/s,,與處理器連接僅需要兩線串行接口。主控處理器選用意法半導(dǎo)體公司的STM32F429ZGT6,,其內(nèi)核為CortexM4,,最高主頻達180 MHz,內(nèi)存容量為256 KB,,自帶8~14位并行Camera接口,,傳輸速率為54 Mb/s,。系統(tǒng)要在硬件中直接對圖像進行各種處理,需要足夠的內(nèi)存交換數(shù)據(jù),,因此增加64 KB外部存儲器件SDRAM,。為了能保存歷史數(shù)據(jù),硬件部分預(yù)留了SD卡接口,。根據(jù)移動車牌識別的特點,,系統(tǒng)與上位機采用WiFi通信模式。系統(tǒng)采用鋰電池供電,,當檢測的圖像不變時,,系統(tǒng)自動進入休眠狀態(tài),每200 ms自動喚醒一次,。若檢測到圖像有變化時,,立即執(zhí)行圖像處理算法,這樣可以有效降低移動車牌識別的系統(tǒng)功耗,。硬件系統(tǒng)框圖如圖1所示,。 

001.jpg

2定位算法

  車牌定位是從一張拍攝到的圖像中定位出車牌的位置,,并提取出車牌圖像,。由于CortexM4的硬件資源有限,要求算法的復(fù)雜度不能太高,。為了保證定位算法的實時性,,需要對CMOS傳感器采集到的圖像進行截取,在含有車輛運動的全景圖像中,,截取640×480像素的車輛目標圖像作為目標車輛的最佳區(qū)域,,再在該區(qū)域進行車牌定位。定位算法包括以下幾個步驟:

  (1)圖像二值化處理;

  (2)二值化圖像快速邊緣檢測;

  (3)確定車牌候選區(qū)域;

  (4)候選車牌區(qū)的外接矩形劃定;

  (5)對候選車牌區(qū)篩選確定最終車牌區(qū)域,。

  2.1快速邊緣檢測的實現(xiàn)

  我國車牌的顏色特征主要分為4類:藍底白字(藍牌),,黃底黑字(黃牌),白底黑字(白牌),,黑底白字(黑牌),。車牌顏色雖然不一,但是它們具有共同的特點:(1)都有矩形線段圍成的邊框,;(2)邊框內(nèi)的字符呈水平排列,,并且分布間隔較均勻;(3)均表現(xiàn)為豐富的紋理特征,,很容易捕捉到邊緣信息,;(4)車牌具有統(tǒng)一的標準尺寸。針對以上特點,可以運用邊緣檢測算法對圖像進行初步處理,。

  圖像處理算法中常用的邊緣檢測算子包括Laplacian算子,、Canny算子和Sobel算子。Laplacian算子是一種求圖像的二階導(dǎo)數(shù)算子,,它將在圖像邊緣處產(chǎn)生一個陡峭的交叉,。在通常情況下,Laplacian算子也能檢測出邊緣,,但是其檢測方向不分水平和垂直,,算法的復(fù)雜度高。Canny邊緣檢測算子具有很好的邊緣檢測性能,,在圖像處理中得到了廣泛的應(yīng)用,。但是Canny邊緣檢測需要完成對圖像的高斯濾波去噪,從原始灰度圖中求出水平,、垂直兩個方向的梯度圖,,以及綜合梯度圖,再對3種梯度圖進行非極大抑制,,進行邊緣連接等步驟,,在PC中都非常難以保證算法的實時性。Sobel算子原理是對圖像求一階的水平與垂直方向?qū)?shù),,根據(jù)導(dǎo)數(shù)值的大小判斷是否是邊緣,。Sobel算子分為垂直邊緣算子和水平邊緣算子,,其卷積模版為:

  6V)KJVNDY8P}I7I{DW9O3[O.png

  3種邊緣檢測算法得到的結(jié)果如圖2所示,。對比邊緣檢測結(jié)果,Canny檢測獲得的邊緣最清晰,,Sobel邊緣檢測的清晰度結(jié)果介于Canny檢測和Laplacian之間,。雖然Canny檢測獲得的邊緣最清晰,從車牌定位的目的考慮,,邊緣檢測的最終目的并不是要刻畫出圖像清晰的邊緣,,而只是要確定車牌的一個具體區(qū)域。并且Canny邊緣檢測算法的復(fù)雜度遠高于Sobel算子,,不僅無法滿足處理器實時處理的要求,,還會消耗處理器的大量內(nèi)存,在硬件電路中無法實現(xiàn),,因此邊緣檢測算法選用Sobel算子,。

002.jpg

  由于嵌入式系統(tǒng)要求執(zhí)行的圖像處理算法必須運算量小,占用RAM少,,所以采用以塊代點的方法,,將圖像分成大小為64×48的100個小塊,因車輛是左右對稱結(jié)構(gòu),按照從圖像底部往上尋找的方式找對稱塊,,這是因為大多數(shù)車牌的位置離圖像的底部較近,。經(jīng)實驗數(shù)據(jù)測定和分析,當找到15對對稱的圖像小塊后,,車牌就能快速鎖定在這30個區(qū)域塊中,。然后對找到的30個區(qū)域塊進行Sobel算子邊緣檢測。

  由于汽車的車牌邊框是有規(guī)則的邊緣,,并且車牌的字符是有規(guī)律的排列,,因此相對于水平邊緣車牌的垂直邊緣更為豐富。而汽車的車身卻有豐富的水平邊緣,,垂直邊緣不明顯,。根據(jù)車牌和車輛邊緣特征的不同,本文僅使用Sobel算子對找到的30個區(qū)域塊進行水平方向求導(dǎo),,這樣可以大大減小處理器的內(nèi)存開銷,,降低算法的復(fù)雜度,提高處理器的運算速度,,在硬件電路上實現(xiàn)邊緣檢測,。作為對比,對圖像進行了垂直方向和水平垂直兩個方向同時求導(dǎo),,結(jié)果如圖3所示,。從檢測結(jié)果可以看到汽車的前端車牌附近有很多的水平邊緣,這是由車頭位置的排氣孔,、汽車廠家標志等產(chǎn)生的,。這些多余的水平邊緣很容易干擾車牌定位的結(jié)果,導(dǎo)致最終搜索不到真正的車牌位置,。因此本文采用Sobel水平算子實現(xiàn)快速邊緣檢測,。 

003.jpg

  2.2確定車牌候選區(qū)域

  在提取車牌圖像中垂直方向的邊緣后,,需要得到的二值邊緣圖像進行數(shù)學(xué)形態(tài)學(xué)運算,,將車牌區(qū)域連通為一個閉合的區(qū)域。圖像處理中常用的數(shù)學(xué)形態(tài)學(xué)運算分別為開運算和閉運算,。開運算是對圖像先腐蝕再膨脹,,能夠使得圖像的輪廓變得更加光滑,并且可以斷開狹窄的間斷以及消除細小的突出,。閉運算是對圖像先膨脹再腐蝕,,與開運算相反的是,閉運算通常能夠彌補狹窄的間斷以及細長的鴻溝,,并且能夠消除細小的空洞,,填補輪廓線中的斷裂,。針對2.1節(jié)Sobel水平求導(dǎo)得到的邊緣圖像進行開、閉兩種運算操作,,結(jié)果如圖4所示,。

004.jpg

  對比圖4可以發(fā)現(xiàn)由于腐蝕的效果太強,導(dǎo)致開運算膨脹沒有效果,,圖像中幾乎沒有有用信息,。而閉運算則將圖像中車牌區(qū)域附近的一些邊緣連成圖塊,包括車牌中的字符也被連成圖塊,,這些連接成塊的區(qū)域形狀不一,,組成了車牌的候選區(qū)域,如圖4(a)所示,。

  由圖4結(jié)果對比可知,,對得到的二值邊緣圖像只需要進行閉運算,就可以完成對候選區(qū)域的確定,。這樣可以進一步減少運算量,,提高車牌定位的實時性。

  2.3字符外接矩形斷節(jié)處理

  我國標準車輛的車牌是由一個省份漢字,、一個城市字母和5個字母或阿拉伯數(shù)字組成的字符序列,。每個字符的寬度為45 mm,高度為90 mm,,間隔符的寬度為10 mm,,除了第二個和第三個字符之間的間距為 34 mm 外,字符之間的間隔寬度為12 mm,,如圖5(b)車牌滬F C0439,。

  圖5(b)中字符F和字符C的距離大于其他相鄰字符的距離。這個距離越大,,字符區(qū)域輪廓就越大,,需要的字符外接矩形也就越大。當字符外接矩形設(shè)置較小時,,導(dǎo)致滬F和C0439分隔開,這樣就只能選中距離較近的字符,,如圖5(b),。由于車牌中間的字符斷開,必將影響車牌的準確定位,。經(jīng)過反復(fù)實驗,,在保證相鄰字符距離最大時,車牌字符之間不發(fā)生斷節(jié)現(xiàn)象,,取字符外接矩形的寬度為29個像素點,,高度為9個像素點,。

005.jpg

  3車牌定位區(qū)篩選

  經(jīng)過以上步驟處理后的圖像,能夠定位出幾個車牌的候選區(qū)域,。這些候選區(qū)域中,,除了真正的車牌以外,其余的是汽車標志,、車燈或者排氣孔等,,如圖6所示。

006.jpg

  圖6車牌候選區(qū)為了在候選區(qū)域中正確定位車牌位置,,可以根據(jù)我國車牌的特點以及安裝特征進行判斷,。實際車牌的長寬比為定值約為2.85~3.33,圖像中車牌的像素比也應(yīng)該在此范圍,;車牌一般安裝在車輛的正中心偏下位置,,外接矩形的角度應(yīng)該小于10度;外接矩形的中心應(yīng)該位于圖像中心線附近,。根據(jù)這三個條件可設(shè)置一個車牌判別公式:

  f(A,R,CX)=Σλixi

  其中,,A為外接矩形的角度,R為車牌的長寬比,,CX為外接矩形的中心橫坐標,,λi為3個條件的權(quán)重,xi為限制條件,。將候選區(qū)外接矩形的3個參數(shù)代入這個公式,,滿足f(A,R,CX)>0.9時就能準確找到車牌的位置。

4實驗結(jié)果

  將本文的車牌定位算法在本設(shè)計中的硬件平臺上進行車牌定位檢測,。使用的嵌入式處理器為STM32F429,,芯片運行主頻為180 MHz。圖7給出了該算法在實際應(yīng)用中檢測的部分圖片的效果,。

007.jpg

  為了驗證算法的效率和準確率,,本文對不同時間段的照片進行了實驗,白天照片測試了65張,,傍晚的照片測試了60張,,夜晚的照片測試了62張,實驗結(jié)果如表1所示,。

008.jpg

  從實驗結(jié)果分析,,白天定位準確率較低,原因是陽光的光線照射對車牌邊緣檢測存在干擾,,而且更多的邊緣信息導(dǎo)致每張照片定位的平均耗時也相對較長,。傍晚的陽光沒有那么強烈,攝像頭能夠捕獲到相對柔和的照片,,光線對邊緣信息的干擾會相對減少,,因此準確率上升的同時耗時也有所下降,。夜晚時,光線明顯不足,,導(dǎo)致車牌邊緣信息存在一定的丟失,,導(dǎo)致檢測耗時下降和準確率下降。

5結(jié)束語

  本文提出一種基于低功耗嵌入式系統(tǒng)的車牌定位檢測算法,。首先使用Sobel水平算子對車牌圖像進行垂直邊緣檢測,,運用形態(tài)學(xué)方法對邊緣圖像進行閉運算得到連通圖塊。再根據(jù)連通區(qū)域輪廓確定最小外接矩形,,解決車牌位置斷節(jié)問題,,從而得到車牌候選區(qū)域,最后根據(jù)車牌結(jié)構(gòu)特征對提取出的車牌候選區(qū)域進行篩選,,得到準確的車牌定位,。實驗結(jié)果表明該方法有效,而且在復(fù)雜背景下也具有較好的魯棒性和自適應(yīng)性,。

參考文獻

 ?。?] ANAGNOSTOPOULOS C N E, ANAGNOSTOPOULOS I E, LOUMOS V, et al. A license platerecognition algorithm for intelligent transportation system applications[J]. IEEE Transactions on Intelligent transportation systems, 2006, 7(3): 377-392.

  [2] 孔繁榮, 丁志剛. 基于嵌入式的車輛牌照識別系統(tǒng)設(shè)計[J]. 計算機應(yīng)用與軟件, 2015, 32(10): 223-226.

 ?。?] 張海霞. 基于ARM的車牌識別系統(tǒng)的研制[J]. 華北電力大學(xué)學(xué)報, 2012, 18(6): 49-51.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。