徐家樂(lè),肖學(xué)中
南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,南京 210003
通過(guò)單幅圖像重建出具有完整紋理的人體三維幾何,進(jìn)而運(yùn)用3D運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)生成人體動(dòng)畫(huà),在互動(dòng)娛樂(lè)、圖像/視頻數(shù)據(jù)增強(qiáng)甚至影視特效合成等領(lǐng)域都有著廣泛的應(yīng)用場(chǎng)景。因?yàn)楂@取單視圖人體圖像比獲取多視圖的人體圖像序列更加方便快捷,所以前者應(yīng)用面更廣,適應(yīng)性更強(qiáng)。特別是在短視頻流行的背景下,輸入一張圖片可以得到一段動(dòng)畫(huà)對(duì)用戶有很強(qiáng)的吸引力。
由于廣泛的應(yīng)用場(chǎng)景,基于單幅圖像的人體動(dòng)畫(huà)合成技術(shù)受到研究人員的高度重視,許多重要算法被提出。有學(xué)者提出將人物從背景分割后,結(jié)合人體骨骼控制人體剪影運(yùn)動(dòng)從而生成動(dòng)畫(huà)[1]。該方法忽略了人體的深度信息,通過(guò)控制紙片人生成的動(dòng)畫(huà)不具有真實(shí)感。隨著深度學(xué)習(xí)的發(fā)展,近年來(lái)很多方法通過(guò)骨骼框架引導(dǎo)對(duì)抗生成網(wǎng)絡(luò)生成符合要求的圖像,從而達(dá)到控制圖像中的人物運(yùn)動(dòng)的目的[2-9]。但是,由于單幅圖像的信息缺失問(wèn)題,基于對(duì)抗生成網(wǎng)絡(luò)的圖像生成方法會(huì)產(chǎn)生極為不真實(shí)的圖像,生成的動(dòng)畫(huà)也會(huì)出現(xiàn)偽影,不具有連貫性。此外近年來(lái)有許多方法試圖利用深度學(xué)習(xí)重建單張圖像中的人體的三維幾何[10-14]。然而,這些方法重建出的三維幾何不具有人體骨骼信息,需要手動(dòng)添加人體骨骼才能控制其運(yùn)動(dòng)。參數(shù)化模型SMPL[15]具有人體骨骼信息以及蒙皮權(quán)重,能夠被姿態(tài)參數(shù)控制生成不同姿態(tài)的人體模型,因此基于參數(shù)化模型的重建方法是一個(gè)明智的選擇[16-18]。然而,標(biāo)準(zhǔn)的參數(shù)化模型不具有完整的紋理信息以及頭發(fā)、服裝等幾何信息,生成的動(dòng)畫(huà)與輸入圖像中的人物差別過(guò)大,缺乏真實(shí)感。
據(jù)調(diào)查所知,Photo Wake-Up[19]是目前從單幅圖像重建出可被3D運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)的人體三維幾何的最先進(jìn)方法。該方法提出先根據(jù)輸入圖像中的人體輪廓信息變形標(biāo)準(zhǔn)的SMPL參數(shù)模型分別生成正反面的三維幾何模型,再將正反面模型拼接成具有幾何細(xì)節(jié)的人體模型。雖然該方法重建后的模型輪廓與輸入圖像一致,但是該方法無(wú)法恢復(fù)正確的手部幾何。而且由于該方法采用直線拼接生成的正反面模型,以致重建后的模型丟失了拼接部分的幾何細(xì)節(jié)。同時(shí)該方法無(wú)法解決人體背面紋理信息丟失的問(wèn)題。
為了生成具有高度真實(shí)感的人體動(dòng)畫(huà),本文提出了一種基于參數(shù)化模型的動(dòng)畫(huà)生成方法,將單幅人體正面圖像作為輸入,重建具有完整紋理的人體幾何并結(jié)合3D運(yùn)動(dòng)數(shù)據(jù)生成動(dòng)畫(huà)。首先,使用文獻(xiàn)[18]生成與目標(biāo)人物姿態(tài)一致的初始SMPL參數(shù)模型。由于標(biāo)準(zhǔn)的SMPL模型缺失人體服裝等幾何細(xì)節(jié)信息,與Photo Wake-Up類似,本文以人體輪廓為約束變形初始SMPL模型,得到輪廓與輸入一致的正反面幾何模型。與Photo Wake-Up用直線拼接正反面幾何模型不同,本文提出用基于B樣條插值的模型拼接融合方法拼接變形后的正反面模型。由于Photo Wake-Up重建方法無(wú)法恢復(fù)正確的手部幾何,本文提出利用基于B樣條插值的網(wǎng)格拼接融合技術(shù),將標(biāo)準(zhǔn)的SMPL的手部幾何拼接到重建后的模型上以提高模型真實(shí)感。同時(shí)為了恢復(fù)人體的背面紋理,本文設(shè)計(jì)并訓(xùn)練了一個(gè)圖像到圖像的對(duì)抗生成網(wǎng)絡(luò)FBN(front to back network)。最后,利用已有的3D運(yùn)動(dòng)數(shù)據(jù)AMASS[20]驅(qū)動(dòng)重構(gòu)后的模型生成動(dòng)畫(huà)。本文的主要貢獻(xiàn)如下:
(1)提出一種基于B樣條插值的模型拼接融合算法。根據(jù)網(wǎng)格輪廓對(duì)應(yīng)關(guān)系生成網(wǎng)格間的拼接曲面,從而拼接模型。與使用直線拼接模型相比較,該方法能夠平滑自然地拼接模型。另外,本文使用基于B樣條插值的模型拼接融合算法替換了重建后的模型中錯(cuò)誤的手部幾何,提高了模型的真實(shí)感。
(2)設(shè)計(jì)并訓(xùn)練了一個(gè)圖像到圖像的對(duì)抗生成網(wǎng)絡(luò)FBN。根據(jù)輸入的正面紋理生成對(duì)應(yīng)背面紋理,從而恢復(fù)完整的人體紋理信息。
基于以上技術(shù),形成了一個(gè)完整的系統(tǒng)。該系統(tǒng)輸入單幅人體正面圖像,先重建出具有完整紋理以及幾何細(xì)節(jié)的三維人體模型,然后用3D運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)重建后的三維人體模型運(yùn)動(dòng)生成人體動(dòng)畫(huà)。本文對(duì)現(xiàn)有公開(kāi)數(shù)據(jù)集Impersonator(iPER)[9]和PeopleSnapshot[21]以及在互聯(lián)網(wǎng)上收集的數(shù)據(jù)進(jìn)行了充分的實(shí)驗(yàn)。實(shí)驗(yàn)證明,本文所提方法能夠生成具有高度真實(shí)感的人體動(dòng)畫(huà)。
本文提出一種對(duì)單張圖片中的人物進(jìn)行動(dòng)畫(huà)處理的方法。具體流程如圖1所示,輸入一張人體正面圖像,首先使用最新的圖像分割方法[22]對(duì)圖像進(jìn)行分割,生成Mask圖(背景為0,前景為1)。然后利用OpenPose[23]生成人體對(duì)應(yīng)的2D骨骼關(guān)節(jié)點(diǎn),從而利用文獻(xiàn)[18]生成與輸入圖片中人體姿態(tài)一致的SMPL參數(shù)模型。由于標(biāo)準(zhǔn)的SMPL參數(shù)模型是半裸的,缺失人體服裝等幾何細(xì)節(jié)信息,與目標(biāo)輪廓不一致。本文設(shè)計(jì)了一個(gè)基于二維圖像變形的三維模型變形方法,生成與目標(biāo)人物幾何輪廓一致的正反兩個(gè)三維幾何模型。為了生成具有高度真實(shí)感的幾何模型,本文提出一種基于B樣條插值的模型拼接融合算法,用于拼接正反面幾何模型以及替換重建后的模型中錯(cuò)誤的手部幾何。為了恢復(fù)被遮擋的人體背面紋理,本文設(shè)計(jì)并訓(xùn)練了背面紋理生成網(wǎng)絡(luò)FBN。最后,為了控制重建后的參數(shù)模型運(yùn)動(dòng),本文先根據(jù)骨骼關(guān)節(jié)點(diǎn)位置關(guān)系將重建出的參數(shù)模型逆向變形到標(biāo)準(zhǔn)的T姿態(tài),然后利用AMASS運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)模型運(yùn)動(dòng)生成人體動(dòng)畫(huà)。
由于標(biāo)準(zhǔn)的SMPL參數(shù)模型不具有服裝紋理信息,為了生成與目標(biāo)人體幾何一致的參數(shù)模型,需要對(duì)初始SMPL參數(shù)模型進(jìn)行重構(gòu)。一種方法是通過(guò)優(yōu)化SMPL參數(shù)模型的頂點(diǎn)位置來(lái)強(qiáng)制SMPL參數(shù)模型擬合目標(biāo)人體輪廓,但是這種方法計(jì)算復(fù)雜度高而且生成的模型表面過(guò)于粗糙且不具有完整的與圖像中人物一樣的服裝紋理貼圖。因此本文提出了一種基于圖像變形的方法重構(gòu)SMPL參數(shù)模型,從而生成與目標(biāo)人體輪廓完全一致的且具有完整服裝紋理信息的可動(dòng)畫(huà)處理的網(wǎng)格模型。具體流程如圖2所示。
首先使用文獻(xiàn)[18]中的方法將標(biāo)準(zhǔn)SMPL模型擬合到輸入的圖像中,得到與輸入圖像中人體姿態(tài)一致的初始SMPL參數(shù)模型以及對(duì)應(yīng)的相機(jī)參數(shù)。然后使用得到的相機(jī)參數(shù)渲染初始擬合生成的SMPL參數(shù)模型,得到SMPL對(duì)應(yīng)的Mask圖(背景為0,前景為1),法向量值貼圖以及蒙皮權(quán)重圖。特別的,為了恢復(fù)人體背面的幾何模型,在渲染過(guò)模型正面視角下的法線貼圖后,需要根據(jù)模型頂點(diǎn)的法向量將模型正面頂點(diǎn)剔除,再渲染相同視角下的模型的背面頂點(diǎn)所對(duì)應(yīng)的法向量貼圖。因?yàn)镾MPL參數(shù)模型的正面與反面頂點(diǎn)蒙皮權(quán)重基本一致,所以在本文中正反面模型共用一個(gè)蒙皮權(quán)重圖。
為了將SMPL變形至與目標(biāo)人體輪廓一致,首先需要找到兩者輪廓之間的對(duì)應(yīng)關(guān)系。得到目標(biāo)人體的Mask圖以及SMPL渲染生成的Mask圖后,從中提取出目標(biāo)人體的輪廓邊界點(diǎn)集Starget和SMPL參數(shù)模型的輪廓邊界點(diǎn)集Ssmpl。Starget有kt個(gè)頂點(diǎn),表示為{Sitarget|i=1,2,…,kt},Ssmpl有ks個(gè)頂點(diǎn),表示為{Sismpl|i=1,2,…,ks},并且Sitarget,Sismpl∈?2。我們的目標(biāo)是尋找一組對(duì)應(yīng)關(guān)系M(x),x∈{1 ,2,…,kt},即對(duì)Starget中每個(gè)點(diǎn)在Ssmpl中找到與之對(duì)應(yīng)的點(diǎn)滿足:
C(M(i),M(i-1))用于抑制映射索引之間的跳躍性:
本文使用動(dòng)態(tài)規(guī)劃求解上述最優(yōu)化問(wèn)題,其中k=32。由于SMPL渲染生成投影圖像的輪廓為閉合曲線,設(shè)其輪廓內(nèi)的像素點(diǎn)為Pi,則其輪廓內(nèi)所有像素點(diǎn)集合表示為。中值坐標(biāo)算法[24]可以將Pi用邊界點(diǎn)集Ssmpl表示,即使用邊界點(diǎn)集Ssmpl的加權(quán)組合表示Pi:
其中{?j(Pi)|j=1,2,…,ks}為內(nèi)點(diǎn)Pi相對(duì)于邊界點(diǎn)集Ssmpl的均值坐標(biāo)。
接下來(lái),使用上面已經(jīng)計(jì)算好的映射關(guān)系M()x求得Ssmpl上與目標(biāo)邊界點(diǎn)集Starget對(duì)應(yīng)的像素點(diǎn)集合,將其作為均值坐標(biāo)算法中的邊界點(diǎn)集。因此,內(nèi)點(diǎn)可以表示為:
求解出內(nèi)點(diǎn)集合P相對(duì)于邊界點(diǎn)集=1,2,…,kt}的均值坐標(biāo)集合{?j(Pi)|j=1,2,…,ks},然后使用目標(biāo)輪廓Starget代替=1,2,…,kt}求得Pi變換后的坐標(biāo):
根據(jù)上述方法,變形法向量貼圖后產(chǎn)生的新的變形法向量貼圖會(huì)出現(xiàn)孔洞,針對(duì)該問(wèn)題本文提出一種孔洞填充方法。該方法首先篩選出變形后的法線貼圖中的所有孔洞,對(duì)每個(gè)孔洞像素點(diǎn)H找到與之相鄰的有法向量值的幾個(gè)像素點(diǎn),以這些像素點(diǎn)作為邊界計(jì)算H的均值坐標(biāo),然后利用均值坐標(biāo)對(duì)邊界點(diǎn)的值進(jìn)行插值得到孔洞像素點(diǎn)H的法向量值。對(duì)蒙皮權(quán)重執(zhí)行相同的操作,值得注意的是,蒙皮權(quán)重值填充空洞后要進(jìn)行歸一化處理。
最后根據(jù)變形后的法向量矩陣可以求解得到每一點(diǎn)的深度值,從而重構(gòu)出具有蒙皮權(quán)重的三維幾何模型。
在重建出正反面兩個(gè)具有蒙皮權(quán)重的三維幾何模型后,需要將正反面模型拼接成一個(gè)完整的參數(shù)模型。與Photo Wake-Up使用線性插值拼接正反面幾何模型的方法不同,本文采用基于B樣條插值的網(wǎng)格拼接融合方法拼接正反面模型。
給定空間中n個(gè)控制點(diǎn)Pi( )i=0,1,…,n,則將這些頂點(diǎn)作為控制點(diǎn)可以確定一條光滑的k階B樣條曲線:
其中,ui是節(jié)點(diǎn)值,構(gòu)成了k階(k-1次)B樣條函數(shù)的節(jié)點(diǎn)矢量。為k階B樣條基函數(shù),其遞推公式如下:
k-1為B樣條曲線的次數(shù),頂點(diǎn)Pi稱為控制頂點(diǎn)。
給定空間中(m+1)×(n+1)個(gè)控制點(diǎn)Pi,j(i=0,1,…,m;j=0,1,…,n),以及參數(shù)軸u和v的節(jié)點(diǎn)矢量U=(u0,u1,…,um+p)、V=(v0,v1,…,vn+q)可以得到一個(gè)p×q階B樣條曲面。定義如下:
其中,Pi,j構(gòu)成一張控制網(wǎng)格,稱為B樣條曲面的特征網(wǎng)絡(luò),Ni,p(u)和Nj,q(v)是B樣條曲面的基,分別由節(jié)點(diǎn)矢量按照遞推公式確定。
本文提出的基于B樣條插值的網(wǎng)格拼接融合算法工作流程如圖3所示。首先分別從待拼接的兩個(gè)網(wǎng)格模型各選取兩個(gè)邊界點(diǎn)集合,然后根據(jù)邊界點(diǎn)集生成4條B樣條曲線,接下來(lái)對(duì)插值后的4條邊界曲線進(jìn)行曲面插值得到B樣條曲面,最后再對(duì)生成的B樣條曲面網(wǎng)格化。該算法的具體步驟如下:
(1)根據(jù)流形網(wǎng)格模型的網(wǎng)格邊界特性找到兩組待拼接模型的邊界點(diǎn)集V11、V21,以及邊界點(diǎn)集相鄰的邊界點(diǎn)集V12、V22。
(2)分別計(jì)算出邊界點(diǎn)集對(duì)應(yīng)的三次均勻B樣條曲線S11、S12、S21、S22,即根據(jù)邊界頂點(diǎn)反求三次均勻B樣條曲線的控制頂點(diǎn)Pi( )i=0,1,…,n,n>3。
(3)根據(jù)生成的4條B樣條曲線生成B樣條曲面,即將三次均勻B樣條曲線S11、S12、S21、S22作為v方向的簇,固定u方向,變化v方向,計(jì)算v方向的三次均勻B樣條曲線簇,從而交織成雙三次B樣條曲面。(4)對(duì)生成的B樣條曲面分別沿u和v方向均勻采樣,得到網(wǎng)格頂點(diǎn)集,然后將網(wǎng)格頂點(diǎn)集三角網(wǎng)格化生成過(guò)渡網(wǎng)格模型。
(5)將待拼接網(wǎng)格模型與生成的過(guò)渡網(wǎng)格模型拼接在一起,并使用Laplacian平滑算法對(duì)拼接區(qū)域進(jìn)行光順處理,使得模型光滑拼接。
與Photo Wake-UP不同,本文使用基于B樣條插值的模型拼接方法拼接正反面模型,有效地解決了使用線性插值拼接正反面模型導(dǎo)致的拼接區(qū)域出現(xiàn)的鋸齒狀問(wèn)題。圖4展示了本文方法與Photo Wake-Up中的拼接方法的拼接結(jié)果對(duì)比。圖4(a)中左側(cè)幾何為Photo Wake-UP中使用的網(wǎng)格拼接算法產(chǎn)生的結(jié)果,右側(cè)幾何為使用基于B樣條插值的網(wǎng)格拼接融合算法產(chǎn)生的結(jié)果。實(shí)驗(yàn)證明使用基于B樣條插值的網(wǎng)格拼接融合算法拼接正反面網(wǎng)格模型生成的幾何模型有較好的平滑拼接效果,拼接處過(guò)渡自然,沒(méi)有明顯的變形區(qū)域。
針對(duì)SMPL參數(shù)模型變形過(guò)程中由于手指間互相遮擋導(dǎo)致的重建后的參數(shù)模型的手部幾何缺乏真實(shí)感的問(wèn)題。本文提出利用基于B樣條插值的網(wǎng)格拼接融合算法,將重建后的模型中錯(cuò)誤的手部幾何用標(biāo)準(zhǔn)SMPL參數(shù)模型的手部幾何替換。首先根據(jù)重建后的參數(shù)模型的3D骨架信息將模型逆向變換到標(biāo)準(zhǔn)的T姿態(tài)。根據(jù)參數(shù)模型的3D關(guān)節(jié)點(diǎn)信息,將參數(shù)模型在手腕關(guān)節(jié)點(diǎn)處用平面切割。即,以手肘到手腕關(guān)節(jié)點(diǎn)組成的向量作為法向量,結(jié)合手腕關(guān)節(jié)點(diǎn)位置生成切割平面對(duì)參數(shù)模型進(jìn)行切割,生成去除手部后的模型Mbody。同樣對(duì)標(biāo)準(zhǔn)姿態(tài)下的SMPL參數(shù)模型進(jìn)行切割得到左右手網(wǎng)格模型Hr、Hl。然后根據(jù)手腕關(guān)節(jié)點(diǎn)位置信息平移手部網(wǎng)格模型Hr、Hl至與身體網(wǎng)格模型Mbody對(duì)齊。最后使用基于B樣條插值的網(wǎng)格拼接算法拼接手部模型與身體網(wǎng)格模型。如圖5所示,本文提出的手部替換方法能夠平滑自然地用標(biāo)準(zhǔn)的手部幾何替換重建后的模型中錯(cuò)誤的手部幾何,增強(qiáng)了模型的真實(shí)感。
由于人體的自我遮擋,僅僅通過(guò)單張人體圖像無(wú)法獲取完整的人體紋理信息。但是在相同視角下人體的正面和背面具有相同的輪廓和許多相同的視覺(jué)特征,因此可以通過(guò)正面紋理推測(cè)對(duì)應(yīng)的背部紋理從而恢復(fù)完整的紋理信息。本文訓(xùn)練了一個(gè)條件對(duì)抗生成網(wǎng)絡(luò)FBN,根據(jù)輸入正面圖像生成人體背面紋理。
如圖6所示,輸入正面圖像If,首先利用文獻(xiàn)[22]中的圖像分割技術(shù)提取出人體的二進(jìn)制掩膜Sf(背景為0,其余為1)。然后將二者輸入到生成器G中得到預(yù)測(cè)的背面紋理特別地,為了消除復(fù)雜的背景對(duì)生成器造成的干擾,將輸入圖像If乘以掩膜Sf輸入至生成器G,預(yù)測(cè)的背面紋理可表示為:
其中⊙表示哈達(dá)瑪積。
本文以監(jiān)督學(xué)習(xí)的方式訓(xùn)練生成器G,網(wǎng)絡(luò)架構(gòu)采用U-Net網(wǎng)絡(luò)[25]。損失函數(shù)由對(duì)抗損失Ladv、基于VGG網(wǎng)絡(luò)的感知損失LVGG以及像素差損失Lpix構(gòu)成。LVGG的作用是提升合成圖像的紋理細(xì)節(jié),其表示為:
其中,f(·)為訓(xùn)練完成的VGG-19網(wǎng)絡(luò)[26],Ib為真實(shí)的背部圖像。Lpix損失能夠有效地保留正面紋理與背面紋理共有的視覺(jué)特征,其表示為:同時(shí)為了生成更加清晰的圖像,本文采用了與Patch-GAN[27]中相同的對(duì)抗損失Ladv:
總損失定義為:
在本文的實(shí)驗(yàn)中,設(shè)λVGG=1.0,λpix=20.0。
訓(xùn)練背面紋理生成網(wǎng)絡(luò)FBN的生成器,需要大量的前后視圖圖像對(duì)。然而在現(xiàn)實(shí)生活中不存在這樣的對(duì)齊的圖像對(duì)。本文將公開(kāi)的人體模型數(shù)據(jù)集PVHM[28]和THuman[29]渲染成一個(gè)對(duì)齊的圖像對(duì)數(shù)據(jù)集,用于訓(xùn)練背面紋理生成網(wǎng)絡(luò)FBN。為了避免過(guò)擬合,在渲染模型時(shí)隨機(jī)改變相機(jī)視角的俯仰角、相機(jī)距離、燈光條件。
本文使用Xavier[30]初始化整個(gè)FBN網(wǎng)絡(luò),采用Adam優(yōu)化器(β1=0.5,β2=0.999),學(xué)習(xí)率為0.000 2,批量大小為8,迭代了20輪。在Impersonator[9]數(shù)據(jù)集以及People-Snapshot[21]數(shù)據(jù)集上的測(cè)試結(jié)果如圖7、圖8、圖9的(b)列所示。雖然FBN網(wǎng)絡(luò)無(wú)法準(zhǔn)確地生成人體的背面服裝紋理,特別是在正反面紋理差異較大時(shí),但是FBN網(wǎng)絡(luò)能夠根據(jù)正面紋理較為準(zhǔn)確地推斷出人體背面的頭發(fā)紋理并生成令人信服的服裝紋理。
圖7展示了本文在Impersonator[9]數(shù)據(jù)集上的部分重建結(jié)果。圖8展示了本文在PeopleSnapshot[21]數(shù)據(jù)集上的部分重建結(jié)果。對(duì)于每個(gè)輸入,本文展示了背面的紋理生成結(jié)果,重建的三維模型正面視角以及背面視角。本文方法能夠處理不同體型和身高的人,生成與目標(biāo)人物輪廓一致的具有完整紋理以及服裝幾何細(xì)節(jié)的人體參數(shù)模型。圖9展示了本文針對(duì)互聯(lián)網(wǎng)上的圖像的生成結(jié)果。本文方法不僅可以處理真實(shí)的人體圖像,甚至可以處理卡通圖像(如圖9第2行)。基于深度學(xué)習(xí)的模型重建方法只有輸入真人圖像時(shí)才會(huì)得到較為良好的結(jié)果,因?yàn)樵摲椒ㄊ腔谡嫒藬?shù)據(jù)集訓(xùn)練而成。本文的重建方法不依賴于數(shù)據(jù)集,因此具有更強(qiáng)的泛化能力。本文方法還可以處理穿著寬松衣服的人(如圖9第4行)。因?yàn)楸疚奶岢龅闹亟ǚ椒軌蛏膳c目標(biāo)輪廓一致的三維人體模型。
圖10展示了模型動(dòng)畫(huà)后的部分結(jié)果。圖10中(a)列為輸入圖像,(b)、(c)、(d)、(e)列為生成的動(dòng)畫(huà)的部分截圖,(f)列為替換手部幾何后生成的動(dòng)畫(huà)截圖。本文采用模型重建再渲染的方法生成動(dòng)畫(huà),有效地消除了傳統(tǒng)動(dòng)畫(huà)生成方法生成的動(dòng)畫(huà)中出現(xiàn)的偽影,增強(qiáng)了生成動(dòng)畫(huà)的真實(shí)感。同時(shí),本文生成的動(dòng)畫(huà)還可以應(yīng)用至虛擬現(xiàn)實(shí)場(chǎng)景中。由于重建過(guò)程中無(wú)法恢復(fù)正確的手部幾何,本文采用基于B樣條插值的網(wǎng)格拼接融合算法將錯(cuò)誤的手部幾何用標(biāo)準(zhǔn)的SMPL模型的手部替換,圖10最后一列展示了替換后的模型效果。本文采用的基于模型重建再渲染的動(dòng)畫(huà)生成方法有效地去除了生成的動(dòng)畫(huà)中的偽影。替換錯(cuò)誤的手部幾何后能夠生成更具真實(shí)感的人體動(dòng)畫(huà)。
圖11 展示了本文方法與Photo Wake-Up[19]的結(jié)果對(duì)比。圖11中,第一列為Photo Wake-Up重建的結(jié)果,第二列為本文替換手部幾何前的結(jié)果,第三列為替換手部幾何后的結(jié)果,最后一列為局部細(xì)節(jié)放大結(jié)果。與Photo Wake-Up相比,本文使用基于B樣條插值的模型拼接方法不僅能夠平滑自然地拼接正反面網(wǎng)格,還能夠替換錯(cuò)誤的手部幾何使得模型更具真實(shí)感。同時(shí),本文還能夠較準(zhǔn)確地生成背面紋理。相較于Photo Wake-Up,本文方法可以重建出具有全身紋理以及輪廓和手部幾何細(xì)節(jié)的更具真實(shí)感的人體參數(shù)模型。
圖12 展示了初始SMPL模型與重構(gòu)后的模型對(duì)比。圖12(a)為輸入,(b)為初始SMPL參數(shù)模型,(c)為本文方法重構(gòu)后的人體模型。標(biāo)準(zhǔn)的SMPL參數(shù)模型是半裸的,不具有人體服裝信息,與輸入圖像中的人體輪廓不一致。本文的三維人體幾何重建方法能夠生成與目標(biāo)輪廓一致的人體模型。
本文還在PeopleSnapshot數(shù)據(jù)集上將本文方法和其他相關(guān)人體三維重建方法做了定性的比較。BodyNet[31]是一種基于體素的方法,僅從一幅圖像估計(jì)人體姿勢(shì)和形狀。SiCloPe[10]也是基于體素的,但通過(guò)依賴于物體的合成輪廓來(lái)恢復(fù)某些細(xì)節(jié)。HMR[17]是一種基于SMPL參數(shù)模型從單個(gè)圖像估計(jì)姿勢(shì)和形狀的方法。Video Shapes[21]是基于視頻的單眼形狀重建方法,由于該方法是基于優(yōu)化的并且需要首先擬合每個(gè)幀的姿態(tài),這使得該過(guò)程非常慢。Tex2shape[13]從局部紋理中估計(jì)有細(xì)節(jié)的法線貼圖和向量偏移貼圖,從而恢復(fù)三維模型。在圖13中,本文對(duì)上述所有方法進(jìn)行了比較。第一列為輸入,第二列為BodyNet方法的重建結(jié)果,第三列為HMR方法的重建結(jié)果,第四列為SiCloPe方法的重建結(jié)果,第五列為Video Shapes方法的重建結(jié)果,第六列為T(mén)ex2shape方法的重建結(jié)果,最后兩列為本文方法重建出的結(jié)果。本文的結(jié)果比前三種方法更詳細(xì),與后兩種重建方法在細(xì)節(jié)恢復(fù)方面具有可比性,但是本文重建后的模型可以由3D運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)生成動(dòng)畫(huà)。
Liquid Warping GAN[9]利用人體姿態(tài)引導(dǎo)神經(jīng)網(wǎng)絡(luò)生成不同姿態(tài)的人體圖像從而構(gòu)成動(dòng)畫(huà)。但是基于神經(jīng)網(wǎng)絡(luò)的動(dòng)畫(huà)生成方法生成的動(dòng)畫(huà)缺乏真實(shí)感,容易產(chǎn)生偽影。圖14展示了本文方法和Liquid Warping GAN生成動(dòng)畫(huà)的部分截圖,圖中第一列為輸入,紅色虛線標(biāo)注的是Liquid Warping GAN生成的圖像,藍(lán)線標(biāo)注的為本文生成的圖像。Liquid Warping GAN生成的圖像容易出現(xiàn)偽影,人體紋理細(xì)節(jié)大量丟失。實(shí)驗(yàn)證明,本文提出的動(dòng)畫(huà)生成方法有效地消除了生成的動(dòng)畫(huà)中的偽影,生成的動(dòng)畫(huà)在清晰度、真實(shí)感等方面顯著提高。值得注意的是與Liquid Warping GAN相比,本文方法處理漫畫(huà)風(fēng)格的人物時(shí)也有較好的效果,如圖14最后一行所示。
本文提出了一個(gè)完整的框架,從單幅圖像中生成具有高度真實(shí)感的動(dòng)畫(huà)。本文依據(jù)輪廓變形標(biāo)準(zhǔn)的SMPL參數(shù)模型,并將基于B樣條插值的網(wǎng)格拼接融合算法用于正反面模型拼接以及手部的替換,從而提高重建后的模型的真實(shí)感。同時(shí)本文還訓(xùn)練了一個(gè)對(duì)抗生成網(wǎng)絡(luò)用于恢復(fù)模型的背部紋理。最后結(jié)合運(yùn)動(dòng)數(shù)據(jù)集控制重建后的參數(shù)模型運(yùn)動(dòng),從而生成動(dòng)畫(huà)。
本文方法還有一些局限性:首先,本文需要輸入圖像中的人體正對(duì)相機(jī),而且身體部位不能夠相互遮擋。第二,雖然本文恢復(fù)了手部的正確幾何,但是由于缺少手指運(yùn)動(dòng)數(shù)據(jù),從而無(wú)法生成逼真的手指運(yùn)動(dòng)動(dòng)畫(huà)。最后,在重建過(guò)程中會(huì)丟失部分紋理細(xì)節(jié),例如鞋子部分。