基于SVM與ANN技術(shù)的車(chē)牌識(shí)別講課文檔_第1頁(yè)
基于SVM與ANN技術(shù)的車(chē)牌識(shí)別講課文檔_第2頁(yè)
基于SVM與ANN技術(shù)的車(chē)牌識(shí)別講課文檔_第3頁(yè)
基于SVM與ANN技術(shù)的車(chē)牌識(shí)別講課文檔_第4頁(yè)
基于SVM與ANN技術(shù)的車(chē)牌識(shí)別講課文檔_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

主要內(nèi)容車(chē)牌檢測(cè)車(chē)牌字符的識(shí)別現(xiàn)在二頁(yè),總共六十一頁(yè)。車(chē)牌樣本選取環(huán)境離車(chē)前方2-3米左右,在白天正常的光線下,并且不是平行與地面而是與車(chē)牌的有個(gè)小角度的傾斜情況下(因?yàn)楹茈y做到拍攝出的車(chē)牌沒(méi)有傾斜)拍攝車(chē)牌照片?,F(xiàn)在四頁(yè),總共六十一頁(yè)。車(chē)牌樣本現(xiàn)在五頁(yè),總共六十一頁(yè)。攝像機(jī)的選用如果我們使用一個(gè)帶有紅外線投影結(jié)構(gòu)和濾波的攝像機(jī)重新獲取,將得到一個(gè)非常高質(zhì)量的照片以用來(lái)分割和隨后的檢測(cè)和識(shí)別車(chē)牌數(shù)字。也即照片不依賴(lài)于任何光線環(huán)境,如下圖所示:現(xiàn)在六頁(yè),總由于硬件限制,我們沒(méi)有使用紅外線攝像,而是使用常規(guī)的攝像。這樣做,以至于很難得到一個(gè)最好的結(jié)果,其最終車(chē)牌的檢測(cè)錯(cuò)誤率和字符的識(shí)別錯(cuò)誤率很相對(duì)高一些,但是無(wú)論何種攝像機(jī),對(duì)車(chē)牌的處理過(guò)程是一樣的。現(xiàn)在七頁(yè),總共六十一頁(yè)。車(chē)牌規(guī)格我們使用西班牙最普通(使用最多)的車(chē)牌,其大小是520*110mm。兩種字符(數(shù)字和字母)的間距是41mm。數(shù)字和數(shù)字之前(或者字母和字母之間)距離是14mm。第一組字符含有四個(gè)數(shù)字。另外一組含有三個(gè)字母,其中不包括元音字母:A,E,I,O,U和N,Q。所有的字符大小為45*77。這些數(shù)據(jù)對(duì)于字符分割很重要,以這些尺寸為依據(jù)來(lái)大致確定區(qū)域是否是車(chē)牌或者字符區(qū)域,如下是一個(gè)車(chē)牌圖?,F(xiàn)在八頁(yè),總共六十一頁(yè)。車(chē)牌檢測(cè)與車(chē)牌字符識(shí)別現(xiàn)在九頁(yè),總共六十一頁(yè)。車(chē)牌檢測(cè)——檢測(cè)出一個(gè)圖像幀中的車(chē)牌。第一步(分割),應(yīng)用不同的濾波器,形態(tài)學(xué)操作,輪廓算法,獲取所有可能的車(chē)牌部分。第二步(分類(lèi)),我們采用支持向量機(jī)

(SVM)分類(lèi)得出我們所需要的車(chē)牌部分?,F(xiàn)在十頁(yè),總共六十一頁(yè)。(一)車(chē)牌圖像分割分割是把一幅圖像分割成許多部分的過(guò)程。這個(gè)過(guò)程可以簡(jiǎn)化圖像分析,使特征提取更容易。車(chē)牌部分的一個(gè)重要特征是在車(chē)牌中有高數(shù)量的垂直邊緣(也就是垂直邊緣比較多),假定照片是從前面拍的,車(chē)牌沒(méi)有旋轉(zhuǎn),并且沒(méi)有視覺(jué)上的扭曲。我們將sobel濾波得到垂直邊緣特征可以作為分割的第一步,來(lái)排除那些沒(méi)有垂直邊緣的區(qū)域。在尋找垂直邊緣之前,我們需要把彩色圖像轉(zhuǎn)換為灰度圖像,因?yàn)椴噬珗D像在我們的任務(wù)中沒(méi)有幫助,并且用線性濾波的方法來(lái)移除來(lái)自相機(jī)或者外界對(duì)圖像的噪聲。如果我們不應(yīng)用去噪方法,我們將得不到許多的垂直邊緣,將會(huì)產(chǎn)生檢測(cè)失敗?,F(xiàn)在十一頁(yè),總共六十一頁(yè)?;叶然熬€性濾波后效果現(xiàn)在十二頁(yè),總共六十一頁(yè)。Sobel濾波后效果現(xiàn)在十三頁(yè),總共六十一頁(yè)。Sobel濾波后,我們應(yīng)用一個(gè)閾值濾波器來(lái)獲得一個(gè)二值圖像,閾值通過(guò)Otsu方法獲得。Otsu算法又稱(chēng)大津算法,需要一個(gè)8位圖像作為輸入,該方法自動(dòng)的獲取圖像最佳的閾值?,F(xiàn)在十四頁(yè),總共六十一頁(yè)。二值化后效果現(xiàn)在十五頁(yè),總共六十一頁(yè)。接下來(lái),通過(guò)應(yīng)用一個(gè)閉操作(先膨脹,再腐蝕),我們能夠去掉每個(gè)垂直邊緣線的空白黑色部分。并且連接含有邊緣數(shù)量很多的所有區(qū)域。在這一步,我們得到可能的含有車(chē)牌的區(qū)域?,F(xiàn)在十六頁(yè),總共六十一頁(yè)。閉操作后效果現(xiàn)在十七頁(yè),總共六十一頁(yè)。連通域輪廓現(xiàn)在十八頁(yè),總共六十一頁(yè)。最小外接矩形現(xiàn)在十九頁(yè),總共六十一頁(yè)。我們基于面積和寬高比,對(duì)于檢查到的所有外接矩形區(qū)域做一下確認(rèn)。如果寬高比大于為520/110=4.727272(車(chē)牌寬除以車(chē)牌高)(允許帶有40%的誤差)和邊界在15像素到

125像素高的區(qū)域,我們才認(rèn)為可能是一個(gè)車(chē)牌區(qū)域。這些值可以根據(jù)圖像的大小和相機(jī)的位置進(jìn)行估算?,F(xiàn)在二十頁(yè),總共六十一頁(yè)。去除干擾區(qū)域后現(xiàn)在二十一頁(yè),總共六十一頁(yè)。剩余6塊外接矩形現(xiàn)在二十二頁(yè),總共六十一頁(yè)。對(duì)僅剩下的6塊區(qū)域,我們利用車(chē)牌的白色背景屬性可以進(jìn)一步改善。所有的車(chē)牌都有統(tǒng)一的背景顏色。我們可以使用漫水填充算法來(lái)獲得這些剩余旋轉(zhuǎn)矩陣的精確篩選。所謂漫水填充,簡(jiǎn)單來(lái)說(shuō),就是自動(dòng)選中了和種子點(diǎn)相連的區(qū)域,接著將該區(qū)域替換成指定的顏色,這是個(gè)非常有用的功能,經(jīng)常用來(lái)標(biāo)記或者分離圖像的一部分進(jìn)行處理或分析.漫水填充也可以用來(lái)從輸入圖像獲取掩碼區(qū)域,掩碼會(huì)加速處理過(guò)程,或者只處理掩碼指定的像素點(diǎn).現(xiàn)在二十三頁(yè),總共六十一頁(yè)。尋找種子點(diǎn)現(xiàn)在二十四頁(yè),總共六十一頁(yè)。隨機(jī)選取每個(gè)區(qū)域十個(gè)種子點(diǎn)現(xiàn)在二十五頁(yè),總共六十一頁(yè)。為了下一步輪廓尋找、最小外接矩形的獲取以及篩選合適大小的輪廓做準(zhǔn)備,我們對(duì)圖像漫水填充時(shí),只對(duì)黑色背景的二值掩碼區(qū)域進(jìn)行填充,不對(duì)原彩色圖進(jìn)行填充,填充顏色為白色?,F(xiàn)在二十六頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在二十七頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在二十八頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在二十九頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在三十頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在三十一頁(yè),總共六十一頁(yè)。掩碼填充效果現(xiàn)在三十二頁(yè),總共六十一頁(yè)。因?yàn)槭褂密?chē)牌,車(chē)牌有邊界,漫水填充不會(huì)超過(guò)車(chē)牌的邊界,而對(duì)于其他區(qū)域(檢查出來(lái)的矩形)漫水填充會(huì)占據(jù)很多區(qū)域,形成的矩形也很大,再對(duì)矩形進(jìn)行大小判別時(shí),可能就會(huì)被丟棄,得到更可能是車(chē)牌的區(qū)域。因此我們?cè)谠瓐D上標(biāo)記出僅剩的三塊可能車(chē)牌區(qū)域?,F(xiàn)在三十三頁(yè),總共六十一頁(yè)。僅剩3塊可能的車(chē)牌區(qū)域現(xiàn)在三十四頁(yè),總共六十一頁(yè)。將這三塊區(qū)域提取出來(lái)后,先進(jìn)行適當(dāng)?shù)男D(zhuǎn),然后把所有的圖像調(diào)整為統(tǒng)一的大小,對(duì)其采用直方圖均衡化最終效果如下?,F(xiàn)在三十五頁(yè),總共六十一頁(yè)。車(chē)牌分類(lèi)我們預(yù)處理和分割圖像的所有可能部分之后,我們現(xiàn)在需要判別每一個(gè)分割部分是不是一個(gè)車(chē)牌。為這樣做,我們使用SVM算法。支持向量機(jī)是一個(gè)模式識(shí)別算法,它是監(jiān)督學(xué)習(xí)算法的一份子,最初創(chuàng)建是為了二值分類(lèi)的。有監(jiān)督的學(xué)習(xí)是一種機(jī)器學(xué)習(xí)算法,它通過(guò)標(biāo)簽數(shù)據(jù)的使用進(jìn)行學(xué)習(xí)。我們需要一些帶有標(biāo)簽的數(shù)據(jù)來(lái)訓(xùn)練這個(gè)算法。每一個(gè)數(shù)據(jù)集需要有一個(gè)類(lèi)別?,F(xiàn)在三十六頁(yè),總共六十一頁(yè)。SVM創(chuàng)建一個(gè)或多個(gè)超平面,用來(lái)區(qū)分每類(lèi)數(shù)據(jù)。一個(gè)典型的例子是2維點(diǎn)集,它定義了兩個(gè)類(lèi)。SVM尋找最優(yōu)線來(lái)區(qū)分每個(gè)類(lèi)?,F(xiàn)在三十七頁(yè),總共六十一頁(yè)。訓(xùn)練SVM分類(lèi)器,簡(jiǎn)單來(lái)說(shuō)在二維空間里就是求解這樣一個(gè)線性函數(shù),g(x)=wx+b,x是輸入的特征,g(x)是輸出的分類(lèi)的類(lèi)別,我們已知了輸入特征與輸出類(lèi)別,來(lái)訓(xùn)練求解w和b的最優(yōu)的值,獲得這兩個(gè)值后也就獲得了這個(gè)分類(lèi)的數(shù)學(xué)模型,接著就可對(duì)新樣本進(jìn)行預(yù)測(cè)?,F(xiàn)在三十八頁(yè),總共六十一頁(yè)。尋找訓(xùn)練分類(lèi)器所需特征在任一分類(lèi)之前的第一個(gè)任務(wù)是訓(xùn)練我們的分類(lèi)器。我們用大小為144*33的75張車(chē)牌和35非車(chē)牌來(lái)訓(xùn)練我們的系統(tǒng)。我們?cè)谙旅娴膱D中能看到數(shù)據(jù)的一些樣本?,F(xiàn)在三十九頁(yè),總共六十一頁(yè)。為機(jī)器學(xué)習(xí)的SVM算法訓(xùn)練的數(shù)據(jù)存儲(chǔ)在一個(gè)N*M的矩陣中,N表示樣本數(shù),M表示特征數(shù)。類(lèi)別存儲(chǔ)在另外一個(gè)大小為N*1的矩陣中。用0或者1表示無(wú)車(chē)牌和有車(chē)牌類(lèi)別。我們將以上存儲(chǔ)了已經(jīng)處理好和準(zhǔn)備好的所有圖像的數(shù)據(jù),寫(xiě)成xml文件保存起來(lái)輸入到分類(lèi)器中進(jìn)行訓(xùn)練?,F(xiàn)在四十頁(yè),總共六十一頁(yè)。創(chuàng)建和訓(xùn)練分類(lèi)器Opencv為支持向量機(jī)算法定義了CvSVM類(lèi)。我們用訓(xùn)練的數(shù)據(jù)、類(lèi)別和參數(shù)數(shù)據(jù)來(lái)初始化它并用CvSVM類(lèi)中的train()函數(shù)訓(xùn)練我們的分類(lèi)器。CvSVM

svmClassifier(SVM_TrainingData,SVM_Classes,

Mat(),Mat(),SVM_params);bool

CvSVM::train(const

CvMat*

trainData,

const

CvMat*responses,

const

CvMat*

varIdx=0,

const

CvMat*sampleIdx=0,

CvSVMParams

params=CvSVMParams()

)現(xiàn)在四十一頁(yè),總共六十一頁(yè)。預(yù)測(cè)分類(lèi)分類(lèi)器準(zhǔn)備好了,我們可以使用CvSVM類(lèi)的

predict函數(shù)來(lái)預(yù)測(cè)一個(gè)可能的修剪圖像。這個(gè)函數(shù)返回類(lèi)別i。在我們的實(shí)例中,我們標(biāo)記每一個(gè)車(chē)牌類(lèi)別為1,非車(chē)牌類(lèi)別標(biāo)記為0。對(duì)于每個(gè)檢測(cè)到的區(qū)域,我們使用

SVM來(lái)分出它是車(chē)牌還是非車(chē)牌。float

CvSVM::predict(const

CvMat*samples,

CvMat*

results)

const現(xiàn)在四十二頁(yè),總共六十一頁(yè)。車(chē)牌字符的識(shí)別車(chē)牌識(shí)別目標(biāo)的第二步即要獲取車(chē)牌上的字符。對(duì)于每個(gè)檢測(cè)到的車(chē)牌,我開(kāi)始分割車(chē)牌得到每個(gè)字符,并且使用人工神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法來(lái)識(shí)別字符?,F(xiàn)在四十三頁(yè),總共六十一頁(yè)。OCR分割(字符分割)我們將第一步檢測(cè)到的車(chē)牌作為輸入的圖像然后對(duì)其進(jìn)行二值化,因?yàn)槲覀冃枰@取字符的輪廓,而輪廓的算法尋找的是白色像素。所以通過(guò)改變二值化函數(shù)的參數(shù)來(lái)把白色值變?yōu)楹谏?,黑色值變?yōu)榘咨?。最后我們檢測(cè)到所有白色區(qū)域的輪廓,并且找到它們的最小外接矩形?,F(xiàn)在四十四頁(yè),總共六十一頁(yè)。對(duì)于每一個(gè)檢測(cè)到的輪廓,我們核實(shí)一下大小,去除那些規(guī)格太小的或者寬高比不正確的區(qū)域。字符是45/77的寬高比。我們?cè)试S用于選擇或者扭曲帶來(lái)的百分之35的誤差。如果一個(gè)區(qū)域面積高于80%(就是像素大于0的超過(guò)80%),則我們認(rèn)為這個(gè)區(qū)域是一個(gè)黑色塊,不是字符?,F(xiàn)在四十五頁(yè),總共六十一頁(yè)。提取每個(gè)字符的特征不像車(chē)牌檢測(cè)特征提取的是圖像的所有像素。我們使用一個(gè)更加通用的特征在字符識(shí)別中,其中包括水平和垂直累加直方圖,一個(gè)低分辨率樣本?,F(xiàn)在四十六頁(yè),總共六十一頁(yè)。一旦我們擁有了特征,我們創(chuàng)建一個(gè)M列的矩陣,矩陣的每一行中的每一列都是特征值?,F(xiàn)在四十七頁(yè),總共六十一頁(yè)。OCR分類(lèi)(字符分類(lèi))在分類(lèi)這一步,我們使用人工神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法。更具體一點(diǎn),多層感知器(MLP),一個(gè)廣泛使用的人工神經(jīng)網(wǎng)絡(luò)算法?,F(xiàn)在四十八頁(yè),總共六十一頁(yè)。MLP神經(jīng)網(wǎng)絡(luò)有一個(gè)輸入層,輸出層和一個(gè)或多個(gè)隱層。每一層有一個(gè)或多個(gè)神經(jīng)元連接著前向和后向?qū)?。下面的例子表示一個(gè)3層感知器(它是一個(gè)二值分類(lèi)器,它映射輸入的是一個(gè)實(shí)值向量,輸出單一的二值),它帶有三個(gè)輸入,兩個(gè)輸出和一個(gè)含有5個(gè)神經(jīng)元的隱層?,F(xiàn)在四十九頁(yè),總共六十一頁(yè)。每個(gè)神經(jīng)元用帶有權(quán)重的輸入和加上一個(gè)偏移量再經(jīng)過(guò)一個(gè)選擇的激活函數(shù)轉(zhuǎn)換后得到輸出結(jié)果?,F(xiàn)在五十頁(yè),總共六十一頁(yè)。一個(gè)訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)的輸入是一個(gè)特征矢量。它傳輸值到隱層。用權(quán)重和激活函數(shù)來(lái)計(jì)算結(jié)果。它進(jìn)一步的把輸出結(jié)果往下傳輸直到到達(dá)含有一定數(shù)量的神經(jīng)元類(lèi)別時(shí)整個(gè)過(guò)程結(jié)束。每一層的權(quán)重,通過(guò)訓(xùn)練神經(jīng)網(wǎng)絡(luò)算法來(lái)計(jì)算和學(xué)習(xí)?,F(xiàn)在五十一頁(yè),總共六十一頁(yè)。簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程現(xiàn)在五十二頁(yè),總共六十一頁(yè)。在圖中,Xl

,X2,…,Xn

,是輸入樣本信號(hào),W1

,W2,…,Wn

是權(quán)系數(shù)。輸入樣本信號(hào)通過(guò)權(quán)系數(shù)作用,在u產(chǎn)生輸出結(jié)果∑Wi

Xi

,即有u=∑Wi

Xi

=W1

X1

+W2X2+…+Wn

Xn,再把期望輸出信號(hào)Y(t)和u進(jìn)行比較,從而產(chǎn)生誤差信號(hào)e。即權(quán)值調(diào)整機(jī)構(gòu)根據(jù)誤差e去對(duì)學(xué)習(xí)系統(tǒng)的權(quán)系數(shù)進(jìn)行修改,修改方向應(yīng)使誤差e變小,不斷進(jìn)行下去,一直到誤差e為零,這時(shí)實(shí)際輸出值u和期望輸出值Y(t)完全一樣,則學(xué)習(xí)過(guò)程結(jié)束。現(xiàn)在五十三頁(yè),總共六十一頁(yè)。訓(xùn)練所需特征和類(lèi)別char

OCR::strCharacters[]

={"0","1","2","3","4","5","6","7","8","9","B",

"C",

"D",

"F",

"G",

"H",

"J","K",

"L",

"M",

"N",

"P",

"R",

"S","T",

"V",

"W",

"X",

"Y",

"Z"};int

OCR::numCharacters=30;現(xiàn)在五十四頁(yè),總共六十一頁(yè)。由于最終我們的分類(lèi)器分類(lèi)出30個(gè)類(lèi)別,所以我們獲取這30個(gè)類(lèi)別的大量樣本,提取每個(gè)類(lèi)別每個(gè)樣本的特征作為分類(lèi)器的輸入來(lái)訓(xùn)練我們的分類(lèi)器。為機(jī)器學(xué)習(xí)的ANN算法訓(xùn)練的數(shù)據(jù)存儲(chǔ)在一個(gè)N*M的矩陣中,N表示樣本數(shù),M表示特征數(shù)?,F(xiàn)在五十五頁(yè),總共六十一頁(yè)。而和SVM分類(lèi)器類(lèi)別存儲(chǔ)在一個(gè)大小為N*1的矩陣中不同的是,必須創(chuàng)建一個(gè)N*30大小的矩陣來(lái)存儲(chǔ)類(lèi)別,這里的N是訓(xùn)練的樣本,30是類(lèi)別(因?yàn)槲覀兊能?chē)牌中是10個(gè)數(shù)字和20個(gè)字母)。如果某一行假定第i行屬于j(j=0-29)類(lèi),則我們將位置(i,j)的設(shè)置為1.我們將以上存儲(chǔ)了已經(jīng)處理好和準(zhǔn)備好的所有圖像的數(shù)據(jù),寫(xiě)成xml文件現(xiàn)在五十六頁(yè),總共六十一頁(yè)。創(chuàng)建并訓(xùn)練分類(lèi)器我們用訓(xùn)練的特征數(shù)據(jù),隱含層所含神經(jīng)元的數(shù)目,類(lèi)的數(shù)目及激活函數(shù)參數(shù)等來(lái)初始化分類(lèi)器。OpenCV也為我們提供了ANN算法的類(lèi)。layers.at<int>(0)=

TrainData.cols;layers.at<int>(1)=

nlayers;layers.at<int>(2)=

numCharacters;void

CvANN_MLP::create(const

CvMat*layerSi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論