王 琳,趙俊莉*,黃瑞坤,李淑嫻,李守哲
(1. 青島大學(xué) 數(shù)據(jù)科學(xué)與軟件工程學(xué)院,山東 青島266071;2. 大連大學(xué) 機(jī)械工程學(xué)院,遼寧 大連116622;3. 威斯康星大學(xué) 麥迪遜分校文理學(xué)院,美國威斯康星州麥迪遜53706)
利用人的顱骨進(jìn)行面貌復(fù)原是一個(gè)古老的課題。在公安法醫(yī)學(xué)領(lǐng)域,為了更快速地偵破案件,通常需要及時(shí)辨別死者的身份,由于尸體遺骨軟組織高度腐爛的情況時(shí)有發(fā)生,導(dǎo)致死者的容貌難以分辨,為了更高效地鑒定死者的身份,人們開始嘗試依據(jù)顱骨來復(fù)原死者的面貌.
早期顱面復(fù)原技術(shù)[1]采用手工復(fù)原方法,復(fù)原過程復(fù)雜,耗費(fèi)時(shí)間長(zhǎng)。近年來計(jì)算機(jī)技術(shù)的介入提高了顱面復(fù)原的準(zhǔn)確性,使得復(fù)原結(jié)果更加客觀、高效。計(jì)算機(jī)輔助顱面復(fù)原技術(shù)可分為兩類:基于軟組織厚度的顱面復(fù)原法和統(tǒng)計(jì)模型法。前者是以面部軟組織厚度分布規(guī)律為前提進(jìn)行的復(fù)原[2-5]。在此種方法下進(jìn)行的顱面復(fù)原,很難做到準(zhǔn)確描述顱面形態(tài)信息,顱面形態(tài)變化的高度復(fù)雜性難以得到體現(xiàn)。統(tǒng)計(jì)模型的融入通過對(duì)大量顱面數(shù)據(jù)的統(tǒng)計(jì)分析,獲取顱骨和相貌特征之間的本質(zhì)關(guān)系,并依據(jù)這種關(guān)系進(jìn)行面貌復(fù)原,使得顱面復(fù)原的效率和準(zhǔn)確度得到了顯著提升,已成為顱面復(fù)原研究領(lǐng)域較為熱門的關(guān)注點(diǎn)[6]。
顱面統(tǒng)計(jì)復(fù)原方法一般是將顱骨數(shù)據(jù)和對(duì)應(yīng)的人臉數(shù)據(jù)作為訓(xùn)練樣本,采用統(tǒng)計(jì)模型的方法對(duì)給定的未知顱骨數(shù)據(jù)來估算面皮數(shù)據(jù)。Claes 等[7]首次在顱面復(fù)原研究中引入統(tǒng)計(jì)模型,并使用稠密點(diǎn)表示的面貌和52 個(gè)稀疏特征點(diǎn)表示的顱骨建立主成分分析(Pricinple Component Analysis,PCA)統(tǒng)計(jì)模型。Berar 等人[8]采用類似的統(tǒng)計(jì)模型建立了稀疏網(wǎng)格表示的顱面變形模型。Hu[9]等人提出了層次化統(tǒng)計(jì)模型,采用稠密點(diǎn)云來表示面皮和顱骨數(shù)據(jù)。 Zhang 等[10]將顱骨、面皮模型按照生理結(jié)構(gòu)進(jìn)行區(qū)域劃分,以分區(qū)為單位進(jìn)行PCA 統(tǒng)計(jì)復(fù)原,融合后得到誤差較小的復(fù)原面貌。Berar 等人[11]利用稀疏網(wǎng)格來表示顱骨和面皮數(shù)據(jù),并通過構(gòu)建顱骨特征點(diǎn)到面皮的回歸模型來完成復(fù)原。Duan 等人[12-13]提出了面貌對(duì)顱骨的層次化回歸模型來實(shí)現(xiàn)面貌復(fù)原,且回歸模型構(gòu)建過程中融合了偏最小二乘回歸的方法,建模效率獲得進(jìn)一步提高。Madsen[14]等人創(chuàng)建了一個(gè)聯(lián)合面部形狀模型、顱骨形狀模型和軟組織厚度標(biāo)記信息的概率模型來獲得給定頭骨形狀的合理面部形狀分布。在這些方法中,采用全部數(shù)據(jù)稠密點(diǎn)的顱面樣本計(jì)算量大,而手工標(biāo)記特征點(diǎn)又費(fèi)時(shí)費(fèi)力且不準(zhǔn)確;而且顱面形態(tài)復(fù)雜,生理特征點(diǎn)確定困難;因此如何自動(dòng)選擇用于統(tǒng)計(jì)復(fù)原模型的特征點(diǎn)[15]是該方法的關(guān)鍵。
本文依據(jù)顱面形態(tài)的幾何結(jié)構(gòu),將顱面用一組從鼻尖出發(fā)的徑向曲線表示,使用顱骨和人臉面皮上提取的徑向曲線作為訓(xùn)練樣本數(shù)據(jù),構(gòu)建了一種基于徑向曲線自動(dòng)定位顱面特征點(diǎn)的顱面統(tǒng)計(jì)復(fù)原模型,可以減少模型中樣本數(shù)據(jù)的維度,提高顱面復(fù)原的精度和速度。
依據(jù)顱面形態(tài)的幾何結(jié)構(gòu),徑向曲線由顱面對(duì)稱面和顱面表面的交點(diǎn)來確定。我們提取以鼻尖點(diǎn)為源點(diǎn)且均勻分布于人臉的徑向曲線[16]來表示顱面。
鼻尖是人臉顯著的生理特征點(diǎn),因而本文以鼻尖點(diǎn)作為源點(diǎn),求取鼻尖點(diǎn)與顱面邊界等分點(diǎn)間的徑向曲線。在經(jīng)過預(yù)處理統(tǒng)一坐標(biāo)系后的標(biāo)準(zhǔn)姿態(tài)下的顱面模型,坐標(biāo)軸Y 方向指向人臉外側(cè),因此由Y 軸方向坐標(biāo)值最大的點(diǎn)即可確定鼻尖點(diǎn)。如圖1(a)所示。
為了減少噪聲造成的影響并提高準(zhǔn)確度,在估計(jì)顱面對(duì)稱面時(shí),首先在經(jīng)過標(biāo)準(zhǔn)化的目標(biāo)顱面上取以鼻尖點(diǎn)作為球心、距鼻尖點(diǎn)距離為R =0.5 的球形區(qū)域內(nèi)的點(diǎn)作為顱面裁剪區(qū)域FM。然后,以坐標(biāo)系平面YOZ 為鏡像平面,求得FM的鏡像模型。接著以鼻尖點(diǎn)為標(biāo)準(zhǔn)點(diǎn)將鏡像模型對(duì)齊到FM,由FM和組成的新的點(diǎn)云集合可表示為:,其中-F 是一個(gè)自對(duì)稱模型,F(xiàn)M和FmM對(duì)應(yīng)的平分線就是三維顱面模型的對(duì)稱面所在的平面。點(diǎn)集-F 中qi與qmi是左右臉的對(duì)稱點(diǎn),-F 中可以得到N 對(duì)對(duì)稱點(diǎn),利用這N對(duì)對(duì)稱點(diǎn),采用最小二乘擬合的方法求取顱面對(duì)稱面,如圖1(b)所示。
接下來通過顱面對(duì)稱面與顱面網(wǎng)格模型的交點(diǎn)計(jì)算第一條徑向曲線如圖1(c)所示,將顱面對(duì) 稱 面 繞 軸 線L0逐 次 旋 轉(zhuǎn)(180/m)°(0° <180/m <180°)即可獲取m 條徑向曲線(本文經(jīng)過實(shí)驗(yàn)取m = 30 條,如圖1(d)所示)。為了得到準(zhǔn)確的對(duì)應(yīng)點(diǎn),需要對(duì)徑向曲線進(jìn)行對(duì)齊工作,然后對(duì)這些點(diǎn)均勻重采樣,并使用均勻采樣點(diǎn)來表示徑向曲線,這里把每條徑向曲線重采樣點(diǎn)數(shù)K 取為200 個(gè)點(diǎn)。對(duì)每一條徑向曲線完成對(duì)齊與重采樣后,即可獲得每個(gè)顱面重采樣后的徑向曲 線J 表示為:J ={ A| A1,A2,A3,…,Am}。其中每條徑向曲線Ai( i = 1,2,…,m ) 為K 行3列的矩陣。
圖1 顱面徑向曲線提取Fig. 1 Extracted radial curves on craniofacial data
統(tǒng)計(jì)模型借助統(tǒng)計(jì)的方法分析多樣本數(shù)據(jù),并從中認(rèn)識(shí)和學(xué)習(xí)樣本統(tǒng)計(jì)規(guī)律,主成分分析(PCA)是最經(jīng)典的統(tǒng)計(jì)模型方法。由于稠密的顱面模型中存在大量噪音數(shù)據(jù),本文按如下方法建立基于徑向曲線的顱面統(tǒng)計(jì)復(fù)原模型。
本文經(jīng)過配準(zhǔn)后的每個(gè)顱骨數(shù)據(jù)有N 個(gè)點(diǎn),以顱骨和人臉面皮上提取的徑向曲線作為訓(xùn)練樣本數(shù)據(jù),建立基于徑向曲線的統(tǒng)計(jì)模型,復(fù)原未知顱骨對(duì)應(yīng)人臉的徑向曲線的步驟如下:
(1)建立訓(xùn)練樣本的顱骨向量:C =[ C1,C2,...,Cn]T;
(2)建立訓(xùn)練樣本面皮上的徑向曲線向量:J =[ J1,J2,...,Jm]T;
(3)將顱骨向量與面皮上的徑向曲線向量組合建立基于PCA 的統(tǒng)計(jì)模型:
接著,由公式(2)中的部分方程C = Φcb 通過訓(xùn)練樣本數(shù)據(jù)可求得到系數(shù)b:
Φ 表示一個(gè)矩陣,它的列為協(xié)方差矩陣的特征向量,b 表示模型的形狀參數(shù)。對(duì)于待復(fù)原顱骨,將系數(shù)b 代入公式(1)后即可求得其對(duì)應(yīng)人臉的徑向曲線。如圖2 所示為復(fù)原的一個(gè)人臉的徑向曲線。
圖2 復(fù)原的一個(gè)人臉的徑向曲線Fig. 2 Reconstructed radial curves of a skin
3.2.1 建立人臉統(tǒng)計(jì)模型
統(tǒng)計(jì)模型通過學(xué)習(xí)大量樣本信息,能夠得到對(duì)象形狀信息的統(tǒng)計(jì)經(jīng)驗(yàn),從而獲取更加精確的三維復(fù)雜對(duì)象的形狀信息。本文采用PCA 按照如下方式建立人臉統(tǒng)計(jì)模型:
將一套人臉的原始數(shù)據(jù)看作一個(gè)樣本向量,記 為,1≤i≤N,對(duì)于N個(gè)人臉樣本向量,首先計(jì)算其協(xié)方差矩陣:
接下來求CF的特征值和特征向量,將特征值按照降序排列,取前m個(gè)最大的特征值λ=(λ1,λ2,…,λm) 和 對(duì) 應(yīng) 的 特 征 向 量U =(U1,U2,...,Um)。
hi代表樣本向量的主分量,可以由以下線性組合表示:
則人臉空間的任一形狀可利用主分量的組合形式近似表示為:
其中:α =(α1,α2,...,αm)為模型參數(shù),同時(shí)αi服從高斯分布。在該模型中,參數(shù)α取不同的值可以得到不同的人臉。
3.2.2 由徑向曲線估計(jì)人臉
建立人臉模型后,本文通過復(fù)原出的徑向曲線估計(jì)人臉統(tǒng)計(jì)模型參數(shù)α,進(jìn)而估計(jì)出待復(fù)原顱骨對(duì)應(yīng)的面貌。為了使得基于徑向曲線的顱面復(fù)原效果達(dá)到最好的狀態(tài),需要不斷調(diào)整模型參數(shù)α,以盡量縮小由徑向曲線估計(jì)出的模型與統(tǒng) 計(jì) 模 型 之 間 的 誤 差 ,即 最 小 化min‖‖F(xiàn)model(α)-F*,F(xiàn)*表示根據(jù)徑向曲線復(fù)原出的模型。具體過程如下:
首先,設(shè)α初值為0,此時(shí)Fmodel(α)= -F,然后利用迭代最近點(diǎn)(ICP)算法確定模型Fmodel(α)中與復(fù)原出的徑向曲線J對(duì)應(yīng)的點(diǎn)J′。
接下來由徑向曲線即可估計(jì)統(tǒng)計(jì)模型參數(shù)α:令J - J′= hg α,其中hg表示hi中與徑向曲線點(diǎn)對(duì)應(yīng)的分量,通過最小二乘法可求得α =(hgThg)-1hgT(J′- J)。
新 的 系 數(shù)α確 定 后 ,人 臉 模 型Fmodel(α) 便 得以重新計(jì)算。迭代上述步驟,使模型之間的誤差達(dá)到最小的狀態(tài),以此求得待復(fù)原的人臉模型。
本文用到的顱面數(shù)據(jù)來自教育部虛擬現(xiàn)實(shí)應(yīng)用工程研究中心建立的顱面數(shù)據(jù)庫,包括192套完整的顱骨和面皮數(shù)據(jù),由螺旋CT 掃描儀對(duì)年齡在19~75 歲志愿者的頭部掃描采集得到。首先,從原始CT 切片圖像中提取出顱面輪廓,并使用Marching Cubes 算法[17]完成顱面 的三維建模。然后將所有三維顱面數(shù)據(jù)統(tǒng)一至法蘭克福坐標(biāo)系下[18-19],以消除不同姿態(tài)等因素的影響。由于整個(gè)顱面的頂點(diǎn)過多,且面部特征主要集中在頭部的前面部分,因此本文選擇一組顱面數(shù)據(jù)作為參考模板,將其后面部分切除。最后,將所有顱面模型通過TPS(Thin Plate Spline)非剛性配準(zhǔn)方法[9,20]進(jìn)行配準(zhǔn),配準(zhǔn)后每個(gè)顱骨和面皮數(shù)據(jù)分別包含41 059 和40 969 個(gè)頂點(diǎn)。
對(duì)上述192 套顱面數(shù)據(jù),分別采用本文提出的基于徑向曲線的顱面統(tǒng)計(jì)復(fù)原方法和經(jīng)典的PCA 統(tǒng)計(jì)復(fù)原方法進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)采用留一法[21],即把192 套中的1 套用來測(cè)試,另外191 套用來訓(xùn)練,依次循環(huán),復(fù)原出相應(yīng)的192 個(gè)人臉,與原始面貌進(jìn)行對(duì)比,利用歐式距離計(jì)算出誤差。兩種復(fù)原方法的復(fù)原結(jié)果如下表1 所示,誤差圖中藍(lán)色表示誤差為0,紅色表示誤差最大(彩圖見期刊電子版)。可看出基于徑向曲線的顱面復(fù)原效果更好,復(fù)原出的面貌與原始面貌更接近。
表1 復(fù)原結(jié)果比較Tab. 1 Comparison of reconstructed results
對(duì)于192 套測(cè)試樣本在兩種復(fù)原方法下得到的復(fù)原人臉,分別計(jì)算其與對(duì)應(yīng)的原始人臉之間的距離誤差,包括最小值、平均值、最大值、方差4種指標(biāo),并最終求出192 個(gè)復(fù)原人臉各項(xiàng)距離誤差對(duì)應(yīng)的均值,如表2 所示。顯然本文方法的各項(xiàng)平均距離誤差均顯著小于PCA 復(fù)原誤差。
表2 統(tǒng)計(jì)距離誤差的平均值Tab. 2 Average statistical distance error
為了更直觀地展示實(shí)驗(yàn)結(jié)果,本文用折線圖表示192 套測(cè)試樣本對(duì)應(yīng)的原始人臉與復(fù)原人臉的距離誤差,如圖3 所示,圖中橫坐標(biāo)軸表示樣本編號(hào)(間隔為10),縱坐標(biāo)軸表示原始人臉與復(fù)原人臉的距離誤差,很明顯基于徑向曲線的復(fù)原結(jié)果(綠色折線)與原始人臉的距離誤差比PCA 復(fù)原結(jié)果(藍(lán)色折線)更小,復(fù)原效果更好(彩圖見期刊電子版)。
圖3 原始人臉與復(fù)原人臉統(tǒng)計(jì)距離誤差Fig. 3 Statistical distance error between original faces and reconstructed faces
在復(fù)原速度方面,本文逐個(gè)對(duì)每個(gè)復(fù)原人臉分別用本文方法和PCA 顱面統(tǒng)計(jì)復(fù)原方法的復(fù)原時(shí)間進(jìn)行統(tǒng)計(jì),用直觀的折線圖表示,如圖4 所示;并分別計(jì)算兩類方法下192 個(gè)人臉復(fù)原時(shí)間的平均值,結(jié)果如表3 所示。圖4 橫坐標(biāo)軸表示樣本編號(hào)(間隔為10),縱坐標(biāo)軸表示單個(gè)樣本完成復(fù)原耗費(fèi)的時(shí)間,可以觀察到本文方法(綠色折線)所用的每個(gè)人臉的復(fù)原時(shí)間均短于PCA 顱面統(tǒng)計(jì)復(fù)原(藍(lán)色折線)所用的時(shí)間(彩圖見期刊電子版)。這是由于采用本文提出的徑向曲線進(jìn)行復(fù)原時(shí),徑向曲線的點(diǎn)數(shù)遠(yuǎn)少于進(jìn)行PCA 統(tǒng)計(jì)復(fù)原時(shí)采用的顱面全部數(shù)據(jù)的點(diǎn)數(shù),因而本文方法人臉復(fù)原耗費(fèi)的時(shí)間更短,即基于徑向曲線的顱面復(fù)原速度更快。表3 和圖4 從復(fù)原速度的角度驗(yàn)證了本文方法要優(yōu)于PCA 顱面統(tǒng)計(jì)復(fù)原效率。
表3 平均復(fù)原速度對(duì)比Tab. 3 Average reconstructed speed comparison
圖4 人臉復(fù)原時(shí)間對(duì)比Fig. 4 Time comparison of reconstructed faces
本文提出了一種新的基于徑向曲線的顱面統(tǒng)計(jì)復(fù)原模型,在三維顱面模型上提取了以鼻尖點(diǎn)為起點(diǎn)的均勻分布于人臉的徑向曲線作為顱面表示,自動(dòng)定位顱面幾何特征點(diǎn),以顱骨和人臉面皮上提取的徑向曲線建立顱面統(tǒng)計(jì)復(fù)原模型,采用留一法對(duì)192 套顱面數(shù)據(jù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:與基于PCA 的顱面復(fù)原方法相比,本文提出的基于徑向曲線的顱面統(tǒng)計(jì)復(fù)原方法的復(fù)原精度提高了2. 95 倍,速度提高了4. 01 倍。綜合分析后可以看出基于徑向曲線的顱面復(fù)原方法降低了模型中樣本數(shù)據(jù)的維度,提高了顱面復(fù)原的精度和速度,顱面復(fù)原的效果得到進(jìn)一步的改善。本文所提的基于徑向曲線的顱面統(tǒng)計(jì)復(fù)原方法不僅可以用于顱面復(fù)原中,也可用于三維顱骨或人臉的缺失補(bǔ)全等應(yīng)用中,徑向曲線的表示方法也可用于三維人臉識(shí)別、顱骨相似性度量等應(yīng)用中,對(duì)三維模型的分析、修補(bǔ)和識(shí)別也具有一定的借鑒意義。