本發(fā)明屬于模式識(shí)別技術(shù)領(lǐng)域,涉及一種人臉檢測方法,具體涉及一種基于改進(jìn)LBP特征的快速多角度人臉檢測方法,可用于人臉識(shí)別技術(shù)中人臉的位置確定及數(shù)碼相機(jī)等設(shè)備中的人臉檢測。
背景技術(shù):
人臉檢測是指搜索圖像中是否存在人臉,如果存在人臉,標(biāo)定出圖像中的人臉位置和大小。實(shí)際環(huán)境中圖像中的人臉不只是正面人臉,多角度人臉檢測是指將圖像中的正面人臉和側(cè)面角度人臉都檢測出來。人臉檢測技術(shù)廣泛應(yīng)用于人臉識(shí)別中的人臉位置確定、數(shù)碼相機(jī)、智能手機(jī)等設(shè)備中。
人臉檢測經(jīng)過多年的研究與發(fā)展形成了多種檢測方法,主要分為基于知識(shí)的方法和基于統(tǒng)計(jì)的方法兩類。基于知識(shí)的檢測方法常采用模版匹配法和人臉特征法,將人臉看作眼睛、眉毛、嘴巴等器官的組合,利用各器官的特征以及相互之間的位置關(guān)系等先驗(yàn)知識(shí)來檢測人臉。模版匹配法指先確定人臉的標(biāo)準(zhǔn)模版圖像,目標(biāo)圖像特定位置的像素灰度值或顏色值與模版圖像的相同位置進(jìn)行比較,計(jì)算灰度差或顏色差,通過差值判定相關(guān)度確定是否為人臉;人臉特征法首先提取出人臉的局部不變結(jié)構(gòu)特征,然后根據(jù)特征的幾何關(guān)系來確定人臉是否存在?;谥R(shí)的檢測方法需要先驗(yàn)知識(shí),不能檢測不規(guī)則、姿態(tài)多樣的人臉,魯棒性差。
基于統(tǒng)計(jì)的檢測方法把人臉當(dāng)作一個(gè)整體模式,通過對大量人臉樣本來進(jìn)行統(tǒng)計(jì)分析,利用統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)構(gòu)造出人臉模式空間,根據(jù)目標(biāo)與人臉模式的相似度來判斷人臉是否存在,常采用神經(jīng)網(wǎng)絡(luò)算法、支持向量機(jī)或Adaboost算法訓(xùn)練出一個(gè)感知人臉復(fù)雜模式的分類器來檢測人臉。
P.Viola&M.Jones使用Adaboost算法訓(xùn)練基于Haar-like特征的強(qiáng)分類器,將強(qiáng)分類器級(jí)聯(lián)構(gòu)成cascade型檢測器,提高了人臉檢測的速度和檢測率使得人臉檢測具備實(shí)用意義。為解決多角度人臉的檢測的問題,M.Jones后來提出一種兩階段檢測方法,先使用神經(jīng)網(wǎng)絡(luò)決策樹對人臉做姿態(tài)預(yù)測,然后使用Adaboost算法訓(xùn)練分類器對各種姿態(tài)的人臉進(jìn)一步檢測,這種檢測方法檢測率高,但是使用仍然存在訓(xùn)練分類器時(shí)間長、訓(xùn)練需要大量樣本、檢測速度慢的不足。之后研究人員又提出了基于LBP特征的多角度人臉檢測方法,例如授權(quán)公告號(hào)為CN 102799901 B,名稱為“一種多角度人臉檢測方法”的發(fā)明專利,公開了一種使用LBP特征的多角度人臉檢測方法,包括人臉姿態(tài)分類、計(jì)算每種姿態(tài)下的人臉特征、各姿態(tài)下的人臉檢測,其中人臉姿態(tài)分類將人臉分為:左側(cè)[-90°,90°],正面[-30°,30°],右側(cè)[30°,90°]三種姿態(tài),人臉姿態(tài)分類器使用LBP特征構(gòu)造神經(jīng)網(wǎng)絡(luò)RBF分類器得到,使用Adaboost算法對每種姿態(tài)的人臉進(jìn)行檢測,并對檢測結(jié)果進(jìn)行融合處理。該發(fā)明提高了多角度人臉的檢測速度,但是仍然存在檢測速度不夠高和分類器訓(xùn)練時(shí)間長的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)存在的缺陷,提出了一種基于改進(jìn)LBP特征的快速多角度人臉檢測方法,用于解決現(xiàn)有多角度人臉檢測技術(shù)中存在的檢測速度慢的技術(shù)問題。
本發(fā)明的技術(shù)思路是,通過對LBP特征的改進(jìn),并使用改進(jìn)的LBP特征構(gòu)造弱分類器提高弱分類器的分類準(zhǔn)確率,減少組成強(qiáng)分類器需要的弱分類器數(shù)量來減少檢測過程的計(jì)算量,實(shí)現(xiàn)人臉的快速檢測。通過Adaboost算法訓(xùn)練弱分類器得到強(qiáng)分類器,將強(qiáng)分類器級(jí)聯(lián)成檢測不同角度人臉的cascade分類器,并按照檢測角度由粗到精的方式將cascade分類器組成“金字塔”型檢測器,實(shí)現(xiàn)人臉的多角度檢測。在檢測過程中先通過方差檢測的方法得到檢測候選窗口縮小檢測范圍,實(shí)現(xiàn)檢測速度的進(jìn)一步提高。
根據(jù)上述技術(shù)思路,實(shí)現(xiàn)本發(fā)明目的采取的技術(shù)方案,包括訓(xùn)練階段和檢測階段,實(shí)現(xiàn)步驟為:
訓(xùn)練階段:
(1)對LBP特征進(jìn)行改進(jìn),得到改進(jìn)LBP特征,并利用改進(jìn)LBP特征構(gòu)造弱分類器,得到弱分類器h(x),實(shí)現(xiàn)步驟為:
(1a)將LBP特征的特征窗口劃分為K×K個(gè)大小相等的矩形子塊,其中K=3或5,選取K×K個(gè)子塊中的四個(gè)頂點(diǎn)的子塊、四個(gè)邊界的中間子塊和中心子塊,構(gòu)造新的LBP特征,得到改進(jìn)LBP特征;
(1b)計(jì)算改進(jìn)LBP特征中各子塊內(nèi)的像素灰度平均值,并將中心子塊與其他8個(gè)子塊的像素灰度平均值分別進(jìn)行比較,將像素灰度平均值大于中心子塊像素灰度平均值的子塊編碼為1,其余的子塊編碼為0,得到8個(gè)二進(jìn)制數(shù);再從這8個(gè)二進(jìn)制數(shù)左上角開始,按照順時(shí)針順序串聯(lián),得到二進(jìn)制編碼;最后將二進(jìn)制編碼轉(zhuǎn)換為十進(jìn)制數(shù),得到改進(jìn)LBP特征的特征值,該特征值的取值范圍為[0,255],數(shù)量為256個(gè);
(1c)利用改進(jìn)LBP特征構(gòu)造包含256個(gè)分支的多叉樹,并將這些多叉樹各分支的取值與改進(jìn)LBP特征的每一個(gè)特征值依次對應(yīng),得到弱分類器h(x),其實(shí)現(xiàn)步驟如下:
其中表示判別系數(shù),l(xi)表示改進(jìn)LBP特征的特征值;
(2)在大小為W×H的圖像窗口中提取P個(gè)改進(jìn)LBP特征,并根據(jù)步驟(1c)中所述的弱分類器的構(gòu)造方法,將每個(gè)改進(jìn)LBP特征構(gòu)造為一個(gè)弱分類器,得到P個(gè)弱分類器hj(x),j=1,...,P,其中W表示圖像窗口橫向像素?cái)?shù),H表示圖像口縱向像素?cái)?shù);
(3)收集訓(xùn)練樣本集S={(x1,y1),(x2,y2),...(xi,yi),...(xN,yN)},i=1,...N,N表示樣本數(shù)量,xi表示第i個(gè)樣本,yi表示樣本xi的標(biāo)簽,yi∈{-1,1},1表示正樣本,-1表示負(fù)樣本,每個(gè)樣本大小為W×H;
(4)采用Adaboost算法,對P個(gè)弱分類器hj(x)進(jìn)行訓(xùn)練,得到強(qiáng)分類器,實(shí)現(xiàn)步驟為:
(4a)給訓(xùn)練樣本集S中的每一個(gè)樣本分配權(quán)值,并對各樣本權(quán)值進(jìn)行初始化,得到正樣本權(quán)值w1,i=1/2M,i=1,2,…,M和負(fù)樣本權(quán)值w1,i=1/2L,i=1,2,…,L,其中M和L分別表示正樣本數(shù)和負(fù)樣本數(shù);
(4b)利用P個(gè)弱分類器hj(x)分別對訓(xùn)練樣本集S中的所有樣本進(jìn)行分類:計(jì)算改進(jìn)LBP特征在每個(gè)樣本上的特征值,利用該改進(jìn)LBP特征的特征值查找弱分類器的256個(gè)分支,得到弱分類器的判別系數(shù)am;根據(jù)判別系數(shù)am對所有樣本進(jìn)行分類,若am>0,則分類為正,否則分類為負(fù);根據(jù)判別系數(shù)am和樣本標(biāo)簽yi,判斷分類是否正確,若yiam>0,則分類正確,否則分類錯(cuò)誤;利用正樣本權(quán)值w1,i和負(fù)樣本權(quán)值w1,i,計(jì)算各弱分類器的加權(quán)分類誤差,計(jì)算公式如下:并選取加權(quán)分類誤差Jj最小的弱分類器ht(x);
(4c)利用權(quán)分類誤差Jj最小的弱分類器ht(x)的分類結(jié)果對所有樣本權(quán)值進(jìn)行更新,得到新的樣本權(quán)值,并新的樣本權(quán)值進(jìn)行標(biāo)準(zhǔn)化,得到訓(xùn)練樣本集S的新樣本分布,實(shí)現(xiàn)步驟如下:
(4c1)利用弱分類器ht(x)的分類結(jié)果對所有樣本權(quán)值的分布進(jìn)行更新,得到新的樣本權(quán)值,更新公式為:
(4c2)并對新的樣本權(quán)值進(jìn)行標(biāo)準(zhǔn)化,得到訓(xùn)練樣本集S的新樣本分布,權(quán)重標(biāo)準(zhǔn)化公式為:
(4d)重復(fù)執(zhí)行步驟(4b)和步驟(4c)T次,得到T個(gè)弱分類器,并對T個(gè)弱分類器進(jìn)行集合,得到強(qiáng)分類器:
(5)重復(fù)執(zhí)行步驟(4)n次,得n個(gè)強(qiáng)分類器,并對n個(gè)強(qiáng)分類器進(jìn)行級(jí)聯(lián),得到cascade分類器;
(6)對不同角度的人臉執(zhí)行步驟(3)、步驟(4)及步驟(5),得到多個(gè)不同檢測角度的cascade分類器,并保存;
檢測階段:
(7)按照檢測角度由大到小的順序,將多個(gè)不同角度的cascade分類器自上而下排列成三層“金字塔”型結(jié)構(gòu),得到多角度人臉檢測器;
(8)對輸入圖像進(jìn)行灰度變換和直方圖均衡,得到待檢測灰度圖像,計(jì)算并存儲(chǔ)待檢測灰度圖像的積分圖,并利用積分圖計(jì)算待檢測圖像檢測窗口的局部方差,再利用該檢測窗口的局部方差對待檢測灰度圖像進(jìn)行篩選,得到局部方差值滿足條件的候選窗口;
(9)多角度人臉檢測器計(jì)算候選窗口中改進(jìn)LBP特征的特征值,并利用改進(jìn)LBP特征的特征值對候選窗口進(jìn)行判別,將特征值滿足條件的候選窗口判定為人臉,得到人臉的位置坐標(biāo)和大小。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn):
1、本發(fā)明由于對LBP特征進(jìn)行了改進(jìn),基于改進(jìn)的LBP特征構(gòu)造弱分類器,在不同角度的人臉樣本集上使用Adaboost算法訓(xùn)練弱分類器得強(qiáng)分類器,將強(qiáng)分類器級(jí)聯(lián)成cascade分類器,并將不同檢測角度的cascade分類器按照檢測角度由粗到精的方式組成“金字塔”型檢測器,采用這種方式構(gòu)成的多角度人臉檢測器使用了數(shù)量更少但是分類效果更好的弱分類器,減少了檢測過程的計(jì)算量,與現(xiàn)有技術(shù)相比,在保證檢測率高的前提下提高了檢測速度。
2、本發(fā)明由于使用改進(jìn)LBP特征構(gòu)造弱分類器,減少了弱分類器的總數(shù)同時(shí)提高弱分類器的分類能力,避免在訓(xùn)練分類器階段耗費(fèi)大量時(shí)間對效果差的弱分類器進(jìn)行訓(xùn)練,與現(xiàn)有技術(shù)相比,縮短了訓(xùn)練時(shí)間。
3、本發(fā)明由于在對人臉檢測時(shí)先使用方差檢測的方法提取檢測候選區(qū),能夠縮小檢測范圍,與現(xiàn)有技術(shù)相比,進(jìn)一步提高檢測速度。
附圖說明
附圖1是本發(fā)明的實(shí)現(xiàn)流程框圖;
附圖2是本發(fā)明K=3時(shí)改進(jìn)LBP的構(gòu)造示意圖;
附圖3是本發(fā)明K=3,w=3,h=2時(shí)改進(jìn)LBP特征特征值值計(jì)算流程圖;
附圖4是本發(fā)明3層“金字塔”型檢測器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下結(jié)合附圖與實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
參照圖1,基于改進(jìn)LBP特征的快速多角度人臉檢測方法,主要包括訓(xùn)練階段和檢測階段,具體包括如下步驟:
訓(xùn)練階段:
步驟1:如圖2所示,對LBP特征進(jìn)行改進(jìn),得到改進(jìn)LBP特征,并利用改進(jìn)LBP特征構(gòu)造弱分類器,得到弱分類器h(x),實(shí)現(xiàn)步驟為:
步驟1a:LBP特征使用特征窗口內(nèi)的單個(gè)像素點(diǎn)來構(gòu)造,這種構(gòu)造方法只能表達(dá)孤立像素的信息,容易受都噪聲的影響,為了表述更大結(jié)構(gòu)的圖像結(jié)構(gòu),將LBP特征中的一個(gè)像素點(diǎn)擴(kuò)展為一個(gè)像素塊,把特征窗口劃分為K×K個(gè)大小相等的矩形子塊,每個(gè)特征窗口要有一個(gè)作為比較的子塊,因此K應(yīng)取奇數(shù),特征要表述圖像的局部紋理結(jié)構(gòu),因此K值不能太大,使用3或5兩種取值,本實(shí)施例取K值為3,將LBP特征的特征窗口劃分為個(gè)大小相等的9個(gè)矩形子塊,選取9個(gè)子塊中的四個(gè)頂點(diǎn)的子塊g0,g2,g4,g6、四個(gè)邊界的中間子塊g1,g3,g5,g7和中心子塊gc,構(gòu)造改進(jìn)LBP特征,改進(jìn)的LBP特征能夠表述大范圍內(nèi)的圖像結(jié)構(gòu),受噪聲影響小,而且特征的總數(shù)也更少;
步驟1b:如圖3所示,計(jì)算改進(jìn)LBP特征中各子塊內(nèi)的像素灰度平均值,并將中心子塊與其他8個(gè)子塊的像素灰度平均值分別進(jìn)行比較,將像素灰度平均值大于中心子塊像素灰度平均值的子塊編碼為1,其余的子塊編碼為0,得到8個(gè)二進(jìn)制數(shù);再從這8個(gè)二進(jìn)制數(shù)左上角開始,按照順時(shí)針順序串聯(lián),得到二進(jìn)制編碼;最后將二進(jìn)制編碼轉(zhuǎn)換為十進(jìn)制數(shù),得到改進(jìn)LBP特征的特征值,該特征值的取值范圍為[0,255],數(shù)量為256個(gè);
步驟1c:由于改進(jìn)LBP的特征值是非度量值,因此本方案采用多杈樹結(jié)構(gòu)構(gòu)造弱分類器,利用改進(jìn)LBP特征構(gòu)造包含256個(gè)分支的多叉樹,并將多叉樹各分支的取值與改進(jìn)LBP特征的每一個(gè)特征值依次對應(yīng),得到弱分類器h(x),其實(shí)現(xiàn)步驟如下:
其中表示判別系數(shù),am的值越大樣本分類為正樣本的可能性越大,l(xi)表示改進(jìn)LBP特征的特征值。
步驟2:參考圖2,在一個(gè)W×H大小的窗口內(nèi)確定特征窗口的左上角頂點(diǎn)A和每一個(gè)子塊大小w×h,即可得到一個(gè)改進(jìn)LBP特征窗口,其中3w≤W且3h≤H,改變頂點(diǎn)A的位置和w×h的取值,并根據(jù)步驟1a中所述改進(jìn)LBP特征的構(gòu)造方法構(gòu)造得P個(gè)改進(jìn)LBP特征,根據(jù)步驟1c中所述的弱分類器的構(gòu)造方法,將每個(gè)改進(jìn)LBP特征都構(gòu)造為弱分類器,得到P個(gè)弱分類器hj(x),j=1,...,P;
步驟3:收集訓(xùn)練樣本集S={(x1,y1),(x2,y2),...(xi,yi),...(xN,yN)},i=1,...N,N表示樣本數(shù)量,xi表示第i個(gè)樣本,yi表示樣本xi的標(biāo)簽,yi∈{-1,1},1表示正樣本,-1表示負(fù)樣本,每個(gè)樣本大小為W×H,正樣本通過收集灰度人臉圖片,并將大小標(biāo)準(zhǔn)化為W×H得到,樣本的數(shù)量和質(zhì)量會(huì)影響分類器檢測效果,因此正樣本數(shù)量要足夠多,負(fù)樣本可以截取檢測條件下的背景圖像獲得,而且負(fù)樣本數(shù)量要遠(yuǎn)多于正本樣本;
步驟4:采用Adaboost算法,對P個(gè)弱分類器hj(x)進(jìn)行訓(xùn)練,得到強(qiáng)分類器,實(shí)現(xiàn)步驟為:
步驟4a:給訓(xùn)練樣本集S中的每一個(gè)樣本分配權(quán)值,并對各樣本權(quán)值進(jìn)行初始化,得到正樣本權(quán)值w1,i=1/2M,i=1,2,…,M和負(fù)樣本權(quán)值w1,i=1/2L,i=1,2,…,L,其中M和L分別表示正樣本數(shù)和負(fù)樣本數(shù);
步驟4b:利用P個(gè)弱分類器hj(x)分別對訓(xùn)練樣本集S中的所有樣本進(jìn)行分類:計(jì)算改進(jìn)LBP特征在每個(gè)樣本上的特征值,利用該改進(jìn)LBP特征的特征值查找弱分類器的256個(gè)分支,得到弱分類器的判別系數(shù)am;根據(jù)判別系數(shù)am對所有樣本進(jìn)行分類,若am>0,則分類為正,否則分類為負(fù);根據(jù)判別系數(shù)am和樣本標(biāo)簽yi,判斷分類是否正確,若yiam>0,則分類正確,否則分類錯(cuò)誤;利用正樣本權(quán)值w1,i和負(fù)樣本權(quán)值w1,i,計(jì)算各弱分類器的加權(quán)分類誤差,計(jì)算公式如下:并選取加權(quán)分類誤差Jj最小的弱分類器ht(x);
步驟4c:利用權(quán)分類誤差Jj最小的弱分類器ht(x)的分類結(jié)果對所有樣本權(quán)值進(jìn)行更新,得到新的樣本權(quán)值,并新的樣本權(quán)值進(jìn)行標(biāo)準(zhǔn)化,得到訓(xùn)練樣本集S的新樣本分布,這樣使被分類錯(cuò)誤的樣本的權(quán)值增加,被分類正確的樣本的權(quán)值減小,這樣下次分類更關(guān)注難分類的樣本;
步驟4c1:利用弱分類器ht(x)的分類結(jié)果對所有樣本權(quán)值的分布進(jìn)行更新,得到新的樣本權(quán)值,為防止某個(gè)異常樣本的權(quán)值一直增大,導(dǎo)致過擬合,要限制樣本權(quán)值的大小,只增加被分類錯(cuò)誤且權(quán)值小于設(shè)定值的樣本權(quán)值,更新公式為:
步驟4c2:并對新的樣本權(quán)值進(jìn)行標(biāo)準(zhǔn)化,得到訓(xùn)練樣本集S的新樣本分布,權(quán)重標(biāo)準(zhǔn)化公式為:
步驟4d:重復(fù)執(zhí)行步驟(3b)和步驟(3c)T次,得到T個(gè)弱分類器,并對T個(gè)弱分類器進(jìn)行集合,得到強(qiáng)分類器:
步驟5:重復(fù)執(zhí)行步驟3n次,得n個(gè)強(qiáng)分類器,并對n個(gè)強(qiáng)分類器進(jìn)行級(jí)聯(lián),得到cascade分類器;
步驟6:對不同角度的人臉執(zhí)行步驟2、步驟3及步驟4,得到11個(gè)不同檢測角度的cascade分類器,并保存;
檢測階段:
步驟7:如圖4所示,把11個(gè)cascade分類器從上到下按照由粗到精、由簡單到復(fù)雜的方式組合,得到多角度人臉檢測器,其中第一層使用一個(gè)cascade分類器,檢測全部人臉,第二層包含3個(gè)cascade分類器分別覆蓋[-90°,-30°],[-30°,30°],[30°,90°],,第三層包含7個(gè)cascade分類器進(jìn)一步把檢測角度細(xì)分為[-90°,-65°],[-65°,-40°],[-40°,-15°],[-15°,15°],[15°,40°],[40°,65°],[65°,90°]。
步驟8:對輸入圖像進(jìn)行灰度變換和直方圖均衡,得到待檢測灰度圖像,計(jì)算并存儲(chǔ)待檢測灰度圖像的積分圖,并利用積分圖計(jì)算待檢測灰度圖像檢測窗口的局部方差,計(jì)算公式為:其中Z表示檢測窗口內(nèi)的像素總數(shù),pixi表示一個(gè)像素的灰度值,μ表示檢測窗口內(nèi)所有像素灰度值的平均值,μ可以利用積分圖快速計(jì)算出來,選擇滿足條件的檢測窗口得到候選窗口,將候選窗口輸入“金字塔”型檢測器進(jìn)行進(jìn)一步檢測;
步驟9:如圖4所示,“金字塔”型檢測器計(jì)算候選窗口中改進(jìn)LBP特征的特征值,并利用該特征值對候選窗口進(jìn)行判別,如果第一層cascade分類器將候選窗口判定該窗口為非人臉,那么檢測器不再對該窗口繼續(xù)檢測,否則候選窗口接著會(huì)被“金字塔”型檢測器的第二層cascade分類器進(jìn)行后續(xù)檢測,在后續(xù)檢測過程中;如果候選窗口被第二層cascade分類器的任何一個(gè)判定為人臉,該候選窗口將被送入到第三層cascade分類器,否則該候選窗口被判定為非人臉;如果第三層cascade分類器的任意一個(gè)將候選窗口判定為人臉,可以確定該候選窗口為人臉,根據(jù)候選窗口的坐標(biāo)和大小,即可得到人臉的位置坐標(biāo)和大小。
由于圖像中會(huì)出現(xiàn)不同尺度的人臉,為檢測各種尺度的人臉,檢測器窗口在W×H大小的基礎(chǔ)上按照一定的倍數(shù)逐步擴(kuò)大,本實(shí)施例按1.2倍數(shù)擴(kuò)大,并在各種不同尺度下對圖像進(jìn)行檢測,得到圖像中各種尺度的人臉位置坐標(biāo)和大小。