專利名稱:應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種特征抽取方法,尤其涉及一種應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法。
背景技術(shù):
在模式識(shí)別問題中,特征選擇和提取的基本任務(wù)是如何從眾多特征中找出那些最有效的特征,分析各種特征的有效性并選出最有代表性的特征。這樣即可以降低分類器的復(fù)雜度,降低特征的儲(chǔ)存空間,還可以剔除分類能力差甚至不具備分類能力的特征,提高分類算法的準(zhǔn)確度。
尤其在人臉識(shí)別領(lǐng)域,特征抽取是人臉識(shí)別中非常關(guān)鍵的環(huán)節(jié)。常用的特征有灰度特征、邊緣特征、小波特征、Gabor特征等。其中Gabor為人臉圖像提供多尺度、多方向的精細(xì)描述,表現(xiàn)出優(yōu)秀的時(shí)頻聚集性,具備很強(qiáng)的刻畫細(xì)節(jié)與局部結(jié)構(gòu)的能力。它具有帶通濾波的性質(zhì),既能部分地抵抗慢變光照的影響,也能濾去一些高頻噪聲。同時(shí),二維Gabor濾波器的沖激響應(yīng)函數(shù)與哺乳動(dòng)物的視皮層中簡(jiǎn)單型細(xì)胞對(duì)圖像信號(hào)的響應(yīng)非常相似,在理論上具備堅(jiān)實(shí)的基礎(chǔ)。
特征挑選方法很多,常用的有線性鑒別分析(LDA)、主元分析(PCA)、類內(nèi)/類間分類器等,這些方法大多是結(jié)合多類樣本類內(nèi)和類間距離數(shù)據(jù),對(duì)高維特征進(jìn)行壓縮,或者結(jié)合類內(nèi)和類間距離挑選出少數(shù)特征,目的都是使樣本的類內(nèi)距離小,而類間距離大。這類方法的主要問題是當(dāng)樣本維數(shù)高,且樣本數(shù)多時(shí)挑選算法的計(jì)算量非常大,對(duì)儲(chǔ)存空間要求非常高,且算法不是針對(duì)后面的分類器設(shè)計(jì),分類器的性能并非直接受益于特征挑選的結(jié)果,這也一定程度上影響了分類性能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法,以從眾多特征中找出那些最有效的特征,降低特征挑選的計(jì)算量,以及對(duì)特征的存儲(chǔ)空間。
為解決上述技術(shù)問題,本發(fā)明提供一種應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法,從眾多特征中挑選出最有效的特征,包括如下步驟(1)確定兩類樣本,根據(jù)輸入樣本數(shù)據(jù),從中抽取高維備選特征;(2)確定一個(gè)針對(duì)單個(gè)特征訓(xùn)練的弱分類器集合,該集合中每一個(gè)弱分類器對(duì)應(yīng)一個(gè)特征;(3)分別為所述兩類訓(xùn)練樣本設(shè)置初始權(quán)值;(4)從所述抽取的高維備選特征中,將所有當(dāng)前未被選定的特征,利用與其對(duì)應(yīng)的弱分類器,根據(jù)當(dāng)前權(quán)值,輸入訓(xùn)練樣本進(jìn)行訓(xùn)練;(5)根據(jù)訓(xùn)練結(jié)果,將錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)弱分類器對(duì)應(yīng)的特征選定為當(dāng)前輪次的特征挑選結(jié)果;(6)更新所有訓(xùn)練樣本的權(quán)值,重新執(zhí)行步驟(4)-(6),直至執(zhí)行完預(yù)定輪次。
本發(fā)明還可以進(jìn)一步包括(7)將所述每一輪次選定的特征挑選結(jié)果的特征組合作為最后選定的特征向量。
其中,步驟(2)所述弱分類器集合可以表示為hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中hj(x)表示對(duì)應(yīng)第j個(gè)特征的弱分類器,gj(x)表示第j個(gè)特征,low_θj是低閾值,high_θj是高閾值,只有當(dāng)該特征的數(shù)值大于低閾值且低于高閾值時(shí),弱分類器輸出才為1。
其中,所述步驟(4)可以進(jìn)一步包括根據(jù)訓(xùn)練樣本集的權(quán)值確定最優(yōu)的閾值參數(shù),使得所有樣本的加權(quán)錯(cuò)誤率最小。
其中,步驟(6)所述更新所有樣本的權(quán)值,是對(duì)分類錯(cuò)誤的樣本增加權(quán)重,對(duì)分類正確的樣本降低權(quán)重。
其中,步驟(1)所述兩類樣本,在多類模式識(shí)別問題中有不同的選擇方式;如采用一對(duì)一架構(gòu),將多類模式識(shí)別問題分解為多個(gè)一對(duì)一問題,則所述第一類樣本為其中一類樣本,所述第二類樣本為另一類訓(xùn)練樣本;如采用一對(duì)多架構(gòu),則所述第一類樣本為其中任一類樣本,所述第二類樣本為其他樣本,包含了其他類的所有樣本。
所述步驟(5)可以包括將所有弱分類器集合的當(dāng)前輪次弱分類器返回的錯(cuò)誤加起來,將總的錯(cuò)誤率最小的特征選定為當(dāng)前輪次的特征挑選結(jié)果;另外,還可以選擇前一輪次迭代時(shí)錯(cuò)誤率最大的部分弱分類器集合,在下一輪次迭代中使用這些集合挑選錯(cuò)誤率最小的特征。
本發(fā)明針對(duì)高維度多樣本模式識(shí)別問題中的特征挑選問題,解決了現(xiàn)有挑選方法中的高存儲(chǔ)量以及高計(jì)算量的問題,并提高了特征挑選方法的靈活性,使得特征挑選過程于模式的識(shí)別過程保持一致,可以針對(duì)不同的分類問題采用不同的挑選方法,提高了分類的整體性能。本發(fā)明可廣泛應(yīng)用于人臉識(shí)別、認(rèn)證系統(tǒng),表情識(shí)別系統(tǒng)等多種應(yīng)用中。
圖1為根據(jù)本發(fā)明實(shí)施例所述的“AdaBoost模塊”的流程圖示意圖。
具體實(shí)施例方式
為了進(jìn)行特征的挑選,首先需要進(jìn)行特征的計(jì)算。
在人臉識(shí)別與認(rèn)證識(shí)別系統(tǒng)中常采用Gabor濾波器計(jì)算人臉圖像的Gabor特征。該系統(tǒng)首先根據(jù)人臉的檢測(cè)和跟蹤采集人臉圖像,然后定位出眼睛及嘴巴位置并據(jù)此將采集到的人臉裁剪成標(biāo)準(zhǔn)人臉圖像樣本,比如圖像的寬為44、高為48,之后再對(duì)人臉圖像進(jìn)行光照處理,接著采用二維Gabor濾波器計(jì)算Gabor特征。
下面就以Gabor特征挑選來對(duì)本發(fā)明進(jìn)行說明,但應(yīng)當(dāng)注意,本發(fā)明并不限于對(duì)Gabor特征的挑選。
二維Gabor濾波器的沖激響應(yīng)表示為ψj(x)=||kj||σ2exp(-||kj||·||x||2σ2)[exp(ikjx)-exp(-σ22)]]]>其中σ=2π,我們考慮了5個(gè)頻率v=0,...,4,8個(gè)方向μ=0,...,7,則有 在人臉圖像的每個(gè)點(diǎn),我們都計(jì)算5個(gè)頻率,8個(gè)方向,共40維Gabor特征,計(jì)算方式是將輸入圖像與各個(gè)頻率各個(gè)方向的沖激響應(yīng)進(jìn)行卷積,即Gj(x)=∫Ir(X′)ψj(x-x′)dx′其中,Ir(x′)為人臉樣本的各個(gè)點(diǎn),ψj(x′)為二維Gabor濾波器的沖激響應(yīng),Gj(x)為計(jì)算出的Gabor特征。
為了提高Gabor特征的計(jì)算效率,可以采用FFT算法對(duì)這個(gè)卷積過程進(jìn)行加速,其對(duì)Ir(x′)和ψj(x′)分別進(jìn)行FFT變換,將變換后的結(jié)果相乘再進(jìn)行反FFT變換,就可以得到圖像中所有點(diǎn)對(duì)于某個(gè)頻率某個(gè)方向的Gabor特征??偟腉abor特征數(shù)為5×8×44×48=84480,這個(gè)數(shù)據(jù)量是非常大的,直接采用分類算法對(duì)如此高維的特征進(jìn)行訓(xùn)練和識(shí)別是非常困難的,因此還需要進(jìn)行特征的挑選,大幅度降低特征的維數(shù)。
如果采用一次挑選出這些特征的方法,即考慮非常多的特征組合,挑選出錯(cuò)誤率最小的組合。這個(gè)方法是最優(yōu)的特征挑選方法,但需要考慮的特征組合數(shù)量是非常多的,經(jīng)常達(dá)到上百萬甚至上億。
因此,本發(fā)明提出了一種新的特征挑選方法。它將特征挑選的過程分多個(gè)步驟完成,每步僅挑選一個(gè)或者兩三個(gè)特征,經(jīng)過多次迭代處理后完成特征的挑選。由此可以借鑒機(jī)器學(xué)習(xí)理論中的AdaBoost算法,采用多個(gè)弱分類器,每個(gè)弱分類器實(shí)現(xiàn)一維或者少數(shù)幾維特征的挑選。
根據(jù)現(xiàn)有技術(shù),簡(jiǎn)單來說,AdaBoost算法的主要思想是給定一種弱學(xué)習(xí)算法和兩類訓(xùn)練樣本,開始時(shí)所有訓(xùn)練樣本的權(quán)重相同,然后使用弱學(xué)習(xí)算法在訓(xùn)練集上利用權(quán)重信息訓(xùn)練T輪每輪訓(xùn)練后,對(duì)分類錯(cuò)誤的樣本增加權(quán)重,對(duì)分類正確的樣本降低權(quán)重,從而使弱分類器在后續(xù)的訓(xùn)練中對(duì)難度大(權(quán)重大)的樣本集中進(jìn)行學(xué)習(xí);由此共得到T個(gè)不同的弱分類器,然后按照每個(gè)弱分類器在訓(xùn)練集上的錯(cuò)誤率將它們加權(quán)組合成強(qiáng)分類器,錯(cuò)誤率越小的弱分類器權(quán)重越大,反之越小。
本發(fā)明實(shí)施例提供的特征挑選方法,在特征挑選過程中,可以從每輪弱分類器中挑選出少數(shù)錯(cuò)誤率最小的特征組合,每個(gè)特征組合就對(duì)應(yīng)著一維或少數(shù)幾維特征,所有弱分類器的特征組合將組成了最后的特征向量。當(dāng)然前一級(jí)弱分類器中挑選出的特征組合在后面的弱分類器中將不再考慮。
在本實(shí)施例中,以兩類圖像樣本的特征挑選為例對(duì)本發(fā)明進(jìn)行說明。在此,將針對(duì)兩類訓(xùn)練樣本的特征挑選過程稱為一個(gè)“AdaBoost模塊”,如圖1所示,其給出了一個(gè)AdaBoost模塊的流程圖。
步驟101給定兩類樣本,樣本數(shù)為L(zhǎng),正樣本數(shù)為L(zhǎng)p,反樣本數(shù)為L(zhǎng)n。
步驟102初始化,設(shè)置權(quán)重,正樣本為1/2Lp,反樣本為1/2Ln。
首先,為正反圖像樣本集設(shè)定權(quán)值,在一個(gè)具體的實(shí)施例中,可以將反圖像樣本集所占的權(quán)重設(shè)置為1/2,將所有正圖像樣本集所占的權(quán)重設(shè)置為1/2。當(dāng)然,在其它的實(shí)施例中,也完全可以將所有反圖像樣本集所占的權(quán)重設(shè)置為2/5,將所有反圖像樣本集所占的權(quán)重設(shè)置為3/5。也就是說,可以根據(jù)需要為正反圖像樣本集設(shè)定權(quán)重。之后,要為每個(gè)正反圖像樣本設(shè)定權(quán)重,在一個(gè)具體的實(shí)施例中,可以設(shè)定每個(gè)正樣本的權(quán)重為正樣本集權(quán)重的1/Lp,設(shè)定每個(gè)反樣本的權(quán)重為反樣本集總權(quán)重的1/Ln。當(dāng)然,也可以將重要的正反圖像樣本設(shè)定較高的權(quán)重。
步驟103設(shè)定迭代輪次t=1,2,…,T。
步驟104考慮所有從未入選的特征,利用單個(gè)特征訓(xùn)練弱分類器,根據(jù)訓(xùn)練樣本集的權(quán)值得到最優(yōu)的閾值參數(shù),使得所有樣本的加權(quán)錯(cuò)誤率最小,這樣可以為每個(gè)弱分類器及其對(duì)應(yīng)的特征獲取一個(gè)錯(cuò)誤率。
采用第j個(gè)弱分類器hj(x)根據(jù)設(shè)定的閾值與每個(gè)圖像樣本的第j個(gè)特征Gj(x)去判斷各個(gè)樣本圖像是正樣本還是反樣本,由此可以統(tǒng)計(jì)出該弱分類器的加權(quán)錯(cuò)誤率。
每個(gè)弱分類器都只處理對(duì)應(yīng)的一個(gè)特征,其可表示為hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中,low_θj是弱分類器hj(x)的低閾值,high_θj是弱分類器hj(x)的高閾值,如果當(dāng)前圖像樣本的第j個(gè)特征Gj(x)的數(shù)值大于低閾值且低于高閾值時(shí),所述弱分類器hj(x)輸出為1,其表示當(dāng)前圖像樣本被判斷為正樣本;反之,所述弱分類器hj(x)輸出為0,其表示當(dāng)前圖像樣本被判斷為反樣本。其中,弱分類器hj(x)的低閾值和高閾值是根據(jù)圖像樣本的權(quán)重設(shè)定。
關(guān)于弱分類器對(duì)圖像樣本的分類,具體來講就是,首先,第j個(gè)弱分類器hj(x)根據(jù)第1個(gè)圖像樣本第j個(gè)特征Gj(x)判斷第1個(gè)圖像樣本是正樣本還是反樣本,接下來,根據(jù)第2個(gè)圖像樣本第j個(gè)特征Gj(x)判斷第2個(gè)圖像樣本是正樣本還是反樣本,……,直到,第j個(gè)弱分類器hj(x)根據(jù)第L個(gè)圖像樣本第j個(gè)特征Gj(x)判斷第L個(gè)圖像樣本是正樣本還是反樣本。
步驟105統(tǒng)計(jì)出每個(gè)弱分類器hj(x)的錯(cuò)誤率,選定錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)弱分類器并將其對(duì)應(yīng)的特征作為當(dāng)前輪的特征挑選結(jié)果。
在104步驟中,每個(gè)弱分類器hj(x)都要對(duì)L個(gè)圖像樣本是正樣本還是反樣本進(jìn)行判斷,其中必定有判斷錯(cuò)的樣本,換句話說,弱分類器hj(x)可能將正樣本認(rèn)定為反樣本,也可能將正樣本認(rèn)定為反樣本。將該弱分類器統(tǒng)計(jì)錯(cuò)誤的圖像樣本的權(quán)重求得,就可以得到這個(gè)弱分類器hj(x)的加權(quán)錯(cuò)誤率。之后,將錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)弱分類器對(duì)應(yīng)的特征作為當(dāng)前輪的特征挑選結(jié)果。在一個(gè)實(shí)施例中,所述預(yù)定數(shù)目是1,也可以是,2或3等等,操作者可以根據(jù)實(shí)際情況設(shè)定這個(gè)數(shù)目。
步驟106減小選定的弱分類器判斷正確的圖像樣本的權(quán)重,增加選定的弱分類器判斷錯(cuò)誤的圖像樣本的權(quán)重,并對(duì)更新后的圖像樣本的權(quán)重進(jìn)行歸一化,使所有樣本的權(quán)重之和等于1,返回103,進(jìn)入下一輪迭代,直至完成設(shè)定輪次,挑選出預(yù)定數(shù)目的特征。
上面的挑選方法針對(duì)的是兩類問題。對(duì)于多類問題,可以結(jié)合模式分類算法的實(shí)現(xiàn)架構(gòu)設(shè)計(jì)挑選方法。如果模式分類算法采用的是一對(duì)多的架構(gòu),我們將特征挑選過程分解為多個(gè)兩類問題,每個(gè)兩類問題中其中一類是某類樣本,另一類則對(duì)應(yīng)其他樣本。如果模式識(shí)別問題采用的是一對(duì)一的架構(gòu),即將多類模式識(shí)別問題分解為多個(gè)兩類一對(duì)一問題,每個(gè)兩類問題中的一類為任一類輸入樣本,第二類為另一類輸入樣本。這樣在特征挑選時(shí)需要考慮多個(gè)類似圖1的AdaBoost模塊流程,我們將各個(gè)AdaBoost模塊流程同步實(shí)現(xiàn),即將所有AdaBoost模塊的第t輪弱分類器返回的錯(cuò)誤率加起來,將總的錯(cuò)誤率最小的特征返回,作為該輪的特征挑選結(jié)果。各輪特征挑選完畢后再根據(jù)當(dāng)前的各個(gè)AdaBoost模塊的錯(cuò)誤率更新權(quán)重,挑選下一組特征。
當(dāng)樣本類別數(shù)非常多時(shí),我們就需要考慮非常多的AdaBoost模塊流程,此時(shí)特征挑選的計(jì)算量也會(huì)明顯增加。為此我們提出了一種簡(jiǎn)化算法,在每輪迭代過程中只考慮少數(shù)AdaBoost模塊,即只對(duì)少數(shù)模塊進(jìn)行特征挑選,將對(duì)應(yīng)各個(gè)特征的少數(shù)模塊返回的錯(cuò)誤率加起來,錯(cuò)誤率最小的特征就是當(dāng)前輪的特征挑選結(jié)果。當(dāng)前輪特征挑選完后我們?cè)儆?jì)算所有模塊對(duì)應(yīng)該特征的錯(cuò)誤率和權(quán)重,同時(shí)將錯(cuò)誤率最大的部分類別挑選出來,下輪迭代時(shí)只對(duì)這些類別進(jìn)行處理,挑選合適的特征使這些類別的分類錯(cuò)誤率最小。如此循環(huán)處理就可以挑選出所有的特征,且在一定程度上使所有類別的錯(cuò)誤率盡可能的小。
權(quán)利要求
1.一種應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法,從眾多特征中挑選出最有效的特征,其特征在于,包括如下步驟(1)確定兩類樣本,根據(jù)輸入樣本數(shù)據(jù),從中抽取高維備選特征;(2)確定一個(gè)針對(duì)單個(gè)特征訓(xùn)練的弱分類器集合,該集合中每一個(gè)弱分類器對(duì)應(yīng)一個(gè)特征;(3)分別為所述兩類訓(xùn)練樣本設(shè)置初始權(quán)值;(4)從所述抽取的高維備選特征中,將所有當(dāng)前未被選定的特征,利用與其對(duì)應(yīng)的弱分類器,根據(jù)當(dāng)前權(quán)值,輸入訓(xùn)練樣本進(jìn)行訓(xùn)練;(5)根據(jù)訓(xùn)練結(jié)果,將錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)弱分類器對(duì)應(yīng)的特征選定為當(dāng)前輪次的特征挑選結(jié)果;(6)更新所有訓(xùn)練樣本的權(quán)值,重新執(zhí)行步驟(4)-(6),直至執(zhí)行完預(yù)定輪次。
2.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括(7)將所述每一輪次選定的特征挑選結(jié)果的特征組合作為最后選定的特征向量。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟(1)中,樣本數(shù)為L(zhǎng),其中第一類樣本數(shù)為L(zhǎng)p,第二類樣本數(shù)為L(zhǎng)n。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟(3)中,第一類訓(xùn)練樣本的初始權(quán)值設(shè)為1/2Lp,第二類訓(xùn)練樣本的初始權(quán)值設(shè)為1/2Ln。
5.如權(quán)利要求1所述的方法,其特征在于,步驟(2)所述弱分類器集合表示為hj(x)=1,ifgj(x)>low_θjandgj(x)<high_θj0,otherwise]]>其中hj(x)表示對(duì)應(yīng)第j個(gè)特征的弱分類器,gj(x)表示第j個(gè)特征,low_θj是低閾值,high_θj是高閾值,只有當(dāng)該特征的數(shù)值大于低閾值且低于高閾值時(shí),弱分類器輸出才為1。
6.如權(quán)利要求5所述的方法,其特征在于,所述步驟(4)進(jìn)一步包括根據(jù)訓(xùn)練樣本的權(quán)值確定最優(yōu)的閾值參數(shù),使得所有樣本的加權(quán)錯(cuò)誤率最小。
7.如權(quán)利要求1所述的方法,其特征在于,步驟(6)所述更新所有樣本的權(quán)值,是對(duì)分類錯(cuò)誤的樣本增加權(quán)重,對(duì)分類正確的樣本降低權(quán)重。
8.如權(quán)利要求1所述的方法,其特征在于,步驟(1)所述兩類樣本,在一對(duì)一架構(gòu)中,所述第一類樣本為其中任一類樣本,所述第二類樣本為另一類樣本;在一對(duì)多架構(gòu)中,所述第一類樣本為其中一類樣本,所述第二類樣本為其他樣本,包含其他類的所有樣本。
9.如權(quán)利要求1所述的方法,其特征在于,所述步驟(5)包括將所有弱分類器集合的當(dāng)前輪次弱分類器返回的錯(cuò)誤加起來,將總的錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)特征選定為當(dāng)前輪次的特征挑選結(jié)果。
10.如權(quán)利要求9所述的方法,其特征在于,進(jìn)一步包括選擇前一輪次迭代時(shí)錯(cuò)誤率最大的部分弱分類器集合,在下一輪次迭代中使用這些集合挑選錯(cuò)誤率最小的特征。
全文摘要
本發(fā)明公開了一種應(yīng)用于模式識(shí)別的基于AdaBoost的特征抽取方法,包括(1)確定兩類樣本,根據(jù)輸入樣本數(shù)據(jù),從中抽取高維備選特征;(2)確定一個(gè)針對(duì)單個(gè)特征訓(xùn)練的弱分類器集合,該集合中每一個(gè)弱分類器對(duì)應(yīng)一個(gè)特征;(3)分別為所述兩類訓(xùn)練樣本設(shè)置初始權(quán)值;(4)從所述抽取的高維備選特征中,將所有當(dāng)前未被選定的特征,利用與其對(duì)應(yīng)的弱分類器,根據(jù)當(dāng)前權(quán)值,輸入訓(xùn)練樣本進(jìn)行訓(xùn)練;(5)根據(jù)訓(xùn)練結(jié)果,將錯(cuò)誤率最小的預(yù)定數(shù)目個(gè)弱分類器對(duì)應(yīng)的特征選定為當(dāng)前輪次的特征挑選結(jié)果;(6)更新所有訓(xùn)練樣本的權(quán)值,重新執(zhí)行步驟(4)-(6),直至執(zhí)行完預(yù)定輪次。本發(fā)明解決了現(xiàn)有挑選方法中的高存儲(chǔ)量以及高計(jì)算量的問題。
文檔編號(hào)G06K9/62GK1851729SQ20061001208
公開日2006年10月25日 申請(qǐng)日期2006年6月1日 優(yōu)先權(quán)日2006年6月1日
發(fā)明者黃英, 謝東海, 王浩 申請(qǐng)人:北京中星微電子有限公司