基於雙層級聯的面部特徵檢測方法與流程
2023-07-11 20:21:51 3

本發明涉及人臉檢測技術領域,特別是一種基於雙層級聯的面部特徵檢測方法。
背景技術:
人臉面部特徵是指人臉檢測中定位的面部關鍵點,是人臉圖像分析的前提與關鍵。儘管目前有諸多人類自動面部分析技術(比如人臉識別與驗證、人臉追蹤、面部表情分析、人臉重建和人臉檢索等技術),但由於存在面部的多姿態、光照、遮擋等因素,快速、精確地對自然狀態的面部特徵檢測仍然是一大難題。
當前面部特徵檢測方法主要分為三類:基於boosting方法;基於深度卷積神經網絡的方法;基於可變型模型(DPM)的方法。DPM是一種整體與局部特徵結合,並對局部形狀結構進行限制的高精度方法,其將人的頭部特徵用眼睛、鼻子、耳朵和嘴巴等局部區域的紋理特徵和相對位置進行表示,然後匹配,但由於現實數據基本沒有提供人頭部局部區域的位置,方法難以提取精確特徵進行訓練,因此精度不夠理想。之後雖然對其進行了改進,但改進後的DPM需要對目標的不同姿態角度建立相應的模型,再提取這些模板的方向梯度直方圖(HOG)特徵,採用半監督方法,隱藏變量SVM學習得到分類器,影響檢測速度,尤其是在多尺度檢測過程中,提取每個檢測窗口根模版和部件模版的HoG特徵並進行匹配,方法雖提高了檢測精度,但相應的也導致了檢測速度的下降。
在面部特徵檢測方面,結合DPM思想,出現將人臉檢測、人臉特徵點定位和人臉姿態估計整合一起人臉檢測方法,方法捨棄DPM根模板,對不同人臉姿態建立模型,通過人臉對齊限制人臉形狀,將特徵點周圍矩形區域作為部件模板,提取HoG特徵,採用全監督方式,線性SVM學習,在少量數據集取得良好效果。Chen等實驗證明人臉對齊確實能提高人臉檢測的精度,採用人臉檢測與人臉對齊聯合訓練的方式,將boosting方法和DPM思想結合一起訓練得到高性能分類器,但由於訓練需要充分自然狀態下具有面部特徵點正樣本數據,需要篩選樣本工作(Chen D,Ren S,Wei Y,et al.Joint Cascade Face Detection and Alignment[M]//Computer Vision–ECCV 2014.2014:109-122.)。總的來說,採用SVM訓練得到的人臉檢測器檢測速度不夠理想,需要建立多模型提高檢測精度,而Boosting與DPM思想結合需要充足的有特徵點的人臉樣本。
技術實現要素:
本發明的目的在於提供一種基於雙層級聯的面部特徵檢測方法,無需對面部的多種姿態建立相應的模型,從而提高檢測速率。
實現本發明目的的技術解決方案為:
一種基於雙層級聯的面部特徵檢測方法,包括如下步驟:
第一步,設計一種稀疏特徵,計算輸入圖像的稀疏特徵,採用線性SVM學習特徵,進行粗略分類,檢測含有面部特徵的候選區域;
第二步,在第一步檢測出的候選區域中,使用已有的人臉數據集學習人臉對齊算法,形成人臉特徵點回歸器,進行特徵點定位,回歸不同人臉形狀,提供面部眼睛、鼻子和嘴巴的位置,得到每個候選區域內相應的面部特徵點;
第三步,採用尺度不變特徵進行局部特徵提取,直接使用第二步得到的人臉特徵點替換SIFT特徵點,提取每個特徵點周圍區域128維描述子向量,利用線性SVM學習特徵,對候選區域進行篩選;
第四步,採用線性SVM不斷學習特徵,逐層訓練分類器的方式,首先獨立訓練第一層級分類器,每次的結果再作為樣本反饋給SVM進行學習,然後訓練人臉特徵點回歸器,在此基礎上最後訓練第二層級分類器,添加難例訓練實現人臉定位與收斂,最終確定面部特徵區域。
進一步地,第一步所述計算輸入圖像的稀疏特徵,方法如下:
(1.1)輸入一張樣本圖像,歸一化圖像大小為16×16;
(1.2)計算圖像每個像素的梯度幅值,梯度角度,角度通道位置:
其中M為梯度幅值,Ix,Iy分別為像素在x、y方向上的梯度;
θ=arctanIx/Iy∈[0,180)
其中θ為梯度角度;
bin≈θ/20
其中bin為角度通道位置;
(1.3)將0~180角度平均分成9個通道,每個通道的初始權重為0,計算每個像素角度通道位置,通道權重為幅值,剩餘8個通道權重置為0,使得梯度空間每個像素投影成長度為9的單維向量;
(1.4)按照像素位置,從左到右,從上到下將256個像素的投影向量串聯成一個向量,最後進行範式歸一化,得到樣本特徵向量。
進一步地,第四步所述的採用線性SVM不斷學習特徵方法如下:
假設樣本集合
{(X,Y)|(xi,yi),i=1,...,l}
其中xi∈Rn,y∈{-1,+1},l是樣本總數,設置樣本yiwTxi>0為分類正確,結果大於1,使用L2範式正則化防止過擬合,結果樣本評分分數表達式:
si=wTxi
優化目標函數:
ξ(w;xi,yi)=max(1-yiwTxi)2
其中,si是第i個樣本分數,C是懲罰因子,w是需要求解的權重向量,ξ是損失函數,採用對偶坐標下降法求解損失函數的最小值,每次的結果再作為樣本反饋給SVM進行學習。
進一步地,第四步所述添加難例訓練實現人臉定位與收斂,具體方法如下:
第一層訓練中,第k次訓練,k>1,k∈N,將所有正樣本於k-1次的訓練結果權重求內積,得分小於0的正樣本不參與訓練;負樣本從不包含面部特徵的圖中隨機截取窗口,計算得分大於0即可;第二層訓練中,第k次訓練,k>1,k∈N,將k-1次訓練用的正樣本與k-1訓練的結果權重求內積,將得分小於0的正樣本直接剔除,不再參與之後訓練,然後餘下正樣本保存給下一次訓練使用;負樣本是得分大於0的非人臉窗口圖片。
本發明與現有技術相比,其顯著優點為:(1)第一層級候選窗口的確定,每次的結果再作為樣本反饋給SVM進行學習,提高檢測速度;(2)使用人臉對齊方法,從而無需對面部的多種姿態建立相應的模型;(3)結合高精度的SIFT特徵提取方法,有效地降低了誤檢率。
附圖說明
圖1是本發明基於雙層級聯SVM的面部特徵檢測方法的流程圖。
圖2是圖像梯度空間圖像和稀疏特徵的提取示意圖,其中(a)是輸入圖,(b)是輸入圖像的多尺度梯度幅度圖,(c)是輸入圖像中一個像素提取的向量結果圖。
圖3是人臉特徵點分布圖。
具體實施方式
本發明基於雙層級聯的面部特徵檢測方法,包括如下步驟:
第一步,設計一種稀疏特徵,計算輸入圖像的稀疏特徵,採用線性SVM學習特徵,進行粗略分類,檢測含有面部特徵的候選區域;
所述計算輸入圖像的稀疏特徵,方法如下:
(1.1)輸入一張樣本圖像,歸一化圖像大小為16×16;
(1.2)計算圖像每個像素的梯度幅值,梯度角度,角度通道位置:
其中M為梯度幅值,Ix,Iy分別為像素在x、y方向上的梯度;
θ=arctanIx/Iy∈[0,180)
其中θ為梯度角度;
bin≈θ/20
其中bin為角度通道位置;
(1.3)將0~180角度平均分成9個通道,每個通道的初始權重為0,計算每個像素角度通道位置,通道權重為幅值,剩餘8個通道權重置為0,使得梯度空間每個像素投影成長度為9的單維向量;
(1.4)按照像素位置,從左到右,從上到下將256個像素的投影向量串聯成一個向量,最後進行範式歸一化,得到樣本特徵向量。
第二步,在第一步檢測出的候選區域中,使用已有的人臉數據集學習人臉對齊算法,形成人臉特徵點回歸器,進行特徵點定位,回歸不同人臉形狀,提供面部眼睛、鼻子和嘴巴的位置,得到每個候選區域內相應的面部特徵點;
第三步,採用尺度不變特徵進行局部特徵提取,直接使用第二步得到的人臉特徵點替換SIFT特徵點,提取每個特徵點周圍區域128維描述子向量,利用線性SVM學習特徵,對候選區域進行篩選;
第四步,採用線性SVM不斷學習特徵,逐層訓練分類器的方式,首先獨立訓練第一層級分類器,每次的結果再作為樣本反饋給SVM進行學習,然後訓練人臉特徵點回歸器,在此基礎上最後訓練第二層級分類器,添加難例訓練實現人臉定位與收斂,最終確定面部特徵區域;
所述的採用線性SVM不斷學習特徵方法如下:
假設樣本集合
{(X,Y)|(xi,yi),i=1,...,l}
其中xi∈Rn,y∈{-1,+1},l是樣本總數,設置樣本yiwTxi>0為分類正確,結果大於1,使用L2範式正則化防止過擬合,結果樣本評分分數表達式:
si=wTxi
優化目標函數:
ξ(w;xi,yi)=max(1-yiwTxi)2
其中,si是第i個樣本分數,C是懲罰因子,w是需要求解的權重向量,ξ是損失函數,採用對偶坐標下降法求解損失函數的最小值,每次的結果再作為樣本反饋給SVM進行學習。
所述添加難例訓練實現人臉定位與收斂,具體方法如下:
第一層訓練中,第k次訓練,k>1,k∈N,將所有正樣本於k-1次的訓練結果權重求內積,得分小於0的正樣本不參與訓練;負樣本從不包含面部特徵的圖中隨機截取窗口,計算得分大於0即可;第二層訓練中,第k次訓練,k>1,k∈N,將k-1次訓練用的正樣本與k-1訓練的結果權重求內積,將得分小於0的正樣本直接剔除,不再參與之後訓練,然後餘下正樣本保存給下一次訓練使用;負樣本是得分大於0的非人臉窗口圖片。
下面結合附圖及具體實施例對本發明作進一步詳細描述。
實施例1
結合圖1,本發明基於雙層級聯的面部特徵檢測方法,步驟如下:
第一層級,對輸入圖像,提取其稀疏特徵,快速的獲得人臉候選區域:
假設歸一化圖像X中某個像素x,y方向梯度為Ix,Iy。像素的梯度幅值,梯度角度,角度通道位置計算公式為:
θ=arctanIx/Iy∈[0,180)
bin≈θ/20
其中表示M梯度幅值;θ表示梯度角度,值範圍在[0,180);bin是角度通道位置。特徵計算步驟如下:
(1)讀入圖像,結合圖2(a)歸一化圖像大小為16×16;
(2)計算圖像每個像素的Ix,Iy,按上述公式計算像素的梯度幅值與角度;
(3)結合圖2(b)梯度空間每個像素投影成長度為9的單維向量,0—180角度均分成9個通道,每個通道初始權重為0,按照上述公式計算每個像素通道,通道權重為幅值,剩餘8個通道權重直接置為0;
(4)結合圖2(c)按照像素位置從左到右、從上到下將256個像素的投影向量串聯成一個向量。
第二層級,本層級中,方法學習人臉局部魯棒性特徵剔除誤檢窗口。人臉對齊方法回歸不同人臉形狀,提供人臉眼睛、鼻子和嘴巴的位置,使方法無需對不同姿態建立模型。同時,方法可獨立使用已有的人臉對齊數據集學習人臉對齊回歸器,提高框架的靈活性。特徵提取方法採用SIFT特徵,圖像歸一化大小後,以特徵點為中心計算直徑為6範圍內的特徵。
方法不再檢測尺度不變形特徵點和提取特徵點主方向,直接使用人臉特徵點替換,然後提取每個特徵點周圍區域128維描述算子向量,串聯成單維向量。結合圖3,將人臉的12特徵點作為SIFT特徵點。
採用線性SVM學習特徵,假設樣本集合
{(X,Y)|(xi,yi),i=1,...,l}
其中xi∈Rn,y∈{-1,+1},l是樣本總數,設置樣本yiwTxi>0為分類正確,並儘可能的大於1,使用L2範式防止過擬合,結果樣本評分分數表達式為:
si=wTxi
優化目標函數:
ξ(w;xi,yi)=max(1-yiwTxi)2
其中,si是第i個樣本分數,C是懲罰因子,w是需要求解的權重向量,ξ是損失函數,採用對偶坐標下降法求解損失函數的最小值,每次的結果再作為樣本反饋給SVM進行學習。
利用難例訓練有效促進人臉精確定位,快速收斂。本專利設計了有效的難例處理方式。第一層訓練中,第k(k>1,k∈N)次訓練,將所有正樣本於k-1次的訓練結果權重求內積,得分小於0的正樣本不參與訓練。負樣本從不包含面部特徵的圖中隨機截取窗口,計算得分大於0即可;第二層訓練中,第k(k>1,k∈N)次訓練,將將k-1次訓練用的正樣本與k-1訓練的結果權重求內積,將得分小於0的正樣本直接剔除,不再參與之後訓練,然後餘下正樣本保存給下一次訓練使用。負樣本是得分大於0的非人臉窗口圖片。