一種基于雙目攝像頭的車牌識別與定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明應(yīng)用于車牌識別與距離測量領(lǐng)域,具體為基于雙目攝像頭的車牌識別與定 位方法。
【背景技術(shù)】
[0002] 在車輛監(jiān)測領(lǐng)域,車牌識別與車輛定位是一項重要的技術(shù)基礎(chǔ),車牌識別技術(shù)使 得交通監(jiān)管部門能準確獲得車輛信息,督導駕駛者遵守交通規(guī)則;車輛定位測距技術(shù)在車 距安全預(yù)警、車速測量領(lǐng)域有廣泛應(yīng)用前景。
[0003] 利用雙目攝像頭進行測距的依據(jù)是視差原理,因此這就需要在左右攝像頭中找出 關(guān)鍵點,通過關(guān)鍵點的匹配算出目標距離。本發(fā)明中關(guān)鍵點采用的是SIFT關(guān)鍵點,其具有 抗光照、旋轉(zhuǎn)、尺度變換的優(yōu)良性質(zhì)。
[0004] 傳統(tǒng)的SIFT關(guān)鍵點索引和匹配算法主要有BBF搜索算法和最近鄰法。在進行最 近鄰查詢過程中有兩種方法,一種是最簡單的線性掃描,即窮舉搜索,依次計算樣本集E中 每個樣本到輸入實例點的距離,然后抽取出計算出來的最小距離的點即為最近鄰點。此種 方法較為簡單,但當樣本集或訓練集很大時,算法執(zhí)行速度會顯著下降。另一種方法是構(gòu) 建索引空間,基本思想是對搜索空間進行層次劃分。根據(jù)劃分的空間是否有混疊可以分為 Clipping和Overlapping兩種。前者劃分空間沒有重疊,其代表就是k-d樹;后者劃分空 間相互有交疊,其代表為R樹。
[0005] 在利用車牌進行定位領(lǐng)域,與利用雙目視覺進行三維場景重建相比,不需要進行 整幅圖像關(guān)鍵點匹配,只需對場景中待測目標進行關(guān)鍵提取,然后進行左右攝像頭圖像關(guān) 鍵點匹配,計算距離。由于提取的關(guān)鍵點不多,因此構(gòu)建索引結(jié)構(gòu)帶來的執(zhí)行效率上的提升 不明顯,而且本身索引結(jié)構(gòu)的構(gòu)建也會消耗時間。因此本發(fā)明采用在局部范圍內(nèi)進行線性 掃描的方法來進行SIFT關(guān)鍵點索引。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明技術(shù)解決問題:克服現(xiàn)有技術(shù)的不足,提供了一種利用車輛測距的方法,可 以在進行車牌識別的同時,利用車牌進行車輛測距。在車牌測距中,利用SIFT關(guān)鍵點點進 行關(guān)鍵點匹配時引入了卡爾曼濾波算法,提高了匹配效率。
[0007] -種基于雙目攝像頭的車牌識別與定位方法,其特征在于步驟如下:
[0008] (1)構(gòu)建雙目視覺系統(tǒng),限定其中一個為主攝像頭,另一個為輔攝像頭;
[0009] (2)左右攝像頭同時抓拍車輛獲取照片;
[0010] (3)主攝像頭進行車牌識別,包括車牌定位、字符分割和字符識別;主攝像頭計算 車牌的尺度不變特征關(guān)鍵點--SIFT (scale invariant feature transform)關(guān)鍵點,并 篩選出SIFT關(guān)鍵點中的顯著性關(guān)鍵點;
[0011] (4)利用卡爾曼濾波算法預(yù)測主攝像頭顯著性關(guān)鍵點在下幀中的位置;
[0012] (5)利用卡爾曼濾波算法以及雙目視覺成像原理,預(yù)測輔攝像頭中與主攝像頭待 匹配的顯著性關(guān)鍵點在下一幀中的位置;
[0013] (6)輔助攝像頭利用上幀中對本幀待匹配的顯著性關(guān)鍵點的預(yù)測位置,在該預(yù)測 的匹配的顯著性關(guān)鍵點鄰域像素點內(nèi)搜索SIFT關(guān)鍵點;
[0014] (7)主輔攝像頭顯著性關(guān)鍵點匹配,根據(jù)向量的歐氏距離及最近鄰判別法,確定主 輔攝像頭中相匹配的關(guān)鍵點,確定規(guī)則為最小歐氏距離Clni與次最小歐氏距離d' "的比值小 于確定閾值;
[0015] (8)所有顯著性關(guān)鍵點匹配后,利用雙目視覺成像原理,計算車牌距離;車牌距離 加權(quán)平均,得出車牌最終距離。
[0016] 所述步驟(3)中篩選顯著性關(guān)鍵點的原則如下:
[0017] (33)篩選出來的點能在空間上覆蓋目標;
[0018] (34)SIFT關(guān)鍵點本身區(qū)分度高的點,區(qū)分度以局部極值差分大小判斷,對局部極 值差分大于〇. 03的點進行排序,排序越靠前視為區(qū)分度越大。
[0019] 所述步驟(3)中篩選SIFT關(guān)鍵點的顯著性關(guān)鍵點的具體步驟為:
[0020] 若SIFT關(guān)鍵點不足N個,則全部列為顯著性關(guān)鍵點,對于超過N個的進行下列處 理:
[0021] 2-1將所有SIFT關(guān)鍵點按空間劃分為四個區(qū)域;
[0022] 2-2計算各區(qū)域area# SIFT關(guān)鍵點到中心點c的距離d u,中心點c指的是車牌 區(qū)域的形心;進行歸一化處理后的距離d'Vd1,代表空間i中第j個SIFT關(guān)鍵點到中心點 c的距離,i=1、2、3、4 ;
[0023] 2-3對各區(qū)域中SIFT關(guān)鍵點亞像素差分值進行歸一化處理,得到D' ^(x1),亞像 素差分值是在SIFT關(guān)鍵點生成過程中的臨時變量;
[0024] 2-4計算個區(qū)域SIFT關(guān)鍵點的顯著性指標significant,
[0025] significant = d' ij*D' u (x1);
[0026]2-5取significant值前N個最大值作為顯著性關(guān)鍵點;
[0027]N的取值范圍為3-6。
[0028] 所述步驟(4)中的卡爾曼濾波算法中使用線性卡爾曼濾波器。
[0029] 所述步驟(5)中利用卡爾曼濾波算法以及雙目視覺成像原理,預(yù)測輔攝像頭匹配 關(guān)鍵點在下一幀中的位置的步驟如下:
[0030]5-1、計算出主攝像頭關(guān)鍵點在主攝像頭下幀圖像中利用卡爾曼濾波器預(yù)測的位 置(Xmnext,ymneJ;
[0031] 5-2、根據(jù)公式:
[0032] Xnext = X next fT/Z
[0033]Yanext=ymnextfT/z
[0034] 計算出輔助攝像頭中關(guān)鍵點位置預(yù)測(xanMt,yanMt),f指的是攝像頭焦距,T指的 是主攝像頭和輔攝像頭在水平方向的距離,Z是目標距離攝像頭的距離。
[0035] 所述步驟(8)中目標最終距離計算公式為:
[0036] 7-1利用公式Z=HV(Xm-Xa)計算每一顯著性關(guān)鍵點對應(yīng)的測算距離Z,,Z,是根 據(jù)第j個顯著性關(guān)鍵點測算的車牌距離;
是車牌距離攝像頭的距離。
[0038] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:本發(fā)明與已有的相應(yīng)技術(shù)相比,在SIFT關(guān) 鍵點匹配環(huán)節(jié),匹配時間減少,同時由于引入多個關(guān)鍵點測算距離,增加了距離測算的準確 性。
【附圖說明】
[0039] 圖1為本發(fā)明基于雙目攝像頭的車牌識別與定位方法流程圖;
[0040] 圖2為本發(fā)明中目標車牌定位算法流程圖;
[0041] 圖3為本發(fā)明中車牌識別算法流程圖;
[0042] 圖4為本發(fā)明中主輔攝像頭中SIFT關(guān)鍵點卡爾曼濾波預(yù)測算法流程圖。
【具體實施方式】
[0043] 本發(fā)明一種車牌識別與車輛定位的方法與系統(tǒng),在SIFT關(guān)鍵點匹配上引入了卡 爾曼濾波預(yù)測技術(shù),以及視差原理,同時利用多對關(guān)鍵點進行距離測算,最終加權(quán)平均計算 目標距離,提高了關(guān)鍵點匹配效率以及測距準確性。方法整體流程圖如圖1所示。
[0044] 下面結(jié)合具體示例,進一步闡述本發(fā)明,本實例采用的雄邁3518E網(wǎng)絡(luò)攝像頭搭 建雙目視覺系統(tǒng),圖像為720p。
[0045] 輸入:左右攝像頭的視頻流。
[0046] 輸出:車牌的距離。
[0047] 具體步驟如下:
[0048] (1)構(gòu)建雙目視覺系統(tǒng),限定左攝像頭為主攝像頭,右攝像頭為輔攝像頭;
[0049] (2)對左右攝像頭的視頻流進行解碼,獲取圖片信息,大小為1280*720 ;
[0050] (3)主攝像頭進行車牌識別,包括車牌定位、字符分割、字符識別,具體步驟如下:
[0051] 3-1根據(jù)車牌的先驗知識確定車牌候選區(qū)域,先驗知識包括:車牌為矩形;車牌的 長寬比在一定范圍內(nèi);車牌的顏色基本固定,藍底白字、白底黑字等;
[0052] 3-2利用訓練好的SVM模型,對候選區(qū)域是否存在車牌進行判斷,提取存在車牌的 候選區(qū)域。具體流程如圖2所示,通過先驗知識對車牌進行預(yù)選,然后人工分類出為車牌的 圖像,作為正樣本,其他不包含的圖像作為負樣本,將正負樣本輸入到SVM訓練模型后,得 到生成后的SVM模型。之后即可重復(fù)利用SVM模型對車牌區(qū)域定位;
[0053] 3-3圖像分割。圖像分割采用方法為,將包含車牌的區(qū)域二值化后,分別向水平、垂 直方向進行投影,統(tǒng)計在各方向二值化后值為1的點的個數(shù),依據(jù)個數(shù)統(tǒng)計圖的波峰波谷 進行字符分割;
[0054] 3-4利用訓練好的CNN卷積神經(jīng)網(wǎng)絡(luò)進行字符識別。
[0055] 字符分割及字符識別流程圖如圖3所示。
[0056] (4)計算車牌的SIFT關(guān)鍵點。具體步驟如下:
[0057] 4-1將圖像按縮放比例不同分為5組,每組中按高斯濾波器中〇值得不同分為5 層;
[0058] 4-2第i組圖像的縮放比例為21 \第i組第j層的高斯濾波函數(shù)為:
[0060] 〇 = 21 4k(] 1)/s* 〇。,其中i代表第i組圖像,j為第i組圖像中的第j層圖像,i、 j均從1開始,S代表組內(nèi)層數(shù),k= 1/2, 〇。為第1組第1層圖像所使用的方差值。
[0061] 4-3構(gòu)建圖像LOG空間,其計算公式為:
[0062] L(x,y,〇 ) =G(x,y,〇)*I(x,y)
[0063] I(x,y)為灰度圖點(x,y)的灰度值,G(x,y,〇 )為高斯分布函數(shù)。
[0064] 4-4構(gòu)建差分圖D0G;
[0065] D(x,y,〇 ) = (G(x,y,〇 (i,j+l))_G(x,y,〇 (i,j)))*I(x,y)
[0066] G(x,y,〇 (i,j))代表第i組j層使用的高斯分布函數(shù),高斯分布函數(shù)的方差為 O(i,j),D(x,y,O)代表點(X,y)處的差分值。
[0067] 4-5計算極值點;
[0068] DOG空間中,每點與其本層周圍8個相鄰點以及上下兩層中對應(yīng)相鄰的9*2個點進 行比較,確定極值點。