圖像識別原理簡介——以車牌識別為例
一般來說,進行車牌識別的理論基礎是圖像分割和圖像識別理論:首先對含有車輛號牌的圖像進行分析處理,從而確定牌照在圖像中的位置,并把牌照區域提取出來,再進一步識別上面的文本字符。車牌識別過程包括圖像采集、預處理、車牌定位、字符分割、字符識別、結果輸出等一系列算法運算,其運行流程如下圖所示:
一、圖像采集
圖像采集方式分為靜態與動態兩種:靜態采集依靠地感線圈、紅外或雷達等裝置,當有車輛通過時這些裝置時相機會接到一個觸發信號,從而立刻抓拍一張圖像,該方法的優點是觸發率高,性能穩定,缺點是需要切割地面鋪設線圈,施工量大。
動態采集則是在實時視頻模式下進行,不需要其他感應裝置給相機發送任何觸發信號,完全依靠算法從實時的視頻流圖像中采集車輛信息,該方法的優點是施工方便,不需要安裝其他感應裝置或零部件。但其缺點也十分顯著,由于算法的限制,動態采集的觸發率與識別率較靜態采集要稍低一些。
二、預處理
相機拍攝的圖像經常受光照、天氣、相機位置等因素的影響,所以在獲取到車輛圖像后先要對其做一些預處理,以保證得到車牌最清晰的圖像。預處理可以在兩個環節中進行,一是在架設相機時就根據現場環境提前設置好相機的屬性參數,比如設置相機為自動曝光處理、自動白平衡處理、自動逆光處理、自動過爆處理等。
二是圖像拍攝完畢后對其進行噪聲過濾、對比度增強、圖像縮放等處理。常用的去噪方法有均值濾波、中值濾波和高斯濾波等;常用的增強對比度的方法有對比度線性拉伸、直方圖均衡和同態濾波器等;常用的圖像縮放的主要方法有最近鄰插值法、雙線性插值法和立方卷積插值等。預處理過程較為關鍵,處理效果的好壞直接影響后面車牌識別的精度。
三、車牌定位
對于簡單的車牌識別而言,我們只需要車牌部分的長方形圖像就夠了,其他部分的圖像可有可無,因此從整個圖像中準確地檢測出車牌區域顯得十分重要,如果提取錯誤或提取不完整,會直接導致最終識別失敗。
車牌定位方法一般會依據牌照紋理特征、顏色特征和形狀特征等信息,采用投影分析、連通域分析、機器學習等算法檢測車牌。投影分析方法根據車牌字符與背景交替出現的次數相比于其他部分要多這個特征,通過圖像在水平和垂直方向的投影分析來定位車牌。
連通域分析根據車牌中的每個字符都是一個連通域且這些連通域的結構和顏色都一致的特征,通過檢測并合并這些連通域來定位車牌。
機器學習算法使用從很多個車牌樣本中提取出來的特征把一個弱分類器訓練成一個強分類器,從而定位出圖像中的車牌區域。但由于實時道路上的環境背景十分復雜,且不可能所有的車牌圖像都很清晰,所以很容易把類似的長方形道路設施識別成車牌,因此有效的排除偽車牌、提高定位的準確率和提高識別速度一直是機器學習領域的一個難點。
四、車牌校正
由于受拍攝角度等因素的影響,圖像中的車牌難免存在各種各樣變形的情況,為了不給后面的識別過程帶來麻煩,需要對提取出來的車牌區域進行校正處理,去除車牌邊框等噪聲,有利于字符識別。
目前常用校正方法有:Hough變換法,即通過檢測車牌上下、左右邊框直線以及長度比來計算傾斜角度;旋轉投影法,即通過按不同角度將圖像在水平軸上進行垂直投影,其投影值為0的點數之和最大時的角度即為垂直傾斜角度,水平角度的計算方法與其相似;主成分分析法,根據車牌背景與字符交界處的顏色具有固定搭配這一特征、求出顏色對特征點的主成分方向即為車牌的水平傾斜角度。
五、字符分割
提取出車牌區域后,需要再對車牌區域以一個字符為單位進行分割,目的是為了弄清楚車牌中總共有幾個字符、字符間的位置關系等信息,保證車牌類型匹配和字符識別正確。
該過程的主要思路是,基于車牌的二值化結果或邊緣提取結果,利用字符的結構特征、字符間的相似性、字符間間隔等信息,一方面把單個字符分別提取出來,也包括粘連和斷裂字符等特殊情況的處理;另一方面把寬、高相似的字符歸為一類從而去除車牌邊框以及一些小的噪聲。一般采用的算法有:連通域分析、投影分析,字符聚類和模板匹配等。
六、字符識別
對分割后的字符的灰度圖像進行歸一化處理,特征提取,然后經過機器學習或與字符數據庫模板進行匹配,最后選取匹配度最高的結果作為識別結果,易混淆字符包括:0與D、0與Q、2與Z、8與B、5與S、6與G、4與A等。
常用的字符識別算法包括:模板匹配法、人工神經網絡法、支持向量機法和Adaboost分類法等。模板匹配法的優點是識別速度快、方法簡單,缺點是對斷裂、污損等情況的處理有一些困難;人工神經網絡法學習能力強、適應性強、分類能力強但比較耗時。
支持向量機法對于未見過的測試樣本具有更好的識別能力且需要較少的訓練樣本;Adaboost分類法能側重于比較重要的訓練數據,識別速度快、實時性較高。我國車牌由漢字、英文字母和阿拉伯數字3種字符組成,且具有統一的樣式,這也是識別過程的方便之處。
七、車牌結果輸出
將車牌識別結果以文本格式輸出,包括車牌號,車牌顏色,車牌類型等。