人臉檢測方法總結
1 人臉檢測方法分類:對影象或者影象序列進行人臉檢測的方法可以大致上分為四類,它們分別是知識規則方法、不變特徵方法、模板匹配方法以及統計模型方法
(1)基於知識規則的方法:
基於知識規則的方法是利用人臉規則對輸入影象進行人臉檢測的方法(如:眼睛、鼻子、嘴巴等的分佈)。這類方法主要是利用一些簡單的規則來描述人臉面部特徵以及這些特徵之間的關係;(基於馬賽克圖人臉檢測;鑲嵌圖法;用神經網路分別檢測眼睛、鼻子、嘴;器官分佈)
(2)基於特徵的方法
基於不變特徵的方法主要是通過尋找人臉面部不變的特徵來對輸入影象進行人臉檢測。該類方法認為人臉面部的一些特徵(膚色、邊緣、紋理等)具有在不同的姿態、視角、表情下都不會發生改變的特性。(
基於膚色的人臉檢測;基於輪廓)
(3)基於模板匹配的方法
基於模板匹配的方法是將人臉的面部特徵用一個標準的人臉模板來描述,進行人臉檢測的時候,先是計算輸入影象子視窗與標準人臉模板之間的相關值,然後再將求得的相關值與事先設定的閡值進行比較,以判別輸入影象中是否存在人臉.
以上三種又叫基於特徵的檢測方法;
(4)基於統計模型的方法
方法是將人臉區域看作一類模式,使用大量的人臉資料作樣木訓練,來學習潛在的規則並構造分類器,通過判別影象中所有可能區域模式屬性來實現人臉的檢測。從而把人臉檢測問題轉化為統計模式識別的二分類問題,如基於神經網路的人臉檢測【,和基十支撐向量機的方法,等。(haar+Adaboost、基於SVM的人臉檢測、神經網路方法、基於貝葉斯估計的人臉檢測)
2 經典人臉檢測演算法
基於膚色分割的人臉檢測、
基於線性子空間的人臉檢測、(PCA) ?
基於貝葉斯估計的人臉檢測、 ?
基於人工神經網路的人臉檢測、
基於svm的人臉檢測
基於Adaboost演算法的人臉檢測
隱馬爾科夫模型 ?
1 基於膚色分割的人臉檢測、
1、影象預處理;2、建立膚色模型;3、相似度計算;4、二值化
1、影象預處理:
包括濾除噪聲和亮度補償。濾除噪聲中是使用高斯濾波器等方法進行;由於光照影響影象的亮度,這裡亮度補償採用Gary World演算法對RGB影象進行快速顏色補償,即如下公式:
S=av1/av2;f=f1*S;其中av1為標準亮度影象R、G、B的平均值,av2為原輸入影象R、G、B的平均值,f1為原輸入影象的畫素值,f為亮度補償後輸出影象的畫素值.
YCbCr其中Y是指亮度分量,Cb指藍色色度分量,而Cr指紅色色度分量
也可以不預處理只用表徵顏色的b、r不用Y(這時影象是純色的);
2、建立膚色模型
①收集大量人臉圖片樣本,收集的樣本應多樣化,包含不同性別,年齡以及種類,並剪切出人臉膚色區域做統計樣本;
②在將色彩空間轉換到YCbCr色彩空間,統計所有畫素的Cb、Cr的數量;
③計算出均值,,同時計算出方差,以及協方差和。
膚色的高斯模型:
x是二維向量r、b是兩個關於顏色的量,x=m時,P=1;然後遞減,可以表示是人臉的概率;
m=(1,1);c=1;的膚色概率模型:z=exp(-(x.^2+y.^2)/2);
2 基於線性子空間的人臉檢測、(PCA)?
3 基於貝葉斯估計的人臉檢測
條件概率:
全概率公式:
貝葉斯公式:
對一幅影象來說:
算出所有的P(y=yk | x);看看x屬於哪一類的概率最大;
對圖片用貝葉斯檢測人臉:將人臉分為小塊,每塊尋找一個高維向量(Gabor特徵等),對每個小塊用混合高斯建模,訓練一個貝葉斯分類器;每個小塊的分類器融合的方法:加權求和、相乘等;
貝葉斯的使用:從病人的咳嗽、發燒等判斷,病人得病了沒?得的什麼病?
4 基於人工神經網路的人臉檢測、
5 基於svm的人臉檢測
6 基於Adaboost演算法的人臉檢測
7 隱馬爾科夫模型?
馬爾可夫模型:t+1時刻的觀察序列,有且僅由t時刻的觀察序列決定;
隱馬爾可夫模型:有兩個序列:狀態序列,觀察序列;;狀態序列之間會轉移,狀態序列決定當前時刻的觀察序列;
隱馬爾可夫模型是採用概率統計的方法描述時變訊號。 HMM原來是應用在語音識別領域的,並取得了相當的成功,但是由於語音訊號是一維訊號,而影象是二維訊號,為了把HMM應用於二維的影象,就要在影象上取一個取樣視窗,該視窗的寬度就是影象的寬度,高度可能只有幾個畫素,然後將在影象上由上至下滑動,相鄰視窗之間允許重疊,這樣就把人臉垂直分成了五個區域:前額,眼睛,鼻子,嘴巴,下領,然後用一個五狀態的HMM模型來表達人臉。基於離散馬爾可夫模型和奇異值特徵的人臉檢測方法.其實質是將奇異值特徵轉化為向量序列.再利用HMM對其進行識別,這種方法魯棒性較好,對不同角度和不同光照條件的人臉影象都可以取得較好的識別效果。
奇異值分解+隱馬爾可夫:
奇異值分解:
基於隱馬爾可夫模型的人臉識別研究_沈傑.caj
隱馬爾可夫: