1. 程式人生 > >關於車牌識別的工作原理和技術參數

關於車牌識別的工作原理和技術參數

連通 關於 oss 分享圖片 截取 浙大 art 數字 ffffff

綜合網上上各種車牌識別方法,總結出一個較為簡單的車牌識別方案,采用VS2013+OpenCv2.4.9實現。並且附上可運行的源代碼以及測試圖片和視頻,詳細參數設置請參照源代碼。識別部分的訓練樣本見我上傳的資源。

實現方法

(一) 檢測車輛(基於混合高斯模型的背景差分法)

  1. 讀取視頻(avi格式),選定目標區域框用於檢測車輛

  2. 檢測車輛,基於混合高斯模型的背景差分法檢測前景,經過腐蝕、膨脹後,若像素值大於200的像素點數大於80000且上一幀像素點數小於80000,則視為檢測出車輛並保存改區域的圖片

(二) 檢測車牌區域(基於HSV顏色空間+形態學方法)

  1. 車牌粗定位

(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. 車牌精確定位

(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.第四個到第七個字符的切割方法與第三個字符相同

  1. 切割第二個字符,選擇車牌寬度的0.35處作為起始點,向左尋找大於特征值的點作為上升點,從上升點向左搜索投影值等於0的點作為字符起點,尋找上升點左邊下一個等於0的點作為終點,切割出該部分,對該部分擴充調整其寬高比為0.5,對其歸一化16′32,二值化得到字符

  2. 切割第一個字符,切割方法同第二個字符。求後六個字符的寬度平均值,若切割出字符寬度小於平均值的0.8倍,則重新尋找下一個為零的波谷作為終點,切割出該部分。對該部分擴充調整其寬高比為0.5,對其歸一化16′32,二值化得到字符

(四) 車牌識別(BP神經網絡)

  1. 漢字識別

(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. 字母識別

(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. 字母和數字識別

(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)對字母和數字識別:提取特征並進行預測,輸出字母

總結

采用基於視頻檢測的車牌識別系統,測試的場合是小區門禁處靜止攝像機,實現對行駛的車輛進行車牌識別。從功能劃分可以分為三塊,車輛的視頻檢測、車牌的定位和車牌字符的分割與識別。

由於交通場景的復雜性和多樣性,本設計有許多值得進一步研究的地方,主要有以下幾個方面:

  1. 本設計的計算速度較慢,尚未能滿足實時性的要求。

  2. 在車牌定位模塊,對於截取圖片中的車輛的距離有一定要求,車輛占比區域太大會造成車牌定位不準的情況。

  3. 在字符分割模塊,基於大多車牌字符都沒有粘連,本設計采用的投影法。對於字符粘連的車牌會出現分割錯誤。

  4. 在字符識別模塊,由於漢字神經網絡樣本不足和特征提取不太理想,造成漢字識別率較低。

關於車牌識別的工作原理和技術參數

技術分享圖片
作者:平大安,歡迎百度搜索“ocr識別平大安”/“車牌識別平大安”聯系調取接口測試。

關於車牌識別的工作原理和技術參數