專利名稱:一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法。
背景技術(shù):
在法醫(yī)病理學(xué)和人類學(xué)的研究中,為了確定死者的身份,在發(fā)現(xiàn)死者遺骨之 后通常需要首先確定死者的相貌。很多情況下,由于遺骨的存放環(huán)境和發(fā)現(xiàn)時間 的影響,遺骨軟組織通常已經(jīng)高度腐爛,造成法醫(yī)和人類學(xué)研究者無法直接獲得 死者的相貌信息。
為了鑒別人類遺骨的確定身份,從古至今人們一直在嘗試從尸骨遺存來恢復(fù) 死者生前面貌,即所謂的顱骨面貌復(fù)原。顱骨面貌復(fù)原是對人類的顱骨進(jìn)行面部 容貌復(fù)原的技術(shù)。該技術(shù)以法醫(yī)學(xué)、人類學(xué)、解剖學(xué)中的頭骨與面貌相互關(guān)系為 科學(xué)依據(jù),人類的面部都由肌肉、毛發(fā)等軟組織包圍著的顱骨組成,顱骨是容貌 的內(nèi)核和構(gòu)架,五官和頭部組織附著在顱骨的相應(yīng)部位上,形態(tài)受顱骨各部位的 結(jié)構(gòu)關(guān)系所影響和制約;頭部軟組織厚度,除頰部變化較大外,其余部位,尤其 是決定側(cè)面輪廓的正中矢面各部位的軟組織厚度比較恒定;面貌特征上的年齡變 化和性別特點(diǎn)在顱骨上可以得到比較明確的反映,而成年人的顱骨個體形態(tài)比較 恒定,存在一定的規(guī)律性。因此,基于顱骨形態(tài)的面貌復(fù)原技術(shù)必然有其可行性, 也就是說可以以顱骨的形狀特征為基礎(chǔ),以特定人群面部軟組織統(tǒng)計(jì)厚度為依據(jù), 采用其他人造材料或者方法根據(jù)顱骨展現(xiàn)出來的特征,適當(dāng)補(bǔ)充顱骨之上的軟組 織,從而達(dá)到面貌復(fù)原的目的,其中,顱骨的完整性是計(jì)算機(jī)三維顱面復(fù)原技術(shù) 的基礎(chǔ),而且為了讓復(fù)原結(jié)果更具真實(shí)感,必須給顱面添加紋理,從而得到一個 形象逼真的3D人臉模型。
顱骨面貌復(fù)原技術(shù)的研究可以追袖到十九世紀(jì)中葉,但真正投入大范圍使用
是在二十世紀(jì)五十年代。傳統(tǒng)復(fù)原采用的方法主要分為二維復(fù)原和三維復(fù)原。二 維復(fù)原使用顱骨正面照片或者臨摹圖作為基礎(chǔ),由有經(jīng)驗(yàn)的人類學(xué)家、藝術(shù)家或 者法醫(yī)人員描繪出死者生前的面貌;三維復(fù)原則主要采用的方法是在顱骨的模型 之上設(shè)置若干的具有高度的標(biāo)志點(diǎn),然后用黏土代替軟組織在標(biāo)志點(diǎn)之間采用塑 形的方法對人連進(jìn)行復(fù)原,除此之外還有人采用側(cè)位顱像法和顱像形態(tài)圖法。
但在傳統(tǒng)的顱骨面貌復(fù)原方法中,不論使用二維復(fù)原方法還是三維復(fù)原方法 進(jìn)行入臉復(fù)原都存在一些共同的問題首先,復(fù)原方法都是非常耗時的工作,比如 采用粘土塑形的方法復(fù)原一個人的面貌需要消耗近一個月的時間;其次,除了標(biāo)志 點(diǎn)的高度和定位有實(shí)際的數(shù)據(jù)支持之外,其余部分的復(fù)原都是根據(jù)復(fù)原者的個人
經(jīng)驗(yàn)進(jìn)行的,過多的人為因素影響了復(fù)原的準(zhǔn)確性和可靠性:第三,人類面部的軟
組織和形態(tài)依據(jù)人的種族和生活環(huán)境不同又有分別,采用這些方法進(jìn)行復(fù)原,每
次只能得到該顱骨針對某一個人種的大概相貌;最后,采用上述幾種方法復(fù)原的人
臉在后期修改比較困難。
發(fā)明內(nèi)容
為了克服已有顱面復(fù)原方法的費(fèi)時、準(zhǔn)確性和可靠性差的不足,本發(fā)明提供 一種快速性好、準(zhǔn)確性高、可靠性強(qiáng)的計(jì)算機(jī)輔助的三維顱面復(fù)原方法。 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是
一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,所述三維顱面復(fù)原方法包括以下步驟
1) 、掃描頭骨獲得3D數(shù)字顱骨模型;
2) 、把存在孔洞的3D數(shù)字顱骨模型先進(jìn)行顱骨孔洞的獲取和孔洞區(qū)域離散點(diǎn)的 插入,再采用空間多邊形的三角剖分進(jìn)行孔洞的填充,最后采用最小二乘法擬合 和徑向基函數(shù)插值來進(jìn)行局部和全局優(yōu)化進(jìn)行曲面的平滑優(yōu)化得到一個完整的數(shù) 字顱骨模型;
3) 、采用手工標(biāo)識特征點(diǎn)法和基于曲面的法線方向添加法向軟組織厚度的計(jì)算方
法獲得顱面特征點(diǎn),并對該離散的特征點(diǎn)進(jìn)行基于徑向基函數(shù)插值和三角剖分實(shí) 現(xiàn)曲面擬合優(yōu)化,獲得顱骨的面部復(fù)原雛形;
4)、把復(fù)原的面部雛形通過約束性紋理映射算法生成具有真實(shí)感的3D人臉模型。 作為優(yōu)選的一種方案所述的步驟l)中,采用3D掃描儀直接掃描頭骨。 作為優(yōu)選的另一種方案所述的步驟2)還包括以下步驟
(2.1)、顱骨模型孔洞的獲取通過兩個步驟來完成模型邊界點(diǎn)信息的提取和 孔洞的檢測與排序,其中,獲取模型邊界點(diǎn)過程為
Setpl: 建立一個臨時點(diǎn)數(shù)組Temp,并置為空;
Step2:對當(dāng)前點(diǎn)的所有鄰接三角網(wǎng)格上異于當(dāng)前點(diǎn)的點(diǎn)作如下操作如果
Temp包含此點(diǎn),則從Temp中刪除此點(diǎn),否則,把此點(diǎn)加入到Temp中;
Setp3: 檢查Temp,如果Temp為空,則當(dāng)前點(diǎn)為內(nèi)點(diǎn),否則為邊界點(diǎn),并 .目Temp中的點(diǎn)是和當(dāng)前點(diǎn)的鄰接邊界點(diǎn);
在得到模型的邊界點(diǎn)后,孔洞的檢測與排序過程為在邊界點(diǎn)集V中取出一 點(diǎn)vl,以vl為當(dāng)前點(diǎn),在V中查找它的邊界邊鄰接點(diǎn)v2,然后以v2代替vl作為 當(dāng)前點(diǎn),重復(fù)此歩驟,直到V中找不到當(dāng)前點(diǎn)的邊界邊鄰接點(diǎn),這樣就完成了一 個孔洞的查找,按以上步驟査找,直到V中點(diǎn)的個數(shù)等于零,則完成了孔洞的分 類和排序;
(2.2)、孔洞區(qū)域離散點(diǎn)的插入過程為設(shè)當(dāng)前邊界點(diǎn)為pi,其邊界鄰接點(diǎn) 為pi-l,pi+l,求出當(dāng)前邊界點(diǎn)pi的兩鄰接邊的內(nèi)夾角a和兩鄰接邊的平均長度
<formula>formula see original document page 8</formula>,將夾角a平分成n+l個/ ,在角分線上以長度L截取點(diǎn), 得到一個候選的插入點(diǎn)r,該插入點(diǎn)的坐標(biāo)計(jì)算公式為<formula>formula see original document page 8</formula>
然后以r替換當(dāng)前邊界點(diǎn)pi,重復(fù)此歩驟,'直到插入點(diǎn)覆蓋孔洞區(qū)域;
(2.3) 、采用三角剖分算法來進(jìn)行離散點(diǎn)的三角化;
(2.4) 、經(jīng)過離散點(diǎn)的三角網(wǎng)格化后,先采用最小二乘法在曲面過于彎曲的 地方加入點(diǎn)構(gòu)成新的三角網(wǎng)格來進(jìn)行曲面的局部優(yōu)化,然后用徑向基函數(shù)建立孔 洞曲面的隱式方程,進(jìn)行曲面的全局優(yōu)化。
作為優(yōu)選的再一種方案所述的步驟3)采用基于特征點(diǎn)的復(fù)原顱骨面貌, 復(fù)原過程包括以下步驟
G.l)、根據(jù)蘭玉文設(shè)定的36個特征點(diǎn)手工交互的在完整的3D數(shù)字顱骨模 型上標(biāo)記,對另一側(cè)做鏡像映射;
(3.2) 、在顱骨特征點(diǎn)處確定的基于曲面的法線方向并加上法向厚度的計(jì)算 方法,在顱骨模型上選取56個特征點(diǎn),通過選擇人類學(xué)軟組織厚度參數(shù),根據(jù)曲 面法線原理,建立數(shù)學(xué)模型,即在法線方向加已知的軟組織厚度值,用計(jì)算機(jī)自 動根據(jù)顱骨特征點(diǎn)計(jì)算出顱面特征點(diǎn);
(3.3) 、采用基于徑向基函數(shù)的插值方法來復(fù)原顱骨面貌,顱面復(fù)原的具體步
驟為
第一步對于每一個特征點(diǎn)i,在待復(fù)原顱骨模型上的特征點(diǎn)坐標(biāo)記為Pi,相
對應(yīng)的顱面特征點(diǎn)坐標(biāo)記為Pi',取f(p)滿足f(pi)=pr,這樣顱面上的非特征點(diǎn)坐
標(biāo)可以從f(pi)得到;
第二步對于f(pi^pi'式的徑向基函數(shù),取如下形式 /(" = tC'0(l"仏l)+鄉(xiāng)" (1)
'=1
其中,n為特征點(diǎn)數(shù)目,Ci為與特征點(diǎn)對應(yīng)的權(quán)系數(shù),^為徑向?qū)ΨQ函數(shù),仿射 分量M和1分別是3*3矩陣和3*1向量,設(shè)pi、 Ci和ti的三個分量對應(yīng)坐標(biāo)為x, y, z,矩陣M二(M》 i,j=0,l,2;
第三步在徑向基函數(shù)中消除仿射分量的影響,將—公式(1)與仿射變換約束
條件<formula>formula see original document page 10</formula>聯(lián)立,并且令<formula>formula see original document page 10</formula>得:
<formula>formula see original document page 10</formula>求出徑向基函數(shù)的系數(shù)c,(OS/S")和放射變換分量M, t.,然后根據(jù)(1)式 計(jì)算出所有待復(fù)原顱骨上的網(wǎng)格點(diǎn)所對應(yīng)的顱面網(wǎng)格點(diǎn)的位置,最后對獲得的顱 面特征點(diǎn)進(jìn)行Delaunay三角剖分,徑向?qū)ΨQ函數(shù)的選取為高斯函數(shù)①(r) = e力",
c為m。
進(jìn)一步,所述的步驟4)采取約束紋理映射,具體的過程為
(4.1) 、讀入模型與紋理從硬盤讀入需要進(jìn)行紋理映射的模型以及所選用 的紋理;
(4.2) 、在模型已經(jīng)紋理上通過手工添加約束點(diǎn)約束點(diǎn)的個數(shù)由模型的復(fù) 雜度決定,約束點(diǎn)越多,則映射效果越好,相對時間越慢。約束點(diǎn)要求成對出現(xiàn), 即模型上每一個約束點(diǎn)在紋理上必有一個對應(yīng)點(diǎn)。
(4.3) 、對模型以及紋理進(jìn)行分割根據(jù)約束點(diǎn),對紋理和模型進(jìn)行Delaunay分割。
(4.4) 、紋理映射對相應(yīng)的紋理片與三角網(wǎng)格塊進(jìn)行映射,紋理三角片同 三角網(wǎng)格相對應(yīng),三個頂點(diǎn)同邊的對應(yīng)關(guān)系已知,使用RBF插值得到網(wǎng)格內(nèi)部點(diǎn)
的紋理坐標(biāo)。
(4.5)、優(yōu)化映射結(jié)果對模型的映射結(jié)果進(jìn)行優(yōu)化,減少網(wǎng)格扭曲,得到 自然的映射效果。
更進(jìn)一步,在所述(2.3)中,采用Delaunay三角剖分算法來進(jìn)行離散點(diǎn)的 三角化。
本發(fā)明的技術(shù)構(gòu)思為通過三維掃描儀直接掃描獲得的3D數(shù)字顱骨模型;把
存在孔洞的3D數(shù)字顱骨模型先進(jìn)行顱骨孔洞的獲取和孔洞區(qū)域離散點(diǎn)的插入, 再采用空間多邊形的三角剖分進(jìn)行孔洞的填充,最后采用最小二乘法擬合和徑向 基函數(shù)插值來進(jìn)行局部和全局優(yōu)化進(jìn)行曲面的平滑優(yōu)化得到一個完整的數(shù)字顱骨 模型;采用手工標(biāo)識特征點(diǎn)法和基于曲面的法線方向添加法向軟組織厚度的計(jì)算 方法獲得顱面特征點(diǎn),并對該離散的特征點(diǎn)進(jìn)行基于徑向基函數(shù)插值和Delaunay 二角剖分實(shí)現(xiàn)曲面擬合優(yōu)化,獲得顱骨的面部復(fù)原雛形;把復(fù)原的面部雛形通過 約束性紋理映射算法生成具有真實(shí)感的3D人臉模型。
本發(fā)明的有益效果是能夠根據(jù)不同人種的頭顱結(jié)構(gòu),由三維掃描儀得到的 頭顱數(shù)據(jù)來快速、逼真和準(zhǔn)確地重構(gòu)三維面部模型;重建出不同人種的個性化逼 真臉部模型;重建的可視效果逼真、采用較少的用戶交互、耗時較少,并且對考古 學(xué)中古尸的面容復(fù)原、醫(yī)療臉部外科手術(shù)效果的預(yù)測、真實(shí)感的人臉動畫、以及 刑事案件中的受害者人臉識別等應(yīng)用領(lǐng)域具有重要的作用。
圖1是計(jì)算機(jī)輔助的三維顱面復(fù)原方法的系統(tǒng)總體結(jié)構(gòu)圖。 圖2是顱面復(fù)原方法的程序總體流程圖。 圖3是修補(bǔ)顱骨孔洞模型的流程圖。 圖4是復(fù)原顱骨面貌模型的流程圖。 圖5是標(biāo)記特征點(diǎn)的流程圖。
圖6是調(diào)整特征點(diǎn)的流程圖。 圖7是紋理映射生成逼真人臉模型的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
參照圖1 圖7, 一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,所述三維顱面復(fù)原方 法包括以下步驟
1) 、掃描頭骨獲得3D數(shù)字顱骨模型;
2) 、把存在孔洞的3D數(shù)字顱骨模型先進(jìn)行顱骨孔洞的獲取和孔洞區(qū)域離散點(diǎn)的
插入,再采用空間多邊形的三角剖分進(jìn)行孔洞的填充,最后采用最小二乘法擬合 和徑向基函數(shù)插值來進(jìn)行局部和全局優(yōu)化進(jìn)行曲面的平滑優(yōu)化得到一個完整的數(shù)
字顱骨模型;
3) 、采用手工標(biāo)識特征點(diǎn)法和基于曲面的法線方向添加法向軟組織厚度的計(jì)算方 法獲得顱面特征點(diǎn),并對該離散的特征點(diǎn)進(jìn)行基于徑向基函數(shù)插值和三角剖分實(shí) 現(xiàn)曲面擬合優(yōu)化,獲得顱骨的面部復(fù)原雛形;
4) 、把復(fù)原的面部雛形通過約束性紋理映射算法生成具有真實(shí)感的3D人臉模型。
圖1中,顱面復(fù)原方法系統(tǒng)總體結(jié)構(gòu)圖是本方法的總體方案,基于VTK軟
件開發(fā)包并在VC平臺上實(shí)現(xiàn),在已有頭骨模型的基礎(chǔ)上先進(jìn)行孔洞修補(bǔ),然后 添加并調(diào)整特征點(diǎn),再由點(diǎn)生成面,最后添加紋理從而得到一個逼真的面部模型。
圖2中,顱面復(fù)原方法的歩驟有獲取顱骨模型;修補(bǔ)顱骨模型;標(biāo)記和調(diào) 整顱骨特征點(diǎn);添加軟組織厚度計(jì)算獲得顱面特征點(diǎn);離散點(diǎn)插值擬合優(yōu)化得到 復(fù)原人臉面貌;紋理映射得到逼真的人臉模型。
在上述的顱面復(fù)原方法的步驟中,重建3D數(shù)字顱骨模型是復(fù)原的第一步。在 本發(fā)明的研究過程中,可以用3坐標(biāo)測量儀或3D掃描儀直接掃描頭骨,然后在 計(jì)算機(jī)中重建3D數(shù)字化顱骨頭像;也可以利用X射線、核磁共振以及CT等醫(yī)療檢測設(shè)備,由2D斷層圖像重建3D顱骨圖像。不管采用何種方法,重建數(shù)字顱 骨的總原則是,在保證顱骨對面貌的復(fù)原信息不丟失的前提下,構(gòu)成顱骨圖像的 原始數(shù)據(jù)量越少越好,以便在對顱骨圖像做交互操作處理時,有較快的響應(yīng)時間, 基于該原則,本發(fā)明的優(yōu)選方式為采用3D掃描儀直接掃描獲得3D數(shù)字顱骨模型。 圖3中,在上述的顱面復(fù)原方法的步驟中,修補(bǔ)顱骨孔洞模型得到完整的顱 骨模型是復(fù)原的基礎(chǔ)。本發(fā)明通過對國內(nèi)外孔洞修復(fù)技術(shù)研究情況的分析,發(fā)現(xiàn)
存在如下的問題
(1) 許多研究在構(gòu)造三角片時僅僅采用原有的孔洞多邊形頂點(diǎn),而沒有增加新
的三角片頂點(diǎn),導(dǎo)致修補(bǔ)后的三角面片并不優(yōu)良;
(2) 大多數(shù)的孔洞修補(bǔ)算法是針對單個孔洞的情況提出的,并沒有考慮島嶼孔 洞的修補(bǔ),這是因?yàn)榻鉀Q島嶼之間的填充問題,需要考慮的變化情況較多;
(3) 沒有很好的解決空間孔洞與相鄰曲面片的光滑連接問題,造成修補(bǔ)的網(wǎng)格 與周圍的三角片不能光滑的過渡,修補(bǔ)效果不夠理想,這只能算是某種意 義上的"填洞",而不是"補(bǔ)洞";
(4) 對于孔洞邊緣部分破損的,提取不到完整的邊界曲線情況沒有進(jìn)行很好的 處理。
針對這些問題,本發(fā)明的優(yōu)選方式為將顱骨模型孔洞的修補(bǔ)分為4個過程
1、顱骨模型孔洞的獲取,通過兩個步驟來完成模型邊界點(diǎn)信息的提取和孔 洞的檢測與排序。其中,模型邊界點(diǎn)的判斷算法為
Setpl.建立一個臨時點(diǎn)數(shù)組Temp,并置為空。
Step2.對當(dāng)前點(diǎn)的所有鄰接三角網(wǎng)格上異于當(dāng)前點(diǎn)的點(diǎn)作如下操作如果 Temp包含此點(diǎn),則從Temp中刪除此點(diǎn),否則,把此點(diǎn)加入到Temp中。
Setp3.檢查Temp,如果Temp為空,則當(dāng)前點(diǎn)為內(nèi)點(diǎn),否則為邊界點(diǎn),并且 Temp中的點(diǎn)是和當(dāng)前點(diǎn)的鄰接邊界點(diǎn)。
在得到模型的邊界點(diǎn)后,為了進(jìn)行孔洞修復(fù),必須找到每一個孔洞的邊界點(diǎn) 集,因此孔洞的檢測與排序算法總體思路為在邊界點(diǎn)集V中取出一點(diǎn)vl,以vl 為當(dāng)前點(diǎn),在V中査找它的邊界邊鄰接點(diǎn)v2,然后以v2代替vl作為當(dāng)前點(diǎn),重 復(fù)此步驟,直到V中找不到當(dāng)前點(diǎn)的邊界邊鄰接點(diǎn),這樣就完成了一個孔洞的查 找。按以上步驟查找,直到V中點(diǎn)的個數(shù)等于零,則完成了孔洞的分類和排序;
2、孔洞區(qū)域離散點(diǎn)的插入,在求取孔洞邊界后可得到一組離散點(diǎn)邊界集,為 了填充孔洞,需要在孔洞空間中插入新的離散點(diǎn),算法基本思想是設(shè)當(dāng)前邊界 點(diǎn)為pi,其邊界鄰接點(diǎn)為pi-l,pi+l,求出當(dāng)前邊界點(diǎn)pi的兩鄰接邊的內(nèi)夾角a和
兩鄰接邊的平均長度<formula>formula see original document page 14</formula>,將夾角a平分成n+l個beta, 在角分線 上以長度L截取點(diǎn),得到一個候選的插入點(diǎn)r,該插入點(diǎn)的坐標(biāo)計(jì)算公式為
<formula>formula see original document page 14</formula>然后以r替換當(dāng)前邊界點(diǎn)pi,重復(fù)此歩驟,直到插入點(diǎn)覆蓋孔洞區(qū)域;
3、 離散點(diǎn)的三角剖分,由于計(jì)算機(jī)輔助三維表示主要采用三角片表示法,所 以需要將離散點(diǎn)互連形成三角網(wǎng)格,而Delaunay三角剖分要求網(wǎng)格中的每個三角 形的外接圓在其內(nèi)部不包含給定集合的任何點(diǎn),這一準(zhǔn)則使得三角剖分不但唯一, 而且最優(yōu),所以其優(yōu)選方式采用Ddamiay三角剖分算法來進(jìn)行離散點(diǎn)的三角化;
4、 曲面平滑優(yōu)化,經(jīng)過離散點(diǎn)的三角網(wǎng)格化后,孔洞曲面的拓?fù)浣Y(jié)構(gòu)已經(jīng)形 成,但此時的孔洞多邊形一般都比較平坦,接近平面多邊形,存在同周圍原始網(wǎng) 格曲面不能光滑拼接的問題,即插入點(diǎn)的空間位置不能很好的使得補(bǔ)洞曲面具有 光滑性,所以還需要根據(jù)周圍曲面的變化趨勢來進(jìn)一步調(diào)整這些新插入點(diǎn)的空間 位置,使修補(bǔ)后的孔洞曲面能更接近模型的原始形狀。優(yōu)選方式先采用最小二乘 法在曲面過于彎曲的地方加入點(diǎn)構(gòu)成新的三角網(wǎng)格來進(jìn)行曲面的局部優(yōu)化,然后 用徑向基函數(shù)建立孔洞曲面的隱式方程,進(jìn)行曲面的全局優(yōu)化。
圖4中,在獲得完整顱骨之后以及鑒于從內(nèi)存數(shù)據(jù)量、運(yùn)行遠(yuǎn)度,3D表情、
肌理復(fù)原以及易于后期的紋理映射考慮,本發(fā)明優(yōu)選方式采用基于特征點(diǎn)的復(fù)原 顱骨面貌,特征點(diǎn)法是以少量特征點(diǎn)及其軟組織厚度為基礎(chǔ)的計(jì)算機(jī)輔助3D顱 骨面貌復(fù)原技術(shù),是用計(jì)算機(jī)模擬手工復(fù)原過程,在自身顱骨上生成面部皮膚。 這種方法只要求在數(shù)字化的顱骨上標(biāo)注少量特征點(diǎn)的軟組織厚度,所需的統(tǒng)計(jì)數(shù) 據(jù)較少。具體的復(fù)原過程分為3個過程
1、 圖5,圖6中,標(biāo)記和調(diào)整顱骨特征點(diǎn),特征點(diǎn)是頭部有明確定義的點(diǎn), 它包括顱骨特征點(diǎn)和顱面特征點(diǎn)。顱骨特征點(diǎn)是顱骨表面的一些在顱骨的幾何形 體上或解剖學(xué)上有意義并且容易定位的點(diǎn),通過這些特征點(diǎn),能夠唯一標(biāo)識特定 的個體,并且滿足重建三維人臉造型的需要。本發(fā)明的優(yōu)選方式是根據(jù)蘭玉文設(shè) 定的36個特征點(diǎn)手工交互的在完整的3D數(shù)字顱骨模型上標(biāo)記,對另一側(cè)做鏡像 映射。因?yàn)橹休S線上有16個特征點(diǎn),所以選取的總的特征點(diǎn)數(shù)為56。
2、 計(jì)算獲得顱面特征點(diǎn),顱面特征點(diǎn)是依據(jù)某種規(guī)則與顱骨特征點(diǎn)相對應(yīng)的 面部皮膚表面的點(diǎn)。由解剖學(xué)知識,每個顱骨特征點(diǎn)對用一個顱面特征點(diǎn),兩點(diǎn) 間的連線可以看作包含該顱骨特征點(diǎn)及附近點(diǎn)的小顱骨曲面片在該顱骨特征點(diǎn)處 的法線段,軟組織厚度值是法線段長度。其中軟組織厚度是根據(jù)蘭玉文等人統(tǒng)計(jì) 的漢族男性和女性的特征點(diǎn)軟組織厚度的指標(biāo)系統(tǒng)。本發(fā)明的優(yōu)選方式是在顱骨 特征點(diǎn)處確定的基于曲面的法線方向并加上法向厚度的計(jì)算方法。在顱骨模型上 選取56個特征點(diǎn),通過選擇一套正確的人類學(xué)軟組織厚度參數(shù),根據(jù)曲面法線原 理,建立數(shù)學(xué)模型,即在法線方向加已知的軟組織厚度值,就可以用計(jì)算機(jī)自動 根據(jù)顱骨特征點(diǎn)計(jì)算出顱面特征點(diǎn)。
例如設(shè)P (xO,yO,zO)是某一顱骨特征點(diǎn),N(nx,ny,nz)是該顱骨特征點(diǎn)的法 向量,h是該顱骨特征點(diǎn)的軟組織厚度值,Q(x,y,z)是與顱骨特征點(diǎn)P對應(yīng)的顱面 特征點(diǎn),則有
<formula>formula see original document page 16</formula>
3、復(fù)原顱骨面貌
在獲得了顱面特征點(diǎn)后,為了獲取面部信息,還要計(jì)算得到顱骨非特征點(diǎn)的 軟組織厚度信息,通過這些厚度信息就可以計(jì)算出顱面非特征點(diǎn)的三維坐標(biāo)。然 后通過對顱面上這些離散點(diǎn)進(jìn)行Delaunay三角剖分或插值擬合,就可以獲得顱骨 的面部曲面。
本發(fā)明的優(yōu)選方式是采用基于徑向基函數(shù)的插值方法來復(fù)原顱骨面貌,顱面 復(fù)原的具體步驟為
第一歩對于每一個特征點(diǎn)i,在待復(fù)原顱骨模型上的特征點(diǎn)坐標(biāo)記為Pi,相 對應(yīng)的顱面特征點(diǎn)坐標(biāo)記為Pi,,取f(p)滿足f(pi)=pr,這樣顱面上的非特征點(diǎn)坐 標(biāo)可以從f(pi)得到;
第二歩對于f(pi"pi'式的徑向基函數(shù),取如下形式
<formula>formula see original document page 16</formula>
其中,n為特征點(diǎn)數(shù)目,Ci為與特征點(diǎn)對應(yīng)的權(quán)《系數(shù),為徑向?qū)ΨQ函數(shù),仿射 分量M和t分別是3*3矩陣和3*1向量。設(shè)pi、 Ci和t,的三個分量對應(yīng)坐標(biāo)為x, y, z。矩陣M = (M》i,j=0,l,2;
第三步為了在徑向基函數(shù)中消除仿射分量的影響,需要將公式(1)與仿射 變換約束條件
<formula>formula see original document page 16</formula>
<formula>formula see original document page 17</formula>
聯(lián)立,并且<formula>formula see original document page 17</formula>可得:
<formula>formula see original document page 17</formula>于是可以求岀徑向基函數(shù)的系數(shù)c,(0《/^w)和放射變換分量M, t.,然后就
可以根據(jù)(1)式計(jì)算出所有待復(fù)原顱骨上的網(wǎng)格點(diǎn)所對應(yīng)的顱面網(wǎng)格點(diǎn)的位置,
最后對獲得的顱面特征點(diǎn)進(jìn)行Delaunay三角剖分,使得所有三角形的最小內(nèi)角之
和最大,這樣就可以在待復(fù)顱骨上插值實(shí)現(xiàn)顱面復(fù)原時盡可能的避免病態(tài)三角形
出現(xiàn),從而對復(fù)原的顱面起到平滑優(yōu)化的效果。其中對于徑向?qū)ΨQ函數(shù)的選取為
高斯函數(shù)<formula>formula see original document page 17</formula>這里的C為64。
圖7中,為了完整地得到一個形象逼真的3D人臉,還需要紋理映射。紋理
映射包括顏色紋理映射和幾何紋理映射兩方面內(nèi)容。其中,顏色紋理是呈現(xiàn)在不
同種族人臉表面上的各種不同的膚色。由于光照的原因,同一人臉的不同部位膚色
也有明暗差異,而幾何紋理廣義上是指基于景物表面微觀幾何形狀的表面紋理。
對顱像復(fù)原來說,幾何紋理就是人臉上的皺褶。每個人的皮膚并不是完全光滑,特
別是對臉部鮍褶很多的老年人而言,要復(fù)原逼真,不能不考慮到幾何紋理映射。但這
些方法的實(shí)現(xiàn)經(jīng)常會造成特征錯位,如紋理上的鼻子與眼睛和模型上的位置部吻
合。要解決這個問題,必須采取約束紋理映射。本發(fā)明優(yōu)選方式是采用一種分而
治之的紋理映射方法,具體實(shí)現(xiàn)步驟如下
(1)讀入模型與紋理從硬盤讀入需要進(jìn)行紋理映射的模型以及所選用的紋理。
17
(2) 在模型已經(jīng)紋理上通過手工添加約束點(diǎn)約束點(diǎn)的個數(shù)由模型的復(fù)雜度 決定,約束點(diǎn)越多,則映射效果越好,相對時間越慢。約束點(diǎn)要求成對出現(xiàn),即 模型上每一個約束點(diǎn)在紋理上必有一個對應(yīng)點(diǎn)。
(3) 對模型以及紋理進(jìn)行分割根據(jù)約束點(diǎn),對紋理和模型進(jìn)行Delaunay 分割。
(4) 紋理映射對相應(yīng)的紋理片與三角網(wǎng)格塊進(jìn)行映射,紋理三角片同三角
網(wǎng)格相對應(yīng),三個頂點(diǎn)同邊的對應(yīng)關(guān)系已知,使用RBF插值得到網(wǎng)格內(nèi)部點(diǎn)的紋 理坐標(biāo)。
(5) 優(yōu)化映射結(jié)果對模型的映射結(jié)果進(jìn)行優(yōu)化,減少網(wǎng)格扭曲,得到更自
然的映射效果。
權(quán)利要求
1、一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于所述三維顱面復(fù)原方法包括以下步驟1)、掃描頭骨獲得3D數(shù)字顱骨模型;2)、把存在孔洞的3D數(shù)字顱骨模型先進(jìn)行顱骨孔洞的獲取和孔洞區(qū)域離散點(diǎn)的插入,再采用空間多邊形的三角剖分進(jìn)行孔洞的填充,最后采用最小二乘法擬合和徑向基函數(shù)插值來進(jìn)行局部和全局優(yōu)化進(jìn)行曲面的平滑優(yōu)化得到一個完整的數(shù)字顱骨模型;3)、采用手工標(biāo)識特征點(diǎn)法和基于曲面的法線方向添加法向軟組織厚度的計(jì)算方法獲得顱面特征點(diǎn),并對該離散的特征點(diǎn)進(jìn)行基于徑向基函數(shù)插值和三角剖分實(shí)現(xiàn)曲面擬合優(yōu)化,獲得顱骨的面部復(fù)原雛形;4)、把復(fù)原的面部雛形通過約束性紋理映射算法生成具有真實(shí)感的3D人臉模型。
2、 如權(quán)利要求l所述的一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于所述的步驟l)中,采用3D掃描儀直接掃描頭骨。
3、 如權(quán)利要求1或2所述的一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于所述的步驟2)還包括以下步驟(2.1)、顱骨模型孔洞的獲取通過兩個歩驟來完成模型邊界點(diǎn)信息的提取和 孔洞的檢測與排序,其中,獲取模型邊界點(diǎn)過程為Setpl: 建立一個臨時點(diǎn)數(shù)組Temp,并置為空;Step2:對當(dāng)前點(diǎn)的所有鄰接三角網(wǎng)格上異于當(dāng)前點(diǎn)的點(diǎn)作如下操作如果 Temp包含此點(diǎn),則從Temp中刪除此點(diǎn),否則,把此點(diǎn)加入到Temp中;Setp3:檢查Temp,如果Temp為空,則當(dāng)前點(diǎn)為內(nèi)點(diǎn),否則為邊界點(diǎn),并 且Temp中的點(diǎn)是和當(dāng)前點(diǎn)的鄰接邊界點(diǎn);在得到模型的邊界點(diǎn)后,孔洞的檢測與排序過程為在邊界點(diǎn)集V中取出一 點(diǎn)vl,以vl為當(dāng)前點(diǎn),在V中查找它的邊界邊鄰接點(diǎn)v2,然后以v2代替vl作為 當(dāng)前點(diǎn),重復(fù)此步驟,直到V中找不到當(dāng)前點(diǎn)的邊界邊鄰接點(diǎn),這樣就完成了一 個孔洞的査找,按以上步驟査找,直到V中點(diǎn)的個數(shù)等于零,則完成了孔洞的分 類和排序;(2.2)、孔洞區(qū)域離散點(diǎn)的插入過程為設(shè)當(dāng)前邊界點(diǎn)為pi,其邊界鄰接點(diǎn) 為pi-l,pi+l,求出當(dāng)前邊界點(diǎn)pi的兩鄰接邊的內(nèi)夾角a和兩鄰接邊的平均長度<formula>formula see original document page 3</formula>,將夾角a平分成n+i個/ ,在角分線上以長度L截取點(diǎn),得到一個候選的插入點(diǎn)r,該插入點(diǎn)的坐標(biāo)計(jì)算公式為然后以r替換當(dāng)前邊界點(diǎn)pi,重復(fù)此步驟,直到插入點(diǎn)覆蓋孔洞區(qū)域;(2.3) 、采用三角剖分算法來進(jìn)行離散點(diǎn)的三角化;(2.4) 、經(jīng)過離散點(diǎn)的三角網(wǎng)格化后,先采用最小二乘法在曲面過于彎曲的 地方加入點(diǎn)構(gòu)成新的三角網(wǎng)格來進(jìn)行曲面的局部優(yōu)化,然后用徑向基函數(shù)建立孔 洞曲面的隱式方程,進(jìn)行曲面的全局優(yōu)化。
4、如權(quán)利要求1或2所述的一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于 所述的步驟3)采用基于特征點(diǎn)的復(fù)原顱骨面貌,復(fù)原過程包括以下步驟(3.1) 、根據(jù)蘭玉文設(shè)定的36個特征點(diǎn)手工交互的在完整的3D數(shù)字顱骨模 型上標(biāo)記,對另一側(cè)做鏡像映射;(3.2) 、在顱骨特征點(diǎn)處確定的基于曲面的法線方向并加上法向厚度的計(jì)算 方法,在顱骨模型上選取56個特征點(diǎn),通過選擇人類學(xué)軟組織厚度參數(shù),根據(jù)曲 面法線原理,建立數(shù)學(xué)模型,即在法線方向加已知的軟組織厚度值,用計(jì)算機(jī)自 動根據(jù)顱骨特征點(diǎn)計(jì)算出顱面特征點(diǎn); (3.3)、采用基于徑向基函數(shù)的插值方法來復(fù)原顱骨面貌,顱面復(fù)原的具體步驟為第一步對于每一個特征點(diǎn)i,在待復(fù)原顱骨模型上的特征點(diǎn)坐標(biāo)記為Pi,相 對應(yīng)的顱面特征點(diǎn)坐標(biāo)記為Pi,,取f(p)滿足f(pi)=Pi,,這樣顱面上的非特征點(diǎn)坐 標(biāo)可以從f(pi)得到;第二步對于f(pi"pi'式的徑向基函數(shù),取如下形式 /0) = t C,峰-J9,1) +鄉(xiāng)+ f ( 1 )亍=1其中,n為特征點(diǎn)數(shù)目,d為與特征點(diǎn)對應(yīng)的權(quán)系數(shù),^為徑向?qū)ΨQ函數(shù),仿射 分量M和t分別是3*3矩陣和3*1向量,設(shè)Pl、 Ci和ti的三個分量對應(yīng)坐標(biāo)為x, y, z,矩陣M = (7V^.) i,j=0,l,2;第三步在徑向基函數(shù)中消除仿射分量的影響,將公式(1)與仿射變換約束條件1>,=0聯(lián)立,并且令"人,=- ; , I) (1 2 乂, / ^ "),得<formula>formula see original document page 4</formula>求出徑向基函數(shù)的系數(shù)c,(OS/《")和放射變換分量M, t.,然后根據(jù)(1)式 計(jì)算出所有待復(fù)原顱骨上的網(wǎng)格點(diǎn)所對應(yīng)的顱面網(wǎng)格點(diǎn)的位置,最后對獲得的顱 面特征點(diǎn)進(jìn)行Delaunay三角剖分,徑向?qū)ΨQ函數(shù)的選取為高斯函數(shù)O(。 = e力), C為64。
5、 如權(quán)利要求1或2所述的一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于-所述的步驟4)采取約束紋理映射,具體的過程為(4.1) 、讀入模型與紋理從硬盤讀入需要進(jìn)行紋理映射的模型以及所選用 的紋理;(4.2) 、在模型已經(jīng)紋理上通過手工添加約束點(diǎn)約束點(diǎn)的個數(shù)由模型的復(fù)雜度決定,約束點(diǎn)越多,則映射效果越好,相對時間越慢。約束點(diǎn)要求成對出現(xiàn), 即模型上每一個約束點(diǎn)在紋理上必有一個對應(yīng)點(diǎn)。(4.3) 、對模型以及紋理進(jìn)行分割根據(jù)約束點(diǎn),對紋理和模型進(jìn)行Delaunay 分割。(4.4) 、紋理映射對相應(yīng)的紋理片與三角網(wǎng)格塊進(jìn)行映射,紋理三角片同 三角網(wǎng)格相對應(yīng),三個頂點(diǎn)同邊的對應(yīng)關(guān)系已知,使用RBF插值得到網(wǎng)格內(nèi)部點(diǎn) 的紋理坐標(biāo)。(4.5) 、優(yōu)化映射結(jié)果對模型的映射結(jié)果進(jìn)行優(yōu)化,減少網(wǎng)格扭曲,得到 自然的映射效果。
6、 如權(quán)利要求3所述的一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,其特征在于在所 述(2.3)中,采用Delamiay三角剖分算法來進(jìn)行離散點(diǎn)的三角化。
全文摘要
一種計(jì)算機(jī)輔助的三維顱面復(fù)原方法,包括以下步驟1)掃描頭骨獲得3D數(shù)字顱骨模型;2)把存在孔洞的3D數(shù)字顱骨模型先進(jìn)行顱骨孔洞的獲取和孔洞區(qū)域離散點(diǎn)的插入,再采用空間多邊形的三角剖分進(jìn)行孔洞的填充,最后采用最小二乘法擬合和徑向基函數(shù)插值來進(jìn)行局部和全局優(yōu)化進(jìn)行曲面的平滑優(yōu)化得到一個完整的數(shù)字顱骨模型;3)采用手工標(biāo)識特征點(diǎn)法和基于曲面的法線方向添加法向軟組織厚度的計(jì)算方法獲得顱面特征點(diǎn),并對該離散的特征點(diǎn)進(jìn)行基于徑向基函數(shù)插值和三角剖分,獲得顱骨的面部復(fù)原雛形;4)把復(fù)原的面部雛形通過約束性紋理映射算法生成具有真實(shí)感的3D人臉模型。本發(fā)明快速性好、準(zhǔn)確性高、可靠性強(qiáng)。
文檔編號G06T17/00GK101339670SQ20081006346
公開日2009年1月7日 申請日期2008年8月7日 優(yōu)先權(quán)日2008年8月7日
發(fā)明者吳福理, 梁榮華, 毛劍飛, 王銀燕, 莉 蔣, 矛 陳, 黃體楠, 黃鮮萍 申請人:浙江工業(yè)大學(xué)