專利名稱:一種改進AdaBoost算法的魯棒人耳檢測方法
技術領域:
本發(fā)明涉及一種圖像模式識別技術領域的人耳檢測系統(tǒng),具體是一種改進的AdaBoost人耳檢測方法及其硬件實現(xiàn)。
背景技術:
隨著信息技術的高速發(fā)展,生物特征識別技術由于其廣泛性、唯一性、穩(wěn)定性等特點,已經(jīng)成為新的學術研究和應用熱點。人耳作為人體一種特有的生物特征體,除了具有作為生物特征識別必備的基本性質外,它豐富的溝回信息和灰度分布、對于姿態(tài)的魯棒性等特有的優(yōu)點使得它得到越來越大的關注。由于人耳識別是一種較新的生物特征識別技術,它的研究遠沒有達到人臉識別那樣的深度和廣度,因而作為識別系統(tǒng)中非常重要的一個環(huán)節(jié)——人耳檢測也沒有引起足夠的重視。
目前在人耳檢測方面取得的成果大致可分為兩類,一類是基于模板的方法,一類是基于表觀的方法。人耳檢測研究的初期,人們都是利用人耳和人臉的許多共性特征,先將包含有人耳的側面人臉檢測出來,然后用某種方法再檢測出側面人臉中的人耳。這種基于模板的方法對光照條件、人耳相對于人臉位置等因素影響較大,如果人臉信息丟失,人耳檢測也便失效;且這些方法只適用于實驗室狀態(tài)下的人耳檢測,并未考慮人耳的姿態(tài)、飾物、遮擋等因素的影響,一旦將其置于真實世界復雜多變的情況下檢測人耳,多樣的背景、豐富的種族、地域特征,姿態(tài)、年齡、性別、數(shù)量等都將對系統(tǒng)的性能造成極大影響。
在人臉檢測領域,常用的效果較好的方法是2001年P.Viola和M.Jones在“Robust real-timeobject detection”(P.Viola,M.Jones.Robust real-time object detection.Cambridge ResearchLaboratory,Technical ReportCRL2001/01,2001)構造的基于Haar-like特征和AdaBoost算法的級聯(lián)式多層人臉檢測器,首先采用一種簡單的矩形特征,或者稱為Haar-like特征,來描述人臉圖像的灰度分布。為了快速的提取這些特征,他們還提出了一種新的圖像表示——積分圖像;其次采用AdaBoost算法從大量Haar-like特征中挑選出很少的一部分構造成所謂的強分類器;最后提出了一種瀑布型檢測器結構,可以逐漸將非人臉區(qū)域剔除,而把注意力集中在那些更像人臉的部分。P.Viola和M.Jones的人臉檢測器具有優(yōu)越的性能,這在很大程度上要歸功于AdaBoost算法。AdaBoost算法最早源于Schapire在1989年在論文“The Strengthof Weak Learnability”(SchapireR.E.The Strength of Weak Learnability[J].Machine Learning,1990,5(2)197-227)提出的Boosting(自舉)算法,它是一種能夠“Boost”任意給定學習算法精度的普適方法。Boosting就是將一系列粗略的規(guī)則加權組合起來得到高度精確的規(guī)則。這種思想在人臉檢測領域取得很大成功,其后的一系列方法均是在此基礎上改進的。
張惟在論文“基于改進AdaBoost算法的人耳檢測與跟蹤”(張惟,穆志純,袁立.基于改進AdaBoost算法的人耳監(jiān)測與跟蹤[J],中國圖象圖形學報,Vol.12(2)222-227)中首次將基于表觀的在人臉檢測中已成熟應用的AdaBoost算法運用到人耳檢測中,提出了一種基于AdaBoost算法的快速人耳檢測與跟蹤的方法。該方法在離線訓練階段,首先結合Haar-like型特征,依最近鄰法則構造出弱分類器空間,然后訓練出強分類器,最后將多個強分類器級聯(lián)成多層人耳檢測器。在線檢測階段,為提高檢測率,采用了調整分類器閾值和縮放檢測子窗口的策略。這種方法雖然較基于模型的方法有很大提高,但她只采用了最原始的AdaBoost算法,仍然存在一定的不足,對于背景簡單的圖像誤報率就高達15%以上,而對于背景復雜的圖像其誤報率更高,這樣高的誤報率在現(xiàn)實應用中是不能滿足要求的。本發(fā)明提出了一種改進的AdaBoost算法,能有效地對復雜背景下的人耳區(qū)域進行魯棒的檢測。
發(fā)明內容
本發(fā)明的目的和要解決的技術問題是在于實現(xiàn)一個高效的人耳檢測器。它具有較高的檢測率和較低的誤檢率,魯棒性強,在復雜背景下仍然具有良好的檢測效果??梢詰玫缴矸蒡炞C門禁系統(tǒng)中。
本發(fā)明的技術方案主要包括人耳檢測器的實現(xiàn),包括訓練和檢測兩個階段,如附圖1所示。
在訓練階段,首先采集人耳樣本和非人耳樣本,并對樣本進行尺寸和光照的歸一化處理;然后利用以上采集到的樣本進行訓練,提取能夠區(qū)分人耳樣本和非人耳樣本的矩形特征(即弱分類器),得到特征庫;接著利用特征庫結合改進的AdaBoost算法,訓練得到一層人耳/非人耳強分類器;重復以上訓練過程,得到結構由簡單到復雜的多層分類器;最后把這些分類器級聯(lián)起來,得到一個完整的人耳檢測器。
在檢測階段,首先按照1.2的比例連續(xù)縮放檢測窗口,并用得到的檢測窗口按設定的步長遍歷圖片,從而提取所有被檢測的子窗口,得到待檢測子圖像集;接著計算各子圖像的積分圖;然后利用訓練得到的分類器進行檢測,如果任意一層分類器輸出低于指定閾值即認為待檢測子圖像為非人耳而不進行后續(xù)判斷,只有那些通過所有層分類器判斷的子窗口被認為是一個人耳;然后,對檢測的結果窗口進行合并和劃線。
另外,本發(fā)明結合人耳自身不對稱的特點,提出了兩種人耳檢測的策略。第一種是用單耳分類器先對圖像進行檢測,然后將圖像進行鏡像變換,再用同一個單耳分類器對鏡像過的圖像進行檢測;第二種是分別用左耳分類器和右耳分類器對圖像進行檢測,該策略利用單耳訓練分類器(正樣本中只含左耳或只含右耳),從而防止了訓練過程中左右人耳的相互干擾。實驗證明,兩種檢測方式都取得了令人滿意的效果,實際應用時選擇其中的一種方式即可。
本發(fā)明由以下幾部分組成樣本的采集、利用積分圖像計算矩形特征值、分類器的設計、多層分類器的級聯(lián)、利用分類器檢測和檢測結果后處理。具體的技術方案如下 1.樣本的采集 采用手工標定方法,從包含人耳的圖片中切割出人耳圖像,并隨機選擇不包含人耳的圖片作為非人耳樣本。人耳圖像和非人耳圖像分別作為正例樣本和反例樣本用于訓練分類器。
2.利用積分圖像計算矩形特征值 2.1 Haar-like特征 Haar-like特征(Haar-like feature)是P.Viola和M.Jones提出的一種簡單矩形特征,有些像Haar-like小波函數(shù)。它可以用來反映圖象局部的灰度變化。從附圖2中可以看出,這種矩形特征能反映檢測對象局部特征的灰度變化,比如人耳的溝回等。Haar-like特征的定義是黑色矩形和白色矩形在圖像子窗口中覆蓋的區(qū)域的灰度值總和之差。本發(fā)明除了利用傳統(tǒng)的邊緣特征、線形特征和中心特征外,還引入了4個更適合人耳自身特點的的拐角特征。該拐角特征由大小兩個相似矩形組成,大矩形為黑色,小矩形為白色。小矩形面積占大矩形面積的四分之一,并位于大矩形的一角,這就形成了如附圖6所示的四個拐角特征。這些拐角特征可以很好地模擬人耳溝回紋理拐角處的灰度變化統(tǒng)計規(guī)律,如附圖2所示。
從已有的矩形特征可派生出豐富的矩形特征,派生方法是對沒有旋轉的矩形特征原型來說,可以垂直或水平地改變矩形的邊長;對于旋轉45度角的矩形特征原型來說,可以沿正(負)45度角改變矩形的邊長。在檢測和訓練過程中,要利用所有可以派生出的矩形特征對樣本圖片進行遍歷搜索。在一個大小為W×H的窗口中,所能窮舉出的矩形特征數(shù)的計算方法是令
其中w、h分別為矩形特征原形的長、寬,那么 (1)從傾角為0度的特征原型能派生出的特征數(shù)為 (2)從傾角為45度的特征原型能派生出的特征數(shù)為 2.2積分圖像 矩形特征定義如下 其中,{1,…,N}表示該矩形特征由N個矩形構成,ωi為第i個矩形的權值,RecSum(ri)為第i個矩形內所有像素的灰度值之和。
接下來舉例說明矩形特征。以附圖3、附圖4或附圖5中的一個Haar-like特征原型為例,如附圖7所示,構成該特征的兩個矩形為r1和r2(r1為背景大矩形,r2為中心的小矩形),而且r1三等分為r11、r12、r13,其中r12就是r2,顯然r1包含r2,兩個矩形的權值比ω1∶ω2=-1∶3,權值異號且與面積成反比。若r1=(5,3,6,2,0°),r2=(7,3,2,2,0°),那么特征值為 feature1=-1·RectSum(5,3,6,2,0°)+3·RectSum(7,3,2,2,0°) 正如前面所述,RectSum(ri)為第i個矩形內所有像素的灰度值之和。
經(jīng)過派生后,每個檢測窗口中都含有大量的矩形特征。如果每次計算特征值時都要分2次(或3次)統(tǒng)計矩形內所有象素值之和,那么計算量巨大,將大大降低訓練和檢測的速度。為了快速計算RectSum(ri),本發(fā)明利用了一種叫做“積分圖像”的方法。
積分圖有兩種傾角為0度的積分圖,傾角為45度的積分圖。它們的定義和作用各不相同 (1)對于傾角為0的矩形特征,積分圖Sum(x,y)定義為 如附圖8所示,它表示點(x,y)左上方所有像素值之和,I(x′,y′)為原圖像上的一個像素值。在實際應用時,Sum(x,y)是采用增量方式計算得到的 Sum(x,y)=Sum(x,y-1)+Sum(x-1,y)+I(x,y)-Sum(x-1,y-1) 滿足Sum(-1,y)=Sum(x,-1)=Sum(-1,-1)=0。在實現(xiàn)時只需按行或按列遍歷整張圖像一次,就可以得到這張圖像的積分圖。這種積分圖可以用于計算傾角為0度的矩形特征,假設特征為ri=(x,y,w,h,0°),那么 RecSum(ri)=Sum(x,y)+Sum(x-y,y-h)-Sum(x-w,y)-Sum(x,y-h) 只需4次查找積分圖就可以得解,運算數(shù)據(jù)很快;且不管ri尺寸大小,其運算時間一致。
(2)對于傾角為45度的矩形特征,積分圖TSum(x,y)定義為 如附圖9所示,它統(tǒng)計點(x,y)正上方的像素值之和,統(tǒng)計范圍是從點(x,y)開始向上延伸出的一個傾角為45度的矩形區(qū)域與原圖像區(qū)域的交集區(qū)。在實際應用時,TSum(x,y)也是采用增量方式計算得到的 TSum(x,y)=TSum(x-1,y-1)+TSum(x+1,y-1)-TSum(x,y-2)+I(x,y)+I(x,y-1) 滿足 在實現(xiàn)時只需按行或按列遍歷整張圖像一次,就可以得到這張圖像的積分圖。這種積分圖可以用于計算傾角為45度的矩形特征。若特征為ri=(x,y,w,h,45°),那么 RecSum(ri)=TSum(x-h+w,y+w+h)+TSum(x,y) -TSum(x-h,y+h)-TSum(x+w,y+w) 這時,按上式計算同樣只需4次查找積分圖就可得解,運算速度很快。而且不管ri尺寸大小,其運算時間一致。
3.分類器的設計 為了快速準確地檢測出人耳,人耳檢測器采用了分層結構(如附圖10所示),由多層結構的從簡單到復雜的強分類器級聯(lián)起來構成。先由結構簡單的強分類器排除一部分非人耳子窗口,然后由結構復雜的強分類器對余下的窗口進行判斷。
本發(fā)明使用新型AdaBoost算法訓練每層分類器。AdaBoost算法的一般思想是通過迭代從一組弱分類器中挑選出每一輪中分類錯誤率最低的弱分類器ht(t=1,…T),并將ht按感知機的形式組合成一個強分類器H(x),從而達到提高弱分類器分類性能的目的。AdaBoost算法之所以被稱為自適應的(Adaptive)Boosting算法,是因為其能夠對弱分類器集合中分類性能好的弱分類器給予較高權值,而對分類性能差的弱分類器給予較低權值,進而在弱分類器空間中挑選出若干關鍵分類器,整合為一個強分類器,整合的規(guī)則是由挑選出的弱分類器的性能決定的。
本發(fā)明在原始AdaBoost算法基礎上采用了弱分類器最優(yōu)閾值的分段選取策略,改進了弱分類器權重的分配方式,還引入了“排除閾值”來防止過學習,從而得到了本發(fā)明所用的新型AdaBoost算法。
3.1弱分類器的構造 為了能夠顯著地提高整個人耳檢測過程的速度,必須考慮從各個方面來降低計算成本。最直接,也是最簡單的想法就是將一個復雜的分類器拆分成為許多簡化的分類器,然后對這些簡化了的分類器進行篩選,組成一些較為復雜的分類器,最后再把這些較為復雜的分類器層層相連。這些簡化的分類器足夠的小以至于可以在大約20條指令內就完成計算。這樣,系統(tǒng)的計算速度就可能迅速提高。上述簡化了的分類器就叫做弱分類器。在本系統(tǒng)中,弱分類器與經(jīng)過篩選得到的矩形特征一一對應,弱分類器的原形是其中x為待檢測窗口,fj(x)為計算矩形特征值的函數(shù),θj為通過訓練得到的特征值的閾值,也稱為弱分類器的閾值。
新的最優(yōu)分類閾值的選取方法分為兩步 (1)首先將每個Haar-like特征對應的所有樣本的特征值空間劃分為n份,每份r個,假設原來的特征值空間是g(i)(i=0,…,num4),num4表示正負樣本的總數(shù),我們取g(k)(k=0,r,2r,…,n)作為新的特征值空間。在新的特征值空間中,尋找最優(yōu)的分類閾值。
(2)其次,在找到的當前最優(yōu)分類閾值g(j)的左右各延伸r重新進行搜索,即在原始的特征值空間g(i)(i=0,…,num4)中的g(j-r)到g(j+r)中重新進行搜索,找到最優(yōu)分類閾值。
3.2強分類器的設計 較為復雜的分類器就是強分類器Ht(x),由若干弱分類器組成。當其中所有弱分類器的加權和大于強分類器的閾值時,其中強分類器的閾值在訓練過程中確定,可以保證每層強分類器的最小錯誤率,并作為一個參數(shù)記錄于所得的分類器中。根據(jù)訓練記錄可以發(fā)現(xiàn)它一般在-1到-4之間。訓練一層強分類器并確定其閾值時,先對于每個人耳樣本xi,計算其中t0表示當前已得到的弱分類器的個數(shù);然后將PV數(shù)組按從小到大排序;最后利用人耳樣本個數(shù)p和最低檢測率dmin算出當前強分類器的閾值
即用PV數(shù)組中第
個元素作為閾值,從而保證有
個人耳樣本能通過該閾值。其中,當待檢測窗口的特征值大于強分類器的閾值時,Ht(x)=1;小于強分類器的閾值時,Ht(x)=—1。1表示接受,0表示拒絕。如果判斷結果為—1,則認為檢測目標x非人耳;但如果判斷結果為1,不能最終說明檢測目標x就是人耳,因為整個多層分類器是由一組強分類器組成的,只有檢測目標x被所有強分類器接受,才能確定它是人耳。
本發(fā)明將新型AdaBoost算法結合上述弱分類器構造方法用于訓練人耳/非人耳強分類器。本發(fā)明在每輪弱分類器訓練時,在弱分類器權重中加入了反映分類器對非人耳樣本正確識別能力的一項,使弱分類器的權重不僅考慮其總的錯誤率,同時還要考慮弱分類器對負樣本的識別能力,可以有效降低系統(tǒng)的誤檢率。
訓練步驟如下 Step1給定弱學習算法和訓練集(x1,y1),…,(xn,yn),其中,xi是輸入訓練樣本向量,且xi∈X,X是訓練樣本集,yi∈{-1,+1}。
Step2初始化權值D1(xi)=1/n,i=1,2,…,n。
Step3對于T輪訓練,for t=1,2,…,T. do (1)將弱學習算法在權值Dt下訓練,得到預測函數(shù)htX→{-1,+1}; (2)計算該預測函數(shù)的錯誤率 以及識別正確的負樣本的權值和 (3)求解權重更新系數(shù)αt和弱分類器的加權參數(shù)αt-new 其中k為一個常數(shù),其取值滿足在本次循環(huán)中,令最小錯誤率上界下降; (4)更新樣本權值
其中,Zt是使的歸一化因子。
(5)排除困難樣本 if Dt+1(xi)>HW then Dt+1(xi)=0 其中,HW為排除閾值,該步將權重過分集中的困難樣本排除,防止過學習現(xiàn)象,本發(fā)明通過試驗確定HW=12; Step4T輪訓練完畢,最終的預測函數(shù)即最終的強分類器為 其中,Th是滿足錯誤率要求的判決閾值。
4.多層分類器的級聯(lián) 級聯(lián)式多層分類器是指將多個由AdaBoost算法訓練的分類器以某種方式連接在一起,在保證獲得更好的檢測效果的同時,還可以從根本上減少計算時間。之所以要對已經(jīng)訓練好的分類器進行這樣的處理,是因為單獨使用一個強分類器所獲得的檢測率和誤檢率都無法滿足實際檢測系統(tǒng)的需要,還應當更大幅度的提高其檢測率,降低誤檢率。
級聯(lián)思想中很關鍵的一點是可以將一系列小而有效的被自舉(boosted)的分類器組合在一起,在檢測到大多數(shù)正樣本的同時,拒絕掉大量的負樣本,也就是說在使用更為復雜的分類器獲得更低的誤檢率之前,先用簡單的分類器拒絕子窗口中的絕大部分負的子窗口。實際上大多數(shù)情況下,一幅圖像中的正例只占圖像空間中的很少一部分,因此當圖像通過最初的幾層分類器之后,剩下的子窗口幾乎可以忽略不計,所需要的時間也就很少了,因此這樣的級聯(lián)方式可以極大的提高檢測效率。多層分類器級聯(lián)的方式如附圖10所示。附圖10中T表示子窗口被分類器判斷為人耳,F(xiàn)表示子窗口被分類器判斷為非人耳,n是級聯(lián)式分類器中分類器的個數(shù)。整個級聯(lián)是由若干層組成的,每層是一個由AdaBoost算法訓練得到的強分類器。對每一層設置閾值,通過調整閾值大小獲得不同的誤檢率。越靠后的層,組成強分類器的弱分類器數(shù)目越多,分類器越復雜,分類性能也越強。檢測時圖像子窗口只有通過所有層才能被判斷為是正例,若在其中任一層被判斷為反例即被拋棄。級聯(lián)后的分類器的檢測率和誤檢率如附圖11所示。
圖中可以看出級聯(lián)式分類器的分類效果是由每一層決定的,由圖中給出的檢測率(detection rate)和誤檢率(false positive rate)計算公式,假設預期的級聯(lián)式分類器的檢測率為0.9,那么就需要有10層分類器,且每一層的檢測率為0.99,盡管如此,只要同時保證每一層的誤檢率為0.3,整體的誤檢率就可以達到6×10-6。由此可見,盡管檢測率和誤檢率這兩個指標是矛盾的,在提高其中一個性能的同時,另一個性能會降低,但級聯(lián)式分類器還是可以盡量滿足實際系統(tǒng)的要求。
5.利用分類器檢測 檢測過程是構建人耳檢測系統(tǒng)的第二個環(huán)節(jié)。一個訓練好的多層分類器就是一個人耳檢測器。
在檢測目標圖像方面,傳統(tǒng)檢測流程的思路是按比例逐層縮小待檢測圖像,形成“圖像金字塔”;在“金字塔”中窮舉待檢測子窗口;把各個待檢測子窗口作為分類器的輸入,得到檢測結果。假設原圖分辨率為W×H,每縮放一次原圖像,窮舉該圖像子窗口的計算量為2×ratio2×W×H次乘法,其中ratio為縮放比率,當被檢圖像較大時,計算量可想而知。
于是,本發(fā)明摒棄了以往的金字塔式檢測方法,采用新的檢測手段,即先令被檢圖像大小不變,逐層等比放大檢測子窗口,然后用各層子窗口按1-6像素的步長遍歷被檢圖像(在PC上實現(xiàn)時,本發(fā)明采用的步長是1像素;在DSP上實現(xiàn)時,為減少計算量,本發(fā)明采用的步長是6像素),這樣在每次縮放檢測子窗口時只需重新計算檢測窗口的長寬,如附圖12所示。利用新策略進行檢測后,每1次放大檢測窗口的計算量只有2次乘法,即原窗口的長和寬分別乘以放大倍數(shù)。這個運算量比起傳統(tǒng)方法的2×ratio2×W×H次乘法要小得多了。
在利用多層分類器對圖像檢測時,本發(fā)明采用以下策略先用前2個強分類器快速將疑似非人耳窗口排除掉,將疑似人耳窗口留給后n-2個強分類器來確認(假設該多層分類器的層數(shù)為n)。這樣,既減少了系統(tǒng)檢測時的運算量,提高了檢測速度,又提高了檢測的準確性。
6.檢測結果后處理 在利用多層分類器進行檢測時,檢測結果還可能存在一個問題結果窗口重疊。出現(xiàn)重疊是很正常的,因為檢測窗口在待檢測圖像上的移動步進比較小,這么緩慢的移動速度必然產生很多相似的待檢測子圖像,得到相似的檢測結果。是不是可以通過加大檢測窗口的移動步進來減少重疊現(xiàn)象呢?有時可以,條件是待檢測圖像分辨率較大,如果待檢測圖像分辨率較小,加大步進將導致檢測率下降。
解決結果窗口重疊的方法叫“合并”(merge),這一部分屬于對檢測結果的“后處理”。合并操作的步驟如下 1)尋找可合并的結果窗口 設結果窗口的序列為Sequence[m]={result1,result2,…,resultm},m為結果窗口數(shù),result表示結果窗口,P(result→x0,result→y0)表示結果窗口的左上角坐標,result→size表示結果窗口的長度和寬度。
如果結果窗口resulti和resultj同時滿足以下條件則認為它們是可合并的 (1)resultj→x0≤resulti→x0+0.2×resulti→size; (2)resultj→x0≥resulti→x0-0.2×resulti→size; (3)resultj→y0≤resulti→y0+0.2×resulti→size; (4)resultj→y0≥resulti→y0-0.2×resulti→size; (5)
(6)
如附圖13所示,只要resultj的左上角落在陰影區(qū)域1中并且右下角落在陰影區(qū)域2中,那么resultj和resulti就是可合并的。
2)合并重疊窗口 計算重疊窗口的平均窗口,將平均窗口作為最終輸出結果。
7.單耳檢測策略 與人臉相比,人耳不具有對稱性的特點。在人耳檢測器的構建過程中,如果效仿人臉檢測,將全部人耳部分左右同時當作正樣本進行訓練,通過統(tǒng)計學習得到的分類規(guī)律必然是左右耳都擁有,而負樣本不存在的特點。以右耳為例,由于左右耳本身并不對稱,因此,那些右耳擁有,左耳和負樣本沒有的特征將不會被選中,而這些特征又往往是那些具有較好分類能力的輪廓溝回特征。附圖14所示的Haar-like特征在右耳樣本中明顯存在,但在左耳樣本的相同位置卻不存在。因此,如果將左右人耳同時當作正樣本參加訓練,必然會由于左右耳不對稱的因素,將左右耳的特點混淆,在一定程度上削弱正負樣本之間的對比,使左右人耳分別含有的大量的具有較高判別能力的特征被忽略。
根據(jù)以上分析,本發(fā)明提出新的人耳檢測策略。利用左右人耳樣本分別作為正樣本進行分類器的訓練。在得到分類器之后,可采取兩種檢測方式。第一種方式,用單耳分類器先對圖像進行檢測,然后將圖像進行鏡像變換,再用同一個單耳分類器對鏡像過的圖像進行檢測;第二種方式,分別用左耳分類器和右耳分類器對圖像進行檢測。這兩種檢測方式都取得了令人滿意的檢測效果,實際應用時任選其中一種方式即可。
以上我們介紹了基于改進的AdaBoost人耳檢測的具體方法,總體上本發(fā)明的創(chuàng)新及其優(yōu)點主要有 (1)針對人耳自身特點,提出四種不對稱Haar-like拐角特征,用來逼近左右人耳的局部特征,這些特征能很好地描述人耳局部特征灰度變化,有利于弱分類器的構造和后續(xù)步驟的進行; (2)對Haar-like特征的最優(yōu)分類閾值進行分段選取策略,大大減少了樣本的訓練時間; (3)對弱分類器的權重進行改進,對負樣本分辨能力較強的弱分類器給予較大權重,提高整個分類器對負樣本的分辨能力,降低分類器的誤檢率; (4)為了防止傳統(tǒng)AdaBoost方法在人耳分類器訓練過程中發(fā)生過學習現(xiàn)象,本發(fā)明根據(jù)訓練中樣本權重的分布變化,設置排除閾值HW,將權重更新超過HW的噪聲樣本剔除,從而保證分類器訓練過程的合理進行,防止過學習現(xiàn)象的產生,使人耳檢測的漏檢率和誤檢率得到降低; (5)提出一種單耳檢測策略,使得在訓練過程中用到的弱分類器個數(shù)(特征數(shù))較少;訓練時間縮短;單耳檢測器在保證每層檢測率與雙耳檢測器相當?shù)那闆r下,每層可以得到比雙耳檢測器更低的錯誤率。在檢測效果上,單耳檢測方法的漏檢率和誤檢率均得到降低。單耳檢測策略中采用了兩種檢測方法,這兩種方法均取得了較好的效果。
圖1人耳檢測系統(tǒng)框架示意圖; 圖2矩形特征模擬人耳圖像灰度變化示意圖; 圖3基本Haar-like邊緣特征示意圖; 圖4基本Haar-like線形特征示意圖; 圖5基本Haar-like中心特征示意圖; 圖6新增加的4個拐角特征; 圖7用來舉例的Haar-like特征示意圖 圖8傾角為0的積分圖Sum; 圖9傾角為45度的積分圖TSum; 圖10級聯(lián)式多層分類器結構示意圖,數(shù)字表示強分類器的層數(shù),字母T表示待檢圖像被該層強分類器判斷為人耳,字母F表示待檢圖像被該層強分類器判斷為非人耳; 圖11K層級聯(lián)分類器的檢測率和誤檢率計算示意圖,其中數(shù)字表示強分類器的層數(shù),字母di表示第i層強分類器的檢測率,字母fi表示第i層強分類器的誤檢率; 圖12本發(fā)明采用的檢測流程示意圖; 圖13檢測結果窗口可合并區(qū)域示意圖; 圖14同一特征在左右人耳樣本中的不同匹配情況示意圖; 圖15對數(shù)組排序后特征值的分布(正方形點表示非人臉樣本,圓形點表示人臉樣本)示意圖; 圖16人耳檢測系統(tǒng)操作軟件的檢測界面; 圖17人耳檢測系統(tǒng)操作軟件的生成樣本界面; 圖18人耳檢測系統(tǒng)操作軟件的訓練界面; 圖19自選檢測庫的檢測效果示例(三幅圖從左到右依次選自UMIST側面人臉庫、中科院CAS-PEAL側面人臉庫和北京科技大學人耳庫); 圖20人耳有部分遮擋的圖片檢測效果示例; 圖21基于DSP的人耳檢測系統(tǒng)實時檢測效果示例。
具體實施例方式 下面結合附圖對本發(fā)明方法及系統(tǒng)進行詳細描述。本發(fā)明提出的人耳檢測系統(tǒng)的系統(tǒng)流程圖如附圖1所示。具體實施步驟如下 1.訓練部分 1.1矩形特征值的計算 在本人耳檢測系統(tǒng)的訓練和檢測過程中都離不開矩形特征值的計算。在上文的論述中,曾指出矩形特征在圖像上的特征值等于 其中RecSum(ri)為該特征內第i個矩形中所有像素值之和。在訓練時,矩形特征內的權值ω1和ω2分別被ω′1和ω′2替代,其中,Area=25×30為樣本圖像的面積(即像素總個數(shù))。ω1和ω2將被保留起來,在檢測人耳時還有用處。
在這里,權值除以Area,主要目的是使特征值與樣本圖像面積聯(lián)系起來,這有其具體的作用。通過上文的論述可知,本發(fā)明的檢測策略為待檢圖像不變,檢測窗口放大。每當檢測窗口放大scale倍,可以想象成將樣本圖像和矩形特征也放大scale倍,然后重新訓練樣本得到新的多層分類器,最后使用這個新多層分類器對放大后的檢測窗口進行檢測。實際上不必重新訓練,只要證明想象中的新多層分類器里的各弱分類器的閾值和原來一樣即可。只要弱分類器的閾值不變,那么強分類器的閾值也不變。弱分類器的閾值其實是某個被選中的矩形特征在某一樣本圖像上的特征值,簡言之,弱分類器的閾值就是一個特征值。假設樣本圖像和矩形特征都放大scale倍,這時的矩形特征值為 其中ω1,ω2是初始權值,是根據(jù)矩形特征的原型的權值比確定的,在訓練和檢測過程中不變;Area為原樣本圖像的面積,樣本放大scale倍其面積放大scale2倍;r′1,r′2是放大后的矩形特征內的兩個矩形,分別對應于原矩形特征內的兩個矩形r1和r2,r′1和r′2的面積也是r1和r2的scale2倍;RecSum(r′1)是r′1內所有象素灰度值之和,RecSum(r′2)是r′2內所有象素灰度值之和。由于r1,r2和r′1,r′2在樣本圖像上的相對位置是一樣的,對應樣本圖像的區(qū)域也是一樣的,因此RecSum(r′1)=scale2·RecSum(r1),RecSum(r′2)=scale2·RecSum(r2),故矩形特征值不變,弱分類器的閾值也不變,原多層分類器可以繼續(xù)使用,不必放大樣本和矩形特征來重新訓練生成新的多層分類器了。在本發(fā)明的人耳檢測系統(tǒng)中,取檢測窗口縮放比例scale=1.2。
1.2訓練過程總體實現(xiàn) 通過訓練,該系統(tǒng)得到了多層分類器。多層分類器的每一層都是用AdaBoost方法訓練得到的。如果把基于AdaBoost的訓練模塊比作中央處理器的話,那么所有樣本的所有矩形特征值就是其輸入,而多層分類器里的各個強分類器就是其輸出。訓練之前必須先確定整個系統(tǒng)要達到的最高誤檢率Fmax為多少,最低檢測率Dmin為多少;還必須確定每個強分類器的最高誤檢率fmax,最低檢測率dmin。在確定目標的前提下,整個系統(tǒng)至少需要由個強分類器組成。整個訓練過程就是一個利用AdaBoost方法構造強分類器的過程。
這里先對整個訓練過程進行一個總體的描述 Step1確定系統(tǒng)目標誤檢率Fmax,各強分類器的最大誤檢率fmax,最小檢測率dmin,并推斷系統(tǒng)至少需要個強分類器組成。
Step2確定訓練系統(tǒng)需要多少人耳樣本,多少非人耳樣本;假設人耳樣本需要p個,非人耳樣本需要q個。
Step3獲取初始人耳樣本集與非人耳樣本集。
Step4for t=1∶n (1)訓練一個強分類器Ht(x); (2)組合前t個強分類器H1,H2,…,Ht,對人耳樣本集進行驗證,淘汰被錯誤判斷的人耳樣本(漏判),并修改人耳樣本的數(shù)量——p的值; (3)組合前t個強分類器H1,H2,…,Ht,對當前非人耳樣本集進行驗證,淘汰被正確判斷的非人耳樣本,并重新獲取非人耳樣本,以補充非人耳樣本集,使其數(shù)量重新達到q個。在重新獲取非人耳樣本過程中,也是組合前t個強分類器對候選非人耳樣本進行驗證,只有被誤判的候選非人耳樣本才能被加入到非人耳樣本集中。
Step5保存訓練結果。
至此,整個訓練過程結束,得到了級聯(lián)的強分類器。
另外,還有幾個需要說明的問題。第一,上述過程中所謂的驗證就是利用前t個強分類器組成的臨時多層分類器對樣本進行檢測。第二,在訓練過程中,之所以要不斷更新非人耳樣本集是因為在驗證時有一部分非人耳樣本會逐漸被篩選掉,并不會通過所有層,被篩選掉的非人耳樣本對于下一層的訓練已經(jīng)沒有價值了,所以非人耳樣本集是需要更新的。
1.3訓練強分類器 較為復雜的分類器就是強分類器Ht(x),由若干弱分類器組成。當其中所有弱分類器的加權和大于強分類器的閾值時,Ht(x)=1;小于強分類器的閾值時,Ht(x)=—1。1表示接受,0表示拒絕。如果判斷結果為—1,則認為檢測目標x非人耳;但如果判斷結果為1,不能最終說明檢測目標x就是人耳,因為整個多層分類器是由一組強分類器組成的,只有檢測目標x被所有強分類器接受,才能確定它是人耳。
下面介紹采用AdaBoost訓練一個強分類器的程序實現(xiàn)步驟 Step1確定該強分類器的最大誤檢率fmax,最小檢測率dmin。
Step2獲取并保存訓練樣本 P表示人耳樣本集合叫做P集,人耳樣本也叫正例。
N表示非人耳樣本集合叫做N集,非人耳樣本也叫負例。
樣本可以表示為(x1,y1),(x2,y2),…,(xm,ym),當yi=1時,xi∈P;當yi=-1時,xi∈N;其中m為樣本的總個數(shù)。
Step3計算每個樣本窗口內的所有矩形特征值。
Step4對每個人耳樣本賦一個權值w。權值為樣本個數(shù)的倒數(shù)。
Step5設f為當前強分類器誤檢率,初值為1;t=1,t為計算強分類器輪數(shù)。
Step6while(f>fmax){ (1)挑選一個矩形特征構成一個弱分類器hi(x),使得該分類器的分類錯誤相對其它弱分類器來說是最小的; (2)對于每個人耳樣本xi,計算對于每個非人耳樣本xj,計算t0表示當前已得到的弱分類器的個數(shù); (3)對PV數(shù)組按從小到大排序人耳樣本個數(shù)為p,最低檢測率為dmin,那么當前強分類器的閾值
即第
個元素作為閾值,保證有
個人耳樣本能通過該閾值; (4)numfalse=0 for j=1∶q(非人耳樣本個數(shù)為q) if
then numfalse=numfalse+1 end f=numfalse/q(當前強分類器的誤檢率); (5)更新每個樣本的權值; (6)對樣本權值進行歸一化; (7)t=t+1 } Step7得到一個強分類器,滿足fmax,dmin,閾值為
保存訓練結果。
至此訓練一個強分類器的過程結束。
1.4訓練弱分類器 在本系統(tǒng)中,弱分類器與經(jīng)過篩選得到的矩形特征一一對應,弱分類器的原形是 其中x為待檢測窗口,fj(x)為計算矩形特征值的函數(shù),θj為通過訓練得到的特征值的閾值,也稱為弱分類器的閾值。
程序實現(xiàn)弱分類器訓練的步驟如下 Step1假設樣本窗口大小為W×H,在這么大的窗口中存在的矩形特征數(shù)可以依照2.1節(jié)所示的公式計算出來。對每個樣本利用積分圖快速計算出所有這些矩形特征值,用一個二維數(shù)組存放,記為Value[i][j],1≤i≤n,n為矩形特征數(shù),1≤j≤m,其中m為樣本總個數(shù)。
Step2FAULT=(curlerror+currerror)表示當前分類器的錯誤率的最小值,初始時curlerror=1010(稱為左錯誤),currerror=1010(稱為右錯誤) Step3for i=1∶n(對于每個特征) (1)found=0; (2)for j=1∶meval[j]=Value[i][j](eval存放特征j所在的所有樣本上的特征值); (3)對eval數(shù)組按從小到大排序; (4)for j=1∶m(對每個排序后的樣本){ wk是第k個樣本的權值; 當?shù)趉個樣本為人耳樣本時yk=+1,否則yk=-1; curleft=wyl/wl,curright=wyr/wr; if (curlerror+currerror)<FAULT then {FAULT=(curlerror+currerror); 分類器閾值θ=eval[j]; α1=curleft; α2=curright; found=1;} } (5)if found=1 then selection=i,表示特征i被選擇; Step4得到一個弱分類器,其對應矩形特征序號為selection。
至此,弱分類器的訓練過程結束。
在弱分類的訓練過程中,分類閾值的選取是一個非常重要的環(huán)節(jié)。這里對這一環(huán)節(jié)進行一下分析。通過以上論述可知,數(shù)組eval保存一矩形特征在所有樣本上的特征值。對eval數(shù)組排序后特征值的分布如附圖15所示。
這是一個一維的概率分布,并且不存在一個明顯的閾值可以完全正確的區(qū)分所有的樣本,也就是說任何給定的閾值都無法使得該特征所對應的弱分類器能夠完全正確地區(qū)分人耳樣本和非人耳樣本。但是,這些特征值的分布還是大致規(guī)則的非人耳樣本的特征值相對集中,人耳樣本的特征值相對集中,這就可以找到一個大致的閾值將兩類的特征值分開。
上述程序實現(xiàn)的過程是這樣尋找這個閾值的。假設樣本數(shù)為m,目標是在eval中尋找一個閾值可以大致把樣本分為兩類。再假設當前選定的閾值是eval[j](1≤j≤m),計算其中wk是第k個樣本的權值,當?shù)趉個樣本為人耳樣本時yk=1,否則yk=-1。對于式子我們知道wk是正數(shù),yk可正可負,所以并且其絕對值越接近1,說明前j個樣本的特征值越集中,一個極端情況是,如果前j個樣本均為人耳樣本,那么wyl/wl值為+1;如果前j個樣本均為非人耳樣本,那么wyl/wl值為—1。前j個樣本的特征值在當前閾值eval[j]左邊,于是把curleft=wyl/wl稱為左趨近,趨近+1或—1,反映樣本在當前閾值eval[j]左邊的“集中程度”如果curleft>0,表明左邊人耳樣本相對比較集中;如果curleft≤0,表明左邊非人耳樣本相對比較集中。同理,curright=wyr/wr稱為右趨近,反映樣本在當前閾值eval[j]右邊的“集中程度”如果curright>0,表明右邊人耳樣本相對比較集中,如果curright≤0,表明右邊非人耳樣本相對比較集中。同時,在程序中還設定了與來表示當前閾值左右兩邊的“不集中的程度”。左邊樣本“純度”越高,那么[yk-curleft]2的值越小甚至接近于0,不集中的程度就越低;反之不集中的程度就越高。右邊與左邊同理。一個最好的閾值,必然使得左右兩邊的不集中程度同時達到最低,反過來說,如果當前閾值eval[j]能使得左右兩邊的不集中程度達到最小,那么該矩形特征的閾值就找到了。在閾值確定的前提下,(curlerror+currerror)的值就反映了該閾值對樣本的分類能力。
需要說明的是,本人通過研究在以上程序實現(xiàn)的基礎上對弱分類器最優(yōu)分類閾值的選擇進行了改進。改進后的程序在對eval數(shù)組按從小到大排序后,將eval數(shù)組劃分為n份,每份r個。然后先按上述方法找出eval[k](k=0,r,2r,…,n)中的最優(yōu)閾值eval[ki],再從eval[ki-r]到eval[ki+r]這2r個值中找出最終的最優(yōu)分類閾值。
2檢測過程 2.1利用各層分類器檢測 經(jīng)過上述的訓練過程,我們得到了一個多層分類器。接著就要利用該多層分類器進行檢測,下面分析一下如何編程來實現(xiàn)這一檢測過程。
在應用多層分類器對圖像檢測時,本發(fā)明采用以下策略先用前2個強分類器快速將疑似非人耳窗口排除掉,將疑似人耳窗口留給后n-2個強分類器來確認(假設該多層分類器的層數(shù)為n)。檢測程序實現(xiàn)的具體步驟如下 Step1假設待檢測圖像為I,大小為W×H。
Step2當前檢測窗口大小為winsizew×winsizeh,初始窗口有winsizew=25,winsizeh=30;窗口放大比例scale=1.2,窗口逐次等比放大。
當W/H≥winsizew/winsizeh時,放大的次數(shù)
當W/H<winsizew/winsizeh時,放大的次數(shù)
Step3定義數(shù)組mask[W×H],用于存放標記,元素個數(shù)和I一樣。
Step4for i=1∶Z{ (1)以winsizew×winsizeh大小的檢測窗口遍歷I,一共可以得到num個字圖像,num=(W-winsizew)×(H-winsizeh);其中檢測窗口遍歷待檢測圖片時的步長在PC上實現(xiàn)時采用的是1像素,在DSP系統(tǒng)上實現(xiàn)時為減少計算量而采用了6像素; (2)將mask[W×H]數(shù)組中所有元素清零; (3)for j=1∶2(檢測窗口分2次遍歷I){ for k=1num{ if j=1 then 只用多層分類器的前2層檢測第k個子圖像。如果檢測結果為人臉,那么設置標志mask[k]=1; else if mask[k]=1 then 用多層分類器的后n-2層檢測第k個子圖像(這里假設多層分類器的層數(shù)為n)。如果檢測結果為人耳,那么將第k個子圖像的坐標、大小、當前窗口放大倍數(shù)這三個參數(shù)保存起來。
} }; (4)放大檢測窗口,使winsizew=winsizew×scale,winsizeh=winsizeh×scale; (5)矩形特征內兩個(或二個)矩形的權值均按更新; (6)矩形特征內兩個(或三個)矩形的左上角坐標,均按照下式進行計算,以第一個矩形為例(x′1,y′1)=(scale×x1,scale×y1); (7)矩形特征內各個矩形的長、寬分別乘以scale; } Step5得到初步的檢測結果。
在具體用強分類器檢測時,假設該強分類器有T個弱分類器。則首先利用積分圖像計算出每個弱分類器的特征值,然后求它們的加權和并與強分類器的閾值進行比較。結果大于閾值則檢測目標為人耳,反之不是。
2.2利用級聯(lián)分類器檢測 在利用級聯(lián)分類器檢測子圖像時子圖像作為輸入,多層分類器執(zhí)行分類判斷,輸出結果人耳或非人耳。下面對這個過程進行詳細的論述。
Step1設待檢測子圖像為x,大小為winsizew×winsizeh; Step2計算x的積分圖Sum(x),TSum(x); Step3設多層分類器的層數(shù)為n,本次檢測從第start層開始,使用m個強分類器對x進行檢測。
Step4Hi表示第i個強分類器,ht(x)表示Hi中的第t個弱分類器。
Step5Success=true Step6for i=start∶(start+m) (1)Hi由T個弱分類器組成; (2)S=0; (3)for t=1∶T {利用積分圖快速計算ht(x); S=S+ht(x); } (4)if S<Hi的閾值then Success=false,BREAK Step7if Success then x為人耳else x為非人耳 然后,按上文中的方案進行檢測窗口的合并,將重疊窗口的平均窗口作為最終輸出結果。至此,人耳檢測系統(tǒng)的構建結束。
3單耳檢測策略 分兩種檢測方式 (1)用單耳分類器先對待檢測的圖像進行檢測,然后將圖像進行鏡像,再用同一個單耳分類器對鏡像過的進行檢測; (2)分別用左耳分類器和右耳分類器對待檢測的圖像進行檢測。
這兩種檢測方法都取得了令人滿意的檢測效果,實際應用時任選其中一種方法即可。
實施例1基于PC的人耳檢測系統(tǒng) 本發(fā)明的人耳檢測系統(tǒng)各個操作界面分別如附圖16、附圖17和附圖18所示。
利用本發(fā)明構建的人耳檢測系統(tǒng),具有高效的性能。在PC機上利用該人耳檢測系統(tǒng)可以得到理想的測試結果,測試對象是從中科院側面人臉庫(CAS-PEAL庫)、英國曼徹斯特理工大學側面人臉庫(UMIST庫)和北京科技大學人耳庫(USTB220)中搜集的總共434張帶有人耳的圖像。檢測庫圖片的挑選原則是人耳無嚴重遮擋;人耳圖像大小在25×30以上;背景圖像的復雜程度適中;要包含旋轉一定角度的人耳,以耳平面法線為基準,旋轉角度控制在30度以內。
針對人耳具有不對稱、溝回紋理多等特點,本發(fā)明針對人耳檢測提出了如附圖6所示的拐角特征。這些拐角特征能夠有效地模擬人耳溝回的灰度變化。為驗證新增拐角特征的使用情況,本發(fā)明利用附圖3、附圖4、附圖5和附圖6所示的所有Haar-like特征訓練了分類器,并對拐角特征的使用情況進行了統(tǒng)計,如下表 表1 新增特征數(shù)統(tǒng)計表 由統(tǒng)計結果可以發(fā)現(xiàn),新增的四種特征的使用率達到了111/649=17.1%,而在總共可以利用的579224個特征中,它們有95744個,占16.5%。將它們可以使用數(shù)量占總數(shù)的比例與其實際利用率相比,可以很明顯的發(fā)現(xiàn)這四個新加的特征得到了非常充分的利用,充分說明了它們的有效性。因此,本改進能夠促進分類器性能的提升。
本發(fā)明對某個Haar-like特征的最優(yōu)分類閾值的選取過程中特征最優(yōu)分類閾值的選取時間進行了測量,測量時以100000次最優(yōu)分類閾值的選取為一個測量周期,結果統(tǒng)計見表2。
表2 算法改進前后特征最優(yōu)分類閾值的選取時間比較
從上表可以看出,訓練時間有了明顯的縮短。如果以最終的分類器有600個弱分類器組成來估計,可以減少51個小時的訓練時間。這一改進對分類器的檢測性能沒有影響,主要作用是縮短了訓練時間。
另外,我們對其他的改進方法作了測試,結果表明,本發(fā)明中的改進AdaBoost算法構建的人耳檢測系統(tǒng)具有比傳統(tǒng)人耳檢測系統(tǒng)更優(yōu)越的性能(見表3和表4)。另外,本發(fā)明所用到的單耳檢測策略確實取得了良好的效果(見表3)。其中在利用逐層放縮的檢測窗口檢測圖像時,本發(fā)明所采用的檢測窗口移動步長為1像素,充分保證了系統(tǒng)檢測性能的準確性。最終,利用本發(fā)明所構建的人耳檢測系統(tǒng)在三個檢測庫上的檢測效果均達到了97.9%以上的檢測率和1.2%以下的誤檢率。該系統(tǒng)在自選檢測庫和人耳有遮擋的圖片上的檢測效果分別見附圖19、附圖20。
表3 利用本發(fā)明構建的左耳檢測器與原始左耳檢測器檢測性能比較
表4 單雙耳檢測方法性能比較
實施例2基于DSP的人耳檢測系統(tǒng) 人耳識別系統(tǒng)的研究在PC機上進行時,其算法依賴于PC機的特定硬件環(huán)境和運行于其上的例如Matlab等專用的應用軟件。因此,要實現(xiàn)人耳識別系統(tǒng)最終在人們的日常生活和工作中的大量和廣泛的應用,還需解決專用的設備的制造成本、可靠性、功耗等等眾多的問題。嵌入式系統(tǒng)本身具有便攜、功耗低、計算能力強、運行可靠、利用大量生產制造等特點。于是,將人耳識別技術和嵌入式系統(tǒng)結合起來,發(fā)展基于嵌入式平臺的人耳識別系統(tǒng)將是一個很好的選擇。
將本發(fā)明的程序代碼移植到了DSP平臺上,即可構建嵌入式人耳檢測系統(tǒng)。這里基于DSP的人耳檢測系統(tǒng)包含有主板、驅動、攝像頭、顯示器等部分,整個嵌入式系統(tǒng)的構建是基于TI公司的TMS320DM642型DSP處理器。在程序移植過程中,首先要根據(jù)芯片設置EMIFA、I2C、緩沖區(qū)地址等,然后根據(jù)硬件特點對程序進行了一系列改動第一,為了減少檢測程序運行時的計算量,待檢圖象的范圍從720×576(屏幕大小)減少到400×300。本文編程在屏幕上畫出矩形框標示。第二,本文利用“查表法”完成了分類器的裝載和檢測窗口的變化。第三,為了配合實驗箱PAL格式視頻信號隔行掃描的機制,本發(fā)明在積分圖像的求取和目標圖像矩形框的繪制兩個部分的程序上進行了相應的修改。第四,將檢測窗口遍歷待檢圖片時的移動步長設為6像素,有效地減少了檢測程序運行時的計算量。
最終,本發(fā)明成功構建了基于DSP的人耳檢測系統(tǒng),實際檢測結果見附圖21。
綜上所述,本發(fā)明能夠構建有效的人耳檢測器,該檢測器在實驗中取得了優(yōu)異的檢測結果,具有非常廣泛的應用前景。
權利要求
1、一種改進AdaBoost算法的魯棒人耳檢測方法,其特征在于,步驟如下
1)訓練階段
第一步,采用攝像頭采集人耳和非人耳圖像樣本,對樣本進行尺寸和光照的歸一化處理;
第二步,利用采集到的樣本進行訓練,構造能夠區(qū)分人耳樣本和非人耳樣本的矩形特征及相應的弱分類器;
第三步,利用得到的弱分類器和改進的AdaBoost算法進行進一步訓練,得到一層人耳/非人耳強分類器;
第四步,重復第二步到第三步的訓練過程,得到結構由簡單到復雜的多層分類器;
第五步,把第四步得到的分類器級聯(lián)起來,得到一個完整的人耳檢測器;
2)檢測階段
第六步,按照1.2比例連續(xù)縮放檢測窗口,并用得到的檢測窗口按1-6像素的步長遍歷圖片從而提取所有被檢測的子窗口,得到待檢測子圖像集;
第七步,計算各子圖像的積分第八步,利用訓練得到的分類器進行檢測,如果任意一層分類器輸出低于訓練所得的該層強分類器閾值,即認為待檢測子圖像為非人耳而不進行后續(xù)判斷,只有那些通過所有層分類器判斷的子窗口被認為是一個人耳;
第九步,對檢測的結果窗口進行合并和劃線。
2、根據(jù)權利要求1所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于,所述的利用采集到的樣本進行訓練,提取能夠區(qū)分人耳樣本和非人耳樣本的矩形特征及弱分類器,具體如下
A.構造Haar-like特征,用于反映圖像局部的灰度變化;
B.計算矩形特征值;
C.挑選矩形特征并構成與之對應的弱分類器。
3、根據(jù)權利要求2所述的改進AdaBoost算法的魯棒入耳檢測方法,其特征在于所述的構造Haar-like特征,除了利用傳統(tǒng)的邊緣特征、線形特征和中心特征外,還引入了4個更適合人耳自身特點的的拐角特征,該拐角特征由大小兩個相似矩形組成,大矩形為黑色,小矩形為白色,面積占大矩形的四分之一,其位于大矩形的四個角,形成四種不同的拐角特征。
4、根據(jù)權利要求2所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于所述步驟C,利用新的最優(yōu)分類閾值,構造弱分類器,具體實現(xiàn)如下
a.對某一矩形特征,預先根據(jù)其在每個樣本上的特征值將樣本排序,然后將每個Haar-like特征對應的所有樣本的特征值空間劃分為n份,每份r個,原來的特征值空間是g(i)(i=0,…,num4),num4表示正負樣本的總數(shù),通過給特征值空間分組取g(k)(k=0,r,2r,…,nr,num4)作為新的特征值空間,該特征值空間由各組端點處的樣本構成,在新的特征值空間中,逐個計算樣本g(k)所在處的分類錯誤率,找出分類錯誤率最小的樣本g(j),該樣本上的特征值即為該特征在新的特征值空間中的最優(yōu)分類閾值;
b.在找到的當前最優(yōu)分類閾值g(j)的左右各延伸r重新進行搜索,即在原始的特征值空間g(i)(i=0,…,num4)中的g(j-r)到g(j+r)中重新進行搜索,對搜索范圍內的樣本,逐個計算其所在處的分類錯誤率,最終將分類錯誤率最小的樣本上的特征值作為該特征的最優(yōu)分類閾值。
5、根據(jù)權利要求1所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于,所述的利用特征庫結合改進的AdaBoost算法,訓練得到一層人耳/非人耳強分類器,具體如下
A.給定弱學習算法和訓練集(x1,y1),…,(xn,yn),其中,xj是輸入訓練樣本向量,且xj∈X,X是訓練樣本集,yi∈{-1,+1};
B.初始化權值D1(xi)=1/n,i=1,2,…,n;
C.通過T輪訓練最終得到所需的強分類器。
6、根據(jù)權利要求5所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于所述的通過T輪訓練最終得到所需的強分類器,具體步驟為
a.將弱學習算法在權值Dt下訓練,得到預測函數(shù)htX→{-1,+1};
b.計算該預測函數(shù)的錯誤率
以及識別正確的負樣本的權值和
c.求解權重更新系數(shù)αt和弱分類器的加權參數(shù)αt-new
其中k為一個常數(shù),其使得在不斷增加弱分類器的同時,能夠保證整個分類器的錯誤率在下降;
d.更新樣本權值
其中,zt是使的歸一化因子;
e.排除困難樣本
if Dt+1(xi)>HW then Dt+1(xi)=0
其中,HW為排除閾值,該步將權重過分集中的困難樣本排除,防止過學習現(xiàn)象,通過試驗確定HW=12;
f.最終得到強分類器為
其中,Th是滿足錯誤率要求的判決閾值。
7、根據(jù)權利要求1所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于,所述第八步,利用訓練得到的分類器進行檢測,其特征是采用了單耳檢測的方式,用單耳分類器先對圖像進行檢測,然后將圖像進行鏡像變換,再用同一個單耳分類器對鏡像過的圖像進行檢測。
8、根據(jù)權利要求1所述的改進AdaBoost算法的魯棒人耳檢測方法,其特征在于,所述第八步,利用訓練得到的分類器進行檢測,其特征是采用了單耳檢測的方式,分別用左耳分類器和右耳分類器對圖像進行檢測。
全文摘要
一種改進AdaBoost算法的魯棒人耳檢測方法屬于圖像模式識別技術領域。其特征在于,提出了一種性能良好的復雜背景下的人耳檢測方法。它提出四種不對稱的Haar-like拐角特征用來描述人耳局部區(qū)域的灰度變化;采用了分段選取的策略對Haar-like特征的最優(yōu)分類閾值進行選取,減少了樣本訓練時間;對弱分類器的權重進行改進,降低分類器的誤檢率;還根據(jù)訓練中樣本權重的分布變化,設置排除閾值HW,從而防止過學習現(xiàn)象的產生,使人耳檢測的漏檢率和誤檢率得到降低;另外,還提出一種單耳檢測策略,使得檢測效率和檢測效果都得到提高。在PC機和DSP上的應用結果表明了本發(fā)明的優(yōu)異性能。
文檔編號G06K9/00GK101398893SQ20081022394
公開日2009年4月1日 申請日期2008年10月10日 優(yōu)先權日2008年10月10日
發(fā)明者穆志純, 徐正光, 敦文杰, 李文晶, 鋒 張 申請人:北京科技大學