版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
通過車牌的自動檢測與識別,向大家介紹一下圖像的分割和特征提取即模式識別與圖像處理的基礎內容,以及兩個重要的模式識別算法:支持向量機和人工神經(jīng)網(wǎng)絡。主要目的現(xiàn)在是1頁\一共有61頁\編輯于星期一主要內容車牌檢測車牌字符的識別現(xiàn)在是2頁\一共有61頁\編輯于星期一車牌檢測就是檢測車牌在整個圖像幀中的位置。當一個圖像中的車牌用支持向量機算法檢測到時,接著我們對車牌的字符進行識別。在車牌識別中,我們用人工神經(jīng)網(wǎng)絡算法來識別出車牌上的字母數(shù)字的字符。車牌檢測與車牌字符的識別現(xiàn)在是3頁\一共有61頁\編輯于星期一車牌樣本選取環(huán)境離車前方2-3米左右,在白天正常的光線下,并且不是平行與地面而是與車牌的有個小角度的傾斜情況下(因為很難做到拍攝出的車牌沒有傾斜)拍攝車牌照片。現(xiàn)在是4頁\一共有61頁\編輯于星期一車牌樣本現(xiàn)在是5頁\一共有61頁\編輯于星期一攝像機的選用如果我們使用一個帶有紅外線投影結構和濾波的攝像機重新獲取,將得到一個非常高質量的照片以用來分割和隨后的檢測和識別車牌數(shù)字。也即照片不依賴于任何光線環(huán)境,如下圖所示:現(xiàn)在是6頁\一共有61頁\編輯于星期一由于硬件限制,我們沒有使用紅外線攝像,而是使用常規(guī)的攝像。這樣做,以至于很難得到一個最好的結果,其最終車牌的檢測錯誤率和字符的識別錯誤率很相對高一些,但是無論何種攝像機,對車牌的處理過程是一樣的?,F(xiàn)在是7頁\一共有61頁\編輯于星期一車牌規(guī)格我們使用西班牙最普通(使用最多)的車牌,其大小是520*110mm。兩種字符(數(shù)字和字母)的間距是41mm。數(shù)字和數(shù)字之前(或者字母和字母之間)距離是14mm。第一組字符含有四個數(shù)字。另外一組含有三個字母,其中不包括元音字母:A,E,I,O,U和N,Q。所有的字符大小為45*77。這些數(shù)據(jù)對于字符分割很重要,以這些尺寸為依據(jù)來大致確定區(qū)域是否是車牌或者字符區(qū)域,如下是一個車牌圖。現(xiàn)在是8頁\一共有61頁\編輯于星期一車牌檢測與車牌字符識別現(xiàn)在是9頁\一共有61頁\編輯于星期一車牌檢測——檢測出一個圖像幀中的車牌。
第一步(分割),應用不同的濾波器,形態(tài)學操作,輪廓算法,獲取所有可能的車牌部分。第二步(分類),我們采用支持向量機(SVM)分類得出我們所需要的車牌部分。現(xiàn)在是10頁\一共有61頁\編輯于星期一(一)車牌圖像分割分割是把一幅圖像分割成許多部分的過程。這個過程可以簡化圖像分析,使特征提取更容易。車牌部分的一個重要特征是在車牌中有高數(shù)量的垂直邊緣(也就是垂直邊緣比較多),假定照片是從前面拍的,車牌沒有旋轉,并且沒有視覺上的扭曲。我們將sobel濾波得到垂直邊緣特征可以作為分割的第一步,來排除那些沒有垂直邊緣的區(qū)域。在尋找垂直邊緣之前,我們需要把彩色圖像轉換為灰度圖像,因為彩色圖像在我們的任務中沒有幫助,并且用線性濾波的方法來移除來自相機或者外界對圖像的噪聲。如果我們不應用去噪方法,我們將得不到許多的垂直邊緣,將會產生檢測失敗?,F(xiàn)在是11頁\一共有61頁\編輯于星期一灰度化及線性濾波后效果現(xiàn)在是12頁\一共有61頁\編輯于星期一Sobel濾波后效果現(xiàn)在是13頁\一共有61頁\編輯于星期一Sobel濾波后,我們應用一個閾值濾波器來獲得一個二值圖像,閾值通過Otsu方法獲得。Otsu算法又稱大津算法,需要一個8位圖像作為輸入,該方法自動的獲取圖像最佳的閾值?,F(xiàn)在是14頁\一共有61頁\編輯于星期一二值化后效果現(xiàn)在是15頁\一共有61頁\編輯于星期一接下來,通過應用一個閉操作(先膨脹,再腐蝕),我們能夠去掉每個垂直邊緣線的空白黑色部分。并且連接含有邊緣數(shù)量很多的所有區(qū)域。在這一步,我們得到可能的含有車牌的區(qū)域?,F(xiàn)在是16頁\一共有61頁\編輯于星期一閉操作后效果現(xiàn)在是17頁\一共有61頁\編輯于星期一連通域輪廓現(xiàn)在是18頁\一共有61頁\編輯于星期一最小外接矩形現(xiàn)在是19頁\一共有61頁\編輯于星期一我們基于面積和寬高比,對于檢查到的所有外接矩形區(qū)域做一下確認。如果寬高比大于為520/110=4.727272(車牌寬除以車牌高)(允許帶有40%的誤差)和邊界在15像素到125像素高的區(qū)域,我們才認為可能是一個車牌區(qū)域。這些值可以根據(jù)圖像的大小和相機的位置進行估算?,F(xiàn)在是20頁\一共有61頁\編輯于星期一
去除干擾區(qū)域后現(xiàn)在是21頁\一共有61頁\編輯于星期一剩余6塊外接矩形現(xiàn)在是22頁\一共有61頁\編輯于星期一對僅剩下的6塊區(qū)域,我們利用車牌的白色背景屬性可以進一步改善。所有的車牌都有統(tǒng)一的背景顏色。我們可以使用漫水填充算法來獲得這些剩余旋轉矩陣的精確篩選。所謂漫水填充,簡單來說,就是自動選中了和種子點相連的區(qū)域,接著將該區(qū)域替換成指定的顏色,這是個非常有用的功能,經(jīng)常用來標記或者分離圖像的一部分進行處理或分析.漫水填充也可以用來從輸入圖像獲取掩碼區(qū)域,掩碼會加速處理過程,或者只處理掩碼指定的像素點.現(xiàn)在是23頁\一共有61頁\編輯于星期一尋找種子點現(xiàn)在是24頁\一共有61頁\編輯于星期一隨機選取每個區(qū)域十個種子點現(xiàn)在是25頁\一共有61頁\編輯于星期一為了下一步輪廓尋找、最小外接矩形的獲取以及篩選合適大小的輪廓做準備,我們對圖像漫水填充時,只對黑色背景的二值掩碼區(qū)域進行填充,不對原彩色圖進行填充,填充顏色為白色?,F(xiàn)在是26頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是27頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是28頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是29頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是30頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是31頁\一共有61頁\編輯于星期一掩碼填充效果現(xiàn)在是32頁\一共有61頁\編輯于星期一因為使用車牌,車牌有邊界,漫水填充不會超過車牌的邊界,而對于其他區(qū)域(檢查出來的矩形)漫水填充會占據(jù)很多區(qū)域,形成的矩形也很大,再對矩形進行大小判別時,可能就會被丟棄,得到更可能是車牌的區(qū)域。因此我們在原圖上標記出僅剩的三塊可能車牌區(qū)域?,F(xiàn)在是33頁\一共有61頁\編輯于星期一僅剩3塊可能的車牌區(qū)域現(xiàn)在是34頁\一共有61頁\編輯于星期一將這三塊區(qū)域提取出來后,先進行適當?shù)男D,然后把所有的圖像調整為統(tǒng)一的大小,對其采用直方圖均衡化最終效果如下?,F(xiàn)在是35頁\一共有61頁\編輯于星期一車牌分類我們預處理和分割圖像的所有可能部分之后,我們現(xiàn)在需要判別每一個分割部分是不是一個車牌。為這樣做,我們使用SVM算法。支持向量機是一個模式識別算法,它是監(jiān)督學習算法的一份子,最初創(chuàng)建是為了二值分類的。有監(jiān)督的學習是一種機器學習算法,它通過標簽數(shù)據(jù)的使用進行學習。我們需要一些帶有標簽的數(shù)據(jù)來訓練這個算法。每一個數(shù)據(jù)集需要有一個類別。現(xiàn)在是36頁\一共有61頁\編輯于星期一SVM創(chuàng)建一個或多個超平面,用來區(qū)分每類數(shù)據(jù)。一個典型的例子是2維點集,它定義了兩個類。SVM尋找最優(yōu)線來區(qū)分每個類?,F(xiàn)在是37頁\一共有61頁\編輯于星期一訓練SVM分類器,簡單來說在二維空間里就是求解這樣一個線性函數(shù),g(x)=wx+b,x是輸入的特征,g(x)是輸出的分類的類別,我們已知了輸入特征與輸出類別,來訓練求解w和b的最優(yōu)的值,獲得這兩個值后也就獲得了這個分類的數(shù)學模型,接著就可對新樣本進行預測?,F(xiàn)在是38頁\一共有61頁\編輯于星期一尋找訓練分類器所需特征在任一分類之前的第一個任務是訓練我們的分類器。我們用大小為144*33的75張車牌和35非車牌來訓練我們的系統(tǒng)。我們在下面的圖中能看到數(shù)據(jù)的一些樣本?,F(xiàn)在是39頁\一共有61頁\編輯于星期一為機器學習的SVM算法訓練的數(shù)據(jù)存儲在一個N*M的矩陣中,N表示樣本數(shù),M表示特征數(shù)。類別存儲在另外一個大小為N*1的矩陣中。用0或者1表示無車牌和有車牌類別。我們將以上存儲了已經(jīng)處理好和準備好的所有圖像的數(shù)據(jù),寫成xml文件保存起來輸入到分類器中進行訓練?,F(xiàn)在是40頁\一共有61頁\編輯于星期一創(chuàng)建和訓練分類器Opencv為支持向量機算法定義了CvSVM類。我們用訓練的數(shù)據(jù)、類別和參數(shù)數(shù)據(jù)來初始化它并用CvSVM類中的train()函數(shù)訓練我們的分類器。CvSVM
svmClassifier(SVM_TrainingData,
SVM_Classes,
Mat(),
Mat(),
SVM_params);
boolCvSVM::train(constCvMat*trainData,constCvMat*responses,constCvMat*varIdx=0,constCvMat*sampleIdx=0,CvSVMParamsparams=CvSVMParams())現(xiàn)在是41頁\一共有61頁\編輯于星期一預測分類分類器準備好了,我們可以使用CvSVM類的predict函數(shù)來預測一個可能的修剪圖像。這個函數(shù)返回類別i。在我們的實例中,我們標記每一個車牌類別為1,非車牌類別標記為0。對于每個檢測到的區(qū)域,我們使用SVM來分出它是車牌還是非車牌。floatCvSVM::predict(constCvMat*samples,CvMat*results)const現(xiàn)在是42頁\一共有61頁\編輯于星期一車牌字符的識別車牌識別目標的第二步即要獲取車牌上的字符。對于每個檢測到的車牌,我開始分割車牌得到每個字符,并且使用人工神經(jīng)網(wǎng)絡機器學習算法來識別字符?,F(xiàn)在是43頁\一共有61頁\編輯于星期一OCR分割(字符分割)我們將第一步檢測到的車牌作為輸入的圖像然后對其進行二值化,因為我們需要獲取字符的輪廓,而輪廓的算法尋找的是白色像素。所以通過改變二值化函數(shù)的參數(shù)來把白色值變?yōu)楹谏?,黑色值變?yōu)榘咨?。最后我們檢測到所有白色區(qū)域的輪廓,并且找到它們的最小外接矩形?,F(xiàn)在是44頁\一共有61頁\編輯于星期一對于每一個檢測到的輪廓,我們核實一下大小,去除那些規(guī)格太小的或者寬高比不正確的區(qū)域。字符是45/77的寬高比。我們允許用于選擇或者扭曲帶來的百分之35的誤差。如果一個區(qū)域面積高于80%(就是像素大于0的超過80%),則我們認為這個區(qū)域是一個黑色塊,不是字符。現(xiàn)在是45頁\一共有61頁\編輯于星期一提取每個字符的特征不像車牌檢測特征提取的是圖像的所有像素。我們使用一個更加通用的特征在字符識別中,其中包括水平和垂直累加直方圖,一個低分辨率樣本?,F(xiàn)在是46頁\一共有61頁\編輯于星期一一旦我們擁有了特征,我們創(chuàng)建一個M列的矩陣,矩陣的每一行中的每一列都是特征值?,F(xiàn)在是47頁\一共有61頁\編輯于星期一OCR分類(字符分類)在分類這一步,我們使用人工神經(jīng)網(wǎng)絡機器學習算法。更具體一點,多層感知器(MLP),一個廣泛使用的人工神經(jīng)網(wǎng)絡算法?,F(xiàn)在是48頁\一共有61頁\編輯于星期一MLP神經(jīng)網(wǎng)絡有一個輸入層,輸出層和一個或多個隱層。每一層有一個或多個神經(jīng)元連接著前向和后向層。下面的例子表示一個3層感知器(它是一個二值分類器,它映射輸入的是一個實值向量,輸出單一的二值),它帶有三個輸入,兩個輸出和一個含有5個神經(jīng)元的隱層?,F(xiàn)在是49頁\一共有61頁\編輯于星期一每個神經(jīng)元用帶有權重的輸入和加上一個偏移量再經(jīng)過一個選擇的激活函數(shù)轉換后得到輸出結果?,F(xiàn)在是50頁\一共有61頁\編輯于星期一一個訓練人工神經(jīng)網(wǎng)絡的輸入是一個特征矢量。它傳輸值到隱層。用權重和激活函數(shù)來計算結果。它進一步的把輸出結果往下傳輸直到到達含有一定數(shù)量的神經(jīng)元類別時整個過程結束。每一層的權重,通過訓練神經(jīng)網(wǎng)絡算法來計算和學習?,F(xiàn)在是51頁\一共有61頁\編輯于星期一簡單的神經(jīng)網(wǎng)絡學習過程現(xiàn)在是52頁\一共有61頁\編輯于星期一在圖中,Xl,X2,…,Xn,是輸入樣本信號,W1,W2,…,Wn是權系數(shù)。輸入樣本信號通過權系數(shù)作用,在u產生輸出結果∑WiXi,即有u=∑WiXi=W1X1+W2X2+…+WnXn,再把期望輸出信號Y(t)和u進行比較,從而產生誤差信號e。即權值調整機構根據(jù)誤差e去對學習系統(tǒng)的權系數(shù)進行修改,修改方向應使誤差e變小,不斷進行下去,一直到誤差e為零,這時實際輸出值u和期望輸出值Y(t)完全一樣,則學習過程結束。現(xiàn)在是53頁\一共有61頁\編輯于星期一訓練所需特征和類別charOCR::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'};intOCR::numCharacters=30;現(xiàn)在是54頁\一共有61頁\編輯于星期一由于最終我們的分類器分類出30個類別,所以我們獲取這30個類別的大量樣本,提取每個類別每個樣本的特征作為分類器的輸入來訓練我們的分類器。為機器學習的ANN算法訓練的數(shù)據(jù)存儲在一個N*M的矩陣中,N表示樣本數(shù),M表示特征數(shù)。現(xiàn)在是55頁\一共有61頁\編輯于星期一而和SVM分類器類別存儲在一個大小為N*1的矩陣中不同的是,必須創(chuàng)建一個N*30大小的矩陣來存儲類別,這里的N是訓練的樣本,30是類別(因為我們的車牌中是10個數(shù)字和20個字母)。如果某一行假定第i行屬于j(j=0-29)類,則我們將位置(i,j)的設置為1.我們將以上存儲了已經(jīng)處理好和準備好的所有圖像的數(shù)據(jù),寫成xml文件現(xiàn)在是56頁\一共有61頁\編輯于星期一創(chuàng)建并訓練分類器我們用訓練的特征數(shù)據(jù),隱含層所含神經(jīng)元的數(shù)目,類的數(shù)目及激活函數(shù)參數(shù)等來初始化分類器。OpenCV也為我們提供了ANN算法的類。layers.at<int>(0)=TrainData.cols;layers.at<int>(1)=nlayers;layers.at<int>(2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人住宅裝修竣工驗收合同7篇
- 二零二五年財務咨詢服務合同標的費用與服務內容
- 2025年個人合伙退伙協(xié)議書示范文本解讀4篇
- 弱電智能化設計合同(2篇)
- 工程結算合同(2篇)
- 2024年中級經(jīng)濟師考試題庫附參考答案(奪分金卷)
- 2024年助理會計師《初級會計實務》高頻真題庫匯編及答案
- 電子控制方向課程設計
- 二零二五年度汽車零部件模具設計合作協(xié)議3篇
- 2025年二零二五民辦學校教師科研創(chuàng)新聘用協(xié)議4篇
- 綿陽市高中2022級(2025屆)高三第二次診斷性考試(二診)歷史試卷(含答案)
- 露天礦山課件
- 經(jīng)濟效益證明(模板)
- 銀行卡凍結怎么寫申請書
- 果樹蔬菜病害:第一章 蔬菜害蟲
- 借條借款合同帶擔保人
- 人工地震動生成程序
- 創(chuàng)意綜藝風脫口秀活動策劃PPT模板
- SSB變槳系統(tǒng)的基礎知識
- 大五人格量表(revised)--計分及解釋
- CFA考試(LevelⅠ)歷年真題詳解2015LevelⅠMockExamAfternoonSession
評論
0/150
提交評論