本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別是一種基于hog(histogramoforientedgradient,方向梯度直方圖)特征和svm(supportvectormachine,支持向量機(jī))多分類器的人臉識(shí)別方法。
背景技術(shù):
圖像處理技術(shù)是指用計(jì)算機(jī)對(duì)圖像進(jìn)行分析處理,減少圖像中影響分析結(jié)果的因素,提取所需要信息的一種技術(shù),包含圖像增強(qiáng)和復(fù)原,圖像變換,分割和壓縮等技術(shù),一般指數(shù)字圖像處理。數(shù)字圖像指用拍攝設(shè)備經(jīng)過(guò)拍攝得到的一個(gè)大的二維數(shù)組,該數(shù)組的元素稱為像素,其值稱為灰度值。利用圖像壓縮技術(shù)能將二維像素陣列以一維的特征向量來(lái)表示,從而大大的減少了對(duì)圖像運(yùn)算所需的時(shí)間。
在機(jī)器學(xué)習(xí)領(lǐng)域,支持向量機(jī)svm是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用于進(jìn)行模式識(shí)別、分類以及回歸分析。svm通過(guò)使用非線性映射算法將低維輸入空間線性不可分的樣本如人臉圖像,轉(zhuǎn)化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對(duì)樣本進(jìn)行線性分析成為可能,即達(dá)到了分類的效果。但是svm一般只能用于二分類問(wèn)題,即只能判斷非a即b的情況,對(duì)于多分類問(wèn)題效果不好。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是克服現(xiàn)有技術(shù)的不足而提供一種基于hog特征和svm多分類器的人臉識(shí)別方法,本發(fā)明通過(guò)對(duì)輸入樣本進(jìn)行兩兩訓(xùn)練,構(gòu)建多個(gè)svm分類器,采取投票的形式對(duì)樣本進(jìn)行識(shí)別,取得較好的識(shí)別效果,有效提高了人臉識(shí)別的正確率。
本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案:
根據(jù)本發(fā)明提出的一種基于hog特征和svm多分類器的人臉識(shí)別方法,包括以下步驟:
步驟1、對(duì)輸入圖像中每個(gè)像素點(diǎn)的紅、綠、藍(lán)三個(gè)色彩值取平均作為圖像的灰度值,對(duì)灰度化后的圖像中的每一個(gè)像素值做歸一化處理,得到歸一化的圖像矩陣為g;
步驟2、對(duì)步驟1歸一化后得到的圖像矩陣g進(jìn)行g(shù)amma校正,得到經(jīng)gamma校正后圖像矩陣g′;gamma校正的具體步驟如下:
步驟21、定義校正值為gamma,對(duì)g中每個(gè)像素值g(x,y)進(jìn)行g(shù)amma校正,計(jì)算出校正后圖像矩陣g′中的每一個(gè)像素值g′(x,y)=g(x,y)gamma;其中,g(x,y)代表圖像矩陣g在第x行、第y列的元素對(duì)應(yīng)的像素值;
步驟3、計(jì)算經(jīng)gamma校正后圖像矩陣g′中每個(gè)像素值g′(x,y)在水平方向和垂直方向的梯度,并據(jù)此計(jì)算g′(x,y)的梯度方向值和梯度方向,其中,g′(x,y)代表g′在第x行、第y列的元素對(duì)應(yīng)的像素值;具體步驟如下:
步驟31、計(jì)算g′(x,y)的水平方向梯度dx(x,y)=g′(x,y+1)-g′(x,y);
步驟32、計(jì)算g′(x,y)的垂直方向梯度dy(x,y)=g′(x+1,y)-g′(x,y);
步驟33、計(jì)算g′(x,y)的梯度方向值
步驟4、將圖像矩陣g′分成n*n個(gè)單元格,每個(gè)單元格包含m*m個(gè)像素,統(tǒng)計(jì)每個(gè)單元格的梯度信息,具體如下:
步驟41、將360度的梯度方向分成k個(gè)方向塊{f1,f2,...,fk},第i個(gè)方向塊fi的梯度方向范圍為
步驟42、定義k個(gè)變量{a1,a2,...,ak}記錄第一個(gè)單元格中k個(gè)方向塊的梯度數(shù)量;首先初始化k個(gè)變量的值為0,然后對(duì)單元格中的每個(gè)像素值進(jìn)行判斷,若像素值g′(x,y)的梯度方向α(x,y)屬于fi,則ai=ai+d(x,y),ai代表記錄第i個(gè)方向梯度數(shù)量的變量;
步驟43、通過(guò)重復(fù)步驟42依次對(duì)圖像矩陣g′中每個(gè)單元格進(jìn)行計(jì)算,從而統(tǒng)計(jì)出每個(gè)單元格的梯度信息;
步驟5、提取圖像矩陣g′的局部特征,并將局部特征串聯(lián)起來(lái)得到圖像的整體特征值,具體步驟如下:
步驟51、定義h*h個(gè)單元格為一個(gè)區(qū)域b,其中,h<n,將b中每個(gè)單元格k個(gè)方向塊的梯度數(shù)量串聯(lián)在一起,得到一個(gè)維數(shù)為h*h*k的向量,作為該區(qū)域的局部特征;
步驟52、以1個(gè)單元格作為步長(zhǎng)移動(dòng)區(qū)域b對(duì)圖像進(jìn)行掃描,重復(fù)步驟51,提取每次移動(dòng)區(qū)域的局部特征;
步驟53、將步驟52得到的每個(gè)區(qū)域的局部特征首尾相連,組成一個(gè)新的向量作為圖像的整體特征值;
步驟6、選取一組人臉圖像,采用步驟5的方法提取出每個(gè)人臉圖像的特征值,將特征值與對(duì)應(yīng)的人臉預(yù)期值組合成一組訓(xùn)練樣本{(x1,d1),(x2,d2),...,(xp,dp)},其中,(xu,du)代表第u個(gè)人臉的特征值xu對(duì)應(yīng)的人臉預(yù)期值為du,1≤u≤p,p為樣本數(shù);
步驟61、定義目標(biāo)函數(shù)
步驟62、利用步驟61得到的解β={β1,β2,...,βp}計(jì)算權(quán)值向量
步驟63、將待識(shí)別人臉圖像按照步驟5)所得的特征值輸入f(x),根據(jù)f(x)的計(jì)算結(jié)果決定圖像所屬類別;
步驟7、選取若干類人臉樣本,每類樣本之間按步驟6兩兩構(gòu)造svm分類器;采取投票形式對(duì)未知結(jié)果進(jìn)行投票,得票最高者即為分類結(jié)果,從而實(shí)現(xiàn)svm多分類,具體步驟如下:
步驟71、選取q類人臉樣本,每類人臉樣本包含r張圖片,前
步驟72、將q類樣本中互不相同的兩類樣本按照步驟6構(gòu)造svm分類器,每個(gè)分類器的訓(xùn)練樣本為r張圖片,共構(gòu)造
步驟73、將待測(cè)試樣本按照步驟5提取特征值后,將特征值向量輸入
作為本發(fā)明所述的一種基于hog特征和svm多分類器的人臉識(shí)別方法進(jìn)一步優(yōu)化方案,所述步驟一中歸一化處理的具體步驟如下:
對(duì)灰度化后的圖像中的每一個(gè)像素值g1(x,y),計(jì)算g(x,y)=(g1(x,y)+0.5)/256,從而得到歸一化的圖像矩陣g。
作為本發(fā)明所述的一種基于hog特征和svm多分類器的人臉識(shí)別方法進(jìn)一步優(yōu)化方案,所述gamma校正是一種通過(guò)對(duì)圖像進(jìn)行壓縮處理從而減少陰影和光照變化的方法。
作為本發(fā)明所述的一種基于hog特征和svm多分類器的人臉識(shí)別方法進(jìn)一步優(yōu)化方案,所述步驟2中校正值gamma=0.5。
作為本發(fā)明所述的一種基于hog特征和svm多分類器的人臉識(shí)別方法進(jìn)一步優(yōu)化方案,所述步驟4中,k=9,表示采用梯度直方圖統(tǒng)計(jì)一個(gè)單元格中9個(gè)梯度方向的信息。
作為本發(fā)明所述的一種基于hog特征和svm多分類器的人臉識(shí)別方法進(jìn)一步優(yōu)化方案,f(x)的計(jì)算結(jié)果為1或-1。
本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
(1)本發(fā)明包括對(duì)圖像進(jìn)行灰度處理,計(jì)算圖像中每個(gè)像素點(diǎn)的梯度方向和梯度值,將圖像劃分成若干個(gè)小的局部區(qū)域,統(tǒng)計(jì)局部區(qū)域的梯度信息,再把局部區(qū)域的特征串聯(lián)組合成整個(gè)圖像的特征。通過(guò)提取到的樣本特征,對(duì)不同類樣本之間兩兩構(gòu)建svm分類器,以投票的形式對(duì)待分類樣本進(jìn)行類別投票,得票最高的類別即為待分類樣本的識(shí)別結(jié)果;
(2)本發(fā)明通過(guò)對(duì)圖像進(jìn)行g(shù)amma校正,有效地降低圖像局部的陰影和光照變化,提高識(shí)別的準(zhǔn)確性;
(3)本發(fā)明采用基于hog特征對(duì)圖像進(jìn)行特征提取,對(duì)圖像幾何和光學(xué)的形變都能保持很好的不變性;
(4)本發(fā)明通過(guò)構(gòu)建svm多分類器對(duì)不同人臉進(jìn)行識(shí)別,采用投票機(jī)制降低了誤檢率,提高了識(shí)別正確性,從而解決svm多分類效果差的問(wèn)題。
附圖說(shuō)明
圖1是基于hog特征和svm多分類器的人臉識(shí)別方法流程。
圖2是人臉圖像矩陣實(shí)例。
圖3是svm分類器訓(xùn)練示例圖。
具體實(shí)施方式
下面對(duì)本發(fā)明使用的基于hog特征和svm多分類器的人臉識(shí)別方法具體實(shí)施例作更詳細(xì)的描述。
根據(jù)附圖1所示基于hog特征和svm多分類器的人臉識(shí)別方法對(duì)應(yīng)的流程圖,附圖2所示人臉圖像矩陣實(shí)例,附圖3所示svm分類器訓(xùn)練示例圖,本發(fā)明具體實(shí)施方式為(如圖1所示):
1)輸入的圖像經(jīng)過(guò)灰度化處理后得到的圖像矩陣如圖2所示。對(duì)圖2中每個(gè)像素值進(jìn)行歸一化處理后得到的矩陣為:
2)對(duì)歸一化后得到的圖像矩陣g進(jìn)行g(shù)amma(伽馬)校正,取gamma=0.5,對(duì)g中每個(gè)像素值g(x,y)計(jì)算g′(x,y)=g(x,y)gamma。經(jīng)過(guò)gamma校正后的圖像矩陣如下:
3)計(jì)算g′中像素值g′(x,y)在水平方向和垂直方向的梯度,并據(jù)此計(jì)算g′(x,y)的梯度方向值和梯度方向,其中g(shù)′(x,y)代表g′在第x行、第y列的元素對(duì)應(yīng)的像素值;具體步驟如下:
31)計(jì)算g′(x,y)的水平方向梯度dx(x,y)=g′(x,y+1)-g′(x,y)。計(jì)算得到水平方向梯度矩陣如下:
32)計(jì)算g(x,y)的垂直方向梯度dy(x,y)=g′(x+1,y)-g′(x,y)。計(jì)算得到垂直方向梯度矩陣如下:
33)計(jì)算g′(x,y)的梯度方向值
4)將圖像矩陣g′分成2*2個(gè)單元格,每個(gè)單元格包含2*2個(gè)像素,統(tǒng)計(jì)每個(gè)單元格的梯度信息。具體步驟如下:
41)將360度梯度方向分成9個(gè)方向塊{f1,f2,...,f9},第i個(gè)方向塊fi的梯度方向范圍為
42)定義9個(gè)變量{a1,a2,...,a9}記錄第一個(gè)單元格中9個(gè)方向塊的梯度數(shù)量。首先初始化9個(gè)變量的值為0,然后對(duì)單元格中的每個(gè)像素點(diǎn)進(jìn)行判斷,若像素點(diǎn)g(x,y)的梯度方向α(x,y)屬于fi,則ai=ai+d(x,y)。計(jì)算結(jié)果為:a1=3.12,a2=2.15,a3=0.43,a4=0,a5=0,a6=0,a7=2.66,a8=0.8,a9=0
43)重復(fù)42),依次對(duì)圖像矩陣g′中每個(gè)單元格進(jìn)行計(jì)算。
5)提取g′的局部特征,并把局部特征串聯(lián)起來(lái)得到圖像的整體特征值,具體步驟如下:
51)取1*1個(gè)單元格為一個(gè)區(qū)域b,把b中每個(gè)單元格9個(gè)方向塊的梯度數(shù)量串聯(lián)在一起,得到一個(gè)維數(shù)為1*1*9的向量,作為該區(qū)域的局部特征。
52)以1個(gè)單元格作為步長(zhǎng)移動(dòng)區(qū)域b對(duì)圖像進(jìn)行掃描,重復(fù)步驟51),提取每次移動(dòng)區(qū)域的局部特征。
53)將52)得到的每個(gè)區(qū)域的局部特征首尾相連,組成一個(gè)新的向量作為圖像的整體特征值。最終得到的特征值向量長(zhǎng)度為1*1*9*9=81。
6)選取4張人臉圖像,通過(guò)步驟5)提取每個(gè)人臉圖像的特征值,組合成一組訓(xùn)練樣本{(x1,d1),(x2,d2),(x3,d3),(x4,d4)},其中x1={-1,-1},x2={-1,1},x3={1,-1},x4={1,1}為每個(gè)人臉圖像對(duì)應(yīng)的特征值(原特征為324維,這里以二維特征舉例說(shuō)明),d1=-1,d2=1,d3=1,d4=-1為每個(gè)人臉圖像對(duì)應(yīng)的人臉預(yù)期值。
61)定義目標(biāo)函數(shù)
將各輸入樣本代入上式,可計(jì)算出4*4對(duì)稱k矩陣中各元素的值為:
62)計(jì)算得最優(yōu)解
偏置值b=1-w*x′=0.43,得到svm分類判別函數(shù)f(x)=sgn(w*x+0.43),svm分類器訓(xùn)練結(jié)束。
63)將待識(shí)別人臉圖像按照步驟5)所得的特征值輸入f(x),根據(jù)f(x)的計(jì)算結(jié)果為1或-1即可決定圖像所屬類別。
7)選取若干類人臉樣本,每類樣本之間按步驟6)兩兩構(gòu)造svm分類器。采取投票形式對(duì)未知結(jié)果進(jìn)行投票,得票最高者即為分類結(jié)果,從而實(shí)現(xiàn)svm多分類,具體步驟如下:
71)選取40類人臉樣本,每類人臉樣本包含10張圖片,前5張圖片用于svm分類器的訓(xùn)練,后5張圖片用于分類器的測(cè)試。
72)將40類樣本中互不相同的兩類樣本按照步驟6)構(gòu)造svm分類器,每個(gè)分類器的訓(xùn)練樣本為r張圖片,共構(gòu)造780個(gè)svm分類器。
73)將待測(cè)試樣本按照步驟5)提取特征值后,將特征值向量輸入780個(gè)svm分類器中進(jìn)行分類,每輸出一個(gè)分類結(jié)果則對(duì)應(yīng)的該類別票數(shù)加1,統(tǒng)計(jì)q個(gè)類別的最終得票總數(shù),得票最高的類別則是待測(cè)試樣本的分類結(jié)果。
本發(fā)明不但有效地降低圖像局部的陰影和光照變化對(duì)人臉識(shí)別造成的影響,對(duì)圖像幾何和光學(xué)的形變都能保持很好的不變性,而且在分類上采用投票機(jī)制提高了識(shí)別的正確性,從而解決svm多分類效果差的問(wèn)題。