文佳寶,熊岳山
(1.國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙410073;2.湖南大學(xué)信息科學(xué)與工程學(xué)院,湖南 長沙410000)
以能夠快速計(jì)算的類Haar特征為起點(diǎn),以極為簡單的決策樹樁(Decision Stump)弱分類器為基礎(chǔ),以善于解決高維樣本分類問題的集成學(xué)習(xí)算法AdaBoost為核心,以能夠極大地加快檢測速度的層疊結(jié)構(gòu)(Cascade Structure)為翅膀,維爾納(Viola P)和瓊斯(Jones M)[1]在2001年提出的人臉檢測器取得了該研究領(lǐng)域中的飛躍性進(jìn)展。他們用AdaBoost算法在多個(gè)不同的訓(xùn)練集上訓(xùn)練出多個(gè)強(qiáng)分類器,再用層疊結(jié)構(gòu)將它們組織成層疊分類器,大大地加快了人臉檢測的速度。在這樣的基本層疊分類器BCC(Basic Cascade Classifier)中,前后層次的強(qiáng)分類器沒有任何直接聯(lián)系,可以認(rèn)為是一種“完全變異”的繼承模式。基于基本層疊分類器的人臉檢測器檢測率高(95%以上),誤檢率極低(10-6以下),檢測速度非??欤?5fps)[1],基本上達(dá)到了實(shí)時(shí)人臉檢測的要求。
其后,許多研究者對這個(gè)人臉檢測器的設(shè)計(jì)方法進(jìn)行了深入細(xì)致的研究,從多個(gè)方面作出了改進(jìn),其中最重要的改進(jìn)之一就是進(jìn)一步提高檢測速度。這方面的典型工作之一就是鏈接式集成學(xué)習(xí)CBL(Chained Boosting Learning)方法[2]。該方法采用“全部遺傳”的繼承模式,把在前面層次學(xué)習(xí)到的知識(包括特征、弱分類器及其信度)直接應(yīng)用于后續(xù)層次中,經(jīng)過簡單的公式推導(dǎo),就得到了前后層次依次連接、連續(xù)不斷的鏈接式(也稱嵌套式或嵌入式)層疊分類器CCC/NCC/ECC(Chained/Nested/Embedded Cascade Classifiers),進(jìn)一步加快了人臉檢測速度,并應(yīng)用于實(shí)時(shí)多視角人臉檢測中[3],獲得了很好的檢測性能。后來,許多研究者基于CBL 方法做出了許多優(yōu)秀的人臉檢測器[4~8]。到目前為止,該方法已經(jīng)成為人臉檢測器的經(jīng)典設(shè)計(jì)方法之一。最近,有研究者進(jìn)一步討論了基于CBL方法的嵌入式層疊分類器的最優(yōu)設(shè)計(jì)方法[9]。
具體地說,在嵌入式層疊分類器中,后面層次的強(qiáng)分類器完全繼承了在前面層次中學(xué)習(xí)到的所有特征、弱分類器及其信度。因?yàn)橛?xùn)練不同的強(qiáng)分類器的訓(xùn)練集各不相同(主要是負(fù)樣本不同),訓(xùn)練目標(biāo)的難度差別較大,所以通過CBL 方法繼承的特征、弱分類器及其信度對后面層次來說就不再是最優(yōu)的。這就有可能導(dǎo)致用CBL方法訓(xùn)練的嵌入式層疊分類器的整體檢測性能有所下降。當(dāng)然,這是完全遺傳的必然結(jié)果,其好處是檢測速度大大加快了。
本文基于“遺傳+變異”繼承模式,提出繼承式集成學(xué)習(xí)方法的一般框架GF-IBL(General Framework of Inherited Boosting Learning),簡稱IBL,可用于訓(xùn)練多種形式的繼承式層疊分類器ICC(Inherited Cascade Classifiers)。具 體 說 來,IBL方法有四種形態(tài),可以訓(xùn)練出四種不同形式的層疊分類器:
(1)全變異、無遺傳方法,用于訓(xùn)練基本層疊分類器[1]。
(2)全遺傳、無變異方法:即CBL 方法。用于訓(xùn)練嵌入式層疊分類器[2,3]。
(3)少遺傳、多變異方法:只繼承特征的繼承式集 成 學(xué) 習(xí)IBL-FI(Feature Inherited Boosting Learning)方法。用于訓(xùn)練特征繼承層疊分類器ICC-FI(Feature Inherited Cascade Classifiers)。這種層疊分類器在文獻(xiàn)[10]中稱為“Fea-Accu Cascade”。
(4)多遺傳、少變異方法:繼承弱分類器(含特征)的繼承式集成學(xué)習(xí)IBL-WCI(Weak Classifier Inherited Boosting Learning)方法。用于訓(xùn)練弱分類器繼承層疊分類器ICC-WCI(Weak Classifier Inherited Cascade Classifiers)。這是本文新提出的方法。
顯然,這四種方法各有利弊:
(1)基本層疊分類器:速度最慢,但檢測性能最好。
(2)嵌入式層疊分類器:繼承最多,不存在任何額外的計(jì)算代價(jià),因而其檢測速度可能最快,但檢測性能可能最差。
(3)特征繼承層疊分類器:繼承的信息較少,只有特征,因而其額外的計(jì)算代價(jià)最大,其檢測速度可能最慢,但其檢測性能可能僅次于基本層疊分類器。
(4)弱分類器繼承層疊分類器:繼承的信息較多,包括特征和弱分類器,其額外的計(jì)算代價(jià)相當(dāng)小,因而其檢測速度接近嵌入式層疊分類器,而其檢測性能可能接近基本層疊分類器。
對于后兩種方法來說,因?yàn)槲蠢^承的“變異信息”在后續(xù)層次中需要重新計(jì)算,所以或多或少存在一些額外的計(jì)算代價(jià)。當(dāng)然,因重新計(jì)算的“變異信息”對后續(xù)層次的訓(xùn)練集的擬合性更好,故新的繼承式層疊分類器可能具有更好的收斂性和可擴(kuò)展性,可以減少需要新增的弱分類器的數(shù)量。因此,從總體性能上說,新的繼承式層疊分類器與嵌套式層疊分類器在檢測速度上相差不大,但有可能具有更好的擴(kuò)展性,因而無需使用復(fù)雜的模型調(diào)整方法[4,5]。
一般說來,弱分類器繼承層疊分類器的性能可能最好,因?yàn)槠漕~外的計(jì)算代價(jià)很小,且性能提高的可能性很大。基于RAB、GAB 算法、查找表LUT 弱分類器與類Haar矩形特征的正面直立人臉檢測實(shí)驗(yàn)結(jié)果表明了新的繼承式集成學(xué)習(xí)方法的有效性。
繼承式集成學(xué)習(xí)方法適用于任意的集成學(xué)習(xí)算法與弱學(xué)習(xí)算法。下面考慮實(shí)值集成學(xué)習(xí)算法,包括 實(shí) 值RAB(Real AdaBoost)與 溫 和GAB(Gentle AdaBoost)自適應(yīng)集成學(xué)習(xí)[9]算法。進(jìn)一步,考慮使用的弱分類器為查找表(LUT)分類器,特征為類Haar矩形特征。
對于兩分類問題,訓(xùn)練集由N個(gè)樣本(x1,y1),… ,(xN,yN)組成,其中樣本xi∈χ(樣本空間),樣本類別標(biāo)記yi∈{+1,-1}。每個(gè)LUT 分類器h(x):χ→R 都是用LUT 弱學(xué)習(xí)器L基于某個(gè)特征f∈Sf(特征集)學(xué)習(xí)得到的。因此,h(x)也可一般地書寫成h(f(x),θ),其中θ是參數(shù),特征f(x)為類Haar矩形特征。假設(shè)LUT 分類器的分區(qū)個(gè)數(shù)為B個(gè),每個(gè)分區(qū)的特征值范圍分別表示為[Li,Ui),則LUT 分類器可以表示為:
學(xué)習(xí)含T個(gè)LUT 弱分類器的強(qiáng)分類器的RAB算法如下:
步驟1 設(shè)置初始樣本分布:ω0(xi)=1/N,i=1,2,…,N。
步驟2 對當(dāng)前的樣本分布ωt-1(xi),t=1,2,… ,T,基于每個(gè)特征f∈Sf,學(xué)習(xí)一個(gè)LUT分類器h(x)。其計(jì)算過程如下:
其中,ε是一個(gè)微小正數(shù)(如10-10),用于規(guī)避過擬合與數(shù)值計(jì)算錯(cuò)誤。
步驟3 選取最優(yōu)LUT 分類器h*(x)作為強(qiáng)分類器的第t個(gè)弱分類器,改記為ht(x):
更新與歸一化樣本分布:
步驟4 輸出強(qiáng)分類器:H(x)=sign[(h(x)-b],其中,b為可調(diào)整的閾值,默認(rèn)值為0;sign()表示符號函數(shù):若x≥0,則sign(x)為1;否則為-1。
GAB算法與此類似。只需要把以上的(3)、(4)兩式改成以下的兩式即可。
維爾納和瓊斯于2001年提出的人臉檢測器[1]的層次結(jié)構(gòu)如圖1所示。它由若干個(gè)層次(Layer,也稱為階段Stage)疊加而成,每個(gè)層次都是用AdaBoost算法訓(xùn)練出來的強(qiáng)分類器。我們稱之為基本層疊分類器BCC。
Figure 1 A face detector of cascade structure with Tlayers圖1 一個(gè)包含T 個(gè)層次的層疊結(jié)構(gòu)的人臉檢測器
在圖1 中,Hi(x)代表第i個(gè)強(qiáng)分類器。其中,前面層次的強(qiáng)分類器較為簡單,由少量弱分類器組成,確保整個(gè)人臉檢測器的速度足夠快;后面層次的強(qiáng)分類器較為復(fù)雜,由相對較多的弱分類器組成,可以區(qū)分與人臉較為相似的非人臉圖塊,對整個(gè)人臉檢測器的檢測性能與擴(kuò)展性能提供了必要的保障?;镜膶盈B分類器可表示為:
其中的強(qiáng)分類器Hi(x)是用集成學(xué)習(xí)方法訓(xùn)練出來的,它由若干個(gè)弱分類器組成:
進(jìn)一步研究發(fā)現(xiàn),用于檢測人臉的弱分類器hi,t(x),如決策樹樁(Decision Stump),大多相對較為簡單,其區(qū)分性只是略好于隨機(jī)猜測。這樣,在訓(xùn)練第i個(gè)強(qiáng)分類器Hi(x)時(shí),在前面已經(jīng)訓(xùn)練好的i-1個(gè)強(qiáng)分類器Hj(x)[j=0,…,i-1]中的所有弱分類器hj,t(x)[j=0,…,i-1;t=0,…,mj]可以直接移植到當(dāng)前的強(qiáng)分類器中,其中mj表示第j個(gè)強(qiáng)分類器所包含的弱分類器的個(gè)數(shù)。這樣,既可以大大降低當(dāng)前強(qiáng)分類器的復(fù)雜度,又不會顯著降低其檢測性能。這就是采用“完全遺傳”繼承模式的鏈接式集成學(xué)習(xí)CBL方法。這樣得到的人臉檢測器被稱為嵌套式層疊分類器NCC[3]或嵌入式層疊分類器ECC[9],如圖2所示。
Figure 2 A face detector of chained cascade structure with Tlayers圖2 一個(gè)包含T 個(gè)層次的嵌套式層疊結(jié)構(gòu)的人臉檢測器
圖2中,在第i個(gè)強(qiáng)分類器中植入了其前面所有的i-1 個(gè)強(qiáng)分類器的所有歷史信息。具體地說,第i個(gè)強(qiáng)分類器Hi(x)繼承了其前面所有的i-1個(gè)強(qiáng)分類器Hj(x)[j=0,…,i-1]中的所有弱分類器hj,t(x)及其信度αj,t[j=0,…,i-1;t=mj-1,…,mj]。當(dāng)然,它也還需要增加一些新的弱分類器hi,t(x)[t=mi-1,…,mi]以滿足本層次的訓(xùn)練要求。
從最后一個(gè)層次往前看,整個(gè)嵌入式層疊分類器中其實(shí)只有一個(gè)強(qiáng)分類器,即最后層次的強(qiáng)分類器HT(x),前面層次的強(qiáng)分類器只是它的一部分。具體地說,只是它的不同前綴。因此,嵌入式層疊分類器可以表示為:
其中,Prei(H(x))表示分類器H(x)的第i個(gè)前綴,滿足前綴遞增的條件:
按式(10),將前面的強(qiáng)分類器H1(x),…,Hi-1(x)代入到第i個(gè)強(qiáng)分類器Hi(x)中,可得到如下的計(jì)算公式[2]:
以上兩式分別表示未閾值化和已閾值化的強(qiáng)分類器,其中符號x、f(x)、h(x)、θ、α、H(x)、m和b分別表示訓(xùn)練樣本、樣本的特征、基于特征和有關(guān)參數(shù)的弱分類器、弱分類器的參數(shù)、弱分類器的信度、由若干弱分類器組成的強(qiáng)分類器、強(qiáng)分類器中的弱分類器的個(gè)數(shù)和二值化強(qiáng)分類器~H(x)的閾值。由此可知:第i個(gè)強(qiáng)分類器從其前面的i-1個(gè)強(qiáng)分類器中繼承了幾乎所有的歷史信息,包括:所有特征、所有弱分類器及其參數(shù)、所有弱分類器的信度。唯一未被繼承的只有強(qiáng)分類器的閾值,因?yàn)闊o法繼承。因此,對第i個(gè)強(qiáng)分類器Hi(x)來說,其前面的mi-1個(gè)弱分類器及其信度均源自繼承,新訓(xùn)練的弱分類器只有(mj-mj-1)個(gè)。后者通常遠(yuǎn)小于前者,這說明CBL方法是非常有效的。
這種“完全遺傳”的繼承模式產(chǎn)生“近乎完美”的繼承結(jié)果:所有前面層次的強(qiáng)分類器一個(gè)接一個(gè)地被完全嵌入到后續(xù)的強(qiáng)分類器當(dāng)中。后續(xù)的強(qiáng)分類器有了這些“遺傳”信息,就無需從零開始,只需訓(xùn)練少量的新弱分類器就可滿足本層次的訓(xùn)練要求。因此,CBL 方法大大地加速了層疊分類器的訓(xùn)練過程,大大地簡化了層疊分類器的規(guī)模,提高了層疊分類器的檢測速度。
當(dāng)然,CBL方法也有其不足之處,主要是“完全遺傳”的繼承模式只有遺傳,沒有變異。它忽視了后續(xù)層次所面臨的訓(xùn)練集已經(jīng)不同于前面層次的訓(xùn)練集(主要是負(fù)樣本不同),其分類任務(wù)不同于前面層次,分類難度也會逐漸加大。這樣,繼承的弱分類器一般不再是最優(yōu)的,因而其區(qū)分能力和擴(kuò)展能力均會有顯著下降,從而影響了最終的層疊分類器的檢測性能。一般說來,嵌入式層疊分類器的檢測率與“非遺傳”的基本層疊分類器相比有所下降。
設(shè)想一下,如果只是進(jìn)行部分的遺傳,保留必要的變異,也就是說采用“部分遺傳+部分變異”的繼承模式,那么就有可能提高最終的層疊分類器的檢測性能,縮小與基本層疊分類器的差距。同時(shí),一方面由于“遺傳”了部分信息,減少了后續(xù)層次的弱分類器數(shù)量,檢測速度較基本層疊分類器要快得多;另一方面由于存在部分“變異”,使得繼承的弱分類器雖也非最優(yōu)的,但其區(qū)分能力與擴(kuò)展能力都比“完全遺傳”的CBL 方法會有所提高。這樣,就有可能取得比CBL方法更好的綜合性能。
在基本層疊分類器中的各個(gè)強(qiáng)分類器之間并無任何“遺傳”信息,因此可以認(rèn)為是“完全變異”的繼承模式,其結(jié)果是擴(kuò)展性能最好,但收斂速度相對較差。CBL方法采用的是“完全遺傳”的繼承模式。也就是說,在后續(xù)層次中完全遺傳了前面層次中的所有信息,并無任何“變異”。這樣做的最大好處是不會給訓(xùn)練階段與檢測階段帶來任何的額外計(jì)算代價(jià),從而大大地提高了檢測速度,雖然擴(kuò)展性有可能略有下降。從均衡收斂性與擴(kuò)展性的角度來考慮,這兩種方法都是重點(diǎn)強(qiáng)調(diào)某一個(gè)方面,都不是最佳選擇。
為此,本文提出的繼承式集成學(xué)習(xí)方法的一般框架GF-IBL,用于訓(xùn)練多種形式的繼承式層疊分類器ICC。它采用一般的“遺傳+變異”的繼承模式,也就是說,在后續(xù)層次中遺傳前面層次中的部分信息,而另一部分信息則需要在被繼承層次中重新計(jì)算(這就是所謂變異的含義)。顯然,前面兩種方法——基本層疊分類與嵌入式層疊分類器——都只是繼承式層疊分類器的特例,它們分別對應(yīng)于“零遺傳”和“零變異”的情況。若遺傳與變異信息都不為零,則可以得到新的繼承式集成學(xué)習(xí)方法。由于新的繼承式集成學(xué)習(xí)方法存在“變異信息”,這就會給訓(xùn)練階段與檢測階段都帶來一定的額外計(jì)算代價(jià),有可能會影響其檢測速度。所獲得的補(bǔ)償是由于重新計(jì)算的“變異信息”很可能導(dǎo)致相應(yīng)的分類器具有更好的區(qū)分能力與擴(kuò)展能力。這樣,收斂速度與擴(kuò)展性能都會變得更好。綜合起來,新的繼承式集成學(xué)習(xí)方法產(chǎn)生的繼承式層疊分類器的收斂性可能與嵌入式層疊分類器相差不多,而擴(kuò)展性與基本層疊分類器相差不多,從而能取得收斂速度與擴(kuò)展性能更好的均衡效果。
由第2節(jié)可知,用集成學(xué)習(xí)方法訓(xùn)練一個(gè)強(qiáng)分類器的一般步驟如下:
步驟1 準(zhǔn)備若干訓(xùn)練樣本組成的訓(xùn)練集S=〈x1,…,xN〉。
步驟2 尋找合適特征f,計(jì)算每個(gè)訓(xùn)練樣本x的特征值f(x)。
步驟3 基于特征f學(xué)習(xí)弱分類器h,計(jì)算每個(gè)訓(xùn)練樣本x的弱分類器響應(yīng)值h(f(x))。
步驟4 計(jì)算弱分類器h的信度α,計(jì)算每個(gè)訓(xùn)練樣本x的信度加權(quán)弱分類器響應(yīng)值αh(f(x))。
步驟5 組合若干個(gè)弱分類器,形成強(qiáng)分類器H,計(jì)算每個(gè)訓(xùn)練樣本x的強(qiáng)分類器響應(yīng)值H(x)=∑αh(f(x))。
步驟6 尋找合適的閾值b,當(dāng)訓(xùn)練樣本x的強(qiáng)分類器響應(yīng)值H(x)>b時(shí),判決為目標(biāo),否則判為非目標(biāo)。
因此,一般說來,繼承式集成學(xué)習(xí)方法有四種繼承策略:
(1)不繼承:無遺傳,全變異,可訓(xùn)練基本層疊分類器。
(2)繼承特征f(x):未繼承弱分類器h(x)及其信度α,可訓(xùn)練特征繼承層疊分類器。
(3)繼承弱分類器h(x)(含特征f(x)):未繼承信度α,可訓(xùn)練弱分類器繼承層疊分類器。
(4)全部繼承:包括特征f(x)、弱分類器h(x)及其信度α,相當(dāng)于鏈接式集成學(xué)習(xí),可訓(xùn)練嵌入式層疊分類器。
兩種新IBL方法分別稱為特征繼承集成學(xué)習(xí)IBL-FI方法和弱分類器繼承集成學(xué)習(xí)IBL-WCI方法。用它們訓(xùn)練的特征繼承層疊分類器ICC-FI和弱分類器繼承層疊分類器ICC-WCI的計(jì)算公式如下:
其中下標(biāo)不帶i者表示“遺傳信息”,帶i者表示“變異信息”,需要在被繼承層次的訓(xùn)練集上重新計(jì)算相應(yīng)的值。
下面來考慮新IBL 方法帶來的額外計(jì)算開銷問題。對訓(xùn)練階段來說,多一些計(jì)算開銷對檢測階段沒有影響,因?yàn)橥ǔG闆r下檢測過程與訓(xùn)練過程是分開進(jìn)行的。事實(shí)上,由于新IBL 方法至少都繼承了前面層次所用到的所有特征。對這些繼承的特征無需進(jìn)行最費(fèi)時(shí)間和空間的特征選擇過程,而只需要做一些不費(fèi)力氣的信度計(jì)算或弱分類器參數(shù)計(jì)算,因此新IBL 方法給訓(xùn)練階段帶來的影響是微不足道的。具體說來,下面的實(shí)驗(yàn)表明,用以訓(xùn)練一個(gè)新的LUT 弱分類器需要幾秒鐘,而繼承一個(gè)LUT 弱分類器的時(shí)間不到1ms,所以后者可以忽略不計(jì)。
對檢測階段來說,新IBL 方法由于“變異信息”所需的計(jì)算會對檢測速度帶來或多或少的影響。下面以最簡單的由兩個(gè)矩形組成的類Haar矩形特征和LUT 弱分類器為例,估計(jì)新IBL 方法的繼承代價(jià)。基本的計(jì)算代價(jià)為:
(1)計(jì)算Haar特征:8次計(jì)算,8次查積分表;
(2)光照歸一化:1次計(jì)算,1次查方差;
(3)計(jì)算所屬分區(qū):2次計(jì)算,2次分別查最小特征值與分區(qū)長度;
(4)計(jì)算累計(jì)信度:1次計(jì)算,1次查累計(jì)信度。
從而1個(gè)非繼承的LUT 弱分類器(含信度累計(jì))的計(jì)算代價(jià)為12個(gè)單位,其中1次浮點(diǎn)計(jì)算加上1次查表稱為1個(gè)代價(jià)單位。用IBL-FI方法繼承1個(gè)弱分類器,可節(jié)省9個(gè)單位,還有3個(gè)單位需要重新計(jì)算。此時(shí),一個(gè)繼承的弱分類器相當(dāng)于新增加了0.25個(gè)非繼承的弱分類器。而用IBLWCI方法繼承1個(gè)弱分類器,可節(jié)省11個(gè)單位,還有1個(gè)單位需要重新計(jì)算。此時(shí),一個(gè)繼承的弱分類器相當(dāng)于新增加了0.083個(gè)非繼承的弱分類器。
顯然,IBL-WCI的繼承代價(jià)相對較?。ㄖ皇荌BL-FI的繼承代價(jià)的1/3)。人臉檢測中所使用的弱分類器功能相對較弱,因此繼承的弱分類器雖然已不再是最優(yōu)的,甚至可能連次優(yōu)都算不上,但是它們的區(qū)分能力相差卻并不太大。而且,自適應(yīng)集成學(xué)習(xí)算法的精髓就在于基于最優(yōu)化模型來集成多個(gè)弱分類器,單個(gè)弱分類器的區(qū)分能力弱一點(diǎn)并無關(guān)緊要。所以,繼承弱分類器是完全可行的。最重要的是,針對被繼承層次的不同的訓(xùn)練集,IBLWCI方法修正了信度。新的信度對新層次的強(qiáng)分類器應(yīng)該是最為重要的。所以,IBL-WCI方法完全可能獲得超出其它方法的最好的性能權(quán)衡。
單純從繼承代價(jià)上來看,新IBL 方法當(dāng)然不如CBL方法。但是,新IBL方法還是有所補(bǔ)償?shù)摹R蛟诒焕^承的層次上重新計(jì)算“變異信息”,故繼承的弱分類器可以更好地?cái)M合被繼承層次上的新訓(xùn)練集,因而可能減少在該層次上需要新增加的弱分類器的數(shù)量,而且還有可能提高最終的層疊分類器的區(qū)分性和擴(kuò)展能力。這就有可能在不影響收斂性的前提下提高最終的層疊分類器的擴(kuò)展性,可以解決軟層疊結(jié)構(gòu)[4]與動(dòng)態(tài)層疊結(jié)構(gòu)[5]帶來的復(fù)雜訓(xùn)練問題。
對于一個(gè)包含T個(gè)層次的層疊分類器,可以用收斂性指數(shù)CI(Convergent Index)來衡量其在檢測人臉時(shí)的收斂速度。用CBL方法構(gòu)造的層疊分類器的CI計(jì)算公式如下:
其中,ni是各層次新增加的弱分類器數(shù)量,f是各層次的檢出誤檢率(為簡化討論,假定它們都相同)。假設(shè)每個(gè)非繼承的弱分類器的基本計(jì)算代價(jià)為1。容易得到上式的上界為:
用新IBL方法構(gòu)造的繼承式層疊分類器的CI計(jì)算公式如下:
為了比較嵌入式層疊分類器與繼承式層疊分類器的收斂速度,比較式(17)與式(19)可知,后者優(yōu)于前者的充分條件如下:
其中第一個(gè)顯然成立,因?yàn)樵谙嗤瑮l件下,第一層不涉及繼承,所以弱分類器個(gè)數(shù)相同。前面的幾個(gè)不等式也是必要的,但后面的不等式并非必要,因?yàn)榍懊鎸哟螌κ諗克俣扔绊戄^大,而后面層次對收斂速度則幾乎沒有影響。考慮到IBL-WCI方法的相對代價(jià)較小,故它比IBL-FI方法更有可能獲得比CBL方法更快速的繼承式層疊分類器。
下面用正面直立人臉檢測為例來驗(yàn)證新IBL方法的有效性。這里采用的集成學(xué)習(xí)方法是RAB算法和GAB算法,弱分類器是LUT 弱分類器,特征是類Haar矩形特征。因?yàn)長UT 弱分類器用局部信度代替全局信度((或者說全局信度為1),所以IBL-WCI方法解釋為在繼承弱分類器時(shí)只保留分區(qū)狀況不變,改變所有分區(qū)的局部信度值,而CBL方法保留整個(gè)LUT 弱分類器。為了確保實(shí)驗(yàn)結(jié)果的高效性,這里使用MSL 算法[11]訓(xùn)練每個(gè)層疊分類器。
為完成以下實(shí)驗(yàn),總共收集了22 856 個(gè)直立人臉樣本。其中9 832個(gè)從網(wǎng)絡(luò)下載(稱為基本人臉集,主要作為訓(xùn)練集),1 376個(gè)來自BioID 人臉庫,3 391個(gè)來自Feret人臉表情庫,其余的8 260個(gè)也是從互聯(lián)網(wǎng)上收集來的。為了生成MSL 算法所需要的龐大人臉樣本集,對所有人臉樣本進(jìn)行了進(jìn)一步的處理,包括:鏡面反射、平面旋轉(zhuǎn)±6°和±12°等。然后還將所得到的人臉樣本用另一個(gè)人臉檢測器進(jìn)行過濾。最后得到了146 458個(gè)人臉樣本供MSL算法使用,稱為擴(kuò)展人臉集。
非人臉樣本從15 000個(gè)不包含人臉的圖像中取得。為了獲得更多非人臉樣本,對以上圖像進(jìn)行逆時(shí)鐘旋轉(zhuǎn)45°或鏡面反射操作,總共得到60 000個(gè)這樣的非人臉圖像。每個(gè)訓(xùn)練集中總是包含10 000個(gè)非人臉樣本。不同層次的訓(xùn)練集中的非人臉樣本通過“自舉法”(Bootstrapping)從以上非人臉圖像中取得。所有訓(xùn)練樣本全部用24×24像素的圖塊表示。特征集采用擴(kuò)展的類Haar矩形特征[12]。這樣的特征共有238 356個(gè)。
為了比較CBL 與IBL 方法的性能,本實(shí)驗(yàn)訓(xùn)練了若干個(gè)二層分類器。具體地說,針對IBL-FI、IBL-WCI和CBL三種繼承方法和RAB、GB 兩種增強(qiáng)算法總共訓(xùn)練了六個(gè)二層分類器。訓(xùn)練集的設(shè)置如上所述,但只選取了特征集中的1/5,共47 671個(gè)特征。測試集中的人臉樣本從擴(kuò)展人臉集中選取約1/3,共48 629個(gè)人臉;非人臉樣本從以上非人臉圖像中隨機(jī)選取,也是48 629個(gè)。最小檢出率DR(Detection Rate)設(shè)為100%。最大誤檢率FAR(False Alarming Rate)為40%。訓(xùn)練結(jié)果如表1和圖3所示。
Table 1 Comparison of convergent speed of two-layer cascade classifiers trained with IBL表1 用IBL方法訓(xùn)練的二層分類器收斂速度比較表
從表1可以得出如下結(jié)論:
(1)IBL方法在后續(xù)層次中需要新增的弱分類器比CBL方法要明顯少許多,其中RAB算法減少61% ~65%,GAB算法減少33%。
(2)一般情況下,IBL 方法的收斂性指數(shù)比CBL 方法小或相當(dāng),因而前者的收斂速度與后者相當(dāng)或更快。
(3)對GB 算法,三種方法的收斂性指數(shù)相差很小,說明其收斂速度差別不大。
(4)對RAB 算 法,IBL 方 法 明 顯 優(yōu) 于CBL 方法,且IBL-WCI方法最好。
Figure 3 Comparison of detection performance of two-layer cascade classifiers trained with IBL圖3 用IBL方法訓(xùn)練的二層分類器檢測性能比較圖
從圖3可知:
(1)對GB算法,在訓(xùn)練集與測試集上CBL 方法都稍微優(yōu)于兩種IBL 方法??紤]到它們之間在收斂速度上的差別也是細(xì)微的,故而它們在整體上差別不大。
(2)對RAB 算法,在訓(xùn)練集與測試集上兩種IBL方法都明顯優(yōu)于CBL方法??紤]到它們之間在收斂速度上的差別也是如此,故而在整體上IBL方法好于CBL方法。但是,兩種IBL方法之間差別不大。綜合收斂性與擴(kuò)展性,IBL-WCI性能最好。
(3)GB 算 法 在 整 體 性 能 上 明 顯 優(yōu) 于RAB 算法。
下面使用IBL方法訓(xùn)練若干高性能正面直立人臉檢測器。
訓(xùn)練集如上所述。將所有特征劃分成2~4組,在各個(gè)層次中輪流使用,以盡可能地保證不同層次間特征的差異性。各個(gè)層次的DR與FAR分別設(shè)置成100%與40%。為了進(jìn)一步提高檢測性能,自適應(yīng)平滑LUT 分類器(AWSLUT)[13]取代一般的LUT 分類器。測試集為標(biāo)準(zhǔn)的MIT+CMU 正面直立人臉庫,其中有130 張灰度圖像,包含508個(gè)標(biāo)記好的人臉[14]。圖4只給出其中基于IBL-WCI方法的兩個(gè)人臉檢測器的ROC曲線。
在圖4中,第一個(gè)分類器由19層787個(gè)AWSLUT 分類器組成,第二個(gè)分類器由18層508個(gè)AWSLUT 分類器組成。在檢測過程時(shí),檢測窗口總是保持24×24不變,檢測窗口和移動(dòng)步長為1,待檢測圖像以0.833 3 的比例依次縮小?;赗AB的檢測器末端(誤檢數(shù)<7)稍差,但其后性能很好?;贕B 的人臉檢測器末端好,但其后較差?;赗AB的人臉檢測器末端較差,但其后較好。注意到后者使用的弱分類器更多。ROC曲線數(shù)據(jù)取得方式同文獻(xiàn)[1]。在每個(gè)圖塊上使用的平均特征數(shù)(不含繼承的)分別為15.2和14.5,分別比文獻(xiàn)[15]、文獻(xiàn)[14]和文獻(xiàn)[13]中的類似人臉檢測器少75%、58%和32%。
Figure 4 Comparison of detection performance of upright frontal face detector trained with IBL圖4 用IBL方法訓(xùn)練的正面直立人臉檢測器的檢測性能比較圖
本文針對通過一般集成學(xué)習(xí)方法產(chǎn)生的基本層疊分類器與通過鏈接式集成學(xué)習(xí)產(chǎn)生的嵌入式層疊分類器的簡要分析,指出其分別使用“全部變異”與“全部遺傳”的繼承模式。前者無遺傳,后者無變異,且都沒有額外的計(jì)算代價(jià)。在此基礎(chǔ)上,本文基于“遺傳+變異”的繼承模式,提出繼承式集成學(xué)習(xí)方法的一般框架。前兩種方法只是該框架下的兩個(gè)特例:前者強(qiáng)調(diào)擴(kuò)展性能,收斂速度較差;后者則剛好相反。為了更好地均衡收斂速度與檢測性能,本文提出兩種新的繼承式集成學(xué)習(xí)方法,即繼承特征與繼承弱分類器(含特征),分別用于訓(xùn)練特征繼承層疊分類器與弱分類器繼承層疊分類器,并給出了其計(jì)算公式。新的繼承模式只繼承部分遺傳信息,另外的變異信息需要重新計(jì)算,因而存在或多或少的額外計(jì)算量。但是,因?yàn)樽儺愋畔⒌臄M合性更好,在收斂速度上有所補(bǔ)償。基于RAB和GB兩種集成學(xué)習(xí)算法和LUT弱分類器的實(shí)現(xiàn)表明新繼承方法在多數(shù)情況下優(yōu)于原方法。當(dāng)然,還需要更多的實(shí)驗(yàn)來驗(yàn)證新繼承方法的有效性,如針對離散Ada-Boost算法與決策樹樁組合的實(shí)驗(yàn)、針對CART 樹的實(shí)驗(yàn)、針對非人臉對象檢測的實(shí)驗(yàn)等等。
[1] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[C]∥Proc of the 2001IEEE Conference on Computer Vision and Pattern Recognition,2001:511-518.
[2] Xiao R,Zhu L,Zhang H J.Boosting chain learning for object detection[C]∥Proc of ICCV,2003:709-715.
[3] Huang C,Ai H,Wu B,et al.Boosting nested cascade detector for multi-view face detection[C]∥Proc of the 17th International Conference on Pattern Recognition,2004:415-418.
[4] Bourdev L,Brandt J.Robust object detection via soft cascade[C]∥Proc of the International IEEE Conference on Computer Vision and Pattern Recognition,2005:236-243.
[5] Xiao R,Zhu H,Sun H,et al.Dynamic cascades for face detection[C]∥Proc of the 11th IEEE International Conference Computer Vision,2007:1-8.
[6] Pham M T,Hoang V D D,Cham T J.Detection with multiexit asymmetric boosting[C]∥Proc of the 2008IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[7] Sochman J,Matas J.WaldBoost-learning for time constrained sequential detection[C]∥Proc of the 2005IEEE Conference on Computer Vision and Pattern Recognition,2005:150-157.
[8] Masnadi-Shirazi H,Vasconcelos N.High detection-rate cascades for real-time object detection[C]∥Proc of ICCV,2007:1-6.
[9] Saberian M J,Vasconcelos N.Learning optimal embedded cascades[J].IEEE Transactions on PAMI,2012,34(10):2005-2018.
[10] Yan S Y,Shan S G,Chen X L,et al.Fea-Accu cascade for face detection[C]∥Proc of the 2009International Conference on Image Processing,2009:1217-1220.
[11] Yan S Y,Shan S G,Chen X L,et al.Matrix-structural learning(MSL)of cascaded classifier from enormous training set[C]∥Proc of CVPR,2007:1-7.
[12] Lienhart R,Maydt J.An extended set of haar-like features for rapid object detection[C]∥Proc of the 2002IEEE International Conference on Image Processing,2002:900-903.
[13] Wen J B.Empirical study of smoothed LUT classifiers for fast and robust face detection[C]∥Proc of ICIIP,2013:1.
[14] Wen J B,Xiong Y S.Smoothing LUT classifiers for robust face detection[C]∥Proc of the 2013International Conference on Information and Technology,2013:930-936.
[15] Wen J B,Xiong Y S,Wang S L.A novel two-stage weak classifier selection approach for adaptive boosting for cascade face detector[C]∥Proc of the 7th International Conference on Intelligent Computing,2013:122-135.