張順嵐,莫建文
(桂林電子科技大學(xué),廣西桂林541004)
針對上述問題,本文提出了一種新的三維人臉識別算法,其算法流程圖如圖1所示。與傳統(tǒng)三維人臉識別算法相比,該算法以結(jié)構(gòu)簡單的雙目立體視覺系統(tǒng)為基礎(chǔ),通過調(diào)整左、右攝像機(jī)與人臉的相對位置,完成人臉的二維圖像采集,從而能經(jīng)濟(jì)、高效地完成圖像采集;識別過程中,利用主動形狀模型(Active Shape Model,ASM)技術(shù)對二維圖像進(jìn)行二維特征點(diǎn)自動定位,并結(jié)合攝像機(jī)的內(nèi)外參數(shù)得出特征點(diǎn)的三維坐標(biāo),從而避免了復(fù)雜的人臉三維重建;最后利用反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)進(jìn)行識別,獲得了較高的正確識別率。
圖1 識別算法流程圖
在提取特征點(diǎn)之前,先根據(jù)膚色等信息對雙目視覺系統(tǒng)獲得的左右人臉圖像進(jìn)行人臉區(qū)域提取,然后利用極線變換[7]對圖像進(jìn)行校正,并對校正后的左、右圖像進(jìn)行特征點(diǎn)定位,將確定好的人臉區(qū)域作為初始位置,最后還要利用ASM技術(shù)[8]進(jìn)行特征提取,左右每幅圖像上分別提取76個特征點(diǎn)。雙目立體視覺系統(tǒng)獲得圖像經(jīng)過上述極線校正、特征定位及特征提取后的圖像如圖2所示,其中,特征點(diǎn)用線段連接起來,圖2a、圖2b分別表示左、右圖像提取的特征點(diǎn)。
圖2 利用ASM技術(shù)提取特征點(diǎn)
特征點(diǎn)提取后,可以得到這76個特征點(diǎn)的圖像像素坐標(biāo),表1描述了部分特征點(diǎn)的像素坐標(biāo)。由表1可知,經(jīng)過圖像校正后,左右圖像中的特征點(diǎn)的縱坐標(biāo)位置基本一致,也就是說經(jīng)過極線校正后,特征點(diǎn)的視差信息可以直接由左右圖像的橫坐標(biāo)之差求出。
表1 部分特征點(diǎn)坐標(biāo)
為了克服二維人臉識別易受環(huán)境、姿態(tài)、表情等因素影響的缺點(diǎn),將提取的特征點(diǎn)進(jìn)行三維信息恢復(fù),由于特征點(diǎn)三維恢復(fù)的最終目的是實(shí)現(xiàn)三維人臉識別,因而只需對人臉面部關(guān)鍵特征點(diǎn)進(jìn)行三維信息恢復(fù)。根據(jù)雙目立體視覺原理計(jì)算相應(yīng)的三維空間坐標(biāo)信息[9],其原理如圖3所示,圖中b是基線距離,即攝像機(jī)光心Cl與Cr之間的距離,f是攝像機(jī)的焦距,P(X,Y,Z)為空間點(diǎn),設(shè)該空間點(diǎn)在左右攝像機(jī)坐標(biāo)系中的坐標(biāo)分別為(x1,y1,z1)和(x2,y2,z2),在左右平面上對應(yīng)的像素坐標(biāo)為 (u1,v1)和(u2,v2),則視差d=u1-u2,根據(jù)三角測量原理和2個攝像機(jī)的關(guān)系,有
圖3 視差測距法原理圖
空間點(diǎn)的三維坐標(biāo),可表示為
由張正友標(biāo)定法[10]確定攝像機(jī)焦距等參數(shù),并測出基線距離,然后根據(jù)式(2),可以計(jì)算出空間點(diǎn)三維坐標(biāo)信息,從而得到所求的人臉面部關(guān)鍵特征點(diǎn)的三維信息。
通過人臉關(guān)鍵部位的特征點(diǎn)的位置,如鼻尖、眼角等的位置,提取三維人臉上的直線距離特征、角度特征、人臉比例特征、周長特征、曲線特征、體積特征以及表面積特征等幾何特征,從而形成一個20維幾何特征向量,用于對三維人臉的識別。下面分別描述這些特征及其構(gòu)造。
1.4 標(biāo)準(zhǔn)溶液配制 將100 mg/L甲基硫菌靈及其代謝產(chǎn)物多菌靈標(biāo)準(zhǔn)品,用甲醇稀釋成 5、10、50、100、500 μg/L系列混合標(biāo)準(zhǔn)溶液,于 0~4 ℃ 冰箱中貯存,待用。
1)距離特征
距離特征主要包括距離矩陣和局部特征點(diǎn)的曲線距離,選兩點(diǎn)的歐氏距離作為其三維特征點(diǎn)之間的直線距離,曲線距離則使用分段計(jì)算兩點(diǎn)之間的距離,然后求得近似模擬曲線距離。所選取的曲線距離有“鼻根點(diǎn)—鼻尖點(diǎn)—鼻下點(diǎn)”和“左鼻翼點(diǎn)—鼻尖點(diǎn)—右鼻翼點(diǎn)”的曲線距離。具體計(jì)算過程為
式中:(xi,yi,zi)和 (xj,yj,zj)分別表示參與計(jì)算的兩個特征點(diǎn)的三維坐標(biāo)。
2)角度特征的表示與度量
人臉上的一些部位之間的角度特征受外界的影響較小,因此可以提取這些角度特征來進(jìn)行識別。該計(jì)算主要是基于余弦定理,具體計(jì)算過程為
式中:p1(x1,y1,z1),p2(x2,y2,z2)和 p3(x3,y3,z3)為所選3個人臉特征點(diǎn)的三維坐標(biāo)。這類幾何特征可以為眼睛內(nèi)外、眼角與鼻尖之間的角度,鼻根到鼻尖再到鼻下點(diǎn)的距離等。
3)比例特征的表示與度量
根據(jù)人臉美學(xué)得知,面部長度大概是鼻子長度的3.5倍,面部寬度大概是左右眼角直線距離的5倍,將面部長度和寬度之比作為人臉的長寬比例。這個幾何特征可以度量不同人臉的形狀,并應(yīng)用于人臉的識別。
4)周長特征的表示與度量
這類特征主要是計(jì)算鼻子XY和YZ剖面周長,這里主要是基于兩點(diǎn)歐氏距離來計(jì)算。
5)面積特征的表示與度量
面積特征是計(jì)算特定人臉區(qū)域的表面積,可用海倫公式表示如下
式中:p1,p2,p3分別為 p1(x1,y1,z1),p2(x2,y2,z2)和p3(x3,y3,z3)的簡寫,表示為3個特征點(diǎn)的三維坐標(biāo);s為這3個特征點(diǎn)所圍成的區(qū)域面積。
6)體積特征的表示與度量
體積特征主要用于計(jì)算鼻子的體積,計(jì)算式如下
式中:S為鼻子的XY剖面面積;h為鼻子高度。而鼻子的高度的計(jì)算則如下,設(shè)鼻尖的坐標(biāo)為(x1,y1,z1),鼻根的坐標(biāo)為 (x2,y2,z2),鼻下點(diǎn)的坐標(biāo)為 (x3,y3,z3),可以建立鼻根點(diǎn)和鼻下點(diǎn)所組成的直線方程
式中:A=z2-z3,B=y3-y2,C=y2(z3-z2)-z2(y3-y2)。則鼻子的高度可以認(rèn)為是鼻尖點(diǎn)到式(8)所代表的直線距離,則鼻子的高度公式為
采用“誤差反向傳播”學(xué)習(xí)的BP網(wǎng)絡(luò),它可以對任意形狀的觀察向量集合進(jìn)行正確地分類,其應(yīng)用十分廣泛。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。假設(shè)輸入輸出對是(xk,yk),其中,xk=(xk1,xk2,…,xkn)T,為第 k個輸入人臉特征向量;yk=(yk1,yk2,…,ykn)T為第k個樣本的期望輸出。
將3.2節(jié)構(gòu)造的20維幾何特征向量作為BP神經(jīng)網(wǎng)絡(luò)的輸入,中間層采樣15個節(jié)點(diǎn),輸出層為判決結(jié)果。利用梯度下降法,根據(jù)已知人臉樣本對神經(jīng)網(wǎng)絡(luò)中權(quán)系數(shù)進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果即可對人臉進(jìn)行識別測試。
圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
為了檢測提出算法的性能,采用本文算法建立的三維人臉數(shù)據(jù)庫與Bosphorus大學(xué)提供的3D人臉數(shù)據(jù)庫[11]對算法進(jìn)行測評。其中,Bosphorus 3D人臉數(shù)據(jù)庫是采用基于結(jié)構(gòu)光的三維掃描儀對人臉進(jìn)行采集,里面包括表情變化的數(shù)據(jù)。該庫提供了對應(yīng)的三維人臉的24個特征點(diǎn)位置,這些位置都是由受過專業(yè)培訓(xùn)的人員進(jìn)行手工標(biāo)記得到的。在實(shí)驗(yàn)中使用了除左右耳垂點(diǎn)兩個特征點(diǎn)之外的22個特征點(diǎn)。Bosphorus 3D人臉數(shù)據(jù)庫部分人臉模型如圖5所示。本文算法自建的三維人臉數(shù)據(jù)庫中包含30個人臉信息,每個人臉拍攝15組人臉數(shù)據(jù),數(shù)據(jù)包括部分表情的變化。取其中10組共300張人臉數(shù)據(jù)作為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本集,然后取其余5組共150張人臉數(shù)據(jù)作為測試集。圖6描述了本文自建數(shù)據(jù)庫采用的部分二維圖像對。
圖5 Bosphorus 3D人臉數(shù)據(jù)庫部分模型
圖6 自建數(shù)據(jù)庫采用的部分二維圖像對
對上面2個三維人臉數(shù)據(jù)庫,利用相同的特征,采用最近距離分類法和本文的BP神經(jīng)網(wǎng)絡(luò)分類法進(jìn)行識別比較,表2描述了2種識別方法對2種數(shù)據(jù)庫進(jìn)行識別比較的結(jié)果。由表2可知,對同一數(shù)據(jù)庫利用相同的特征,用本文的BP神經(jīng)網(wǎng)絡(luò)識別法比用最近距離識別法正確識別率高。由于Bosphorus數(shù)據(jù)庫是通過結(jié)構(gòu)光三維掃描儀獲得的,并用人工標(biāo)注特征點(diǎn),三維人臉坐標(biāo)相對較精確,因此采用相同的識別法對2個數(shù)據(jù)庫進(jìn)行識別,Bosphorus數(shù)據(jù)庫正確識別率要高于本文自建的數(shù)據(jù)庫的正確識別率,但該數(shù)據(jù)庫的獲取代價大,且工序繁瑣;盡管采用相同的識別法,本文自建人臉數(shù)據(jù)庫正確識別率略低于采用Bosphorus數(shù)據(jù)庫,但其正確識別率達(dá)到了90%左右,能滿足實(shí)際的需要,且本文算法簡單、經(jīng)濟(jì)。
表2 正確識別率比較
本文提出了基于雙目視覺三維人臉識別算法,該算法以結(jié)構(gòu)簡單的雙目立體視覺系統(tǒng)對人臉進(jìn)行采集,使采集過程友好、簡單、快捷;在識別過程中,利用ASM技術(shù)對二維圖像進(jìn)行二維特征點(diǎn)自動定位,并結(jié)合攝像機(jī)的內(nèi)外參數(shù)得出特征點(diǎn)的三維坐標(biāo),從而避免了復(fù)雜的人臉三維重建;并利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行識別,使正確識別率得到了提高。利用相同的特征,用最近距離分類法和本文的BP神經(jīng)網(wǎng)絡(luò)分類法,對本文建立的數(shù)據(jù)庫和Bosphorus數(shù)據(jù)庫進(jìn)行識別比較,發(fā)現(xiàn)本文算法簡單快捷,是一種經(jīng)濟(jì)、實(shí)用的三維人臉圖像識別算法。
[1]梁婷婷.種基于Retinex和PCA的人臉圖像識別方法[J].電視技術(shù),2013,37(5):172-174.
[2]李曉娟,楊唐文,阮秋琦,等.基于輪廓線特征的三維人臉識別改進(jìn)算法[J].鐵道學(xué)報(bào),2012,34(1):34-38.
[3]王躍明,潘綱,吳朝暉.三維人臉識別研究綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2008,20(7):819-829.
[4]SUN Yanfeng,TANG Hengliang,YIN Baocai.The 3D face recognition algorithm fusing multi-geometry features[J].Acta Automatica Sinica,2008,34(12):1483-1489.
[5]鹿樂,周大可,胡陽明.基于特征分塊的三維人臉重建和識別[J].計(jì)算機(jī)應(yīng)用,2012,32(11):3189-3192.
[6]林景亮,陳岳林.基于雙目視覺的三維人臉重建方法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(1):397-400.
[7]陳勝勇,劉盛.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[8]范玉華,馬建偉.ASM及其改進(jìn)的人臉面部特征定位算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2007,19(11):1411-1415.
[9]王福斌,劉杰,陳至坤,等.挖掘機(jī)器人雙目視覺系統(tǒng)標(biāo)定方法與立體匹配[J].電氣技術(shù)與自動化,2012,41(3):156-162.
[10]Bosphorus 3D人臉數(shù)據(jù)庫[EB/OL].[2013-06-10].http://bosphorus.ee.boun.edu.tr/default.aspx.
[11]ZHANG Zhengyou.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.