榮 堅, 趙翠蓮, 范志堅, 陳曉波
(1.上海大學(xué)機電工程與自動化學(xué)院,上海 200072;2.上海交通大學(xué),上海 200240)
三維建模是計算機視覺和計算機圖形學(xué)領(lǐng)域中的一個基本問題,而人臉憑借其特有的普遍性成為眾多專家學(xué)者進行三維建模的研究對象。如今,三維人臉建模[1-2]技術(shù)已經(jīng)廣泛地應(yīng)用于影視制作、游戲娛樂、醫(yī)學(xué)、身份驗證和人機交互技術(shù)等諸多領(lǐng)域,它已經(jīng)成為計算機圖形學(xué)領(lǐng)域的一個研究熱點并受到普遍關(guān)注。
從20世紀70年代Parke建立第1個臉部模型[3-4]開始,許多研究人員致力于三維人臉建模的研究。特別是20世紀90年代以來,計算機視覺和計算機圖形學(xué)技術(shù)的迅猛發(fā)展為三維人臉建模提供了越來越強大的技術(shù)支持。臉部的三維數(shù)據(jù)是形成特定三維人臉模型的前提條件。總體上講,三維人臉數(shù)據(jù)可以通過兩種途徑取得:一是采用三維掃描儀等較復(fù)雜的硬件裝置,輔以較簡單的算法來獲取幾何及紋理數(shù)據(jù)。如康柏劍橋研究所的Waters等人利用掃描儀獲取的三維數(shù)據(jù)進行了三維頭部建模[5],Lee等人則用三維掃描儀獲取的三維數(shù)據(jù)創(chuàng)建了完整的三維人臉模型[6]。激光掃描裝置獲取數(shù)據(jù)精度高、速度快,但要求高性能的計算機和高價格的硬件設(shè)備,用于真實人臉數(shù)據(jù)采集難于推廣。二是采用普通相機輔以結(jié)構(gòu)光投影儀采集圖像,其采用較復(fù)雜的圖像處理和計算機視覺算法獲取數(shù)據(jù)。如哈佛大學(xué)的Zhang和Yau等人采用一個彩色相機和結(jié)構(gòu)光投影儀開發(fā)了一套三維數(shù)據(jù)采集系統(tǒng),并將該設(shè)備應(yīng)用于人臉數(shù)據(jù)采集中,實現(xiàn)了具備一定真實感的三維人臉建模[7]。該系統(tǒng)能同時獲取被測對象的幾何和紋理信息,由于其幾何和紋理數(shù)據(jù)一一對應(yīng),為后期建模提供了便利。然而,由于只通過一個測位進行測量,容易受到測量時的環(huán)境因素及人臉姿態(tài)影響,造成數(shù)據(jù)缺失,影響最終的建模效果。
為了彌補單一測位測量的局限性,本文開發(fā)了一套基于普通相機和結(jié)構(gòu)光投影儀的雙視角數(shù)據(jù)采集系統(tǒng)[8],通過增加測量視角,從兩個測位進行數(shù)據(jù)采集,并以此作為人臉數(shù)據(jù)采集設(shè)備開發(fā)了一套配套的三維人臉可視化建模軟件,形成了一個完整的真實感三維人臉重建系統(tǒng)。系統(tǒng)從成一定角度的兩個固定測位依次進行數(shù)據(jù)采集,在保證同時獲取測量對象具有對應(yīng)關(guān)系的三維幾何數(shù)據(jù)和紋理數(shù)據(jù)的基礎(chǔ)上,大大擴展了采集設(shè)備的測量范圍,放寬了測量時人臉姿態(tài)的嚴格限制,其通用性和靈活性大大提高。采集數(shù)據(jù)經(jīng)系統(tǒng)配套建模軟件處理可以建立真實感三維人臉模型,整個建模過程實現(xiàn)了可視化,同時支持鼠標(biāo)和鍵盤交互,用戶可以實時觀察建模過程中的各個細節(jié)。
一個完整的三維人臉重建系統(tǒng)通常需具備人臉數(shù)據(jù)采集、人臉模型重建、可視化交互等一系列功能,為此,建立如圖1所示的系統(tǒng)結(jié)構(gòu)。其功能模塊主要由兩部分組成:硬件模塊和軟件模塊。硬件模塊是系統(tǒng)前端,主要完成紋理數(shù)據(jù)采集、幾何數(shù)據(jù)自動解算、數(shù)據(jù)預(yù)處理等功能,為后端輸出測量對象的幾何數(shù)據(jù)和紋理數(shù)據(jù)。軟件模塊是系統(tǒng)后端,負責(zé)存儲和處理硬件模塊輸出的采集數(shù)據(jù),完成人臉三維模型的重建,同時實現(xiàn)建模過程的可視化交互。
圖1 系統(tǒng)結(jié)構(gòu)圖
數(shù)據(jù)采集模塊一大功能是完成數(shù)據(jù)采集。數(shù)據(jù)采集硬件設(shè)備,采用特殊的單目雙位測量系統(tǒng),從呈一定角度α的左、右兩個測位依次獲取數(shù)據(jù),每個測位均配置一臺結(jié)構(gòu)光投影儀和一臺數(shù)字相機,如圖2所示。結(jié)構(gòu)光三維測量技術(shù)原理,如圖3所示。投影儀主動投射預(yù)先設(shè)定的含有特定編碼特征的圖案至被測物體表面,由攝像機拍攝經(jīng)物體表面形狀調(diào)制的變形結(jié)構(gòu)光條紋,通過對變形條紋圖像的解碼來建立攝像機與投影儀間的對應(yīng)特征關(guān)系,再結(jié)合測量系統(tǒng)光路幾何參數(shù)可以獲取測量對象的三維幾何信息,同時得到幾何和紋理數(shù)據(jù)的一一對應(yīng)關(guān)系。兩側(cè)紋理照片的分辨率均為1280×1024。
圖2 硬件設(shè)備圖
圖3 測量原理圖
數(shù)據(jù)采集模塊的另一大功能是測量數(shù)據(jù)的預(yù)處理,主要是完成兩個測位測量數(shù)據(jù)的坐標(biāo)歸一化處理。最終需要建立的是三維人臉正面模型,而硬件設(shè)備兩側(cè)實際采集到的數(shù)據(jù)同正面相比都有一定角度的偏轉(zhuǎn),且二者坐標(biāo)系不統(tǒng)一,必須將兩側(cè)幾何數(shù)據(jù)同時向人臉正面方向轉(zhuǎn)換,得到方向統(tǒng)一且坐標(biāo)系統(tǒng)一的兩側(cè)幾何數(shù)據(jù)。這一過程亦在數(shù)據(jù)采集模塊中完成,硬件設(shè)備兩個測位之間的夾角α決定了坐標(biāo)系歸一化處理過程的轉(zhuǎn)換矩陣。
模型重建軟件系統(tǒng)在VC++平臺上開發(fā),模型可視化通過可視化開發(fā)包VTK(Visualization Toolkit)[9]實現(xiàn),完成三維人臉模型重建、可視化、用戶界面實現(xiàn)以及用戶交互等一系列功能,建模過程左右兩側(cè)測量數(shù)據(jù)各自單獨進行,軟件主界面中同時顯示兩側(cè)數(shù)據(jù)建模過程中的實時狀況。
數(shù)據(jù)精簡針對幾何點云數(shù)據(jù),理論上系統(tǒng)一次測量單側(cè)點云數(shù)據(jù)量能達到130萬,為提高處理效率,在保證建模效果的前提下有必要對數(shù)據(jù)進行必要精簡。
數(shù)據(jù)精簡包括均勻精簡和非均勻精簡。均勻精簡是指對所有原始數(shù)據(jù)采用同一規(guī)則進行精簡,非均勻精簡則是指對數(shù)據(jù)不同區(qū)域采用不同規(guī)則進行精簡。對于人臉數(shù)據(jù),適宜采用非均勻精簡。諸如鼻子和眼角區(qū)域,由于曲率突變明顯,要求的精度相對較高,有必要保留充足的數(shù)據(jù)點,而對于臉龐和面頰區(qū)域,凹凸變化不太明顯,且區(qū)域較大,精度要求相對較低,可以精簡更多數(shù)據(jù)。原始采集的點云數(shù)據(jù)按行列規(guī)則分布,試驗發(fā)現(xiàn),對于鼻子和眼角區(qū)域,按3×3矩陣進行精簡,對其進行重采樣,而對于臉龐和面頰區(qū)域,按9×9矩陣進行精簡,僅保留位于矩陣頂點位置的點,這樣既能顯著提高數(shù)據(jù)處理效率,又能很好地保持建模精度。
人臉是人臉重建過程中的唯一關(guān)注特征,而數(shù)據(jù)采集時不可避免的會同時采集到面部以外諸如背景、耳朵、脖子、衣領(lǐng)等特征的信息,這些都是噪聲數(shù)據(jù),必須進行剔除,從中分割提取出建模過程中的目標(biāo)特征數(shù)據(jù)。兩側(cè)采集到的點云數(shù)據(jù)在脖子、耳根處與面部之間由于頭發(fā)、遮擋等因素影響都會出現(xiàn)明顯的空洞,這為面部數(shù)據(jù)分割提供了依據(jù),模型重建軟件利用空洞形成的數(shù)據(jù)斷層提取人臉特征數(shù)據(jù)。兩側(cè)測量數(shù)據(jù)依次進行分割,分割后分別得到兩側(cè)面部數(shù)據(jù)。
系統(tǒng)最終要建立一個單一正面人臉模型,故而兩側(cè)面部數(shù)據(jù)分割提取完成后需要進行融合,使兩側(cè)數(shù)據(jù)在共同形成一張單一人臉。顯然,兩側(cè)人臉數(shù)據(jù)存在大量重疊區(qū)域,直接進行融合處理會造成大量的數(shù)據(jù)冗余。為此,融合之前需要對兩側(cè)人臉數(shù)據(jù)進行進一步分割處理,而測量硬件為分割提供了依據(jù)。硬件設(shè)備左側(cè)測位保證了右側(cè)人臉的數(shù)據(jù)完整性,右側(cè)測位則保證了左側(cè)人臉的數(shù)據(jù)完整性,為此,可以以人臉中垂面為分割基準,左側(cè)測位保留右側(cè)人臉數(shù)據(jù),右側(cè)測位保留左側(cè)人臉數(shù)據(jù),將兩側(cè)分割數(shù)據(jù)進行拼接顯示即可形成一張單一完整人臉。然而,僅僅對兩側(cè)面部數(shù)據(jù)做簡單分割和拼接顯示容易造成后期處理過程中接縫處出現(xiàn)間隙以及錯亂網(wǎng)格,無法保證建模效果,因此,實際操作中通常偏離中垂面進行分割,兩側(cè)人臉數(shù)據(jù)在中垂面附近各自預(yù)留一定的重疊點云作為過渡區(qū)域。
兩側(cè)拼接數(shù)據(jù)過渡區(qū)域存在大量重疊點,直接對拼接數(shù)據(jù)網(wǎng)格化必然在過渡區(qū)域形成重疊網(wǎng)格,導(dǎo)致紋理映射后最終人臉模型中接縫區(qū)域形成錯亂紋理,因此有必要對過渡區(qū)域進行數(shù)據(jù)融合處理。對兩側(cè)人臉分割數(shù)據(jù)過渡區(qū)域均進行點重采樣,剔除其他所有點,僅在人臉中垂面上各自保留一列重疊點,以此作為兩側(cè)人臉數(shù)據(jù)公共拼接邊界。如此,可以使兩側(cè)人臉分割后實現(xiàn)無縫拼接。圖4所示為分割融合示意圖。
圖4 分割融合示意圖
建立網(wǎng)格模型是形成最終人臉模型的基礎(chǔ),也是進行紋理映射的必要準備。
過渡區(qū)域融合處理之后的兩側(cè)人臉點云除了在公共邊界上存在重疊點之外,其他區(qū)域均不存在重疊點,這樣可以保證融合數(shù)據(jù)網(wǎng)格化操作過程中過渡區(qū)域不形成重疊和雜亂網(wǎng)格,同時公共邊界可以保證在人臉中垂面拼接線上兩側(cè)人臉幾何數(shù)據(jù)形成的網(wǎng)格完全拼合,避免拼接縫隙的產(chǎn)生,保證了后期紋理映射的逼真效果。點云網(wǎng)格化采用2D-Delaunay[10]三角化算法實現(xiàn),兩側(cè)人臉數(shù)據(jù)三角化過程依次進行。
要實現(xiàn)真實感人臉模型效果,必須對三角化后形成的人臉網(wǎng)格模型進行紋理映射,渲染出人臉的逼真紋理。兩側(cè)人臉幾何數(shù)據(jù)建模過程各自獨立進行,紋理映射也各自獨立進行。紋理映射的一個核心過程是依次計算兩側(cè)人臉紋理照片中各像素的紋理坐標(biāo),兩側(cè)紋理照片的分辨率均為1280×1024,而各像素紋理坐標(biāo)U、V范圍均在0~1之間,依據(jù)照片分辨率和各像素坐標(biāo)可以計算出各像素的紋理坐標(biāo)。如像素坐標(biāo)為(I,J)的某一像素對應(yīng)紋理坐標(biāo)為(J/1280,I/1024)。
本文以某一具體實驗人員為測量對象,利用此系統(tǒng)重建了真實感三維可視化人臉模型。如圖5所示為系統(tǒng)硬件設(shè)備采集到的左右兩側(cè)人臉坐標(biāo)歸一化后的原始數(shù)據(jù),左上角和左下角所示分別為左側(cè)測位獲取的幾何數(shù)據(jù)和紋理數(shù)據(jù),右上角和右下角則分別為右側(cè)測位獲取的幾何數(shù)據(jù)和紋理數(shù)據(jù),各側(cè)實測點云數(shù)量均為35000個,紋理數(shù)據(jù)分辨率均為1280×1024。由圖可知,實測數(shù)據(jù)在眉毛、眼睛、鼻孔等部位不同程度出現(xiàn)了數(shù)據(jù)缺失。
圖5 左右兩側(cè)原始采集數(shù)據(jù)
臉部數(shù)據(jù)分割之前對數(shù)據(jù)進行了精簡操作,鼻子區(qū)域和面部分別采用不同精簡度。圖6左右所示分別為左右兩側(cè)測量數(shù)據(jù)精簡后的效果圖。以耳朵與面部以及面部與脖子之間的空洞為依據(jù)分割出面部數(shù)據(jù),圖7為左右兩側(cè)測量數(shù)據(jù)各自提取出的人臉數(shù)據(jù)。在此基礎(chǔ)上進行兩側(cè)人臉數(shù)據(jù)融合,圖8所示為融合效果圖。融合之后兩側(cè)數(shù)據(jù)依次進行三角化處理,如圖9為三角網(wǎng)格模型效果圖。形成網(wǎng)格模型后進行紋理映射便能得到真實感三維人臉模型,圖10所示為最終的重建模型。
圖6 數(shù)據(jù)精簡效果
圖7 分割提取臉部數(shù)據(jù)
圖8 數(shù)據(jù)融合效果
圖9 三角網(wǎng)格模型
圖10 真實感三維人臉模型
本文開發(fā)了一套基于結(jié)構(gòu)光原理的雙視角數(shù)據(jù)采集設(shè)備,提出了一種基于雙視角幾何和紋理數(shù)據(jù)實現(xiàn)真實感三維人臉模型重建的新思路,并以VTK為可視化工具在VC++平臺上開發(fā)了一套數(shù)據(jù)處理軟件,形成了一個完整的三維人臉快速重建系統(tǒng)。通過試驗數(shù)據(jù)的驗證,得到了真實感較強的三維人臉可視化模型,證明了系統(tǒng)的可行性。系統(tǒng)硬件設(shè)備利用結(jié)構(gòu)光原理實現(xiàn)三維測量,為避免光柵干涉增加點云三維坐標(biāo)解算復(fù)雜度,測量時兩個測位依次進行測量,兩次測量的時間差會造成獲取的兩側(cè)紋理照片因光照條件不一致而存在灰度差異,影響最終的建模效果。這一缺陷可以通過圖像處理進行彌補,這也是后期的研究課題,本文采用的數(shù)據(jù)為理想條件下獲取的實驗數(shù)據(jù)。
[1]徐成華, 王蘊紅, 譚鐵牛. 三維人臉建模與應(yīng)用[J].中國圖象圖形學(xué)報, 2004, 9(8): 893-903.
[2]徐 琳, 袁保宗, 高 文. 真實感人臉建模研究的進展與展望[J]. 軟件學(xué)報, 2003, 14(4): 804-810.
[3]Parke F I. Computer generated animation of faces [C]//Proceedings of ACM Annual Conference, Boston,Massachusetts, United States, 1972: 451-457.
[4]Parke F I. A parametric model for human faces [R].Technical Report UTEC-CSc-75-04, University of Utah, Salt Lake City, Utah, USA, 1974.
[5]Water K, Terzopoulos D. Modeling and animating faces using scanned data [J]. Visualization and Computer Animation, 1991, 2(4): 23-128.
[6]Lee Y C, Terzopoulos D, Waters K. Realistic modeling for facial animation [C]//Computer Graphics, Annual Conference Series, SIGGRAPH, 1995: 55-62.
[7]Zhang S, Yau S T. Simultaneous three-dimensional geometry and color texture acquisition using single color camera [J]. Optical Engineering, 2008, 47(12):178-183.
[8]熊耀陽, 陳曉波, 孫 健, 等. 結(jié)構(gòu)光投影面部三維測量系統(tǒng)的研制[J]. 上海交通大學(xué)學(xué)報(醫(yī)學(xué)版),2009, 29(7): 837-842.
[9]Schroeder W J, Avila L S, Hoffman W. Visualizing with VTK: a tutorial [J]. IEEE Trans. on Computer Graphics and Applications, 2000, 20(5): 20-27.
[10]楊 欽. 限定Delaunay三角網(wǎng)格剖分技術(shù)[M]. 北京: 電子工業(yè)出版社, 2005: 127-153.