西交大模式識別實驗報告_第1頁
西交大模式識別實驗報告_第2頁
西交大模式識別實驗報告_第3頁
西交大模式識別實驗報告_第4頁
西交大模式識別實驗報告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 模式識別實驗報告 姓名: 班級: 學號: 提交日期:實驗一 線性分類器的設計一、 實驗目的:掌握模式識別的基本概念,理解線性分類器的算法原理。二、 實驗要求(1)學習和掌握線性分類器的算法原理;(2)在MATLAB環(huán)境下編程實現(xiàn)三種線性分類器并能對提供的數(shù)據(jù)進行分類;(3) 對實現(xiàn)的線性分類器性能進行簡單的評估(例如算法使用條件,算法效率及復雜度等)。三、 算法原理介紹(1)判別函數(shù):是指由x的各個分量的線性組合而成的函數(shù):若樣本有c類,則存在c個判別函數(shù),對具有形式的判別函數(shù)的一個兩類線性分類器來說,要求實現(xiàn)以下判定規(guī)則:方程g(x)=0定義了一個判定面,它把兩個類的點分開來,這個平面被稱

2、為超平面,如下圖所示。 (2)廣義線性判別函數(shù)線性判別函數(shù)g(x)又可寫成以下形式:其中系數(shù)wi是權向量w的分量。通過加入另外的項(w的各對分量之間的乘積),得到二次判別函數(shù):因為,不失一般性,可以假設。這樣,二次判別函數(shù)擁有更多的系數(shù)來產(chǎn)生復雜的分隔面。此時g(x)=0定義的分隔面是一個二階曲面。若繼續(xù)加入更高次的項,就可以得到多項式判別函數(shù),這可看作對某一判別函數(shù)g(x)做級數(shù)展開,然后取其截尾逼近,此時廣義線性判別函數(shù)可寫成:或:這里y通常被成為“增廣特征向量”(augmented feature vector),類似的,a被稱為“增廣權向量”,分別可寫成:這個從d維x空間到d+1維y空

3、間的映射雖然在數(shù)學上幾乎沒有變化,但十分有用。雖然增加了一個常量,但在x空間上的所有樣本間距離在變換后保持不變,得到的y向量都在d維的自空間中,也就是x空間本身。通過這種映射,可以將尋找權向量w和權閾值w0的問題簡化為尋找一個簡單的權向量a。(3)樣本線性可分即在特征空間中可以用一個或多個線性分界面正確無誤地分開若干類樣本;對于兩類樣本點w1和w2,其樣本點集合表示為:,使用一個判別函數(shù)來劃分w1和w2,需要用這些樣本集合來確定判別函數(shù)的權向量a,可采用增廣樣本向量y,即存在合適的增廣權向量a,使得:則稱樣本是線性可分的。所有滿足條件的權向量稱為解向量。通常對解區(qū)限制:引入余量b,要求解向量滿

4、足:余量b的加入在一定程度上可防止優(yōu)化算法收斂到解區(qū)的邊界。(4)感知器準則函數(shù)這里考慮構造線性不等式的準則函數(shù)的問題,令準則函數(shù)J(.)為:其中Y是被權向量a錯分的樣本集。當且僅當JP(a*) = min JP(a) = 0 時,a*是解向量。這就是感知器(Perceptron)準則函數(shù)。(5)基本的感知器設計感知器準則函數(shù)的最小化可以使用梯度下降迭代算法求解:其中,k為迭代次數(shù),為調(diào)整的步長。即下一次迭代的權向量是把當前時刻的權向量向目標函數(shù)的負梯度方向調(diào)整一個修正量。即在每一步迭代時把錯分的樣本按照某個系數(shù)疊加到權向量上。這樣就得到了感知算法。(6)批處理感知器算法(7)單樣本感知器算法

5、通常情況,一次將所有錯誤樣本進行修正不是效率最高的做法,更常用是每次只修正一個樣本或一批樣本的固定增量法:(8)最小均方差算法對于前面提出的不等式組:在線性不可分的情況下,不等式組不可能同時滿足。一種直觀的想法就是,希望求一個a*使被錯分的樣本盡可能少。這種方法通過求解線性不等式組來最小化錯分樣本數(shù)目,通常采用搜索算法求解。為了避免求解不等式組,通常轉(zhuǎn)化為方程組:矩陣形式為:。方程組的誤差為:,可以求解方程組的最小平方誤差求解,即:Js(a) 即為最小平方誤差(Minimum Squared-Error,MSE)的準則函數(shù):準則函數(shù)最小化通常有兩種方法:違逆法,梯度下降法。梯度下降法梯度下降法

6、在每次迭代時按照梯度下降方向更新權向量:直到滿足或者時停止迭代,是事先確定的誤差靈敏度。參照感知器算法中的單步修正法,對MSE也可以采用單樣本修正法來調(diào)整權向量:這種算法即Widrow-Hoff算法,也稱作最小均方根算法或LMS(Least-mean-square algorithm)算法。四、 實驗結果及分析(1)單樣本感知器算法 分析:通過對分類結果的觀察知,單樣本感知器可以將數(shù)據(jù)1和數(shù)據(jù)2的數(shù)據(jù)進行正確的分類,達到了分類器的設計目的。同時觀察到對兩組數(shù)據(jù)計算的迭代次數(shù)都是40次左右,耗時為0.6ms和0.8ms左右。單樣本感知器的算法效率高于批處理感知器的算法效率。(2)批處理感知器算法

7、 分析:通過對分類結果的觀察知,批處理感知器可以將數(shù)據(jù)1和數(shù)據(jù)2的數(shù)據(jù)進行正確的分類,達到了分類器的設計目的。同時觀察到對兩組數(shù)據(jù)計算的迭代次數(shù)相差較大。對數(shù)據(jù)1迭代17次,耗時1.0ms左右,相比于單樣本感知器,迭代次數(shù)少但是耗時大,主要是因為批處理感知器一次迭代要對所有樣本進行計算;對于數(shù)據(jù)2迭代次數(shù)和耗時都比單樣本感知器多。(3)最小均方差算法 分析:通過觀察分類結果知,對于數(shù)據(jù)1和數(shù)據(jù)2都存在一個分錯的點,主要是由于步長選擇不同會導致收斂時的分類結果存在分錯的點。同時如果選擇的步長不合適,會導致a不收斂,所以步長的選擇非常重要。五、 源代碼(1)單樣本感知器算法function sol

8、ution iter = SinglePerceptron(Y,tau)% solution = SinglePerceptron(Y,tau) 固定增量單樣本感知器算法實現(xiàn)% 輸入:規(guī)范化樣本矩陣Y,裕量tau% 輸出:解向量solution,迭代次數(shù)iter%y_k d = size(Y);a = zeros(1,d);k_max = 10000;%k_iter=0;while k_iterk_max count=0; for j=1:1:y_k if a*Y(j,:)tau a=a+Y(j,:); k_iter=k_iter+1; count=count+1; end end if co

9、unt=0 break; endendk_max=k_iter; %k = k_max;solution = a;iter = k-1;(2)批處理感知器算法function solution iter = BatchPerceptron(Y,tau)% solution = BatchPerceptron(Y,tau) 固定增量批處理感知器算法實現(xiàn)% 輸入:規(guī)范化樣本矩陣Y,裕量tau% 輸出:解向量solution,迭代次數(shù)iter%y_k d = size(Y);a = zeros(d,1);k_max = 10000;%k_iter=0;Y_temp=zeros(d,1);while

10、k_iterk_max count=0; for j=1:1:y_k if a*Y(j,:)=tau Y_temp=Y_temp+Y(j,:); count=count+1; end end if count=0 break; end a=a+Y_temp; k_iter=k_iter+1;endk_max=k_iter;%k = k_max;solution = a;iter = k-1;(3)最小均方差算法function solution iter = Widrow_Hoff(Y,stepsize)% solution = Widrow_Hoff(Y.tau)最小均方差實現(xiàn)算法% 輸入:

11、規(guī)范化樣本矩陣Y,裕量tau,初始步長stepsize% 輸出:解向量solution,迭代次數(shù)iter%y_k d = size(Y);a = zeros(1,d);k_max = 10000;%b=ones(1,y_k);k_iter=0;while k_iterk_max count=0; for j=1:1:y_k if a*Y(j,:)=b(j) a=a+stepsize*(b(j)-a*Y(j,:)*Y(j,:); k_iter=k_iter+1; count=count+1; end end if count=0 break; endendk_max=k_iter;%k = k_

12、max;solution = a;iter = k-1;實驗二 人臉檢測系統(tǒng)的設計與實現(xiàn)一、 實驗目的:了解人臉檢測及跟蹤系統(tǒng)的算法原理及設計實現(xiàn)過程。二、 實驗要求(1)學習和了解基于OpenCV的人臉檢測算法原理;(2)在VC+環(huán)境下基于OpenCV實現(xiàn)一個簡單的人臉檢測和跟蹤程序,要求利用筆記本攝像頭或者其他網(wǎng)絡攝像頭進行實時檢測,最好有良好的人機交互界面(如使用MFC編程);(3)對檢測到的人臉進行識別(即能識別不同的人)或?qū)z測到的人臉做一些有趣的處理。三、 算法原理介紹(1)人臉檢測原理人臉檢測屬于目標檢測(objectdetection)的一部分,主要涉及兩個方面:1. 先對要檢

13、測的目標對象進行概率統(tǒng)計,從而知道待檢測對象的一些特征,建立起目標檢測模型。2. 用得到的模型來匹配輸入的圖像,如果有匹配則輸出匹配的區(qū)域,否則什么也不做。(2)Harr特征級聯(lián)表 OpenCV在物體檢測上使用的是haar特征的級聯(lián)表,這個級聯(lián)表中包含的是boost的分類器。首先,采用樣本的haar特征進行分類器的訓練,從而得到一個級聯(lián)的boost分類器。訓練的方式包含兩方面: 1.正例樣本,即待檢測目標樣本 2.反例樣本,其他任意的圖片 首先將這些圖片統(tǒng)一成相同的尺寸,這個過程被稱為歸一化,然后進行統(tǒng)計。一旦分類器建立完成,就可以用來檢測輸入圖片中的感興趣區(qū)域了,一般來說,輸入的圖片會大于樣

14、本,那樣,需要移動搜索窗口,為了檢索出不同大小的目標,分類器可以按比例的改變自己的尺寸,這樣可能要對輸入圖片進行多次的掃描。級聯(lián)分類器是由若干個簡單分類器級聯(lián)成的一個大的分類器,被檢測的窗口依次通過每一個分類器,可以通過所有分類器的窗口即可判定為目標區(qū)域。同時,為了考慮效率問題,可以將最嚴格的分類器放在整個級聯(lián)分類器的最頂端,那樣可以減少匹配次數(shù)。 基礎分類器以haar特征為輸入,以0/1為輸出,0表示未匹配,1表示匹配。 (3)Haar特征 邊界特征,包含四種線性特征,包含八種中心圍繞特征,包含兩種在掃描待檢測圖片的時候,以邊界特征中的(a)為例,正如前面提到的那樣,計算機中的圖片是一個數(shù)字

15、組成的矩陣,程序先計算整個窗口中的灰度值x,然后計算矩形框中的黑色灰度值y,然后計算(x-2y)的值,得到的數(shù)值與x做比較,如果這個比值在某一個范圍內(nèi),則表示待檢測圖片的當前掃描區(qū)域符合邊界特征(a),然后繼續(xù)掃描。(4)非固定大小目標檢測 因為是基于視頻流的目標檢測,我們事先不太可能知道要檢測的目標的大小,這就要求我們的級聯(lián)表中的分類器具有按比例增大(或者縮小)的能力,這樣,當小的窗口移動完整個待檢測圖片沒有發(fā)現(xiàn)目標時,我們可以調(diào)整分類器的大小,然后繼續(xù)檢測,直到檢測到目標或者窗口與待檢測圖片的大小相當為止。(5)算法介紹步驟一:圖片預處理在從攝像頭中獲得一個幀(一張圖片)后,我們需要先對這

16、張圖片進行一些預處理:1.將圖片從RGB模式轉(zhuǎn)為灰度圖將灰度圖2.進行灰度圖直方圖均衡化操作。步驟二:檢測并標記目標 OpenCV中,對于人臉檢測的模型已經(jīng)建立為一個haarcascade_frontalface_alt2.XML文件,其中包含了上面提到的harr特征的分類器的訓練結果,我們可以通過加載這個文件而省略掉自己建立級聯(lián)表的過程。有了級聯(lián)表,我們只需要將待檢測圖片和級聯(lián)表一同傳遞給OpenCV的目標檢測算法即可得到一個檢測到的人臉的集合。步驟三:用highgui畫出視頻窗口由于視頻流是動態(tài)的,所以我們可以在程序的入口中使用一個無限循環(huán),在循環(huán)中,每次從視頻中讀入一個幀,將這個幀傳輸給

17、人臉檢測模塊,檢測模塊在這個幀上進行標記(如果有人臉的話),然后返回這個幀,主程序拿到這個幀后,更新顯示窗口。四、 程序流程圖五、 實驗結果及分析人臉檢測結果:分析:通過實驗結果知,程序基本達到了人臉檢測以及跟蹤人臉的要求,同時可以檢測出不同的人臉。通過此次實驗了解了人臉檢測及跟蹤系統(tǒng)的算法原理及設計實現(xiàn)過程。六、 源代碼#include #include stdio.h#include #include #include #include #include opencv2/objdetect/objdetect.hppusing namespace cv;using namespace std;string face_cascade_name = haarcascade_frontalface_alt2.xml;CascadeClassifier face_cascade;string window_name = 人臉識別;void detectAndDisplay(Mat frame)std:vector faces;Mat frame_gray;cvtColor(fr

溫馨提示

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

評論

0/150

提交評論