摘" 要:文章報(bào)告了面部特征點(diǎn)檢測(cè)的現(xiàn)狀,分析了AdaBoost算法的分類(lèi)性能和AAM模型的建模特性。對(duì)面部特征點(diǎn)檢測(cè)進(jìn)行了研究,通過(guò)訓(xùn)練多個(gè)弱分類(lèi)器并組合它們,提高了面部特征點(diǎn)檢測(cè)的準(zhǔn)確性和魯棒性。利用AdaBoost強(qiáng)分類(lèi)器識(shí)別的結(jié)果作為AAM模型訓(xùn)練的輸入,提取面部特征點(diǎn)候選區(qū)域,降低了AAM模型重構(gòu)次數(shù),進(jìn)一步降低了計(jì)算復(fù)雜度,尤其是在面部姿態(tài)和表情變化較大的情況下,提高了匹配的準(zhǔn)確率。同時(shí),AAM模型可以為AdaBoost提供一個(gè)更為精細(xì)的面部特征點(diǎn)定位,從而提高整體的面部特征點(diǎn)檢測(cè)性能。
關(guān)鍵詞:特征點(diǎn)檢測(cè);Adaboost;AAM模型
中圖分類(lèi)號(hào):TP391.4" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2024)18-0172-04
Research on Facial Feature Point Detection Technology Based on AdaBoost and AAM
JIA Xiaoqi
(Department of Computer and Information Engineering, Shanxi Institute of Energy, Jinzhong" 030600, China)
Abstract: This paper reports the current status of facial feature point detection and analyzes the classification performance of the AdaBoost algorithm and the modeling characteristics of the AAM model. It researches the facial feature point detection, and improves the accuracy and robustness by training multiple weak classifiers and combining them. It uses the results identified by the AdaBoost strong classifier as inputs for training the AAM model, extracts candidate regions for facial feature points, reduces the reconstruction frequency of the AAM model and further lowers the computational complexity, particularly in cases where there are significant variations in facial pose and expression, thereby improving the matching accuracy. Additionally, the AAM model can provide a more precise localization of facial feature points for AdaBoost, thus enhancing the overall performance of facial feature point detection.
Keywords: feature point detection; Adaboost; AAM model
0" 引" 言
面部檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)經(jīng)典問(wèn)題。近年來(lái),面部檢測(cè)和跟蹤的應(yīng)用范圍不斷擴(kuò)大,不僅限于面部識(shí)別的應(yīng)用范圍:在視頻檢索、視頻監(jiān)控、面部表情分析、性別、種族、年齡歧視、數(shù)字娛樂(lè)等方面也有廣泛應(yīng)用。傳統(tǒng)的面部特征點(diǎn)檢測(cè)方法通?;谑止ぴO(shè)計(jì)的特征和算法[1]。當(dāng)前研究者們常用深度學(xué)習(xí)模型進(jìn)行特征點(diǎn)檢測(cè)。然而,深度學(xué)習(xí)模型由于其從數(shù)據(jù)中學(xué)習(xí)的特性,通常需要大量的標(biāo)注數(shù)據(jù)進(jìn)行學(xué)習(xí),且計(jì)算復(fù)雜度高,難以在實(shí)際應(yīng)用中快速部署。
基于活動(dòng)外觀模型(Active Appearance Model, AAM)[2]和AdaBoost算法[3]為基礎(chǔ),本文提出了兩種算法相結(jié)合的方法來(lái)改進(jìn)算法。在檢測(cè)到人臉和特征點(diǎn)的同時(shí),提高了檢測(cè)側(cè)面人臉的效率。首先使用矩形特征(Haar特征)[4]和AdaBoost算法對(duì)視頻幀中的人臉進(jìn)行檢測(cè),將檢測(cè)到的人臉區(qū)域提交給AAM,然后AAM在該區(qū)域內(nèi)檢測(cè)特征,經(jīng)過(guò)多次迭代選擇最優(yōu)解以增加權(quán)重。這樣可以提高面部識(shí)別和特征點(diǎn)檢測(cè)的魯棒性及效率。
1" 方法研究
1.1" AdaBoost算法
該算法首先迭代訓(xùn)練數(shù)據(jù)樣本,獲取多個(gè)弱分類(lèi)器,然后通過(guò)調(diào)整弱分類(lèi)器權(quán)重,最終構(gòu)成強(qiáng)分類(lèi)器[5]。首先輸入圖像的Haar特征,并利用這些特征進(jìn)行訓(xùn)練。訓(xùn)練時(shí)采用了一種加權(quán)方法,這種加權(quán)方法可以保證每個(gè)樣本在訓(xùn)練過(guò)程中的重要性,并且在訓(xùn)練完成后,能夠得到一些能夠進(jìn)行目標(biāo)檢測(cè)的弱分類(lèi)器。將這些弱分類(lèi)器的輸出進(jìn)行加權(quán)組合,可以得到一個(gè)更加強(qiáng)大的分類(lèi)器,它可以根據(jù)目標(biāo)檢測(cè)任務(wù)的特點(diǎn),對(duì)圖像中的目標(biāo)進(jìn)行更加精確和快速的檢測(cè)[6]。
算法的具體流程如下:
1)樣本數(shù)據(jù)集。準(zhǔn)備訓(xùn)練數(shù)據(jù)庫(kù)。
2)初始化。訓(xùn)練開(kāi)始時(shí),平均分配每個(gè)樣本的權(quán)重。
3)Haar特征。獲取樣本圖像Haar特征并處理。
4)初始訓(xùn)練。利用樣本的當(dāng)前權(quán)重和Haar特征進(jìn)行學(xué)習(xí),訓(xùn)練的結(jié)果就是生成多個(gè)弱分類(lèi)器。
5)評(píng)估并更新權(quán)重。對(duì)弱分類(lèi)器在學(xué)習(xí)訓(xùn)練中的表現(xiàn)進(jìn)行評(píng)估,重點(diǎn)評(píng)估分類(lèi)的準(zhǔn)確度,然后調(diào)整每個(gè)弱分類(lèi)器所對(duì)應(yīng)的權(quán)重,原則是提高準(zhǔn)確度較高的弱分類(lèi)器權(quán)重,降低準(zhǔn)確度較低的弱分類(lèi)器的權(quán)重;不斷迭代更新,使的模型得到進(jìn)一步優(yōu)化。值得注意的是,被提高權(quán)重的弱分類(lèi)器在后續(xù)的訓(xùn)練中會(huì)得到更強(qiáng)烈的依賴(lài)。
6)計(jì)算若分類(lèi)器的閾值。根據(jù)更新后的權(quán)重,計(jì)算每個(gè)弱分類(lèi)器的閾值。
7)構(gòu)建并評(píng)估強(qiáng)分類(lèi)器。重復(fù)步驟4)~5),達(dá)到最大迭代次數(shù)或準(zhǔn)確率達(dá)到預(yù)設(shè)值后,將所有訓(xùn)練好的弱分類(lèi)器組合起來(lái),形成一個(gè)強(qiáng)分類(lèi)器。根據(jù)評(píng)估結(jié)果,調(diào)整AdaBoost算法的參數(shù),如迭代次數(shù)、弱分類(lèi)器的數(shù)量等。
8)強(qiáng)分類(lèi)器的應(yīng)用。最終就可以通過(guò)強(qiáng)分類(lèi)器來(lái)進(jìn)行精確的識(shí)別任務(wù)。
1.2" AAM模型
AAM(Active Appearance Model)模型是用于人臉建模和分析的計(jì)算機(jī)視覺(jué)技術(shù),是一種參數(shù)化表觀模型,它結(jié)合了形狀模型和紋理模型[7]??梢詫?duì)人臉進(jìn)行建模,并實(shí)現(xiàn)人臉特征的定位、跟蹤和重建。它可以用于人臉識(shí)別、表情分析、姿態(tài)估計(jì)等領(lǐng)域。AAM模型使用訓(xùn)練集中的人臉圖像來(lái)構(gòu)建一個(gè)人臉特征空間,在該空間中,每個(gè)人臉都可以用一個(gè)參數(shù)向量表示。
形狀建模通常使用普克拉提斯分析(Procrustes Analysis)來(lái)去除尺度、旋轉(zhuǎn)和平移等影響,并對(duì)形狀進(jìn)行主成分分析(PCA),從而得到形狀的平均模型和主要變化模式。這一步驟有助于描述人臉的幾何結(jié)構(gòu)和邊界。在紋理建模中,通常會(huì)在形狀建模的基礎(chǔ)上將目標(biāo)間的形狀差別消除,單獨(dú)針對(duì)紋理進(jìn)行主成分分析,以得到紋理的平均模型和主要變化模式。這樣可以描述人臉的外觀信息和紋理特征。最終的統(tǒng)一建模則是對(duì)形狀和紋理模型的參數(shù)進(jìn)行主成分分析,從而消除形狀和紋理之間的冗余信息。通過(guò)這一過(guò)程,AAM模型可以將形狀和紋理信息統(tǒng)一起來(lái),使得模型能夠更好地適應(yīng)不同的人臉特征。
AAM模型算法過(guò)程主要基于主成分分析(PCA)和二范數(shù)最小化策略,流程主要包括以下步驟:
1)采集樣本:采集目標(biāo)的樣本,建立樣本庫(kù)。
2)樣本取點(diǎn):人工標(biāo)注人臉輪廓,提取特征點(diǎn)。
3)樣本數(shù)據(jù)預(yù)處理:樣本圖像處理為灰度圖,消除圖像亮度(歸一化),將樣本點(diǎn)的位置保存為向量的形式。
4)形狀建模:使用主成分分析(PCA)方法對(duì)訓(xùn)練集中的面部特征點(diǎn)進(jìn)行降維和建模,得到形狀模型。形狀模型描述了面部特征點(diǎn)的位置關(guān)系。
5)紋理建模:在圖像空間中,將面部圖像與對(duì)應(yīng)的標(biāo)準(zhǔn)形狀對(duì)齊,然后將對(duì)齊后的圖像劃分為網(wǎng)格,提取每個(gè)網(wǎng)格內(nèi)的紋理特征,如灰度值、梯度等。使用主成分分析(PCA)方法對(duì)紋理特征進(jìn)行降維和建模,得到紋理模型。
6)模型參數(shù)優(yōu)化:利用訓(xùn)練集中的人臉圖像和對(duì)應(yīng)的面部特征點(diǎn),采用二范數(shù)最小化策略來(lái)優(yōu)化AAM模型中的形狀和紋理參數(shù)。該策略的目標(biāo)是最小化模型預(yù)測(cè)結(jié)果與真實(shí)面部特征點(diǎn)之間的歐氏距離。
7)融合模型:將兩種基礎(chǔ)模型融合構(gòu)建主動(dòng)表觀模型。
2" 基于AdaBoost和AAM的面部特征點(diǎn)檢測(cè)方法
AdaBoost主要基于圖像的局部特征來(lái)進(jìn)行分類(lèi),而AAM主要利用面部形狀信息來(lái)進(jìn)行定位。將兩者結(jié)合,綜合利用圖像的特征和形狀信息,可以充分發(fā)揮圖像的特征和形狀信息的優(yōu)勢(shì),提高檢測(cè)和定位的準(zhǔn)確性。
在將AdaBoost與AAM結(jié)合時(shí),可以將AAM模型看作是一種弱分類(lèi)器,通過(guò)訓(xùn)練多個(gè)AAM模型并將它們組合,可以形成一個(gè)更強(qiáng)大的分類(lèi)器。這樣,AAM模型的特征點(diǎn)檢測(cè)能力可以得到增強(qiáng)。具體而言,在AdaBoost算法中,每個(gè)弱分類(lèi)器都會(huì)根據(jù)權(quán)重對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行分類(lèi),而錯(cuò)誤分類(lèi)的樣本會(huì)被賦予更高的權(quán)重。通過(guò)不斷迭代訓(xùn)練和加權(quán),最終得到一個(gè)強(qiáng)分類(lèi)器,它能夠更準(zhǔn)確地分類(lèi)圖像數(shù)據(jù)。將AAM模型作為弱分類(lèi)器,可以利用AdaBoost的機(jī)制來(lái)訓(xùn)練和優(yōu)化AAM模型,從而改善特征點(diǎn)檢測(cè)的準(zhǔn)確性。
另外,AAM模型在面臨形變和噪聲時(shí)可能出現(xiàn)定位偏差,而AdaBoost具有良好的魯棒性和抗噪性。結(jié)合AdaBoost和AAM可以有效地對(duì)抗面部形變和噪聲,提高特征點(diǎn)檢測(cè)的魯棒性。并且,AAM模型的定位過(guò)程相對(duì)較慢,而AdaBoost分類(lèi)器通過(guò)快速特征計(jì)算可以實(shí)現(xiàn)快速的特征點(diǎn)定位。結(jié)合兩者可以在保持精度的同時(shí)提高定位的速度。
總之,將AdaBoost與AAM結(jié)合可以進(jìn)一步強(qiáng)化AAM模型的特征點(diǎn)檢測(cè)能力,提高檢測(cè)結(jié)果的準(zhǔn)確性、穩(wěn)定性和魯棒性。
2.1" 數(shù)據(jù)準(zhǔn)備
在本次實(shí)驗(yàn)過(guò)程中,采用了FERET(Face Rec-ognition using Error, Excitation and Template)人臉數(shù)據(jù)庫(kù)。FERET人臉數(shù)據(jù)庫(kù)包含了1 000多人的14 051幅人臉圖像,該數(shù)據(jù)庫(kù)中的人臉圖像包含了面部特征變化的豐富樣本,時(shí)間間隔長(zhǎng)達(dá)3年之久,并且FERET人臉數(shù)據(jù)庫(kù)被分為訓(xùn)練集、參考集和測(cè)試集三部分。圖1展示了部分人臉數(shù)據(jù)圖像。
2.2" 圖像預(yù)處理
在進(jìn)行樣本訓(xùn)練前,首先對(duì)圖像進(jìn)行預(yù)處理。
1)灰度化。將彩色圖像轉(zhuǎn)換為灰度圖像。由于大多數(shù)面部特征點(diǎn)檢測(cè)算法更適合處理灰度圖像,因此灰度化可以簡(jiǎn)化后續(xù)處理步驟并提高算法的效率。在灰度圖像中,每個(gè)像素的取值范圍通常是0到255之間的整數(shù),表示灰度級(jí)別?;叶然哪康氖呛?jiǎn)化圖像處理過(guò)程,并降低計(jì)算復(fù)雜度。
灰度化公式如下:
Gray=0.2989×R+0.5870×G+0.1140×B" " (1)
R、G、B分別表示紅、綠、藍(lán)通道的亮度值。通過(guò)對(duì)每個(gè)像素塊應(yīng)用上述公式,可以得到對(duì)應(yīng)的灰度圖像。
2)歸一化。歸一化可以消除圖像中的亮度差異,將像素值映射到特定的范圍內(nèi),并使得圖像的動(dòng)態(tài)范圍更適合后續(xù)處理步驟。
歸一化公式如下:
Normalized=(Pixel-Min)/(Max-Min) (2)
其中Pixel表示原始像素值,Min和Max分別表示圖像中的最小和最大像素值。歸一化后的圖像可以更好地適應(yīng)不同的算法和模型,提高圖像處理和分析的效果。
2.3" 基于Haar特征的AdaBoost算法
計(jì)算黑白兩部分矩形面積的差值,得到Haar特征值:Haar_feature=Area1-Area2。
1)初始化樣本權(quán)重。訓(xùn)練開(kāi)始時(shí),平均分配每個(gè)樣本的權(quán)重P。
2)迭代,使用具有權(quán)重分布的訓(xùn)練數(shù)據(jù)集學(xué)習(xí)得到基本分類(lèi)器ht:
(3)
其中t為1,2,3…,xi表示訓(xùn)練庫(kù)中標(biāo)號(hào)為i的特征向量,yi表示它對(duì)應(yīng)的標(biāo)簽。
計(jì)算ht誤差率,誤差率用表示:
(4)
1·(yi≠hi(xi))表示如果第i個(gè)樣本的真實(shí)標(biāo)簽與基本分類(lèi)器ht的輸出不相等,則為1,否則為0。
計(jì)算基本分類(lèi)器ht的權(quán)重at:
(5)
在每次迭代后,權(quán)重被歸一化以確保所有權(quán)重的和為1。在加權(quán)的樣本上訓(xùn)練弱分類(lèi)器,并計(jì)算加權(quán)的錯(cuò)誤率。如果加權(quán)的錯(cuò)誤率小于預(yù)定的閾值,算法停止。否則,訓(xùn)練下一個(gè)弱分類(lèi)器并再次更新權(quán)重:
(6)
在上述算法中,通過(guò)歸一化因Zt子保證了分布概率的嚴(yán)謹(jǐn)性。
3)AdaBoost構(gòu)建強(qiáng)分類(lèi)器:
(7)
通過(guò)這個(gè)強(qiáng)分類(lèi)器H(x)來(lái)區(qū)分樣本圖像中面部特征點(diǎn)和非特征點(diǎn)。
2.4" AAM模型生成
將Adaboost算法的分類(lèi)結(jié)果作為AAM模型的輸入特征,去除無(wú)關(guān)信息并增強(qiáng)有用特征,建立對(duì)應(yīng)人臉的AAM模型。因?yàn)锳AM模型的建立需要不斷的迭代從而優(yōu)化建模效果。
1)形狀向量(Shape vector)。形狀模型專(zhuān)門(mén)用來(lái)描述人臉的形狀變化。將經(jīng)過(guò)Adaboost算法增強(qiáng)后的每個(gè)面部特征點(diǎn)的坐標(biāo)以列向量的方式組成一個(gè)矩陣X,對(duì)其進(jìn)行主成分分析(PCA)方法,得到前k個(gè)主成分向量V1,V2,…,Vk,將它們組成一個(gè)形狀向量S。
2)紋理向量(Texture vector)。紋理模型用來(lái)描述人臉的紋理變化。將樣本訓(xùn)練集中的每個(gè)圖像提取出表面紋理信息,通過(guò)PCA算法降維,得到前k個(gè)主成分向量W1,W2,…,Wk,將它們組成一個(gè)紋理向量T。
3)模型構(gòu)建。將待處理的紋理向量映射到形狀向量中,然后通過(guò)最小化形狀誤差和紋理誤差的方式,結(jié)合實(shí)際特征點(diǎn)坐標(biāo)的差異,調(diào)整關(guān)鍵點(diǎn)位置和像素值,估計(jì)模型參數(shù),實(shí)現(xiàn)人臉的建模和重建。將兩種模型的控制參數(shù)通過(guò)參數(shù)p和λ串聯(lián)起來(lái),并通過(guò)對(duì)角矩陣Ws來(lái)調(diào)整p和λ之間的差異,從而計(jì)算表觀向量B0:
(8)
在表觀向量B上應(yīng)用PCA處理,以得到表觀模型:
(9)
其中,Bt表示基于表觀特征向量后的第t個(gè)特征值,ct用于控制該參數(shù)的變化。
將2.3中處理后的人臉圖像樣本數(shù)據(jù)庫(kù)中的圖像作為AAM訓(xùn)練樣本,每次迭代后,再次重新分配權(quán)重,并使用P和λ更新參數(shù),然后再次重新分配權(quán)重、更新參數(shù)p和λ…依次循環(huán),使圖像中人臉與AAM模型之間的最小均方誤差為最小均方誤差,人臉的特征形狀趨于收斂,最終得到識(shí)別結(jié)果。
3" 實(shí)驗(yàn)結(jié)果及分析
通過(guò)基于AdaBoost和AAM的面部特征點(diǎn)檢測(cè)技術(shù)的實(shí)驗(yàn),發(fā)現(xiàn)該方法在一定范圍內(nèi)解決了目前階段AAM算法不考慮灰度、初始位置和人臉檢測(cè)問(wèn)題。實(shí)驗(yàn)結(jié)果如圖3所示。
本方法結(jié)果與其他方法檢測(cè)結(jié)果比較如表1所示。
結(jié)果表明將AdaBoost和AAM結(jié)合起來(lái),可以?xún)?yōu)勢(shì)互補(bǔ):
1)AdaBoost可以提高AAM模型對(duì)面部特征點(diǎn)的檢測(cè)準(zhǔn)確性,尤其是在面部姿態(tài)和表情變化較大的情況下。
2)AAM模型可以為AdaBoost提供一個(gè)更為精細(xì)的面部特征點(diǎn)定位,從而提高整體的面部特征點(diǎn)檢測(cè)性能。
4" 結(jié)" 論
AAM模型通過(guò)構(gòu)建活動(dòng)模型,能夠快速適應(yīng)面部的局部變化,而AdaBoost算法可以快速訓(xùn)練出強(qiáng)分類(lèi)器,兩者結(jié)合可以加快檢測(cè)速度,提高效率。AdaBoost算法能夠?qū)AM模型的初始化提供優(yōu)化,幫助模型更好地捕捉到面部特征點(diǎn),尤其是在處理復(fù)雜表情和姿態(tài)變化時(shí),可以提高檢測(cè)的準(zhǔn)確性。AAM模型能夠自適應(yīng)地調(diào)整面部特征點(diǎn)的位置,以適應(yīng)不同的人臉形態(tài)和表情變化,而AdaBoost則可以動(dòng)態(tài)地調(diào)整模型權(quán)重,以適應(yīng)新的數(shù)據(jù)分布。這種結(jié)合方法在一定程度上解決了AAM算法在灰度值處理、初始位置設(shè)置以及人臉檢測(cè)方面的問(wèn)題,降低了AAM的迭代工作量,同時(shí)提高了AAM建模的效率。
參考文獻(xiàn):
[1] 鄧雄,王洪春,趙立軍,等.人臉識(shí)別活體檢測(cè)研究方法綜述 [J].計(jì)算機(jī)應(yīng)用研究,2020,37(9):2579-2585.
[2] COOTES T F,TAYLOR C J,COOPER D H,et al. Active shape models—their training and application [J].Computer Vision and Image Understanding,1995,61(1):38-59.
[3] FREUND Y,SCHAPIRE R E. A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting [J].Journal of Computer and System Sciences,1997,55(1):119-139.
[4] MAALE R B,NANDYAL S D. Face Recognition Based on Haar Cascade Classifier [J].Journal of Research in Science and Engineering,2021,3(5):145-148.
[5] 楊磊.基于AdaBoost的人臉檢測(cè)算法 [J].山西大同大學(xué)學(xué)報(bào):自然科學(xué)版,2023,39(3):12-17.
[6] 陳奮,張曉蘭,張寧.基于幾何形狀的AdaBoost 人臉檢測(cè)算法研究 [J].福建工程學(xué)院學(xué)報(bào),2017,15(1):49-54.
[7] 閆保中,何偉,韓旭東. 基于表觀模型的人臉特征點(diǎn)提取 [J].應(yīng)用科技,2020,47(6):47-52.
[8] 傅銘,劉從軍.基于Adaboost與LDP算法的人臉識(shí)別研究 [J].計(jì)算機(jī)與數(shù)字工程,2023,51(7):1626-1630.
[9] 董林鷺,趙良軍,楊明中,等.一種基于Viola-Jones 的改進(jìn)人臉定位算法 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2020,30(10):42-46.
[10] 仲柔在,熊磊,劉暢.利用形狀估計(jì)的人臉特征點(diǎn)定位算法 [J].計(jì)算機(jī)應(yīng)用研究,2017,34(7):2207-2211.
[11] 顏麗,谷學(xué)靜.基于Canny-AAM的人臉特征定位算法 [J].湖南科技大學(xué)學(xué)報(bào):自然科學(xué)版,2018,33(2):66-71.
作者簡(jiǎn)介:賈曉琪(1992—),女,漢族,山西臨汾人,講師,碩士研究生,研究方向:軟件工程、圖像處理。