關於車牌識別的工作原理和技術參數
實現方法
(一) 檢測車輛(基於混合高斯模型的背景差分法)
-
讀取視頻(avi格式),選定目標區域框用於檢測車輛
- 檢測車輛,基於混合高斯模型的背景差分法檢測前景,經過腐蝕、膨脹後,若像素值大於200的像素點數大於80000且上一幀像素點數小於80000,則視為檢測出車輛並保存改區域的圖片
(二) 檢測車牌區域(基於HSV顏色空間+形態學方法)
- 車牌粗定位
(1) 改變圖片尺寸(480′320)得到resizeimg
(2) 轉換為HSV空間,並在HSV空間直方圖均衡化
(3) 在HSV空間檢測藍色區域,範圍為(100,90,80)—(130,255,255),得到blueimg
(4) 對blueimg進行膨脹運算、開運算得到image1
(5) 對resizeimg灰度化
(6) 進行直方圖均衡化
(7)中值濾波
(8)Canny算子邊緣檢測
(9)進行開運算、閉運算得到image2
(10)對HSV空間檢測藍色分量的image1和邊緣檢測得到的image2進行按位與得到andimage
(11)對andimage進行膨脹運算
(12)尋找最大連通域
(13)圈出最大連通域所在的矩形區域並切割得到ROIimage
- 車牌精確定位
(1)對ROIimage轉換藍色空間並均衡化
(2)檢測藍色區域,範圍為(100,90,90)—(140,255,255)
(3)框出非零點集所在的最大矩形區域並切割得到roimage
(4)Canny算子檢測roimage並利用hough變換進行水平傾斜校正得到houghimage
(5)對houghimage進行灰度化、二值化(浙大張引二值化)
(6)對二值化車牌水平方向統計黑白跳變次數
(7)從車牌中間向上下搜索,若跳變次數小於14,設定為上下邊界並切割,得到jingqueimage
(三) 車牌字符切割(投影法)
1.對對車牌進行垂直投影,求垂直方向投影平均值mean,設定投影特征值TZ=0.63′mean
2.先從第三個字符開始切割,選擇車牌寬度的0.3倍處作為起始點,向右尋找大於TZ的點作為上升點,從上升點向左搜索投影值等於0的點作為字符起點,尋找上升點後下一個等於0的點作為終點,切割出該部分,對該部分擴充調整其寬高比為0.5,對其歸一化16*32,二值化得到字符
3.第四個到第七個字符的切割方法與第三個字符相同
-
切割第二個字符,選擇車牌寬度的0.35處作為起始點,向左尋找大於特征值的點作為上升點,從上升點向左搜索投影值等於0的點作為字符起點,尋找上升點左邊下一個等於0的點作為終點,切割出該部分,對該部分擴充調整其寬高比為0.5,對其歸一化16′32,二值化得到字符
- 切割第一個字符,切割方法同第二個字符。求後六個字符的寬度平均值,若切割出字符寬度小於平均值的0.8倍,則重新尋找下一個為零的波谷作為終點,切割出該部分。對該部分擴充調整其寬高比為0.5,對其歸一化16′32,二值化得到字符
(四) 車牌識別(BP神經網絡)
- 漢字識別
(1)網絡層數:輸入層:560 隱含層:132 輸出層:31
(2)激活函數:Sigmoid函數
(3)神經網絡的訓練參數:
a) 最大叠代次數:10000
b)誤差最小值:0.001
c) 權值更新率:0.07
d) 權值更新沖量:0.07
(4)輸入樣本:
a) 特征提取:512個像素點+32個水平投影值+16個豎直投影值共560維
b) 訓練樣本數:所有省份樣本共1195個
(5) 輸出結果:輸出層共31個,如“京”:0.9,,0.1……0.1,選取輸出的31個值的最大的值為識別結果
(6) 對漢字識別:提取特征並進行預測,輸出省份
- 字母識別
(1)網絡層數:輸入層:560 隱含層:117 輸出層:24
(2)激活函數:Sigmoid函數
(3)神經網絡的訓練參數:
a) 最大叠代次數:30000
b) 誤差最小值:0.001
c) 權值更新率:0.07
d) 權值更新沖量:0.07
(4)輸入樣本:
a) 特征提取:512個像素點+32個水平投影值+16個豎直投影值共560維
b) 訓練樣本數:所有省份樣本共1200個
(5)輸出結果:輸出層共24個,如“A”:0.9,,0.1……0.1,選取輸出的24個值的最大的值為識別結果
(6) 對字母識別:提取特征並進行預測,輸出字母
- 字母和數字識別
(1)網絡層數:輸入層:560 隱含層:139 輸出層:34
(2)激活函數:Sigmoid函數
(3)神經網絡的訓練參數:
a) 最大叠代次數:30000
b) 誤差最小值:0.001
c) 權值更新率:0.06
d) 權值更新沖量:0.06
(4)輸入樣本:
a) 特征提取:512個像素點+32個水平投影值+16個豎直投影值共560維
b) 訓練樣本數:所有省份樣本共5100個
(5)輸出結果:輸出層共34個,如“A”:0.9,,0.1……0.1,選取輸出的34個值的最大的值為識別結果
(6)對字母和數字識別:提取特征並進行預測,輸出字母
總結
采用基於視頻檢測的車牌識別系統,測試的場合是小區門禁處靜止攝像機,實現對行駛的車輛進行車牌識別。從功能劃分可以分為三塊,車輛的視頻檢測、車牌的定位和車牌字符的分割與識別。
由於交通場景的復雜性和多樣性,本設計有許多值得進一步研究的地方,主要有以下幾個方面:
-
本設計的計算速度較慢,尚未能滿足實時性的要求。
-
在車牌定位模塊,對於截取圖片中的車輛的距離有一定要求,車輛占比區域太大會造成車牌定位不準的情況。
-
在字符分割模塊,基於大多車牌字符都沒有粘連,本設計采用的投影法。對於字符粘連的車牌會出現分割錯誤。
- 在字符識別模塊,由於漢字神經網絡樣本不足和特征提取不太理想,造成漢字識別率較低。
關於車牌識別的工作原理和技術參數
作者:平大安,歡迎百度搜索“ocr識別平大安”/“車牌識別平大安”聯系調取接口測試。
關於車牌識別的工作原理和技術參數