吳紅艷,楊 寧,陳 輝
(上海電力大學(xué) 自動(dòng)化工程學(xué)院, 上海 200000)
生物識(shí)別是模式識(shí)別領(lǐng)域的經(jīng)典問題,人體的表型尤其面部特征高度復(fù)雜,因此面部三維尺寸測量一直為當(dāng)前研究熱點(diǎn)和難點(diǎn)[1-2]。由于人類眼睛和鼻子近似剛性、表面曲率變化大、特征明顯,在人臉特征檢測中重要性更高,故對(duì)其進(jìn)行三維尺寸測量可有效為生物特征識(shí)別提供保障。
傳統(tǒng)面部三維測量多基于接觸式尺寸測量,如網(wǎng)格作圖法、標(biāo)尺測量法,這些方法耗時(shí)多且精度較低。基于二維圖像的非接觸式人臉三維測量方法[3]可避免特征損失,但用二維數(shù)據(jù)分析面部幾何結(jié)構(gòu)(如額部、鼻子以及眼睛的凸度)進(jìn)行描述時(shí),過度簡化復(fù)雜的面部結(jié)構(gòu),而忽略面部凸起的差異,具有一定的局限性。近年來,三維激光掃描[4]技術(shù)發(fā)展迅速,可快速、準(zhǔn)確地采集面部三維形態(tài),3D成像技術(shù)的發(fā)展帶來了人體測量學(xué)領(lǐng)域的新發(fā)展和應(yīng)用。因此探究面部三維尺寸的測量的方法更有利于面部形態(tài)學(xué)研究[5]。
Song等[6]提出檢測人臉3個(gè)區(qū)域特征并計(jì)算幾何特征和曲率距離,但測量必須依賴于精確的特征點(diǎn),會(huì)因隨機(jī)性造成測量誤差大;Vezzetti等[7]通過借助手動(dòng)提取面部測量參考點(diǎn)測量生長引起的面部變化,但手動(dòng)提取要求精度高,對(duì)面部測量的準(zhǔn)確度無法保證;Zhao等[8]通過神經(jīng)網(wǎng)絡(luò)模型對(duì)兩種人臉圖像間的相似性進(jìn)行測量,可有效訓(xùn)練深度人臉特征提取模型用于顱面重建,但需要大量的訓(xùn)練樣本;Mestetskiy等[9]利用表面測量平均邊緣距離評(píng)估3D人臉重建算法的準(zhǔn)確性,同時(shí)考慮連續(xù)3D表面確定重建的質(zhì)量;Fakhir等[10]通過在人臉兩只耳朵上使用特定的點(diǎn)對(duì)點(diǎn)距離實(shí)現(xiàn)人臉識(shí)別,從人耳推斷三維尺寸以提供物理生物特征,但對(duì)提取的3D幾何面部特征和特定節(jié)點(diǎn)要求高,且依賴于2D圖像的實(shí)際尺寸;Tang等[11]針對(duì)三維人臉關(guān)鍵點(diǎn)檢測,提取局部描述子進(jìn)行3種曲率測量并完成關(guān)鍵點(diǎn)檢測以用來描述和匹配;Ren等[12]提出一種結(jié)合紅外光柵結(jié)構(gòu)光的雙目立體視覺的快速測量方法,由于數(shù)字光處理(Digital Light Processing,DLP)投影機(jī)投影速度慢,無法很好地執(zhí)行動(dòng)態(tài)圖像采集。
針對(duì)上述問題,本文提出一種基于全局信息配準(zhǔn)結(jié)合切片法的人臉三維尺寸測量方法。具體方法為:首先,將排列均勻的結(jié)構(gòu)光編碼光三維點(diǎn)云和從運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(Structure From Motion,SFM)重建得到的點(diǎn)云進(jìn)行有效融合,在此基礎(chǔ)上,基于模糊C均值(Fuzzy C-Means,FCM)聚類算法對(duì)面部分割以去除多余噪聲點(diǎn);然后利用貪婪三角化表面重建并使用拉普拉斯算法網(wǎng)格優(yōu)化,對(duì)三維人臉重建網(wǎng)格進(jìn)行切片,計(jì)算相鄰兩個(gè)點(diǎn)之間的距離求取切片曲線;最后通過展開的切片計(jì)算人臉的三維尺寸。
SFM重建得到的人臉三維點(diǎn)云稀疏、不完整,常含有大量不規(guī)則孔洞,編碼結(jié)構(gòu)光投影方法獲得的三維點(diǎn)云分布均勻但人臉特征表示不明顯,為建立完整人臉三維點(diǎn)云模型,對(duì)兩種三維點(diǎn)云進(jìn)行有效融合。令pi和qi分別為SFM人臉模型點(diǎn)集P和編碼結(jié)構(gòu)光點(diǎn)集Q中的任意點(diǎn),為消除兩類不同傳感器獲得點(diǎn)云的尺度差異,采用主成分分析(Principal Component Analysis,PCA)方法計(jì)算尺度因子s來統(tǒng)一兩組點(diǎn)云的主軸方向[13]:
(1)
式中:dc為兩組點(diǎn)云中對(duì)應(yīng)點(diǎn)對(duì)間的距離;R為旋轉(zhuǎn)矩陣;t為平移矩陣。初始配準(zhǔn)如圖1所示,兩點(diǎn)集的配準(zhǔn)效果較差,并未完全融合在一起。
圖1 初始配準(zhǔn)結(jié)果
圖2 配準(zhǔn)融合結(jié)果
(2)
R=UcScVc
(3)
(4)
(5)
通過采集多視圖圖像獲得SFM人臉點(diǎn)云數(shù)據(jù),在經(jīng)過稠密重建點(diǎn)云后不可避免地會(huì)存在孔洞,而結(jié)構(gòu)光點(diǎn)云通過編碼獲得,具有均勻排列的優(yōu)點(diǎn),且沒有多余的噪聲點(diǎn)。因此,在點(diǎn)云配準(zhǔn)的基礎(chǔ)上,為了消除多余噪聲點(diǎn)對(duì)三維尺寸測量的影響,本文利用FCM[14]算法對(duì)Pc點(diǎn)云聚類分割。Pc={pcj,j=1,2,…,n,pcj∈Rd},為配準(zhǔn)后數(shù)據(jù)集;U={uij}(i=1,2,…,c;j=1,2,…,n),為模糊隸屬度矩陣,建立目標(biāo)函數(shù):
(6)
式中:ci為第i類的聚類中心;b為隸屬度的因子,即表示模糊加權(quán)指數(shù),該值大于1。通過改變加權(quán)指數(shù)值比較分割結(jié)果,其中在模糊加權(quán)指數(shù)值為2時(shí)能較好地達(dá)到分割效果,進(jìn)而有利于后續(xù)的三維測量,故本文取值為2(根據(jù)實(shí)驗(yàn)值,文獻(xiàn)中一般也為2);c為分割的類別數(shù)且2≤c≤n-1;n為點(diǎn)的數(shù)目;uij為第j個(gè)點(diǎn)屬于第i類的隸屬度,取值介于0~1之間,且滿足式(7)所示的約束條件。
(7)
為使目標(biāo)函數(shù)達(dá)到最小,利用拉格朗日乘子尋優(yōu)算法計(jì)算隸屬度函數(shù)和模糊聚類中心:
(8)
(9)
將式(8)、式(9)反復(fù)迭代,得到滿足式(6)的全局最優(yōu)解U*和V*。通過FCM算法得到的人臉點(diǎn)云聚類分割結(jié)果如圖3所示(為使實(shí)驗(yàn)結(jié)果更加清晰,在圖中用方框標(biāo)記)。圖3表明分割結(jié)果能將各部分區(qū)域較好地分割出來并進(jìn)行配準(zhǔn),方便后續(xù)進(jìn)行面部眼睛的面積測量。
圖3 人臉點(diǎn)云聚類分割結(jié)果
根據(jù)圖2實(shí)驗(yàn)結(jié)果,人臉模型點(diǎn)云配準(zhǔn)有效修補(bǔ)了SFM產(chǎn)生的孔洞,并補(bǔ)全了人眼部分的點(diǎn)云數(shù)據(jù),為后續(xù)對(duì)面部進(jìn)行三維測量奠定了基礎(chǔ)。為了進(jìn)一步去除冗余信息,對(duì)含有冗余信息的左眼點(diǎn)云部分使用MeshLab軟件中的濾波器工具進(jìn)行濾波處理[15],去除噪聲點(diǎn)云,結(jié)果如圖4所示。融合后的點(diǎn)云邊緣部分的噪聲點(diǎn)已被去除,可以有效計(jì)算眼睛的面積。
圖4 左眼點(diǎn)云去噪結(jié)果
針對(duì)人臉表面離散點(diǎn)云不平整問題,使用貪婪投影三角化算法重建點(diǎn)云的表面網(wǎng)格模型。首先,計(jì)算人臉模型SFM點(diǎn)云的法線向量,即計(jì)算點(diǎn)云的協(xié)方差矩陣的特征矢量和特征值[16],對(duì)于每一個(gè)點(diǎn)Bi,對(duì)應(yīng)的協(xié)方差矩陣C為
C·Vj=λj·Vj,j∈{0,1,2}
(10)
根據(jù)法線將三維點(diǎn)云投影到二維坐標(biāo)平面進(jìn)行平面內(nèi)三角化,獲得各個(gè)點(diǎn)的連接關(guān)系。通過選取一個(gè)樣本三角片作為初始曲面不斷擴(kuò)張曲面邊界,并繼續(xù)添加新的三角形,形成完整的三角網(wǎng)格曲面,最后根據(jù)投影點(diǎn)云的連接關(guān)系確定各原始三維點(diǎn)間的拓?fù)溥B接,所得到的三角網(wǎng)格即為重建得到的曲面模型。
貪婪三角化算法只對(duì)原始點(diǎn)云進(jìn)行快速三角化,不能在三角化的同時(shí)對(duì)曲面進(jìn)行平滑和孔洞修復(fù)。為去除三角網(wǎng)格模型的噪聲,同時(shí)保持模型的幾何特征和拓?fù)湫畔⒈3植蛔?,采用拉普拉斯[17]網(wǎng)格進(jìn)行優(yōu)化。
(11)
L=I-D-1A
(12)
(13)
根據(jù)矩陣L寫出其對(duì)稱矩陣:
Ls=DL=D-A
(14)
(15)
(16)
式中:φ為曲面繞gi的任意封閉的曲線,則有:
(17)
(18)
式中:對(duì)角矩陣Dp對(duì)位置約束均值加權(quán),優(yōu)化運(yùn)算結(jié)果及提高三角網(wǎng)格質(zhì)量,并與幾何誤差之間達(dá)到平衡。通過提高Dp可更高效地保留網(wǎng)格中的高曲率區(qū)域和關(guān)鍵特征以保留原來網(wǎng)格的幾何結(jié)構(gòu),增大DL權(quán)值,三角網(wǎng)格更佳且平滑度更高。其中網(wǎng)格平滑時(shí)有L=Lc(向外),或者L=Lu(向內(nèi))且f=0。
人臉模型三維曲面重建如圖5所示,從圖5(a)中可以明顯看到含有較多孔洞,圖5(b)為經(jīng)本文配準(zhǔn)融合后的人臉模型曲面重建。該模型點(diǎn)云個(gè)數(shù)為70442,經(jīng)三角化及網(wǎng)格優(yōu)化生成70547個(gè)三角面片,重建曲面耗時(shí)45 s,同時(shí)可以看到含有孔洞的地方已經(jīng)被修補(bǔ)好。然而重建圖形也表明在平滑處理時(shí)大部分關(guān)鍵特征仍然保留,但嘴巴左側(cè)的特征點(diǎn)在濾波處理以及平滑處理時(shí)被濾除掉,在計(jì)算三維尺寸時(shí)依賴于嘴巴右側(cè)的特征點(diǎn),結(jié)合結(jié)構(gòu)光的優(yōu)點(diǎn),可以降低對(duì)本文測量的影響。其中重建后的精度評(píng)價(jià)用點(diǎn)云與三維曲面模型的最大距離、點(diǎn)云與三維曲面模型的平均距離來表示,最大距離為0.0804 mm,平均距離為0.0040 mm,實(shí)驗(yàn)結(jié)果表明,曲面重建方式較好,且重建后的點(diǎn)云模型誤差也較小,可以認(rèn)定重建算法可行、結(jié)果正確。
圖5 人臉模型三維曲面重建
文獻(xiàn)[18]提出一種用于測量人臉鼻部相似性的新方法,采用一組測地線曲線制定一個(gè)相似性度量來比較鼻腔的相似度,受此啟發(fā),本文建立一種新的三維點(diǎn)云測量數(shù)學(xué)模型,具體方法如下。
① 對(duì)配準(zhǔn)融合后的人臉三維點(diǎn)云表面按坐標(biāo)x方向進(jìn)行切片:計(jì)算切片距離d(基于結(jié)構(gòu)光點(diǎn)云的間距),切片數(shù)量為m。
② 將每層切片數(shù)據(jù)中相鄰的兩點(diǎn)連線,并計(jì)算線段長度,求得線段總和。n為切片層上點(diǎn)云數(shù)量,Q*點(diǎn)集中點(diǎn)qi坐標(biāo)為(xi,yi,zi)。
(19)
③ 假設(shè)線段的端點(diǎn)坐標(biāo)(yj,zj),(yj+lj,zj)。首先計(jì)算相鄰切片點(diǎn)云之間的面積,如果d接近于0時(shí),則有s=dlj。其中,d的大小與曲面復(fù)雜程度和點(diǎn)云數(shù)據(jù)密度相關(guān)。切片面積計(jì)算為
(20)
(21)
將切片曲線展開,確定切片線段的位置,然后根據(jù)對(duì)應(yīng)關(guān)系求得第二片切片點(diǎn)云的位置,最終可得到m條切片線段的二維位置關(guān)系,然后計(jì)算面積之和,即
(22)
為驗(yàn)證本文人臉三維測量方法的有效性,對(duì)實(shí)驗(yàn)進(jìn)行驗(yàn)證,實(shí)驗(yàn)流程如圖6所示。SFM人臉模型實(shí)物如圖7所示。通過標(biāo)尺進(jìn)行實(shí)際測量,然后在網(wǎng)格紙上用細(xì)筆描繪出輪廓,多次計(jì)算該區(qū)域面積。
圖6 三維測量流程圖
圖7 SFM人臉模型實(shí)物圖
通過對(duì)處理后的點(diǎn)云進(jìn)行表面重建,面部眼睛面積及數(shù)據(jù)切片如圖8所示。圖8(b)所示為沿坐標(biāo)x向進(jìn)行點(diǎn)云數(shù)據(jù)切片,切片數(shù)量為m。切片結(jié)果如圖8(c)所示。根據(jù)式(19)計(jì)算每層切片點(diǎn)云的切片長度,計(jì)算結(jié)果如表1所示,表明眼睛區(qū)域自上而下各組切片的長度。在該過程中將所有切片求得的曲線展開,得到切片線段的二維片段,根據(jù)結(jié)構(gòu)光點(diǎn)云平行的特點(diǎn),這些線段兩兩平行如圖8(d)所示。
圖8 眼睛面積及數(shù)據(jù)切片
表1 沿面部x向切線長度(圖8(c)自上而下)
由于人臉模型眼睛面積實(shí)際值較難得到精確值,根據(jù)網(wǎng)格作圖法測量其真實(shí)值,而網(wǎng)格數(shù)對(duì)眼睛面積影響微乎其微,因此只要作圖和統(tǒng)計(jì)過程較為精準(zhǔn),可將其視為真值參照。多次測量并用實(shí)驗(yàn)標(biāo)準(zhǔn)差來表示被評(píng)定測量系統(tǒng)的重復(fù)性,通常以貝塞爾公式[19]計(jì)算實(shí)驗(yàn)的標(biāo)準(zhǔn)差σ:
(23)
(24)
式中:W為計(jì)算面積。
通過變換比例尺,根據(jù)誤差公式計(jì)算得到各方法的誤差值,如表2所示。本文3次實(shí)驗(yàn)結(jié)果的平均計(jì)算值為0.0226 cm2,絕對(duì)誤差為0.0029,其實(shí)驗(yàn)結(jié)果也依賴于配準(zhǔn)的精度。為了更加充分地驗(yàn)證本文方法的有效性,使用其他方法進(jìn)行對(duì)比。其他方法所得結(jié)果存在數(shù)據(jù)偏大或偏小的情況,通過對(duì)比分析,可能由于眼睛表面有一定的彎曲程度,在投影時(shí)得到的結(jié)果相對(duì)較小,使用網(wǎng)格重建法以及Geomagic Studio軟件測量時(shí)由于生成的三角網(wǎng)格可能存在重疊情況,因此在計(jì)算時(shí)會(huì)使結(jié)果相對(duì)較大。圖9為人眼面積誤差圖,由圖9可知本文方法的線性誤差相比其他方法較小。
表2 人臉模型左眼面積計(jì)算結(jié)果
圖9 人眼面積誤差圖
為了驗(yàn)證算法的普適性,對(duì)鼻子高度、內(nèi)眼角寬度以及嘴巴寬度進(jìn)行實(shí)驗(yàn)。由于計(jì)算平面距離不足以精確表明臉部的長度特征,本文對(duì)待測區(qū)域計(jì)算曲面距離?;谂錅?zhǔn)結(jié)果,通過切片方法利用式(19)計(jì)算得到待測區(qū)域的測量值。鼻子部分曲面距離如圖10所示,其測量的真實(shí)值為5.5 cm,基于人臉點(diǎn)云尺度不一致因素,通過換算單位和比例變換后計(jì)算值為51.0477 mm,與真實(shí)數(shù)據(jù)相比,誤差為3.9523 mm。內(nèi)眼角以及嘴巴部分的三維尺寸實(shí)際測量結(jié)果如圖11所示,測量的曲面距離如圖 12和圖13所示,對(duì)應(yīng)測量數(shù)據(jù)如表3所示。圖12表明SFM點(diǎn)云和結(jié)構(gòu)光點(diǎn)云精確配準(zhǔn),且通過本文方法能夠測量出內(nèi)眼角的曲面距離;在圖13中,右側(cè)圖表示重建后的嘴巴部分,可以看到它能較準(zhǔn)確地計(jì)算出嘴巴的曲面距離。在表3中可以看到由計(jì)算得到的鼻子曲面距離相對(duì)誤差比其他兩部分區(qū)域大,可能是由于在配準(zhǔn)時(shí)的誤差造成結(jié)果偏差(黑色圓圈處),所以配準(zhǔn)精度對(duì)此有一定的影響。
圖10 鼻子部分曲面距離
圖11 人臉模型真實(shí)測量值
圖12 內(nèi)眼角部分曲面距離
圖13 嘴巴部分曲面距離
表3 人臉模型其余部分計(jì)算結(jié)果
本文提出了一種基于結(jié)構(gòu)光與多視圖圖像點(diǎn)云配準(zhǔn)的非接觸式人臉三維尺寸測量方法。利用SFM點(diǎn)云和結(jié)構(gòu)光點(diǎn)云完成了雙向互補(bǔ),有效修補(bǔ)了SFM點(diǎn)云的大量孔洞并提出采用切片法實(shí)現(xiàn)面部尺寸測量。主要優(yōu)勢在于可避免接觸式測量易損壞表面特征和單一傳感器點(diǎn)云存在測量局限性等缺點(diǎn),并減小了三維測量誤差。后續(xù)工作會(huì)重點(diǎn)集中在三維點(diǎn)云的動(dòng)態(tài)實(shí)時(shí)性測量上,例如測量面部損傷面積、修復(fù)面部缺陷部位等,并實(shí)際應(yīng)用到真實(shí)人臉中。