榮 堅(jiān), 趙翠蓮, 范志堅(jiān), 陳曉波
(1.上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,上海 200072;2.上海交通大學(xué),上海 200240)
三維建模是計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)領(lǐng)域中的一個(gè)基本問(wèn)題,而人臉憑借其特有的普遍性成為眾多專家學(xué)者進(jìn)行三維建模的研究對(duì)象。如今,三維人臉建模[1-2]技術(shù)已經(jīng)廣泛地應(yīng)用于影視制作、游戲娛樂(lè)、醫(yī)學(xué)、身份驗(yàn)證和人機(jī)交互技術(shù)等諸多領(lǐng)域,它已經(jīng)成為計(jì)算機(jī)圖形學(xué)領(lǐng)域的一個(gè)研究熱點(diǎn)并受到普遍關(guān)注。
從20世紀(jì)70年代Parke建立第1個(gè)臉部模型[3-4]開始,許多研究人員致力于三維人臉建模的研究。特別是20世紀(jì)90年代以來(lái),計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)技術(shù)的迅猛發(fā)展為三維人臉建模提供了越來(lái)越強(qiáng)大的技術(shù)支持。臉部的三維數(shù)據(jù)是形成特定三維人臉模型的前提條件。總體上講,三維人臉數(shù)據(jù)可以通過(guò)兩種途徑取得:一是采用三維掃描儀等較復(fù)雜的硬件裝置,輔以較簡(jiǎn)單的算法來(lái)獲取幾何及紋理數(shù)據(jù)。如康柏劍橋研究所的Waters等人利用掃描儀獲取的三維數(shù)據(jù)進(jìn)行了三維頭部建模[5],Lee等人則用三維掃描儀獲取的三維數(shù)據(jù)創(chuàng)建了完整的三維人臉模型[6]。激光掃描裝置獲取數(shù)據(jù)精度高、速度快,但要求高性能的計(jì)算機(jī)和高價(jià)格的硬件設(shè)備,用于真實(shí)人臉數(shù)據(jù)采集難于推廣。二是采用普通相機(jī)輔以結(jié)構(gòu)光投影儀采集圖像,其采用較復(fù)雜的圖像處理和計(jì)算機(jī)視覺(jué)算法獲取數(shù)據(jù)。如哈佛大學(xué)的Zhang和Yau等人采用一個(gè)彩色相機(jī)和結(jié)構(gòu)光投影儀開發(fā)了一套三維數(shù)據(jù)采集系統(tǒng),并將該設(shè)備應(yīng)用于人臉數(shù)據(jù)采集中,實(shí)現(xiàn)了具備一定真實(shí)感的三維人臉建模[7]。該系統(tǒng)能同時(shí)獲取被測(cè)對(duì)象的幾何和紋理信息,由于其幾何和紋理數(shù)據(jù)一一對(duì)應(yīng),為后期建模提供了便利。然而,由于只通過(guò)一個(gè)測(cè)位進(jìn)行測(cè)量,容易受到測(cè)量時(shí)的環(huán)境因素及人臉姿態(tài)影響,造成數(shù)據(jù)缺失,影響最終的建模效果。
為了彌補(bǔ)單一測(cè)位測(cè)量的局限性,本文開發(fā)了一套基于普通相機(jī)和結(jié)構(gòu)光投影儀的雙視角數(shù)據(jù)采集系統(tǒng)[8],通過(guò)增加測(cè)量視角,從兩個(gè)測(cè)位進(jìn)行數(shù)據(jù)采集,并以此作為人臉數(shù)據(jù)采集設(shè)備開發(fā)了一套配套的三維人臉可視化建模軟件,形成了一個(gè)完整的真實(shí)感三維人臉重建系統(tǒng)。系統(tǒng)從成一定角度的兩個(gè)固定測(cè)位依次進(jìn)行數(shù)據(jù)采集,在保證同時(shí)獲取測(cè)量對(duì)象具有對(duì)應(yīng)關(guān)系的三維幾何數(shù)據(jù)和紋理數(shù)據(jù)的基礎(chǔ)上,大大擴(kuò)展了采集設(shè)備的測(cè)量范圍,放寬了測(cè)量時(shí)人臉姿態(tài)的嚴(yán)格限制,其通用性和靈活性大大提高。采集數(shù)據(jù)經(jīng)系統(tǒng)配套建模軟件處理可以建立真實(shí)感三維人臉模型,整個(gè)建模過(guò)程實(shí)現(xiàn)了可視化,同時(shí)支持鼠標(biāo)和鍵盤交互,用戶可以實(shí)時(shí)觀察建模過(guò)程中的各個(gè)細(xì)節(jié)。
一個(gè)完整的三維人臉重建系統(tǒng)通常需具備人臉數(shù)據(jù)采集、人臉模型重建、可視化交互等一系列功能,為此,建立如圖1所示的系統(tǒng)結(jié)構(gòu)。其功能模塊主要由兩部分組成:硬件模塊和軟件模塊。硬件模塊是系統(tǒng)前端,主要完成紋理數(shù)據(jù)采集、幾何數(shù)據(jù)自動(dòng)解算、數(shù)據(jù)預(yù)處理等功能,為后端輸出測(cè)量對(duì)象的幾何數(shù)據(jù)和紋理數(shù)據(jù)。軟件模塊是系統(tǒng)后端,負(fù)責(zé)存儲(chǔ)和處理硬件模塊輸出的采集數(shù)據(jù),完成人臉三維模型的重建,同時(shí)實(shí)現(xiàn)建模過(guò)程的可視化交互。

圖1 系統(tǒng)結(jié)構(gòu)圖
數(shù)據(jù)采集模塊一大功能是完成數(shù)據(jù)采集。數(shù)據(jù)采集硬件設(shè)備,采用特殊的單目雙位測(cè)量系統(tǒng),從呈一定角度α的左、右兩個(gè)測(cè)位依次獲取數(shù)據(jù),每個(gè)測(cè)位均配置一臺(tái)結(jié)構(gòu)光投影儀和一臺(tái)數(shù)字相機(jī),如圖2所示。結(jié)構(gòu)光三維測(cè)量技術(shù)原理,如圖3所示。投影儀主動(dòng)投射預(yù)先設(shè)定的含有特定編碼特征的圖案至被測(cè)物體表面,由攝像機(jī)拍攝經(jīng)物體表面形狀調(diào)制的變形結(jié)構(gòu)光條紋,通過(guò)對(duì)變形條紋圖像的解碼來(lái)建立攝像機(jī)與投影儀間的對(duì)應(yīng)特征關(guān)系,再結(jié)合測(cè)量系統(tǒng)光路幾何參數(shù)可以獲取測(cè)量對(duì)象的三維幾何信息,同時(shí)得到幾何和紋理數(shù)據(jù)的一一對(duì)應(yīng)關(guān)系。兩側(cè)紋理照片的分辨率均為1280×1024。

圖2 硬件設(shè)備圖

圖3 測(cè)量原理圖
數(shù)據(jù)采集模塊的另一大功能是測(cè)量數(shù)據(jù)的預(yù)處理,主要是完成兩個(gè)測(cè)位測(cè)量數(shù)據(jù)的坐標(biāo)歸一化處理。最終需要建立的是三維人臉正面模型,而硬件設(shè)備兩側(cè)實(shí)際采集到的數(shù)據(jù)同正面相比都有一定角度的偏轉(zhuǎn),且二者坐標(biāo)系不統(tǒng)一,必須將兩側(cè)幾何數(shù)據(jù)同時(shí)向人臉正面方向轉(zhuǎn)換,得到方向統(tǒng)一且坐標(biāo)系統(tǒng)一的兩側(cè)幾何數(shù)據(jù)。這一過(guò)程亦在數(shù)據(jù)采集模塊中完成,硬件設(shè)備兩個(gè)測(cè)位之間的夾角α決定了坐標(biāo)系歸一化處理過(guò)程的轉(zhuǎn)換矩陣。
模型重建軟件系統(tǒng)在VC++平臺(tái)上開發(fā),模型可視化通過(guò)可視化開發(fā)包VTK(Visualization Toolkit)[9]實(shí)現(xiàn),完成三維人臉模型重建、可視化、用戶界面實(shí)現(xiàn)以及用戶交互等一系列功能,建模過(guò)程左右兩側(cè)測(cè)量數(shù)據(jù)各自單獨(dú)進(jìn)行,軟件主界面中同時(shí)顯示兩側(cè)數(shù)據(jù)建模過(guò)程中的實(shí)時(shí)狀況。
數(shù)據(jù)精簡(jiǎn)針對(duì)幾何點(diǎn)云數(shù)據(jù),理論上系統(tǒng)一次測(cè)量單側(cè)點(diǎn)云數(shù)據(jù)量能達(dá)到130萬(wàn),為提高處理效率,在保證建模效果的前提下有必要對(duì)數(shù)據(jù)進(jìn)行必要精簡(jiǎn)。
數(shù)據(jù)精簡(jiǎn)包括均勻精簡(jiǎn)和非均勻精簡(jiǎn)。均勻精簡(jiǎn)是指對(duì)所有原始數(shù)據(jù)采用同一規(guī)則進(jìn)行精簡(jiǎn),非均勻精簡(jiǎn)則是指對(duì)數(shù)據(jù)不同區(qū)域采用不同規(guī)則進(jìn)行精簡(jiǎn)。對(duì)于人臉數(shù)據(jù),適宜采用非均勻精簡(jiǎn)。諸如鼻子和眼角區(qū)域,由于曲率突變明顯,要求的精度相對(duì)較高,有必要保留充足的數(shù)據(jù)點(diǎn),而對(duì)于臉龐和面頰區(qū)域,凹凸變化不太明顯,且區(qū)域較大,精度要求相對(duì)較低,可以精簡(jiǎn)更多數(shù)據(jù)。原始采集的點(diǎn)云數(shù)據(jù)按行列規(guī)則分布,試驗(yàn)發(fā)現(xiàn),對(duì)于鼻子和眼角區(qū)域,按3×3矩陣進(jìn)行精簡(jiǎn),對(duì)其進(jìn)行重采樣,而對(duì)于臉龐和面頰區(qū)域,按9×9矩陣進(jìn)行精簡(jiǎn),僅保留位于矩陣頂點(diǎn)位置的點(diǎn),這樣既能顯著提高數(shù)據(jù)處理效率,又能很好地保持建模精度。
人臉是人臉重建過(guò)程中的唯一關(guān)注特征,而數(shù)據(jù)采集時(shí)不可避免的會(huì)同時(shí)采集到面部以外諸如背景、耳朵、脖子、衣領(lǐng)等特征的信息,這些都是噪聲數(shù)據(jù),必須進(jìn)行剔除,從中分割提取出建模過(guò)程中的目標(biāo)特征數(shù)據(jù)。兩側(cè)采集到的點(diǎn)云數(shù)據(jù)在脖子、耳根處與面部之間由于頭發(fā)、遮擋等因素影響都會(huì)出現(xiàn)明顯的空洞,這為面部數(shù)據(jù)分割提供了依據(jù),模型重建軟件利用空洞形成的數(shù)據(jù)斷層提取人臉特征數(shù)據(jù)。兩側(cè)測(cè)量數(shù)據(jù)依次進(jìn)行分割,分割后分別得到兩側(cè)面部數(shù)據(jù)。
系統(tǒng)最終要建立一個(gè)單一正面人臉模型,故而兩側(cè)面部數(shù)據(jù)分割提取完成后需要進(jìn)行融合,使兩側(cè)數(shù)據(jù)在共同形成一張單一人臉。顯然,兩側(cè)人臉數(shù)據(jù)存在大量重疊區(qū)域,直接進(jìn)行融合處理會(huì)造成大量的數(shù)據(jù)冗余。為此,融合之前需要對(duì)兩側(cè)人臉數(shù)據(jù)進(jìn)行進(jìn)一步分割處理,而測(cè)量硬件為分割提供了依據(jù)。硬件設(shè)備左側(cè)測(cè)位保證了右側(cè)人臉的數(shù)據(jù)完整性,右側(cè)測(cè)位則保證了左側(cè)人臉的數(shù)據(jù)完整性,為此,可以以人臉中垂面為分割基準(zhǔn),左側(cè)測(cè)位保留右側(cè)人臉數(shù)據(jù),右側(cè)測(cè)位保留左側(cè)人臉數(shù)據(jù),將兩側(cè)分割數(shù)據(jù)進(jìn)行拼接顯示即可形成一張單一完整人臉。然而,僅僅對(duì)兩側(cè)面部數(shù)據(jù)做簡(jiǎn)單分割和拼接顯示容易造成后期處理過(guò)程中接縫處出現(xiàn)間隙以及錯(cuò)亂網(wǎng)格,無(wú)法保證建模效果,因此,實(shí)際操作中通常偏離中垂面進(jìn)行分割,兩側(cè)人臉數(shù)據(jù)在中垂面附近各自預(yù)留一定的重疊點(diǎn)云作為過(guò)渡區(qū)域。
兩側(cè)拼接數(shù)據(jù)過(guò)渡區(qū)域存在大量重疊點(diǎn),直接對(duì)拼接數(shù)據(jù)網(wǎng)格化必然在過(guò)渡區(qū)域形成重疊網(wǎng)格,導(dǎo)致紋理映射后最終人臉模型中接縫區(qū)域形成錯(cuò)亂紋理,因此有必要對(duì)過(guò)渡區(qū)域進(jìn)行數(shù)據(jù)融合處理。對(duì)兩側(cè)人臉?lè)指顢?shù)據(jù)過(guò)渡區(qū)域均進(jìn)行點(diǎn)重采樣,剔除其他所有點(diǎn),僅在人臉中垂面上各自保留一列重疊點(diǎn),以此作為兩側(cè)人臉數(shù)據(jù)公共拼接邊界。如此,可以使兩側(cè)人臉?lè)指詈髮?shí)現(xiàn)無(wú)縫拼接。圖4所示為分割融合示意圖。

圖4 分割融合示意圖
建立網(wǎng)格模型是形成最終人臉模型的基礎(chǔ),也是進(jìn)行紋理映射的必要準(zhǔn)備。
過(guò)渡區(qū)域融合處理之后的兩側(cè)人臉點(diǎn)云除了在公共邊界上存在重疊點(diǎn)之外,其他區(qū)域均不存在重疊點(diǎn),這樣可以保證融合數(shù)據(jù)網(wǎng)格化操作過(guò)程中過(guò)渡區(qū)域不形成重疊和雜亂網(wǎng)格,同時(shí)公共邊界可以保證在人臉中垂面拼接線上兩側(cè)人臉幾何數(shù)據(jù)形成的網(wǎng)格完全拼合,避免拼接縫隙的產(chǎn)生,保證了后期紋理映射的逼真效果。點(diǎn)云網(wǎng)格化采用2D-Delaunay[10]三角化算法實(shí)現(xiàn),兩側(cè)人臉數(shù)據(jù)三角化過(guò)程依次進(jìn)行。
要實(shí)現(xiàn)真實(shí)感人臉模型效果,必須對(duì)三角化后形成的人臉網(wǎng)格模型進(jìn)行紋理映射,渲染出人臉的逼真紋理。兩側(cè)人臉幾何數(shù)據(jù)建模過(guò)程各自獨(dú)立進(jìn)行,紋理映射也各自獨(dú)立進(jìn)行。紋理映射的一個(gè)核心過(guò)程是依次計(jì)算兩側(cè)人臉紋理照片中各像素的紋理坐標(biāo),兩側(cè)紋理照片的分辨率均為1280×1024,而各像素紋理坐標(biāo)U、V范圍均在0~1之間,依據(jù)照片分辨率和各像素坐標(biāo)可以計(jì)算出各像素的紋理坐標(biāo)。如像素坐標(biāo)為(I,J)的某一像素對(duì)應(yīng)紋理坐標(biāo)為(J/1280,I/1024)。
本文以某一具體實(shí)驗(yàn)人員為測(cè)量對(duì)象,利用此系統(tǒng)重建了真實(shí)感三維可視化人臉模型。如圖5所示為系統(tǒng)硬件設(shè)備采集到的左右兩側(cè)人臉坐標(biāo)歸一化后的原始數(shù)據(jù),左上角和左下角所示分別為左側(cè)測(cè)位獲取的幾何數(shù)據(jù)和紋理數(shù)據(jù),右上角和右下角則分別為右側(cè)測(cè)位獲取的幾何數(shù)據(jù)和紋理數(shù)據(jù),各側(cè)實(shí)測(cè)點(diǎn)云數(shù)量均為35000個(gè),紋理數(shù)據(jù)分辨率均為1280×1024。由圖可知,實(shí)測(cè)數(shù)據(jù)在眉毛、眼睛、鼻孔等部位不同程度出現(xiàn)了數(shù)據(jù)缺失。

圖5 左右兩側(cè)原始采集數(shù)據(jù)
臉部數(shù)據(jù)分割之前對(duì)數(shù)據(jù)進(jìn)行了精簡(jiǎn)操作,鼻子區(qū)域和面部分別采用不同精簡(jiǎn)度。圖6左右所示分別為左右兩側(cè)測(cè)量數(shù)據(jù)精簡(jiǎn)后的效果圖。以耳朵與面部以及面部與脖子之間的空洞為依據(jù)分割出面部數(shù)據(jù),圖7為左右兩側(cè)測(cè)量數(shù)據(jù)各自提取出的人臉數(shù)據(jù)。在此基礎(chǔ)上進(jìn)行兩側(cè)人臉數(shù)據(jù)融合,圖8所示為融合效果圖。融合之后兩側(cè)數(shù)據(jù)依次進(jìn)行三角化處理,如圖9為三角網(wǎng)格模型效果圖。形成網(wǎng)格模型后進(jìn)行紋理映射便能得到真實(shí)感三維人臉模型,圖10所示為最終的重建模型。

圖6 數(shù)據(jù)精簡(jiǎn)效果

圖7 分割提取臉部數(shù)據(jù)

圖8 數(shù)據(jù)融合效果

圖9 三角網(wǎng)格模型

圖10 真實(shí)感三維人臉模型
本文開發(fā)了一套基于結(jié)構(gòu)光原理的雙視角數(shù)據(jù)采集設(shè)備,提出了一種基于雙視角幾何和紋理數(shù)據(jù)實(shí)現(xiàn)真實(shí)感三維人臉模型重建的新思路,并以VTK為可視化工具在VC++平臺(tái)上開發(fā)了一套數(shù)據(jù)處理軟件,形成了一個(gè)完整的三維人臉快速重建系統(tǒng)。通過(guò)試驗(yàn)數(shù)據(jù)的驗(yàn)證,得到了真實(shí)感較強(qiáng)的三維人臉可視化模型,證明了系統(tǒng)的可行性。系統(tǒng)硬件設(shè)備利用結(jié)構(gòu)光原理實(shí)現(xiàn)三維測(cè)量,為避免光柵干涉增加點(diǎn)云三維坐標(biāo)解算復(fù)雜度,測(cè)量時(shí)兩個(gè)測(cè)位依次進(jìn)行測(cè)量,兩次測(cè)量的時(shí)間差會(huì)造成獲取的兩側(cè)紋理照片因光照條件不一致而存在灰度差異,影響最終的建模效果。這一缺陷可以通過(guò)圖像處理進(jìn)行彌補(bǔ),這也是后期的研究課題,本文采用的數(shù)據(jù)為理想條件下獲取的實(shí)驗(yàn)數(shù)據(jù)。
[1]徐成華, 王蘊(yùn)紅, 譚鐵牛. 三維人臉建模與應(yīng)用[J].中國(guó)圖象圖形學(xué)報(bào), 2004, 9(8): 893-903.
[2]徐 琳, 袁保宗, 高 文. 真實(shí)感人臉建模研究的進(jìn)展與展望[J]. 軟件學(xué)報(bào), 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]熊耀陽(yáng), 陳曉波, 孫 健, 等. 結(jié)構(gòu)光投影面部三維測(cè)量系統(tǒng)的研制[J]. 上海交通大學(xué)學(xué)報(bào)(醫(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.