張曦元
摘要:隨著新一代人工智能以及深度學習的不斷發(fā)展,并且社會經(jīng)濟的飛速發(fā)展和私家車數(shù)量的增加,使得對于信息化的智能交通系統(tǒng)研究是十分必要的,本文研究并設計了智能車牌檢測系統(tǒng)。其中的圖像處理部分使用OpenCV開源庫,該系統(tǒng)包括背景差分法檢測車輛目標圖像、圖像預處理以及邊緣檢測方法分離車牌,最后使用模板匹配方法識別字符,在MFC界面中顯示。對于該系統(tǒng)涉及到的圖像處理、神經(jīng)網(wǎng)絡以及模式識別技術有深入的研究。
關鍵詞:車牌識別;圖像處理;車牌定位
中圖分類號:TP393 ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)13-0225-02
世界范圍內(nèi)高速公路的快速發(fā)展使得各國學者不斷采用計算機視覺和電子技術來監(jiān)管車輛的違法信息、速度以及位置等信息。而這些信息主要通過智能車輛運輸系統(tǒng)中車牌識別LPR(License Plate Recognition)技術來獲取,目前智能車輛運輸系統(tǒng)ITS是世界各國交通運輸領域前沿的技術的象征和主要研究課題,并且許多發(fā)達國家制定了相關的一系列的發(fā)展研究計劃,其主要的核心是解決日益嚴重的環(huán)境問題和交通運輸間的需求。
1 車牌識別技術
如今,隨著基于OpenCV的智能車牌檢測系統(tǒng)的普及,急需設計智能化的基于OpenCV的智能車牌檢測系統(tǒng)。本系統(tǒng)針對車牌識別的模塊不同而選擇了相應的算法,主要包括以下功能:車輛檢測和車輛圖像獲取;圖像預處理;車牌定位;車牌字符分割;車牌字符識別。
本系統(tǒng)采用圖像處理技術與計算機視覺和模式識別技術結(jié)合,對車牌的識別進行了深入研究,一方面主要分析了車牌識別的原理和流程,另一方面分析了邊緣檢測中的不同算子在檢測車牌輪廓中的應用。最后對于基于OpenCV的智能車牌檢測系統(tǒng)進行設計和仿真實驗。系統(tǒng)總體設計如圖1所示。
2 基于OpenCV的智能車牌檢測系統(tǒng)介紹
2.1 車輛檢測與圖像采集
對于車輛檢測而言,傳統(tǒng)的停車場、車庫、小區(qū)門口等場所大多采用檢測器,主要有感應式環(huán)形線圈車輛檢測器、雷達檢測器等,其中的環(huán)形線圈車輛檢測器需要在有車輛路過的監(jiān)測點地表埋入線圈作為諧振回路,由此實現(xiàn)車輛的到離檢測。本系統(tǒng)將車輛檢測和車牌識別集合一體,采用背景差分法檢測車輛,在固定場景和攝像頭的情況下,迅速完整的分割出運動圖像,且全部架構(gòu)于軟件設計部分,無需埋線破壞路面和人工安裝和操作。
背景差分法需要通過背景建模和前景提取兩部分實現(xiàn)運動目標提取,通常背景建模都是收集到整個視頻圖像序列中的數(shù)個幀,經(jīng)過復雜的計算獲得更合理的背景,因本系統(tǒng)所應用到的場景較為單一,為提高效率,擬將視頻圖像采集到的第一幀為背景,再將運動物體當前的每一幀變化與這一背景幀做差分計算得到目標區(qū)域,得到運動的車輛后即抓取照片進行后續(xù)的識別。
2.2 圖像預處理與車牌區(qū)域定位
對于所獲取的車輛圖像,很容易發(fā)現(xiàn)其圖像因受自然環(huán)境、設備性能和傳輸過程的影響而造成失真,使圖像產(chǎn)生噪點、陰影等。為保證后續(xù)檢測的魯棒性,有必要對圖片進行預處理。
2.2.1 高斯濾波
濾波是對圖像進行圖像平滑的一種操作,常見的濾波有線性濾波和非線性濾波,其中高斯濾波是一種非線性低通濾波,能夠去除噪聲信號,過濾掉某些與要研究圖像毫不相關,以無用的形式出現(xiàn)的信號,進而獲得亮度平緩漸變且沒有噪點的圖像,方便后續(xù)處理。經(jīng)過高斯濾波的圖像對比如圖2。
2.2.2 ?Sobel邊緣檢測方法
要定位出車輛的車牌區(qū)域,常用的方法有顏色定位法和邊緣檢測法,其中的顏色定位法是將圖像進行通道轉(zhuǎn)換,將顏色空間從RGB模型轉(zhuǎn)換為HSV模型,利用顏色邊緣進行定位。但由于顏色定位對光照非常敏感,因在自然環(huán)境下的光源強弱差異大,容易造成目標對象的無法定位,因此本系統(tǒng)采用邊緣檢測方法較為簡單有效。
邊緣檢測常見的各算子有Sobel、LoG、Canny算子,LoG算子經(jīng)常出現(xiàn)雙邊緣像素邊界,且對噪聲敏感,其通常用來判斷邊緣像素位于圖像的明區(qū)還是暗區(qū);Canny算子是一種非微分邊緣檢測算子,不容易受噪聲的干擾,能夠強有效的分辨出圖像的強弱邊緣。但在本系統(tǒng)的應用環(huán)境中,由于車身本身具有數(shù)量龐大的水平邊緣,若采用Canny算子,很容易檢測到過多的車身邊緣而影響車牌的定位,因此采用Sobel算子的邊緣檢測方法來定義區(qū)域。
Sobel算子結(jié)合高斯平滑和一階微分求導,根據(jù)方向差分運算與局部加權平均相結(jié)合來提取邊緣,達到極值則為邊緣現(xiàn)象,因此對水平方向的差分有較為優(yōu)秀的檢測效果,常應用且適用于車牌識別場景。對數(shù)字圖像{f(i,j)}的每個像素,定義Sobel算子如下:
由于Sobel算子只能應用于灰度圖像下,先將圖像經(jīng)過灰度通道轉(zhuǎn)換,而后進行檢測,Sobel算子在本次設計中經(jīng)過邊緣檢測后的圖像見圖3所示。
2.2.3 ?車牌區(qū)域定位
為了得到精確的車牌區(qū)域,首先通過先前的處理求出圖片的所有輪廓,對輪廓求最小外接矩形,根據(jù)我國車牌的固定大小、長寬比等與矩形驗證,篩選出候選區(qū)域。由于車牌固定在車身上,如果候選區(qū)域在場景中沒有較大的旋轉(zhuǎn)角度或變形程度,且包含很多垂直邊緣的矩形塊,則為車牌區(qū)域的可能性較大。接下來通過角度旋轉(zhuǎn)判斷,篩掉旋轉(zhuǎn)角度大于45度的矩形,則留下的區(qū)域為車牌。
2.3 ?字符分割與字符識別
2.3.1 ?字符分割
字符分割具有定位牌照區(qū)域和進一步進行識別處理的功能。將上一步獲得的牌照區(qū)域進行分割,采用取輪廓的方法,接著找到字符的外接矩形并將字符歸一化處理,分割成單獨的字符如圖4所示。
2.3.2 ?字符識別
為完成整個系統(tǒng),最終的步驟是將機器檢測到的圖像字符轉(zhuǎn)換成文本顯示出來,本系統(tǒng)采用模板匹配方式識別漢字、數(shù)字和英文等。首先建立字符模板庫,將先前分割的歸一化的單一字符圖像矩陣與模板庫中的標準字符做代數(shù)減運算,將做差運算后的圖像矩陣作為兩字符圖像的評判標準,運算后的待識別圖像矩陣中非零元素越少則與匹配的字庫越相似,因而得出匹配結(jié)果。
整體系統(tǒng)的界面在Visual Studio中的MFC圖形界面實現(xiàn),最終識別效果如圖5。
3結(jié)論
本系統(tǒng)在技術上采用了背景差法檢測車輛,進而利用OpenCV開源庫的多種圖像處理功能完成車牌的定位和識別,具有易用性和實用性。對于我以后工作和學習方面的幫助是十分重要的,但是該系統(tǒng)的實現(xiàn)也有很多的不足和不完善之處,例如我國車牌種類的增加、復雜環(huán)境的影響等都可能導致識別效果不好,今后將對系統(tǒng)的兼容性和穩(wěn)定性進行深入的研究。
參考文獻:
[1] 張莉莉, 武艷.基于OpenCV的智能車牌檢測系統(tǒng)的設計仿真[J].數(shù)字技術與應用, 2017(10):127-128.
[2] ?劉蜜, 尹睿, 屈天健,等.基于MATLAB的智能基于OpenCV的智能車牌檢測系統(tǒng)設計[J].智能城市, 2017(1).
【通聯(lián)編輯:光文玲】