




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于OpenCV的人臉識別算法研究摘要:通過對基于Adaboost人臉檢測算法的研究,利用該算法與計算機視覺類庫openCV進行人臉檢測系統(tǒng)的設計,實現了對出現在視頻或圖像中的人臉檢測。 此外,在VC+6.0環(huán)境下實現了對一個簡單的人臉檢測系統(tǒng)軟件的界面開發(fā),該系統(tǒng)對人臉檢測的速度較快,檢測結果較為準確,可以作為其他人臉檢測或人臉模式識別的系統(tǒng)的開發(fā)基礎。關鍵詞: 人臉檢測;openCV;Adaboost; 系統(tǒng)Face detection system design based on openCVAbstract: According to the research of Adaboost
2、algorithm of Face Detection,people made use of the algorithms and computer vision class library openCV for the design of face detection system and achieved the target of detecting faces showing up in videos and pictures. Whats more,in the environment of VC+6.0,it achieved the development of simple F
3、ace Detection. The speed of Face Detection is very fast and the test results are accurate. It can be used as the development foundation of other face detection or face pattern recognition system.Key words: face detection;openCV;Adaboost;system1.引言隨著計算機與數字信號處理技術的高速發(fā)展,人臉檢測技術在眾多領域得到廣泛應用。人臉檢測技術是指在視頻或圖像中
4、檢測出現人臉位置、大小的過程。 作為人臉信息處理中的一項關鍵技術,人臉檢測技術已經超出了其它人臉識別模式的應用范疇,在視頻處理、圖像處理、身份驗證、安全監(jiān)測等方面有著重要的應用價值。隨著計算機語言算法的發(fā)展,近年來出現了大量的人臉檢測的算法,其中能夠較好的解決人臉的檢測速度與檢測效果的算法,是在2001年由Paul Viola和Michael Jones首先提出的 Adaboost算法。openCV是由Intel 提供的一系列包括C與C+的提供計算機視覺和圖像處理的開源軟件包,它為視頻或圖像處理搭建了很好的軟件平臺。 本系統(tǒng)就是基于openCV利用 Adaboost算法設計的一個簡單的人臉檢測
5、系統(tǒng)#該系統(tǒng)能夠快速&準確的檢測到圖像或視頻中的人臉。2.AdaBoost人臉檢測算法對人臉檢測的研究最初可以追溯到20世紀70年代,早期的研究方向與現在的研究方向與方法不同。目前在實際中應用的人臉檢測方法較為普遍的是基于Adaboost算法的方法。Viola的人臉檢測方法是一種基于積分圖、級聯分類檢測器和Adaboost算法的方法,方法框架可以分為以下3大步驟:1) 使用Haar-like特征表示人臉 ,使用 “積分圖”實現特征數值的快速計算;2) 使用Adaboost算法挑選出一些最能代表人臉的矩形特征(弱分類器),按照加權投票的方式將弱分類器構造為一個強分類器;3) 將得到的若干強分類器
6、串聯組成一個級聯結構的層疊分類器,訓練得到的強級聯結構能有效地提高分類器的檢測速度。2.1 Haar-like特征haar特征是基于灰度圖,首先通過大量的具有比較明顯的haar特征(矩形)的物體圖像用模式識別的方法訓練出分類器,分類器是個級聯的,每級都以大概相同的識別率保留進入下一級的具有物體特征的候選物體,而每一級的子分類器則由許多haar特征構成(由積分圖像計算得到,并保存下位置),有水平的、豎直的、傾斜的,并且每個特征帶一個閾值和兩個分支值,每級子分類器帶一個總的閾值。識別物體的時候,同樣計算積分圖像為后面計算haar特征做準備,然后采用與訓練的時候有物體的窗口同樣大小的窗口遍歷整幅圖像
7、,后逐漸放大窗口,同樣做遍歷搜索物體;每當窗口移動到一個位置,即計算該窗口內的haar特征,加權后與分類器中haar特征的閾值比較從而選擇左或者右分支值,累加一個級的分支值與相應級的閾值比較,大于該閾值才可以通過進入下一輪篩選。 當通過分類器所有分類級的時候說明這個物體以大概率被識別。常用的Haar-like特征有線性特征,邊緣特征,中心特征。圖1 Harr-like特征2.2積分圖由于訓練樣本通常有近萬個,并且矩形特征的數量非常龐大, 如果每次計算特征值都要統(tǒng)計矩形內所以像素之和,將會大大降低訓練和檢測的速度。因此引入了一種新的圖像表示方法積分圖像特征的特征值計算法,該方法只與此特征矩形的端
8、點的積分圖有關,所以不管此特征矩形的尺度變換如何,特征值的計算所消耗的時間都是常量。這樣只要遍歷圖像一次,就可以求得所有子窗口的特征值。 積分圖2定義為:其中I(x,y)為圖像在點(x,y)處的像素值。 為了節(jié)約時間,減少重復計算,則圖像I的積分圖可按如下遞推公式計算:這樣就可以進行任意矩形區(qū)域內像素積分運算。 由圖像的積分圖可快速地計算圖像中任意矩形內所有像素灰度積分。如圖2所示,點1的積分圖像的值為(其中Sum為求和):圖2特征和計算同理,點2、點3、點4的積分圖像分別為:矩形區(qū)域D內的所有像素灰度積分可由矩形端點的積分圖像值得到:2.3 Adaboost算法基本原理Adaboost是一種
9、迭代算法, 其核心思想是針對同一個訓練集訓練不同的分類器弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。其算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。使用Adaboost分類器可以排除一些不必要的訓練數據特征,并將關鍵放在關鍵的訓練數據上面。Adaboost算法中不同的訓練集是通過調整每個樣本對應的權重來實現的。 開始時,每個樣本對應的權重是相同的,即其中n為樣本個數,在此
10、樣本分布下訓練出一弱分類器。 對于分類錯誤的樣本,加大其對應的權重;而對于分類正確的樣本,降低其權重,這樣分類錯的樣本就被突出出來,從而得到一個新的樣本分布。在新的樣本分布下,再次對弱分類器進行訓練,得到弱分類器。依次類推,經過T次循環(huán),得到T個弱分類器,把這T個弱分類器按一定的權重疊加(boost)起來,得到最終想要的強分類器。Adaboost的具體算法如下:設輸入的n個訓練樣本為:(x1,y1),(x2,y2).(xn,yn),其中xi是輸入訓練樣本,yi0,1分別表示正樣本和負樣本,其中正樣本數為l,負樣本數為m。n=l+m,具體步驟如下:初始化每個樣本的權重;對每個t=1,.,T(T為
11、弱分類器的個數)把權重歸一化為一個概率分布:如此使得t為一個概率分布。對每個特征f,訓練一個弱分類器hj,計算對應所有特征的弱分類器的加權錯誤率選取最佳的弱分類器ht(擁有最小錯誤率):t按照這個最佳弱分類器,調整權重:其中i=0表示被正確的分類,ei=1表示被錯誤的分類,當錯誤分類時:3) 最后的強分類器為:其中2.4級聯分類器級聯分類器是由多個強分類器級聯而成的,其中,每一層均有Abadoost算法訓練得到的強分類器構成,第一層分類器得到疑似人臉的正確結果后,觸發(fā)第二層進行分類,當第二層分類器得到疑似人臉的正確結果后,觸發(fā)第三層進行分類,依次類推,最后確定疑似人臉的圖像就確認為人臉。反之,
12、當觸發(fā)到某一層時,分類器得到的結果是非人臉時,就立即停止對圖像的檢測。 級聯分類器的結構類似于金字塔, 如圖3所示,通過級聯分類器,可以很對人臉做出檢測。 由于本系統(tǒng)較為簡單, 所以只用到了4級強分類器構成級聯分類器 。3人臉檢測的軟件實現方法簡介3.1.1系統(tǒng)流程該系統(tǒng)可分為兩個模塊,靜態(tài)圖像人臉檢測和視頻圖像中的人臉檢測。基于靜態(tài)圖像的人臉檢測流程大致可分為4個過程(如圖5所示):1)加載已經訓練好的分類器;2)將其轉化為計算機可以識別的內部格式;3)加載該圖片以進行檢測 ;4)顯示檢測結果到檢測區(qū)?;谝曨l圖像的人臉檢測主要流程為:1)攝像頭提取圖像;2)加載已訓練好的級聯分器并將圖像其
13、轉化為內部各式;3)判斷檢測標志位,若為真,首先捕獲當前一幀并創(chuàng)建該幀圖像,然后載入當前一幀圖像,并對圖像的人臉區(qū)域進行檢測,反之,結束檢測;4)將檢測到的結果顯示到檢測區(qū)。3.1.2 openCV人臉檢測主要函數openCV軟件包中提供了豐富的基于圖像和視頻處理的視覺類庫4,該系統(tǒng)主要用到的函數有:1) cascade =(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0); 該函數主要功能為載入級聯分類器,其中,cascade_name為級聯分類器的路徑。2) CvMemStorage*storage=cvCreateMemStorage
14、(0);該函數創(chuàng)建一個默認大小為64 kB的內存塊并返回指向塊首的指針。3) CvSeq*faces =cvHaarDetectObjects(small_img,cascade,storage,1.1,1,0,cvSize(40,40);該函數的功能是使用訓練好的級聯分類器在圖像中找到包含人臉目標的矩形區(qū)域,并將這個區(qū)域作為一個矩形框返回。4) cvRectangle(img,LeftPoint,RightPoint,color,2,7,0);該函數實現對檢測到的人臉區(qū)域用方框標記出來。5) 獲得被檢測到的人臉后,要對圖像進行包括圖像色彩轉換、圖像大小變換和直方圖均衡化等相關處理,方可把檢測
15、到的人臉顯示在檢測區(qū)中 。 相關的函數包括 :cvCvtColor(img,gray,CV_BGR2GRAY); 該函數是對圖像進行色彩轉換。cvResize(gray,small_img,CV_INTER_LINEAR);該函數是對圖像的大小進行變換 。cvEqualizeHist(small_img,small_img);該函數的作用是對灰度圖像直方圖的均衡化。6) 對于視頻圖像的人臉檢測來說,還需要從電腦上的攝像頭讀取視頻 ,openCV提供好的實時視頻采集 ,cvCapure*cvCaptureFromCAM(int 1); 該函數的功能是對攝像頭(個為1)打開進行定義。3.2制作級聯
16、分類器制作分類器6需要制作正樣本文件和負樣本文件。 負樣本可以來自于任意的圖片, 這些圖片不能包含目標特征。負樣本由背景描述文件來描述。 背景描述文件是一個文本文件,每一行包含了一個負樣本圖片的文件名(基于描述文件的相對路徑),該文件創(chuàng)建方法如下 : 采用Dos命令生成樣本描述文件。4測試結果在個人用的筆記本電腦上進行視頻圖像中的人臉檢測和圖片中的人臉檢測的測試, 得程序測試圖如圖6和圖7所示. 結果表明,基于openCV的簡單的人臉檢測系統(tǒng),可以快速的從視頻或靜態(tài)圖像中檢測到人臉,并在檢測區(qū)將人臉用橢圓標記。圖6基于攝像頭視頻的單人臉檢測結果圖7基于攝像頭視頻的多人臉檢測結果5結束語本文中簡
17、要闡述了在Adaboost人臉檢測算法的基礎上,采用級聯分類器的方法檢測動態(tài)視頻和靜態(tài)圖像中人臉,在檢測區(qū)對人臉進行標記,并對結果進行了分析。 分析結果顯示,采用計算機視覺類庫openCV實現基于Adaboost算法的人臉檢測,具有檢測速度快,檢測結果準確,實時性強等優(yōu)點,且實現的方法簡單實用。 文中所闡述的基于openCV的簡單人臉檢測系統(tǒng)可用于其他人臉識別與實時監(jiān)控的軟件系統(tǒng)開發(fā)。本文由于時間有限,只用了簡單人臉識別進行人臉檢測,實用性上有限制也存在很多不足,希望在今后的學習研究中,能夠結合更多的人臉特征,做出更精確的判斷,為人臉識別的發(fā)展做出貢獻。最后,感謝汪老師本學期的對我們的精心指導
18、!參考文獻:1梁峰.連續(xù)視頻流中人臉檢測和識別的研究D.成都:電子科技大學,2010 2尹俊超,劉直芳.基于 OpenCV 的運動目標檢測與跟蹤J.計算機工程與設計.2011(08):224-2263Gray Bradski.&Adrian Kaehler.Learning OpenCVM,北京:人民郵電出版社,2009 4賈小軍.基于開源計算機視覺庫 OpenCV 的圖像處理J.計算機應用與軟件,2008(04):29-31 5秦小文,溫志芳,喬維維.基于 OpenCV 的圖像處理J.電子測試.2011(07): 152-155 6劉文達.基于 OpenCV 人臉檢測識別跟蹤的研究D,武漢:
19、武漢理工大學,2009 7 Ary Bradski,Adrian Kaebler.學習OpenCVM.北京 :清華大學出版社,2009.8黃文杰,陳斌.一種快速圖像處理的積分方法J.計算機應用,2005,25(1):266-268.HUANG Wen-jie,CHEN Bin. A fast image process of inte-grationmethodJ.Computer Applications,2005,25(1):266-268.9崔曉青.基于AdaBoost算法的人臉檢測人系統(tǒng)的研究與實現D.長春:吉林大學計算機科與技術學院,2008.10郭磊,王秋光. Adaboost人臉檢測算法研究及OpenCV實現J.哈爾濱理工大學學報,2009,14(5):123-126.GUO Lei,WANG Qiu-guang
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園區(qū)服務質量評價與持續(xù)改進考核試卷
- 團隊沖突解決與合作文化考核試卷
- 孤殘兒童庇護服務社會監(jiān)督與評價機制創(chuàng)新實踐研究考核試卷
- 建筑施工組織與管理考試考核試卷
- 光電子器件在光學相干層析成像的應用考核試卷
- 布藝家居品的全球市場趨勢分析考核試卷
- 住宅裝修設計中的儲物與收納方案考核試卷
- 帆布制品生產設備選型考核試卷
- 水產品腌制對蛋白質和脂肪的影響考核試卷
- 辦公自動化系統(tǒng)的人臉識別技術應用考核試卷
- 涼山州 2024 年教師綜合業(yè)務素質測試試卷初中物理
- 石英砂生產流程培訓
- 工地團隊勞務合同范例
- GB/T 5267.5-2024緊固件表面處理第5部分:熱擴散滲鋅層
- 組織行為學測試試題庫與答案
- 2024年北京海淀區(qū)初一(上)期中語文試題(含答案)
- 初二美術教學課件模板
- 裝配式疊合板安裝施工方案
- 2024年江蘇常州機電職業(yè)技術學院招聘44人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 人音版音樂五年級下冊《歡樂的村寨》單元作業(yè)設計
- 煙草專賣法知識考試題庫500題(含答案)
評論
0/150
提交評論