摘要:文章提出一種使用傳統(tǒng)信號處理方法來解決車牌識別問題的思路,利用傳統(tǒng)短時傅里葉變換(STFT)解決此類圖像識別問題具有穩(wěn)定性強、易于實現(xiàn)且耗能小等優(yōu)點,同時使用K鄰近算法(K-Nearest Neighbor,KNN)進行識別過程優(yōu)化,以提高識別正確率。
關鍵詞:模式識別;KNN;STFT
中圖分類號:U491.5 A 60 194 3
0 引言
汽車改變了人們的生活方式,擴大了人們的活動范圍,并加強了人與人之間的交流。由于汽車的保有量在極速增長,應用現(xiàn)代技術解決日益增長的交通問題已成為一個重要的研究課題[1]。隨著互聯(lián)網(wǎng)技術的進步和網(wǎng)絡的發(fā)展,智能車牌識別系統(tǒng)被廣泛應用,當前比較主流的方法是使用深度神經(jīng)網(wǎng)絡[2]。不可否認,使用深度學習方法可以獲得非常令人滿意的結果,然而,由于訓練的復雜性和GPU的高成本,這種方法在工業(yè)水平上的應用仍然存在問題。因此,本文提出一種使用傳統(tǒng)信號處理方法來解決車牌識別問題的思路。
探索通過傳統(tǒng)的短時傅里葉變換(STFT),提取目標圖像的特征并將其調整到新的尺寸,以便更好地進行圖像處理。同時,結合分類表現(xiàn)突出的K鄰近算法(KNN),可以解決傳統(tǒng)模式識別任務中的一些問題,例如降低隱含的邊緣檢測和區(qū)分兩個相似字符的難度等。
1 相關研究與技術
1.1 短時傅里葉變換
短時傅里葉變換(STFT)是一種與傅里葉變換有關的數(shù)學變換,用于確定時變信號的局部正弦波頻率和相位。與小波變換類似,由STFT處理的信號在時域和頻域局部特征通常用于分析信號特征[2]。STFT將在時域中將原始傅里葉變換轉換為多個片段,并執(zhí)行傅里葉變換。每個時間段記錄為時間。對應于FFT以找到頻域特性,可以大致估計時間ti。
X(t,ω)=∫∞∞-x(τ)w(τ-t)e-jωτdτ(1)
由式(1)可知,x(τ)是信號,w(τ-t)是窗口函數(shù)。選擇一個時頻局部窗函數(shù),假設分析窗函數(shù)w(t)在很短的時間間隔內是固定的,那么移動該窗函數(shù)以使x(τ)w(τ-t)在寬度內處于不同的有限時間為固定信號,可計算不同時間的功率譜。STFT使用固定的掃描窗口,一旦確定了窗函數(shù),就確定了短時傅里葉變換的分辨率。短時傅里葉變換一般用于分析分段平穩(wěn)信號或近似平穩(wěn)信號。對于非平穩(wěn)信號,當信號急劇變化時,要求窗函數(shù)具有較高的時間分辨率,且盡管波形變化相對平坦,但主要是低頻信號,需要窗口函數(shù)具有更高的頻率分辨率。因此短時傅里葉變換不能考慮頻率和時間分辨率的要求[3]。
1.2 K鄰近算法
K鄰近算法(K-Nearest Neighbor,KNN)是一種基于模式識別的統(tǒng)計方法,其作為一種機器學習分類算法普遍應用在各種學術場景,是基于實例的學習方法中最簡單的機器學習算法之一,也是較為基本和性能較佳的文本分類算法之一。KNN算法是在特征空間中,通過計算不同樣本之間的距離對樣本進行分類。
d(x,y)=nk=1-(xk-yk)2(2)
式(2)中,d(x,y)采用KNN算法計算不同樣本之間的距離。KNN算法的核心思想是,在特征空間中,如果一個待分類的樣本的k個最相鄰(即與該樣本距離d最?。┑臉颖局械拇蠖鄶?shù)屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。KNN算法根據(jù)k個樣本的主要類別做出決策,而不是基于單個樣本類別決策,意味著KNN僅基于最鄰近樣本的類別來確定待分類樣本所屬的類別。如圖 1所示,所選的鄰近樣本是通過計算在所劃定范圍內的點,則根據(jù)KNN算法進行計算(設k=3),輸入未知樣本大概率屬于種類A。
2 基于短時傅里葉變換與KNN算法的車牌識別方法應用
本文方法的實施包含兩個階段,圖像預處理階段和模板匹配階段。圖像預處理階段包括圖像對比度歸一化、圖像去噪、車牌面積提取和車牌數(shù)字提??;模板匹配階段即使用STFT和KNN算法來識別每個字符的過程。
2.1 圖像預處理
圖像預處理的目的是從原始圖像中提取每個數(shù)字。該過程包括三個重要步驟:圖像去噪、提取車牌面積和數(shù)字提取。
基于短時傅里葉變換與KNN算法結合的車牌識別方法/石文婷,趙品杰
(1)對圖像進行降噪處理。通過直方圖均衡化以解決對比度問題,以便將像素強度設置為均勻分布;(2)在圖像二值化后,對車牌號圖像進行邊緣檢測并通過使用腐蝕和膨脹來平滑和連接邊緣,接著執(zhí)行圖像腐蝕以找到圖像中車牌的位置并生成車牌蒙版;(3)通過對圖像的二值化進行圖像去噪處理,包括中值濾波和邊緣銳化,將經(jīng)過處理的圖像與車牌蒙版一起進行逐元素積運算,并裁剪以提取出精確的車牌;(4)通過移動邊界框在確切的車牌區(qū)域中搜索進行字符及數(shù)字的提取。如圖2所示。
2.1.1 生成模板
生成模板是識別的核心部分,其定義了如何將每個字符或數(shù)字表示為模板矩陣,以便將要識別的實際圖形
模板與參考模板進行比較以進行識別。本文方法是通過對圖像的水平展平和垂直展平執(zhí)行STFT以生成模板。水平上的STFT代表每行圖像的頻率;垂直展平表示每列圖像的水平方向展平。
對于車牌識別,本文方法是通過處理各形態(tài)的字母A~Z、數(shù)字0~9的黑白圖像,得到相關數(shù)字和字母模板。同時,為更好地適應不同角度的字母與數(shù)字的識別任務,還引入了一些易混淆的數(shù)字和字母的填充版本,以減少對單個字符識別不充分引起的識別錯誤。如圖3所示。
2.1.2 STFT
圖案的形狀可以進行豎直解碼與水平解碼。以水平解碼為例,如果將STFT應用于水平的圖像,其窗口大小與原始圖像的行的長度相同且沒有重疊,則頻譜圖的時間軸表示每行的頻率分析,該分析編碼了像素值在該行中的分布方式。此外,通過組合所有行信息,頻譜圖矩陣可在水平方向上對所有形狀信息進行編碼。
2.2 模板匹配
使用STFT創(chuàng)建每個字符的模板。結合KNN算法,通過計算待檢測車牌上字符模板和字符模板相關節(jié)點的歐氏距離找到最相似(即歐式距離最小的)的兩個模板進行匹配。在兩個最可能的模板進行匹配后,針對圖像失真可能引起相似的字符識別歧義,如“ 8”和“ B”、“ 7”和“ 1”等字符模板,可執(zhí)行微調以做出更精確的決策。對于“ 8”和“ B”,標準是計算圖像最左邊的線的方差,通過該方差克制,“ 8”在水平方向和垂直方向上都是對稱的,而“ B”僅在水平方向上是對稱的;通過逐行和逐列掃描,可以找到結構的垂直和水平中間線,然后計算這四個片段之間的協(xié)方差;通過計算可知,“ 8”模板中四個片段協(xié)方差相似,而“ B”圖像上四個片段之間的協(xié)方差相差很大。而對于“ 7”和“ 1”,因為“ 7”的頂部/底部長度比例比“ 1”大,可以通過頂線長度和底線長度之間的差異區(qū)別兩個模板。最終,在執(zhí)行微調操作之后,可以成功檢測到數(shù)字或字符。見圖4。
3 仿真及結果
3.1 數(shù)據(jù)集
本文使用的數(shù)據(jù)集來自文獻[4]。數(shù)據(jù)集包含700張具有不同方向、對比度、分辨率和背景的低分辨率車牌號圖片。但是,所有車牌號圖片都具有相似的屬性,即顏色的強烈對比可使汽車車牌與其他背景區(qū)域區(qū)分開來。
3.2 評價指標
識別任務中的評估標準包括兩種評估方法:正確識別車牌數(shù)量和正確識別字符數(shù)量。因此,引入了兩種類型的評價指標:Accuracyplate和Accuracycharacter。
Accuracyplate=正確識別數(shù)字的車牌數(shù)量車牌總數(shù)量(3)
Accuracycharacter=TP+TNTP+TN+FP+FN(4)
在式(3)中,正確識別數(shù)字的車牌數(shù)量的定義是正確檢測車牌圖像中的所有數(shù)字。在式(4)中,正向的正確率(TN)表示正確檢測到字符或數(shù)字;負向的正確率(TN)表示當沒有字符或數(shù)字時,算法將不會識別,在此等式中將其丟棄,因為對于該算法沒有意義;誤報率(FP)表示算法錯誤地檢測到數(shù)字,其中包括兩種情況:錯誤地檢測車牌號,或將車牌號識別為噪聲;漏報率(FN)表示算法將噪聲識別為車牌號。Accuracyplate評估正確識別車牌的準確率,Accuracycharacter表示一個車牌內字符被正確識別的準確率。
3.3 試驗結果
經(jīng)多次計算,本算法在該數(shù)據(jù)集的Accuracycharacter為82.5%,表示該算法可以較高的準確率進行車牌號檢測,但仍存在一定數(shù)量的車牌圖像難以被完全正確識別。如圖5所示。為了更好地對本研究算法的缺陷進行優(yōu)化,對700個車牌的評估字符的指標進行分析,結果如表1所示。
圖5 正確識別車牌的試驗結果示例圖
由表1可知,本仿真試驗結果中TN較高,TN表示STFT模板匹配未正確匹配的次數(shù),意味著本試驗中STFT模板匹配仍無法100%準確地識別特別相似的形狀,例如在識別數(shù)字“0”和字母“O”時發(fā)生錯誤。此外,F(xiàn)N較低,表示數(shù)字提取失敗并且選擇噪聲作為圖像分類數(shù)字的情況已基本被克服。
4 結語
本文所提出的算法實現(xiàn)了使用常規(guī)的信號處理方法STFT解決模式識別問題,主要具有以下幾個亮點:(1)可以采用傳統(tǒng)圖像處理的方法而不是消耗較大的神經(jīng)網(wǎng)絡的訓練資源解決模式識別類問題;(2)通過引入圖像預處理環(huán)節(jié),以及對特征模板進行填充處理,可以較準確地識別和區(qū)分兩個相似的字符。如果使用神經(jīng)網(wǎng)絡來解決同類問題,則需要輸入大量的訓練集才可達到相同效果,而該方法僅需較低的消耗即可達到較高的準確率。
參考文獻
[1]Smarter Cambridge Transport. Reducing Traffic Congestion and Pollution in Urban Areas[OL]. https://www.smartertransport.uk/smarter-cambridge-transport-urban-congestion-enquiry/,2018-11-14.
[2]朱文霖.基于觸覺振動信號的盲人輔助系統(tǒng)設計與實現(xiàn)[D].天津:河北工業(yè)大學,2020.
[3]鄧 攻.S變換在地震時頻分析中的對比研究[J].科技創(chuàng)新與生產(chǎn)力,2011(4):73-76.
[4]J.Spanhel,J.Sochor,R.Juranek,et al. Holistic recognition of low quality license plates by CNN using track annotated data[C].2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance(AVSS),2017.
收稿日期:2022-11-01