許衛(wèi)洪
摘要:文章提出了一種基于LabVIEW和Vision Assistant的車牌識別方案。系統(tǒng)使用Vision Assistant的顏色閾值、高級形態(tài)學及光學字符識別等函數(shù),實現(xiàn)了對車牌圖像的預處理和車牌區(qū)域定位以及車牌字符分割、字符訓練和識別,使用LabVIEW程序完成車牌的顯示。使用數(shù)百張車牌圖像對該系統(tǒng)進行驗證,結果證實該方案是可行的,系統(tǒng)是可靠的,可以快速、準確定位和識別車牌。
關鍵詞:車牌識別;視覺助手;車牌定位;字符分割與識別
中圖分類號:TP391.41中圖分類號文獻標志碼:A文獻標志碼0引言隨著我國經(jīng)濟的快速發(fā)展和汽車工業(yè)水平的不斷提升,汽車的生產(chǎn)成本也大大降低。這兩方面因素都刺激著我國汽車行業(yè)的快速發(fā)展以及汽車保有量的急速增長[1]。要對如此之多的車輛進行有效的管理,必須進行車輛身份的識別。車牌是車輛最明顯且唯一的身份證。因此,設計一款高效的車牌識別系統(tǒng)有很高的應用價值。
我國的車牌按照目的和用途分為小型汽車號牌、大型汽車號牌、新能源汽車號牌及其他類型共27類。本文針對已經(jīng)采集到的藍底小型汽車號牌圖像,提出了一種基于LabVIEW和Vision Assistant的車牌識別方案。
1系統(tǒng)整體結構和軟件選擇車牌的識別過程主要包括獲取車牌圖像、圖像預處理、車牌區(qū)域定位、車牌字符分割、車牌字符識別、車牌顯示等,如圖1所示[2]。
車牌識別系統(tǒng)常用的開發(fā)軟件包括OpenCV,Matlab,VC,LabVIEW等[3],本系統(tǒng)選擇采用LabVIEW,主要有3個原因:(1)LabVIEW編程軟件可以把計算機作為處理器,因而可以應用計算機強大的處理和存儲功能,使采集的車牌圖像可以存儲在計算機中。(2)LabVIEW屬于圖形化編程語言,編程效率高,內含多種函數(shù),尤其是視覺與運動模塊含有400多個可供直接調用的函數(shù)。(3)視覺助手Vision Assistant功能強大,可以實現(xiàn)算法合理性和可靠性的快速驗證,可以實現(xiàn)將編寫完的程序轉化為LabVIEW的VI程序,方便LabVIEW調用。
2系統(tǒng)的設計與實現(xiàn)2.1獲取車牌圖像因藍底小型汽車號牌圖像已經(jīng)完成采集并存儲到電腦中,系統(tǒng)在獲取車牌圖像時只需通過程序將圖像讀入即可,對應的程序框如圖2所示。通過使用LabVIEW中的創(chuàng)建圖像IMAQ Creat、獲取文件信息IMAQ GetFileInfo和讀取文件IMAQ ReadFile這3個函數(shù),只需輸入圖像保存的文件路徑,系統(tǒng)就可以讀取車牌圖像。
2.2車牌預處理與車牌定位由于讀入的不同車牌圖像的像素和大小很可能不一致,且在車牌圖像中定位車牌時不需要對整個圖像進行處理,因此系統(tǒng)只需要在讀取的車牌圖像中確定一個區(qū)域去進行分析即可。這個需要確定的區(qū)域即為興趣區(qū)域ROI(Region of Interest)。
在確定興趣區(qū)域時,系統(tǒng)必須確保圖像中的車牌號部位在該區(qū)域內。為實現(xiàn)此目的,系統(tǒng)需利用LabVIEW的獲取圖像信息IMAQ GetImageInfo函數(shù)來獲得每個車牌圖像信息,根據(jù)該信息確定ROI。確定ROI后,系統(tǒng)還需利用視覺助手Vision Assistant來完成車牌號碼區(qū)域的定位,即系統(tǒng)通過使用Vision Assistant的閾值化函數(shù)將圖像中的高亮度區(qū)域和其他區(qū)域予以區(qū)分,使高亮度區(qū)域閾值化后的像素值為1,其他區(qū)域閾值化后的像素值為0,高亮度區(qū)域即為車牌號碼的位置。
為實現(xiàn)閾值化,本系統(tǒng)中采用了顏色閾值Color Threshold函數(shù),以使彩色圖像轉換成二值圖像。顏色閾值函數(shù)能將彩色圖像在4個顏色平面(RGB、HSL、HSV和HSI)上應用閾值并且放置結果到一幅8位的圖像中,實際上是1位的二值圖像,圖像中的值只有0和1。
為了更好地獲取車牌定位,系統(tǒng)需利用3種不同的顏色模型進行二值化。除了最為常見的RGB(紅綠藍)顏色模型[4],HSL(色調、飽和度、亮度)顏色模型是應用比較多的另一種顏色模型,該模型色調(色相)平面抽取的是彩色圖像的色調[5]。另外,HSV 顏色模型(也稱HSB 顏色模型)與HSL顏色模型相近,區(qū)別在于HSV 顏色模型將HSL的亮度平面換成了Value值平面。HSI 顏色模型與HSL、HSV顏色模型類似,區(qū)別在于HSI 顏色模型是Intensity強度平面。本系統(tǒng)中,Vision Assistant中的Color Threshold1函數(shù)利用了HSL顏色模型,Color Threshold2函數(shù)利用了HSI顏色模型,Color Threshold3函數(shù)利用了RGB顏色模型。
二值化后,系統(tǒng)再使用高級形態(tài)學Adv.Morphology函數(shù),獲取車牌號碼位置的圖像。高級形態(tài)學函數(shù)通常是有條件的組合基本變換,如二值的腐蝕、膨脹、開閉運算、刪除小目標、刪除大目標、刪除邊界目標、填充孔洞、凸包、骨架、分割目標等。使用高級形態(tài)學操作可以填充粒子、去除接觸邊界的粒子、去除不必要的小的或大的粒子、分離接觸的粒子、查找凸包的粒子,可以使用這些變換來準備粒子以用于定量分析、觀察幾何區(qū)域、提取最簡單形式的建模、識別目標等。
本系統(tǒng)使用顏色閾值Color Threshold函數(shù)和高級形態(tài)學Adv.Morphology函數(shù)的不同組合配合使用,對每一車牌均獲取3個圖像,如圖3所示。Adv.Morphology1函數(shù)和Adv.Morphology2函數(shù)均采用凸包函數(shù),可以計算每個粒子的凸出包絡,可以有效地關閉粒子,以便于粒子測量,甚至當粒子輪廓不連續(xù)時也可以通過凸包后進行測量。當然,凸包函數(shù)也可以填充孔洞。
Adv.Morphology3和Adv.Morphology4函數(shù)分別為凸包函數(shù)和刪除小目標函數(shù)。刪除小目標Remove small objects函數(shù),其作用就是將圖像中的小的目標刪除掉,使圖像更簡潔。小的目標的寶島是通過腐蝕次數(shù)Iterations來定義的,定義的腐蝕次數(shù)越大,則過濾刪除的小目標面積也就越大。腐蝕次數(shù)Iterations控制的是使用3×3的掩模進行腐蝕的次數(shù)。通過增加腐蝕次數(shù),函數(shù)可以刪除更大的粒子。Adv.Morphology5和Adv.Morphology6函數(shù)分別為凸包函數(shù)和刪除小目標函數(shù)。
完成以上任務后,系統(tǒng)再運用運算函數(shù)Operators,將前面獲得的3幅圖像進行Add運算,以使3幅圖像合并為1幅圖像,確保后續(xù)能提取到完整的車牌號碼部分。為了獲得較好的車牌圖像,系統(tǒng)還需要對合并后的圖像進行進一步處理。該過程主要分3個步驟進行。
(1)使用2個高級形態(tài)學Adv.Morphology函數(shù),均為Remove Small Objects刪除小目標函數(shù),把合并后的圖像中的細小目標移除掉。
(2)使用基本形態(tài)學Basic Morphology函數(shù)再次二值化?;拘螒B(tài)學函數(shù)包括腐蝕目標Erode objects、膨脹目標Dilate objects、開目標Open objects、閉目標Close objects、Open、適當閉Proper Close、Gradient In梯度內、Gradient Out梯度外、Auto Median自動中值、Thick粗化、Thin細化等。本系統(tǒng)采用了其中的Auto Median自動中值函數(shù),通過該函數(shù)聯(lián)合使用開操作和閉操作。若I是原始圖像,則Auto Median自動中值函數(shù)提取原始圖像的適當開和適當閉的交集[6]。
Auto Median(I)=AND(OCO(I),COC(I))
或者Auto Median(I)=AND(DEEDDE(I),EDDEED(I))
其中I是原始圖像,E是腐蝕,D是膨脹,O是開,C是閉。
(3)運用粒子過濾函數(shù)Particle Filter,過濾或保留圖像中滿足過濾條件中指定的粒子。因粒子過濾函數(shù)Particle Filter是基于粒子測量函數(shù)Particle Measurements的,因此進行粒子過濾時,系統(tǒng)必須先使用粒子測量函數(shù)Particle Measurements測量出所有的粒子及其相差的數(shù)據(jù)(如面積、質心坐標、質心方向等),再根據(jù)用戶指定的過濾條件,將滿足條件的粒子過濾掉或者保留下來。
粒子過濾函數(shù)Particle Filter運行后,可以顯示原始圖像和現(xiàn)有圖像的比對,如圖4(a)和(b)所示。由圖可見,車牌號碼部分已經(jīng)從讀取的圖像中分離出來了,車牌號碼部分的圖像顯示為紅色,其余部分為黑色,但車牌存在傾斜的角度,會影響后續(xù)對車牌的分割和識別。
本系統(tǒng)使用高級直邊函數(shù)Adv.Straight Edge和卡尺函數(shù)Caliper來測量該傾斜角度,并使用最大卡尺函數(shù)Max Clamp分別測量水平和垂直方向的兩條邊之間的最大距離。
完成以上步驟后,在LabVIEW程序中,系統(tǒng)利用視覺助手中測得的車牌傾斜角度及水平與垂直的方向兩條邊的最大距離信息,使用IMAQ Convert Rectangle to ROI,IMAQ Extract Tetragon,IMAQ Rotate函數(shù),完成車牌的準確定位,如圖4(c)所示。
2.3字符分割與識別從背景圖像中分離每個字符或者說定位字符的過程通常稱為字符分割。本系統(tǒng)利用視覺助手的光學字符識別OCR函數(shù)(Optical Character Recognition)來完成字符分割與字符的識別,最終從圖像中讀取字符與文本。該函數(shù)的使用需要區(qū)分訓練和讀取/驗證字符兩個階段。
2.3.1OCR函數(shù)的訓練OCR函數(shù)的訓練過程如下:采集圖像→指定ROI→從背景圖像中分離每個字符→提取每個字符的特征信息→為每個分段的字符指定一個字符值→每個字符類分配一個參考字符(可選)→保存字符集為字符集文件。
在訓練字符前,系統(tǒng)必須設置OCR的參數(shù),分割想要訓練的字符。閾值(Thresholding)是分割過程中最重要的概念之一?;谙袼氐膹姸戎担撝悼梢詫D像中的像素分割為前景和背景。OCR函數(shù)包含1個手動和3個自動計算閾值范圍的方法:Uniform 均衡、Linear 線性、Non Linear 非線性。本系統(tǒng)采用了均衡的方法,是一種通過 OCR計算單一閾值的方法,并且使用得到的該閾值以部分到整體的方式從ROI中提取像素。
分割字符的方法有兩種,即自動分割和根據(jù)字符的大小進行分割。本系統(tǒng)選擇根據(jù)字符的大小進行分割的方法。在分割的時候,需選擇Size和Spacing選項,設置Bounding Rect Width邊界矩形寬度、Bounding Rect Height邊界矩形高度、Character Size字符尺寸、Min Char Spacing最小字符間距、Max Element Spacing(X)最大元素間距(X 方向)、Max Element Spacing(Y)最大元素間距(Y 方向)、Min Space Distance最小字符間距等參數(shù)。
對分割出來的字符,還需進行字符集的訓練。這種訓練方式方便且直觀。訓練字符的方式有3種:(1)練所有字符(Train All Character)不管ROI中的字符是否已經(jīng)被識別,全部重新訓練。(2)訓練錯誤的字符(Train Incorrect Character)只訓練ROI中未識別到的字符,已經(jīng)識別到的字符則不訓練。(3)訓練單一的字符(Train Single Character)可以有針對性地對ROI中的某一個字符進行單獨訓練。
系統(tǒng)將訓練的結果以*.abc的形式保存不同字符的特征向量。
2.3.2OCR函數(shù)的讀取/驗證OCR函數(shù)的讀取/驗證過程如下:打開OCR函數(shù)→加載字符集文件→采集圖像→指定ROI→從背景圖像中分離每個字符→與特征集比較特征→返回識別的字符→校驗識別的字符。
3結語本文提出了基于LabVIEW和Vision Assistant的車牌識別方案。使用數(shù)百張車牌圖像進行驗證,系統(tǒng)能夠對車牌進行有效的識別和顯示,證實該方案是可行的,系統(tǒng)是可靠的,可以實現(xiàn)快速、準確定位和識別車牌的目標。
參考文獻
[1]張孟軍.基于LabVIEW的車牌識別系統(tǒng)研究[D].南寧:廣西大學,2016.
[2]朱克佳,郝慶華,李世勇,等.車牌識別綜述[J].現(xiàn)代信息科技,2018(5):4-6.
[3]覃傳妹.基于LabVIEW的車牌識別小區(qū)智能門禁系統(tǒng)[D].南寧:廣西大學,2019.
[4]張楊梅.倒譜域彩色圖像水印算法研究[D].西安:西安科技大學,2008.
[5]章星晨,孫劉杰.基于Shearlet變換的Retinex去霧算法[J].計算機技術與發(fā)展,2019(1):40-46.
[6]李德堯,李和平.基于LabVIEWVDM的鎖螺絲機器人控制系統(tǒng)設計[J].機床與液壓,2018(23):61-64.
(編輯 王永超)
Design of license plate recognition system based on LabVIEW and Vision AssistantXu? Weihong
(School of Internet of Things and Artificial Intelligence, Wuxi College of Commerce and Technology,
Wuxi 214153, China)Abstract: This paper presents a license plate recognition scheme based on LabVIEW and Vision Assistant. By using the functions of Vision Assistant, such as color threshold, advanced morphology and optical character recognition, the system realizes the pre-processing of license plate image, license plate area positioning, license plate character segmentation, character training and recognition, and then uses the LabVIEW program to complete the license plate display.Hundreds of license plate images were used to verify the system. The results show that the scheme is feasible and the system is reliable, which can quickly and accurately locate and recognize license plates.
Key words: license plate recognition; Visual Assistant; license plate location; character segmentation and recognition