freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于adaboost算法的人臉檢測方法綜述畢業(yè)論文(編輯修改稿)

2025-07-25 00:23 本頁面
 

【文章內(nèi)容簡介】 臉檢測系統(tǒng)流程AdaBoost人臉檢測系統(tǒng)是以強(qiáng)分類器級聯(lián)的方式構(gòu)成的。每一個(gè)強(qiáng)分類器由若干個(gè)弱分類器構(gòu)成,并且這些弱分類器具有權(quán)重值和帶有閾值的特征。對于一幅圖像,我們可以通過從不同的位置和大小來產(chǎn)生眾多的子圖像。每一個(gè)強(qiáng)分類器可以排除一定數(shù)目的子圖像;被排除的子圖像將不再被處理。大多數(shù)被排除的子圖像是非人臉子窗口,極少數(shù)是人臉圖像。 分類器級聯(lián)結(jié)構(gòu)4 矩形特征與積分圖 引言本章節(jié)描述了對 AdaBoost人臉檢測訓(xùn)練算法速度很重要的兩方面,特征的選取和特征值的計(jì)算。將矩形作為人臉檢測的特征向量,稱為矩形特征。本算法選取了最簡單的5個(gè)矩形特征模板進(jìn)行訓(xùn)練,以得到一套用于人臉檢測的最適合的矩形特征,事實(shí)證明,這種特征選取方法的訓(xùn)練速度雖然不快,但是檢測效率很高。Viola 提出將積分圖(integral image)應(yīng)用到特征值的計(jì)算之中。積分圖的引用,可以只對圖像進(jìn)行一次遍歷計(jì)算,就能夠在用常量時(shí)間完成每個(gè)特征值的計(jì)算,這使得訓(xùn)練和檢測的速度大大提升。 haar矩形特征 概述人臉部的具體特征對人臉檢測是有重要意義的。我們可以發(fā)現(xiàn)人臉的某些區(qū)域比其他區(qū)域在圖像上呈現(xiàn)的色彩更深。例如,通常,眼睛要比臉頰顏色更深;鼻梁兩側(cè)要比鼻梁顏色要深;嘴巴要比周圍顏色更深。因此,我們可以選用不同數(shù)量的明暗區(qū)域組合,來檢測人臉的具體特征。,我們用如圖的矩形組合去檢測人臉。 矩形特征在人臉上的特征匹配 特征模板與模板特征值我們將使用簡單的矩形組合為我們的特征模板。這類特征模板由兩個(gè)或者是多個(gè)完全一樣的矩形相鄰組合而成,特征模板內(nèi)有白色和黑色兩種矩形(定義左上角的為白色,然后依次交錯(cuò))。名稱(模板號)特征模板邊緣特征(1)(2) 線性特征(3)(4) 對角線特征(5) haar特征模板其中兩個(gè)矩形的特征的取值是白色矩形中的像素值之和與黑色框像素值之和的差,3個(gè)矩形框的特征的定義為兩個(gè)白色矩形中的像素值之和與一個(gè)黑色矩形中的像素值之和的差,4個(gè)矩形框的特征定義為兩個(gè)白色矩形框像素值之和與兩個(gè)黑色矩形框像素值之和的差。該特征的個(gè)數(shù)十分龐大,例如對于一個(gè)大小為的檢測器模板,相應(yīng)矩形框的個(gè)數(shù)有160000多個(gè),必須通過特定算法甄選合適的矩形特征,并將其組合成強(qiáng)分類器才能檢測人臉。 haar特征的擴(kuò)展為了增強(qiáng)haar特征的表示能力,在參考了有關(guān)文獻(xiàn)后[13],我們提出了擴(kuò)展的haar特征。擴(kuò)展的haar特征集合可以提高特征對于人臉模式和非人臉模式的區(qū)分能力。假定人臉的模板大小為,任意垂直或者傾斜的矩形框可以定義為,其中。 豎直和傾斜的矩形的例子WH分類窗口whhwwh假設(shè)矩形r內(nèi)所有像素之和為RecSum(r),擴(kuò)展的haar特征定義為所有的矩形框的像素之和的組合,即: ()其中,矩形框和N可以任意選取。式()表示的特征集合極大,為了便于實(shí)際應(yīng)用,可進(jìn)行下述簡化:每次只考慮兩個(gè)矩形框,即N=2,;兩個(gè)矩形框的權(quán)值的符號相反,且絕對值與各自的矩形面積成反比,即。不失一般性,假設(shè)=1于是;這些特征模仿了haar特征和其他的視覺響應(yīng),如中心周圍響應(yīng)和對角響應(yīng)。,共包括下面3種形式:4個(gè)邊緣特征,8個(gè)線性特征,2個(gè)中心周圍特征。加上特殊的對角線特征,共得到15個(gè)特征模板。 擴(kuò)展的haar特征集合這些特征模板可以在水平和垂直兩個(gè)方向上任意縮放,在目標(biāo)模板窗口里任意平移,從而得到一個(gè)完備的特征集合。 積分圖Integral Images通過將原圖像轉(zhuǎn)化為積分圖的方法我們可以用很快的速度計(jì)算出系統(tǒng)的特征,在這一章節(jié),我們將介紹在圖像處理領(lǐng)域非常著名的積分圖,和使用積分圖來計(jì)算特征值的方法。 積分圖的概念我們可以微積分與積分圖做一個(gè)簡單的類比:對于定積分,我們一般會(huì)先計(jì)算不定積分的多項(xiàng)式表達(dá)形式,再計(jì)算。,積分圖的原理與定積分的計(jì)算類似,而引入積分圖的目的在于從圖像繁雜的像素級運(yùn)算處理中擺脫出來,在積分圖的形式下處理圖像。積分圖能夠在多種尺度下,使用相同的時(shí)間來計(jì)算不同的特征,因此大大提高了檢測速度。 “積分圖”與積分的類比yxab對于圖像內(nèi)一點(diǎn),定義其積分圖為為 ()其中是處的原始圖像,代表該點(diǎn)的顏色值,對于灰度圖像,其值為0~255,對于彩色圖像,可以先按照人臉彩色空間將其轉(zhuǎn)化為灰度取值。,我們以的灰度圖形舉例來說明積分圖的計(jì)算方法。其中A(x, y)的積分圖定義為其左上角矩形所有像素之和(即灰度值之和),s(x, y)為A(x, y)及其y方向向上所有像素之和。(1, 1)xyxyA(x, y)s(x, y) 灰度圖像積分圖算法示意圖也可以通過下式迭代求出: ()其中s(x, y)為點(diǎn)(x, y)及其y方向向上所有像素之和,稱為列積分和,可以定義為: ()并定義。 基于積分圖的像素值計(jì)算,區(qū)域D的像素值,可以用4點(diǎn)的積分圖來計(jì)算。 區(qū)域D的像素和可以用積分圖計(jì)算計(jì)算方法為 (),推導(dǎo)過程如下:顯然從上述方程組中容易推導(dǎo)得出區(qū)域D的像素值。 基于積分圖的特征值計(jì)算,此矩形特征模板的特征值C為:C=區(qū)域A的像素值-區(qū)域B的像素值 矩形特征的特征值計(jì)算由剛才的推導(dǎo)可知:所以此特征模板的特征值C為: ()由此可見,矩形特征的特征值計(jì)算,只與此特征端點(diǎn)的積分圖有關(guān),而與圖像坐標(biāo)值無關(guān)。因此,不管此矩形特征的尺度如何,特征值的計(jì)算所耗費(fèi)的時(shí)間都是常量(time constant),而且只是簡單的加減運(yùn)算。正因如此,積分圖的引入,大大地提高了檢測速度。5 分類器訓(xùn)練及AdaBoost算法Boosting算法可以作為一個(gè)基礎(chǔ)的學(xué)習(xí)算法去訓(xùn)練一個(gè)強(qiáng)分類器。Freund和Schapire提出了Boosting算法和它的具體應(yīng)用AdaBoost算法,AdaBoost算法是Adaptive Boosting 的縮寫。AdaBoost在特征選取和強(qiáng)分類器訓(xùn)練中都有具體的應(yīng)用。Viola and Jones最先在解決人臉檢測問題中使用AdaBoost。在下文中我們將詳細(xì)介紹弱分類器、強(qiáng)分類器和由弱分類器訓(xùn)練成為強(qiáng)分類器的AdaBoost訓(xùn)練算法。 人臉檢測中強(qiáng)弱分類器與AdaBoost算法 弱分類器Weak Classifier強(qiáng)分類器中包含若干個(gè)弱分類器。一個(gè)弱分類器需要能夠以稍高于50%的正確率來區(qū)別人臉和非人臉。弱分類器包括特征、權(quán)重和兩個(gè)閾值。對于每一個(gè)特征,為了使得最少的樣本被誤分類,弱分類器采用了上限閾值與下限閾值[14]。 弱分類器中的閾值選取下限閾值上限閾值人臉圖像特征值,所有人臉樣本的特征值都關(guān)聯(lián)于兩個(gè)特定的閾值,上限閾值是這些樣本特征值的最大值,下限閾值是這些樣本特征值的最小值。一個(gè)能夠鑒別人臉圖像的弱分類器如果它計(jì)算人臉的特征值處于上限閾值(big_threshold)與下限閾值(small_threshold)之間,那它就是可以被訓(xùn)練成強(qiáng)分類器的最佳弱分類器。 ()本文采用上下限閾值的方法來選取弱分類器,與以往只選取一個(gè)閾值的方法不同,我們嘗試用這種方法來提高檢測率與降低虛警率。 AdaBoost算法訓(xùn)練強(qiáng)分類器AdaBoost算法通過重新賦予樣本權(quán)重來增強(qiáng)學(xué)習(xí)過程。樣本的權(quán)重代表了該樣本被誤分類的可能性。在重新賦予權(quán)重的過程中,被誤分類的樣本的權(quán)重將會(huì)變得比原先更大;如果樣本被錯(cuò)誤分類很多次,它的權(quán)重將會(huì)變得越來越大;我們就可以認(rèn)為這一樣本屬于困難樣本集。 算法描述AdaBoost訓(xùn)練強(qiáng)分類器的算法描述如下[15],(算法流程圖見下節(jié)):l 給定一系列訓(xùn)練樣本,其中表示其為負(fù)樣本(非人臉),表示其為正樣本(人臉)。為所有的訓(xùn)練樣本數(shù)量。l 初始化權(quán)重,在這里提供一種初始化權(quán)重的方法:(對負(fù)樣本)或(對正樣本)。其中分別是負(fù)樣本和正樣本的數(shù)量。l歸一化權(quán)重: ()這樣可以使得呈現(xiàn)概率分布。對每個(gè)特征,訓(xùn)練一個(gè)只關(guān)聯(lián)于單個(gè)特征的弱分類器。計(jì)算對應(yīng)所有特征的弱分類器的加權(quán)()錯(cuò)誤率: ()選取最佳的弱分類器(擁有最小錯(cuò)誤率): ()由此可得最佳弱分類器為。按照這個(gè)最佳弱分類器,調(diào)整權(quán)重: ()其中表示被正確地分類,表示被錯(cuò)誤地分類;l 最后的強(qiáng)分類器為: ()其中。 算法流程圖 算法流程圖 級聯(lián)強(qiáng)分類器結(jié)構(gòu)人臉檢測問題是一個(gè)非對稱的分類問題,背景中非人臉樣本占大多數(shù),且大部分可以用很簡單的判別規(guī)則去掉,為此。該結(jié)構(gòu)將一系列單級強(qiáng)分類器級聯(lián)起來,任何一個(gè)被判斷為負(fù)面樣本的窗口都會(huì)被馬上舍棄,只有被所有分類器判斷為正面樣本的窗口,才會(huì)被當(dāng)作目標(biāo)保留。每個(gè)單級分類器在訓(xùn)練時(shí)有較高的檢測率和中等的虛警率,將這些分類器級聯(lián)起來后就可以達(dá)到極低的虛警率和較高的檢測率。假設(shè)第級分類器的檢測率為,虛警率為,級聯(lián)的級數(shù)為K,那么整個(gè)級聯(lián)結(jié)構(gòu)的分類器[16]的檢測率和虛警率分別為 ()例如,,級聯(lián)結(jié)構(gòu)的級數(shù)為20,虛警率約為。采用級聯(lián)結(jié)構(gòu),有兩個(gè)明顯的好處:首先是大大增加了樣本分類的平均速度,由于在目標(biāo)檢測時(shí)大部分樣本是較為簡單的背景圖片,可以通過十分簡單的分類器在級聯(lián)結(jié)構(gòu)的前幾級去掉,所以大大提高了估值的速度;其次是在每次訓(xùn)練新的單級分類器時(shí),需要利用已經(jīng)訓(xùn)練得到的分類器在背景圖片上檢測出的虛警圖片來作為下一級的負(fù)面樣本,這樣使用的負(fù)面樣本越來越多,并且它們之間具有相對的獨(dú)立性,使得使用的負(fù)面樣本空間也越來越大,從而提高了分類器的精度。級聯(lián)結(jié)構(gòu)的訓(xùn)練過程包括如下步驟:l 輸入:正面樣本,背景樣本圖片,分類器級數(shù)Kl 循環(huán):如果,用所有正面樣本作為正面樣本,在背景圖片上抽取指定數(shù)目的負(fù)面樣本;如果,利用已經(jīng)得到的級級聯(lián)分類器通過“自舉”的方法得到訓(xùn)練用的正面樣本和負(fù)面樣本。利用該級的訓(xùn)練樣本,訓(xùn)練滿足指定檢測率和虛警率的分類器。l 輸出:K級級聯(lián)分類器。級聯(lián)分類器結(jié)構(gòu)對于每級的分類器結(jié)構(gòu)沒有限制,可以采用SVM分類器,也可以采用AdaBoost分類器,只要每級分類器訓(xùn)練時(shí)滿足預(yù)先指定的檢測率與虛警率即可。在滿足一定檢測率前提下,AdaBoost算法可以通過增加弱分類器的方式,逐步降低虛警率,所以目前的實(shí)際系統(tǒng)一般采用AdaBoost算法來訓(xùn)練單級分類器。AdaBoost算法用來訓(xùn)練具有預(yù)定檢測率和虛警率的單級分類器的步驟如下:(1)輸入:訓(xùn)練樣本,指定檢測率和虛警率,弱分類器學(xué)習(xí)算法。(2)令初始分類器的檢測率,虛警率。(3)當(dāng)時(shí)執(zhí)行:a. 利用AdaBoost算法增加一弱分類器,得到當(dāng)前的強(qiáng)分類器 ()b. 調(diào)節(jié)強(qiáng)分類器的閾值b,使得當(dāng)前的強(qiáng)分類器在訓(xùn)練集正面樣本上的檢測率 ,估算當(dāng)前分類器在訓(xùn)練集負(fù)面樣本上的虛警率,如果,返回。(4)輸出:滿足指定條件的AdaBoost分類器。6 基于OpenCV的程序?qū)崿F(xiàn) OpenCV簡介OpenCV是Intel資助的開源計(jì)算機(jī)視覺庫[17]。它由一系列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV擁有包括300多個(gè)C/C++函數(shù)的跨平臺的中、高層API。它不依賴與其它的外部庫,盡管也可以使用某些外部庫。OpenCV 對非商業(yè)應(yīng)用和商業(yè)應(yīng)用都是免費(fèi)(FREE)的。另外OpenCV 也為Intel公司的 Integrated Performance Primitives (IPP) 提供了透明接口。 這意味著如果有為特定處理器優(yōu)化了的IPP庫,OpenCV將在運(yùn)行時(shí)自動(dòng)加載這些庫。OpenCV的代碼都經(jīng)過優(yōu)化,可用于實(shí)時(shí)處理圖像,這是其在圖像處理領(lǐng)域得到廣泛應(yīng)用的主要原因。它可以實(shí)現(xiàn)圖像數(shù)據(jù)操作、圖像/視頻的輸入輸出、矩陣/向量數(shù)據(jù)操作及線性代數(shù)運(yùn)算、基本的圖像處理,以及支持多種動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)。 訓(xùn)練樣本集與測試集在這次的畢業(yè)設(shè)計(jì)中本人基于OpenCV編寫的人臉檢測應(yīng)用程序共實(shí)現(xiàn)了兩個(gè)功能,一是基于靜態(tài)圖片的人臉檢測,二是基于動(dòng)態(tài)視頻的人臉檢測。這兩個(gè)功能都是基于一個(gè)人臉分類器實(shí)現(xiàn),該樣本中有2706個(gè)大小的人臉,4381個(gè)大小的非人臉,該數(shù)據(jù)庫將傾斜的人臉也當(dāng)作非人臉。 MIT部分人臉樣本 MIT部分非人臉樣本本文使用的測試集是MIT+CMU測試集中的部分圖像、日常生活圖像以及日常攝像頭采集的視頻,由于時(shí)間與精力有限,無法做到對程序進(jìn)行完備測試和實(shí)際應(yīng)用測試。 基于OpenCV的分類器實(shí)現(xiàn) 樣本描述文件創(chuàng)建在OpenCV ,已經(jīng)有用Adaboost算法訓(xùn)練好的基于haar特性的人臉檢測分類器。經(jīng)程序測驗(yàn),其檢測效果相當(dāng)不錯(cuò)。我為了體驗(yàn)一下在OpenCV下分類器訓(xùn)練的過程,自己運(yùn)用MIT樣本集訓(xùn)練了一個(gè)分類器。由于訓(xùn)練階段數(shù)只有14,所以得到的效果并不好。但是在訓(xùn)練階段只有14的前提下,用酷睿雙核2GHz、內(nèi)存2G的筆記本電腦竟足足訓(xùn)練了20個(gè)小時(shí),所以我認(rèn)為要得到一個(gè)極佳的分類器需要大量具有代表性的樣本庫,并且需要提高處理器的級別?,F(xiàn)將分類器的訓(xùn)練過程總結(jié)如下。首先,采用DOS命令生成樣本描述文件。具體方法是在DOS下的進(jìn)入圖片目錄,我的正樣本放在D:\face\posdata下,我的負(fù)樣本放在D:\face\negdata。首先進(jìn)入負(fù)樣本路徑,cd D:\face\negdata,再次輸入dir /b , 文件, 刪除,這樣就生成了負(fù)樣本描述文件。由于正樣本描述文件要求以向量形式輸入,所以需要
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1