鄒 曉,陳正鳴,2,朱紅強,童 晶,2
?
基于移動平臺的三維虛擬試發(fā)型系統(tǒng)實現(xiàn)及應(yīng)用
鄒 曉1,陳正鳴1,2,朱紅強1,童 晶1,2
(1. 河海大學物聯(lián)網(wǎng)工程學院,江蘇 常州 213022;2. 常州市圖形圖像與骨科植入物數(shù)字化技術(shù)重點實驗室,江蘇 常州 213022)
發(fā)型對一個人的形象氣質(zhì)有非常重要的影響,由此所產(chǎn)生的消費也日益增多。消費者更換發(fā)型不適合后無法恢復,因此在換發(fā)型和發(fā)色之前預(yù)覽非常必要。已有的發(fā)型圖冊和基于二維圖像的試發(fā)應(yīng)用都存在較為明顯的缺陷,不能提供真實的效果。為此,結(jié)合虛擬現(xiàn)實技術(shù)和基于單張照片的三維人臉重建算法,實現(xiàn)了一個適用于移動端的三維虛擬試發(fā)系統(tǒng),試發(fā)效果更真實,并可進行多角度觀察、更換發(fā)色和配飾等。系統(tǒng)在移動平臺上進行搭建,通過合理的框架設(shè)計和資源管理進行優(yōu)化,用戶體驗和實用性更佳,滿足移動用戶的需求。
虛擬試發(fā)型;移動應(yīng)用;三維重建;人臉算法
隨著經(jīng)濟的發(fā)展,人們更加關(guān)注自身形象,更愿意為提升自身形象氣質(zhì)消費,發(fā)型和服裝造型對一個人形象氣質(zhì)的塑造起著關(guān)鍵性作用[1]。發(fā)型與服裝不同,一旦做出改變在短時間內(nèi)很難恢復。針對發(fā)型不能提前預(yù)覽的問題,目前有兩種主流的解決方案:①發(fā)型圖冊和發(fā)色樣板;②基于二維圖像的試發(fā)型應(yīng)用,然而這兩種方案都存在較為明顯的缺陷[2]。
發(fā)型圖冊和染發(fā)色彩樣板(圖1(a)、(b))不能提供特定用戶的試發(fā)效果。基于二維圖像的試發(fā)型應(yīng)用,一般要求用戶拍照角度對應(yīng)發(fā)型角度,否則臉部輪廓不貼切(圖1(c))或臉型不符合用戶本人(圖1(d))。對于不同用戶來說,即使是相同發(fā)型也存在效果差異,已有方法無法較好滿足消費者換發(fā)型之前預(yù)覽的需求[3]。

圖1 已有解決方案
針對以上問題,結(jié)合虛擬現(xiàn)實技術(shù)[4]和相關(guān)三維人臉重建算法[5],本文實現(xiàn)了一個適用于移動平臺的三維虛擬試發(fā)型系統(tǒng),試發(fā)型效果以三維方式呈現(xiàn),可進行多角度的旋轉(zhuǎn)觀察(圖2),滿足用戶更換發(fā)型、發(fā)色和配飾的需求。運用人臉檢測[6]、圖像變形[7]、圖像融合[8]和三維模型變形[9]技術(shù),實現(xiàn)適用于移動端以單張照片為依據(jù)的用戶人臉三維重建,較為真實地展現(xiàn)用戶試發(fā)效果,體驗和實用性更佳。
系統(tǒng)基于移動平臺進行設(shè)計與實現(xiàn),服務(wù)器輔助將運算和顯示分離,移動端為顯示和用戶操作平臺,服務(wù)器為核心算法運行和資源存儲平臺。
通過Unity3D進行移動端開發(fā),分為虛擬試發(fā)中心、流行發(fā)型資訊、護發(fā)產(chǎn)品推薦及個人中心4個模塊[10],用戶通過GUI界面實現(xiàn)交互操作。試發(fā)型前用戶通過移動端拍攝或在相冊中選擇面部照片一張,隨即生成根據(jù)照片重建的三維人臉,允許發(fā)型、發(fā)色、配飾和背景的更換,觸摸拖動模型進行多角度觀察,支持試發(fā)效果截圖保存與分享。流行發(fā)型資訊和護發(fā)產(chǎn)品推薦模塊,提供潮流發(fā)型、搭配及產(chǎn)品信息等咨詢。個人中心模塊對用戶的個人收藏和試發(fā)截圖等數(shù)據(jù)信息進行管理和保存,方便重新查看。系統(tǒng)的功能及架構(gòu)如圖3所示。

圖2 基于移動平臺的虛擬試發(fā)型效果

圖4 移動端和服務(wù)器端的交互流程圖
根據(jù)試發(fā)型系統(tǒng)的功能需求分析,呈現(xiàn)真實試發(fā)型效果的關(guān)鍵在于適用于移動端的三維發(fā)型呈現(xiàn)效果以及針對特定用戶人臉的三維重建。本文設(shè)計并實現(xiàn)了一種適用于移動端的、較快速的三維人臉重建算法,可以通過輸入單張用戶正面照片(額頭及面部輪廓清晰無遮擋),實現(xiàn)該用戶的三維人臉重建。重建算法如下:
輸入. 用戶正面照片。
輸出. 具有紋理貼圖的用戶三維人臉模型。
步驟1.根據(jù)輸入照片,檢測照片中臉部輪廓特征點,根據(jù)基本人臉庫和公式計算融合系數(shù);
步驟2.根據(jù)輸入照片,提取相關(guān)部分圖像信息與基本貼圖融合,處理生成新的紋理貼圖;
步驟3.返回臉型擬合參數(shù)和新的紋理貼圖。
為實現(xiàn)上述算法,需事先建立一個基本三維人臉庫,其中包括7種女性臉型和一張基本人臉貼圖,與已有庫相比較,本文中的基本人臉臉型庫針對性更強(主要面向亞洲女性),模型的數(shù)據(jù)量小,適用于移動平臺。將三維人臉重建分為網(wǎng)格和紋理貼圖兩部分進行,配合使用基礎(chǔ)資源,保證重建效果,減少計算量提高重建速度。
2.1.1 三維掃描與基本臉型三維人臉庫的建立
女性試發(fā)需求更高,因此本文三維人臉重建主要針對亞洲女性。調(diào)研發(fā)現(xiàn),絕大多數(shù)亞洲女性臉型可由長臉、鵝蛋臉、方臉、梨形臉、菱形臉、心形臉和圓臉等7種基本臉型擬合得到[12-13]。因此,建立包含以上7種基本臉型的三維人臉庫作為網(wǎng)格模型重建的擬合基礎(chǔ),更加方便快捷。FaceShift Studio是實時面部表情捕獲工具,主要用來復制人類面部動作,并轉(zhuǎn)化成三維模型或動畫[14]。本系統(tǒng)借助FaceShift Studio結(jié)合Kinect攝像頭實現(xiàn)三維人臉的初步獲取。確保Kinect攝像頭正確連接,選擇carmine傳感器模式收取深度及圖像等信息。在training模式下,被掃描者通過模仿預(yù)設(shè)自然表情,捕捉并創(chuàng)建表情文件,可被處理生成光滑的三維模型及一張對應(yīng)的人臉貼圖,掃描過程及生成效果如圖5所示。

圖5 三維人臉掃描
三維掃描所得基本模型的拓撲結(jié)構(gòu)簡單,數(shù)據(jù)量小,具有合理的UV展開,與已有三維頭像庫相比更符合移動端應(yīng)用的三維模型資源要求。結(jié)合7種不同臉型結(jié)構(gòu)及輪廓特征,運用3dsMax、Zbrush軟件對人頭網(wǎng)格中對臉型起決定作用的下頜部位的網(wǎng)格節(jié)點進行調(diào)節(jié)和修正以獲得7種不同的基本臉型。調(diào)節(jié)中需保持三維人頭包括耳朵以上半部分及后腦部分網(wǎng)格結(jié)構(gòu)不變,使后期的發(fā)型與人頭模型相匹配,不出現(xiàn)錯位或者穿透現(xiàn)象。
掃描可得對應(yīng)人臉貼圖圖像,但因為是攝像頭實時捕捉,拼接圖像存在錯位變形、模糊不均等問題。使用Photoshop依據(jù)已有UV展開圖重新繪制用于融合的人臉基本貼圖素材,將修整后的網(wǎng)格模型與貼圖結(jié)合,便完成了基本臉型三維頭像庫的建立,流程如圖6所示。此外,對于上述三維頭像模型庫中7種不同臉型的基本素材,需要標記好臉部輪廓對應(yīng)位置的一些特征點,為網(wǎng)格重建做準備[15-16]。

圖6 三維人臉掃描
2.1.2 三維頭像網(wǎng)格模型重建
三維模型通常由網(wǎng)格模型和貼圖兩部分構(gòu)成,本文采用網(wǎng)格和紋理貼圖分開重建的方案,并均以用戶的單張臉部照片為基礎(chǔ),該照片需為用戶的正面照,且額頭和臉部輪廓清晰無遮擋。
三維人臉網(wǎng)格模型重建算法的目標是得出7個融合系數(shù),然后傳送回移動端進行網(wǎng)格擬合重建[17-18],流程如圖7所示。

圖7 三維頭像網(wǎng)格模型重建流程



2.1.3 三維頭像紋理貼圖重建
紋理貼圖使模型更加細致且視覺效果上更加真實[19]。為呈現(xiàn)不同用戶試發(fā)效果,不僅要對其臉型進行擬合,更要重建出能還原其真實面貌的紋理貼圖。基于單張照片的人臉紋理貼圖重建流程如圖8所示。

圖8 紋理貼圖重建流程
使用人臉檢測庫Face++提供的接口[20],對輸入照片進行五官區(qū)域的關(guān)鍵點提取,獲取眼睛、鼻子、眉毛和嘴巴的大致范圍。然后對該區(qū)域進行腐蝕,即將相應(yīng)位置擴大,腐蝕次數(shù)越多對應(yīng)位置擴展越大。對于面部不同部分可以設(shè)定不同腐蝕次數(shù)以達到較為合理的腐蝕效果,再將腐蝕獲得的整個特征區(qū)域從相片中提取出來。
對上述關(guān)鍵區(qū)域做平移和縮放變形操作[9],同時面部特征控制點也會根據(jù)平移縮放的系數(shù)來進行移動,根據(jù)一個控制點的前后變化,反距離加權(quán)計算得到其余所有控制點的變化矩陣,其中插值函數(shù)為

將變形得到的圖像,通過泊松融合[8]算法無縫的融合到基本人臉貼圖素材上,能較好地處理重疊區(qū)域融合的問題。
隨后,對已經(jīng)生成的貼圖進行美白、磨皮等操作,以去除照片中高光陰影的影響,并提高重建三維人臉的美觀度,即

2.2.1 框架結(jié)構(gòu)優(yōu)化
本系統(tǒng)采用資源、邏輯、表現(xiàn)分離的整體架構(gòu)設(shè)計思想,以MVC模式為總體程序框架模式[21],以保持系統(tǒng)的靈活性和擴展性,如圖9所示。
資源層主要通過Unity3D資源管理技術(shù)結(jié)合美術(shù)資源命名規(guī)范來管理相關(guān)的美術(shù)資源,包括三維模型、不同類型貼圖和二維圖像等。邏輯層的任務(wù)是對系統(tǒng)中不同功能需求進行邏輯處理,分為虛擬試發(fā)型、咨詢獲取和個人中心3大模塊。表現(xiàn)層采用Unity3D進行試發(fā)場景的圖形渲染,運用UGUI為界面開發(fā)工具完成整個系統(tǒng)的視覺和交互流程。

圖9 系統(tǒng)總體框架圖
2.2.2 運行效率優(yōu)化
為實現(xiàn)系統(tǒng)的高效運行降低移動端的計算和存儲壓力,將三維頭像重建算法搭建在服務(wù)器上,對照片的處理操作、參數(shù)獲取、優(yōu)化等都將在服務(wù)器端進行,對系統(tǒng)有較好的保護性,同時有效地提高運行效率。服務(wù)器作為核心算法的運行平臺,功能包括提取人臉特征點,人臉貼圖的算法生成,得出一些臉型權(quán)重數(shù)據(jù)以及將合成的人臉貼圖和臉型權(quán)重數(shù)據(jù)一起發(fā)送給移動端。
此外,本系統(tǒng)中涉及到數(shù)據(jù)量較大的模型和貼圖等三維美術(shù)素材資源,都通過Unity3D合理打包成AssetBundle放在服務(wù)器上,在系統(tǒng)運行時進行動態(tài)的加載,從而釋放更多內(nèi)存空間[22]。
2.2.3 美術(shù)素材優(yōu)化
移動端的計算能力、內(nèi)存空間和渲染能力有限,為保證系統(tǒng)整體流暢性應(yīng)盡量減小模型資源的數(shù)據(jù)量。本系統(tǒng)通過減少模型數(shù)量及面數(shù)、合并及共用貼圖、使用法線貼圖和光線貼圖等體現(xiàn)模型細節(jié)等方法對模型進行優(yōu)化。
人頭部細節(jié)較多,逼真的三維人臉往往面和頂點數(shù)很大。本系統(tǒng)以掃描所得人臉為基礎(chǔ),運用ZBrush軟件進行細節(jié)雕刻,總面數(shù)控制在2 500以內(nèi),且在五官位置的頂點分布較為密集其余位置較為稀疏,實現(xiàn)減少面數(shù)的同時較好保留面部細節(jié)。
通常系統(tǒng)中每個模型對應(yīng)1~2張貼圖。用于移動端的貼圖可適當降低分辨率以減少資源量,不同模型通過合理的UV劃分實現(xiàn)貼圖共用。衣服凹凸如果通過模型表現(xiàn)需要細分很多頂點及面片,運用法線貼圖實現(xiàn)視覺上的表面凹凸效果以減少數(shù)據(jù)量。同時運用光照貼圖增強靜態(tài)場景光照效果,通過較少的性能消耗使靜態(tài)模型看上去更加真實、豐富,更加具有立體感。
頭發(fā)模型需要較大的頂點和面來呈現(xiàn)頭發(fā)的層次感和質(zhì)感,資源量較大。先通過高精度模型體現(xiàn)頭發(fā)層次及質(zhì)感,隨后通過自動和手動減少頭發(fā)模型的所需面數(shù)。每款發(fā)型模型對應(yīng)Diffuse和Transparent兩張貼圖來體現(xiàn)頭發(fā)的紋理和發(fā)尾部分的發(fā)絲效果。Diffuse貼圖中包含發(fā)型受光照后的高光效果,可以避免系統(tǒng)在移動端運行時使用實時光照的性能消耗。
Unity3D具有優(yōu)秀的跨平臺性,將本系統(tǒng)打包并發(fā)布為適用于Android手機平臺的安裝包,運行時各個功能模塊及部分界面效果如圖10所示。

3.2.1 測試環(huán)境
搭建環(huán)境見表1,對系統(tǒng)的貼圖重建效果、網(wǎng)格重建效果和處理時間進行測試。

表1 測試環(huán)境
3.2.2 貼圖重建測試
貼圖測試結(jié)果顯示,經(jīng)過泊松融合算法處理后人臉的特征區(qū)域能夠與基本素材貼圖正確融合,且邊界過渡自然。經(jīng)過去面部高光、陰影操作之后,部分照片的問題區(qū)域已經(jīng)不再明顯,并且對于面部被頭發(fā)遮擋的情況也有顯著改善,部分測試結(jié)果如圖11所示。
圖11 部分貼圖重建測試結(jié)果
3.2.3 網(wǎng)格重建測試
三維人臉網(wǎng)格重建測試結(jié)果顯示,運用本文的臉型重建算法可較為準確地得到且符合照片中人臉臉型特征的網(wǎng)格模型。采取臉型庫匹配方法后,人臉網(wǎng)格模型的建立速度大大提高,耗時僅為700 ms左右,部分測試結(jié)果如圖12所示。

圖12 部分臉型重建測試結(jié)果
3.2.4 重建時間測試
系統(tǒng)的運行處理時間是影響用戶體驗的主要因素,也是評判系統(tǒng)性能的重要指標,本文采用不同分辨率的同一照片對系統(tǒng)進行時間測試。從照片輸入到重建完成的總耗時見表2。輸入照片的分辨率對運行時間有一定影響,圖像分辨率越高所需處理時間越長。時間總體分布在13~20 s之間,對于移動端的自拍照來說,系統(tǒng)的處理時間是可以被接受的,且與同類人臉重建系統(tǒng)相比速度較快。

表2 基于不同分辨率照片的重建耗時
經(jīng)過采訪調(diào)研發(fā)現(xiàn),當顧客存在換發(fā)型以及染發(fā)需求時,美發(fā)店目前所使用的發(fā)型和發(fā)色選擇依據(jù)確實不能為其提供滿意效果,并且常常導致?lián)Q發(fā)型前后較大的心理落差。從事美發(fā)行業(yè)的工作者也反映,因為沒有直接的新發(fā)型效果展示工具很難實現(xiàn)與顧客的有效溝通,從業(yè)者自身也不能很好判斷和把握實際效果,嚴重影響顧客對美發(fā)行業(yè)服務(wù)質(zhì)量的評價。
將本系統(tǒng)應(yīng)用到美發(fā)行業(yè)中,會提高行業(yè)整體的信息化水平,使其在傳統(tǒng)服務(wù)業(yè)中脫穎而出,吸引更多的潛在消費。并且可以有效減少發(fā)型設(shè)計師和消費者之間的語言描述障礙,減少消費者的心理落差,從而提升行業(yè)的整體滿意度。對于消費者而言,在換發(fā)型之前,能夠真切而直觀地了解換發(fā)型之后可能的樣子,能引導其進行合理消費。此外,對于促進虛擬現(xiàn)實的實際應(yīng)用發(fā)展和挖掘潛在價值來說也是非常重要的意義。
本系統(tǒng)相較于已有的試發(fā)型應(yīng)用,更好地還原用戶試發(fā)型的真實效果,三維展示便于用戶多角度觀察,并可以滿足更換發(fā)色及配飾等個性化編輯需求。但在移動端運行時發(fā)現(xiàn),受限于現(xiàn)有移動端三維頭發(fā)的處理技術(shù),系統(tǒng)中三維發(fā)型的顯示效果仍具有提升空間,部分發(fā)型的質(zhì)感、色澤和光線效果等都可以進一步改善。此外,系統(tǒng)后期可以通過添加發(fā)型長度、曲度和動態(tài)的變化等功能,來進一步提高用戶操作的自由度[23]。
[1] SUNHEM W, PASUPA K, JANSIRIPITIKUL P. Hairstyle recommendation system for women [C]//ICT International Student Project Conference. New York: IEEE Press, 2016: 166-169.
[2] 王超. 基于單視圖人臉重建的移動平臺發(fā)型置換引擎的研究和應(yīng)用[D]. 杭州: 浙江大學, 2015.
[3] LI R, ZOU K, XU X, et al. Research of interactive 3D virtual fitting room on web environment [J]. International Symposium on Computational Intelligence & Design, 2011, 1: 32-35.
[4] HEIM M. Virtual realism [M]. Oxford: Oxford University Press, 1998.
[5] 鄭穎. 基于圖像的三維人臉建模研究[D]. 合肥: 中國科學技術(shù)大學, 2009.
[6] ZHOU E, FAN H Q, CAO Z M, et al. Extensive facial landmark localization with coarse-to-fine convolutional network cascade [C]//IEEE International Conference on Computer Vision Workshops. New York: IEEE Press, 2013: 386-391.
[7] BLANZ V, VETTER T. A morphable model for the synthesis of 3D faces [C]//Conference on Computer Graphics & Interactive Techniques. New York: ACM Press, 1999: 187-194.
[8] PEREZ P, GANGNET M, BLAKE A. Poisson image editing [J]. ACM Transactions on Graphics, 2003, 22(3): 313-318.
[9] SCHAEFER S, MCPHAIL T, WARREN J. Image deformation using moving least squares [J]. ACM Transactions on Graphics, 2006, 25(3): 533-540.
[10] 曹磊, 代洪濤. 基于Unity3D技術(shù)移動售樓系統(tǒng)的設(shè)計與實現(xiàn)[J]. 軟件, 2014, 35(3): 40-42.
[11] 鄧茹月, 覃川, 謝顯中. 移動云計算的應(yīng)用現(xiàn)狀及存在問題分析[J]. 重慶郵電大學學報: 自然科學版, 2012, 24(6): 716-723.
[12] 趙薇, 汪增福. 用于大庫人臉識別的臉型分類研究[J].電子技術(shù), 2009(11): 68, 77-79.
[13] SUNHEM W, PASUPA K. An approach to face shape classification for hairstyle recommendation [C]// International Conference on Advanced Computational Intelligence. New York: IEEE Press, 2016: 390-394.
[14] FACESHIFT A G. What is faceshift studio? [EB/OL]. [2017-03-20].http://faceshift.com/studio/2015.2/introduction. html.
[15] 王俊艷, 蘇光大, 林行剛. 用于人臉識別的下頜輪廓線分類方法[J]. 光電子·激光, 2005, 16(11): 108-112, 117.
[16] 凌旭峰, 楊杰, 楊勇. 基于輪廓線曲率特征的人臉分類及識別[J]. 紅外與激光工程, 1999, 28(4): 37-39.
[17] BLAZE V, VETTER T. Face recognition based on fitting a 3D Morphable model [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2003, 25(9): 1063-1074.
[18] 署光. 基于單幅圖像的三維人臉建模及應(yīng)用研究[D]. 上海: 上海交通大學, 2009.
[19] 趙彬. 面向真實感三維建模的紋理貼圖技術(shù)研究[D]. 北京: 北京大學, 2008.
[20] 唐文斌. Megvii face API. [EB/OL]. (2017-03-09) [2017-03-20]. http://www.faceplusplus.com/.
[21] WANG X J. Design on dance appreciation video system based on MVC mode [C]//International Conference on Information Engineering for Mechanics and Materials. Paris: Atlantis Press, 2015: 1243-1246.
[22] 宣雨松. Unity3D游戲開發(fā)[M]. 北京: 北京郵電出版社, 2012: 281-288.
[23] WARD K, GALOPPO N, LIN M. Interactive virtual hair salon [J]. Presence Teleoperators and Virtual Environments, 2007, 16(3): 237-251.
Implementation and Application of 3D Virtual Hairstyle Try-on System Based on Mobile Platform
ZOU Xiao1, CHEN Zhengming1,2, ZHU Hongqiang1, TONG Jing1,2
(1. College of IOT Engineering, Hohai University, Changzhou Jiangsu 213022, China;2. Key Laboratory of Graphics, Images and Orthopedic Implants, Changzhou Jiangsu 213022, China)
Hairstyle has a very important impact on one’s appearance and temperament, resulting in an increasing number of related consumption. Consumers’ hairstyle cannot recover after changing, so a preview of hairstyle and hair color is necessary. There are obvious defects in the existing solutions, such as hairstyle pictures and hairstyle try-on applications based on two-dimensional images processing technology, which provide unreal effect. In this paper, we propose a 3D virtual hairstyle try-on system for mobile platform. Combining with virtual reality technology and the reconstruction algorithm of 3D head model based on single photo, this system can provide much more real effect. Users can have multi-angle observation and change hair color or accessories. In addition, the system is built on the mobile platform and optimized through reasonable framework design and resource management to improve user experience and practicality and meet the needs of mobile users.
virtual hairstyle try-on; mobile application; 3D reconstruction; face algorithm
TP 391
10.11996/JG.j.2095-302X.2018020309
A
2095-302X(2018)02-0309-08
2017-07-04;
2017-07-29
江蘇省科技計劃項目(BE2014048)
鄒 曉(1993–),女,吉林公主嶺人,碩士研究生。主要研究方向為虛擬現(xiàn)實、計算機圖形學。E-mail:1656862730@qq.com
童 晶(1981–),男,江蘇揚州人,副教授,博士。主要研究方向為虛擬現(xiàn)實、計算機圖形學、3D打印。E-mail:tongjing.cn@gmail.com