NEXT Studios的故事——虛擬數字人Siren的誕生(上)

遊資網發表於2019-04-17
作者簡介:顧煜,騰訊互動娛樂新體驗與技術部助理總經理,專家工程師。

Project Siren Episode 1

壞的開始

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

Siren是一個虛擬數字人專案,名字取自北歐神話,女妖塞壬。相傳她擁有天籟般的歌喉,常用歌聲誘惑過路的航海者而使航船觸礁沉沒。

黎叔(沈黎,騰訊互動娛樂新體驗與技術部理副總經理)起這名字的時候,光注意了名字的調性,英文不錯的我們,也都紛紛叫好。古有貞子破屏而出,今有塞壬讓宅男破幕而入,這個願景激勵著我們努力。

不曾想,今後的宣傳中,無數人跳出來說,起什麼代號不好,偏偏要起一個“死人“的代號。所有的能力,都會遮蔽雙眼。英文不錯,反是負擔,我們都忽略了Siren還能被解讀成死人。

好在當時,我們並不知道這一切。倘若不然,想必在研發的過程中,大家會多了些許負擔。而對於這樣一個艱鉅複雜的專案,沒有信心的我們,若非無知無畏,若非輕裝上陣,早已落荒而逃。

真正的開始

這個專案來源於一次合作。Epic和騰訊希望找機會做技術合作,於是我們和Epic CTO開會交流。

會中各種方向討論,都不算靠譜,或者是太雞毛蒜皮,或者是太虛無飄渺。最後他拋了一個想法,想要合作做虛擬音樂會,也就是一段超高質量的MV,大家覺得還不錯,於是匆匆結束下午的會議,進入了大家喜聞樂見的晚餐環節。

晚上商務宴請,一頓潮汕火鍋涮完,CTO碎碎念著,說大家不太喜歡這個想法,閒談中聊到這個專案,沒有那種眼中有光、心中有火的狀態。

然而這並不重要,一肚子牛肉要消化,明天總要到來。所謂方向,即使一開始並不起眼,也許熬著熬著,做著做著,也就柳暗花明了。

但事實是殘酷的。大多數想法,都不會做著做著才變得驚豔。一個好的想法,自然有打動人的力量,即使一開始那麼不起眼,當你聽到它,就會覺得,就是它了。虛擬演唱會的想法,還缺一點意思。

第二天,Epic的CTO同學又帶來新的想法,這次的方向,就是虛擬人。所謂虛擬人,就是高質量的CG人物,能夠亂真,可以互動。

這是一個有趣的想法。

並不是每個有趣的想法,都有價值,我們又該如何判斷它的價值呢?

決策

對於未知領域,究竟什麼想法靠譜,什麼想法不靠譜,很依賴於人的直覺,但也有一些客觀的方式可以判斷。依我看來,有四個維度可以幫助做決策。

你先要看可行性,再好的想法,做不出來也是白搭。我們可以承受適當的風險,風險越大,越看不清的方向,就越需要控制投入的規模。虛擬人這個想法,有不錯的可行性,電影行業特技已可亂真,而遊戲行業靜態畫面也能媲美照片,在這個飛速發展的時代,的確孕育了實時渲染的數字人技術的可能性。PC消費級硬體的效能突飛猛進,已經奠定了基石。

可行性不光看大環境,自己團隊是不是適合做這個事情,也是一個重要的考慮因素。我們團隊有不錯的遊戲開發經驗,也能勝任高階渲染技術的開發,而更重要的是,Epic的CTO Kim Libreri,來自電影行業,從事電影特效多年,贏得過兩次奧斯卡獎項,有足夠的行業洞見和人脈資源,是一個最佳的帶頭人。

看完可行性,再要看它有沒有技術壁壘。如果投入做一個很簡單的技術,其他團隊很容易就能復刻,那麼投入的價值就不那麼大。既然是探索新領域,我們希望“用時間換空間”,投入更長的時間,獲得持續的積累,而我們也希望這個積累,能產生一些壁壘,讓別人很難輕易複製。虛擬人很符合技術壁壘的定義。這個專案在多個領域需要做出突破,在建模精度、RIG質量、渲染效果、實時表情捕捉等各個方面都有巨大的挑戰。這裡有相當多的領域,橫跨了遊戲和電影行業。而所有跨越邊界的技術,都不好做。遊戲談起渲染質量,電影樂了;電影聊起實時互動,遊戲笑了。陌生行業的鴻溝,那些越過邊界的不確定性,那些遇到難題的不知所措,就是技術的壁壘。

The brick walls are there for a reason.The brick walls are not there to keep us out.The brick walls are there to give us a chance to show how badly we want something.Because the brick walls are there to stop the people who don’t want it badly enough.They’re there to stop the other people.

Randy Pausch

網上廣為流傳的“最後一課”的教授,也講過,牆並非無緣無故而來,牆把我們擋在外面,只是要給我們一次機會,一次證明自己的機會。它在那裡,只是想把那些意志不夠堅定的人阻擋在外面。這堵牆,就是技術的壁壘,它不僅僅是努力的目標,也是努力的信心。因為我們知道,當我們翻過這堵牆,它就是我們的壁壘,阻擋那些不夠堅定的競爭者。

然後要看它有沒有技術價值,這個技術,會不會產生有價值的積累,應用到其它產品中。實驗室的前沿技術,大多不能應用在實際的產品中。而能用在產品中的技術,往往有不夠高階。我們要尋找的,是那些略高於目前技術水準的技術,可以在2-3年後,應用到產品開發中。

虛擬人技術,跨越了多個領域。其中渲染質量的提升,相當多的理念都可以受益於電影行業的技術。在渲染領域,電影行業的今天,就是遊戲行業的明天。提前瞭解一些更高階的技術,對未來的遊戲研發技術,也有實質性的提升。而研發過程中,也能產生大量的副產品,這些副產品,同樣可以用於遊戲研發,提升研發的過程技術。比如AAA遊戲以及一些敘事遊戲,類似《底特律—變人》、《Hellblade》等,早已開始用類似的製作管線生產過場。而更基礎的照相建模、動作捕捉,也在遊戲開發中越來越廣泛使用。在國內行業中,大量外包公司也已經提供類似的服務,如果自己擁有這樣的裝置,可以大大加速迭代的速度,也能深入研究,開發更多有趣的功能。

最後看它能不能吸引眼球,能不能被外部認可。再好的技術,做出來無人關注也是不行的。一個團隊的可持續發展,需要吸引人們的注意力。而這個專案,定位在跨越恐怖谷,如果能做出來,一定會非常吸引眼球。

為什麼說恐怖谷會是一個吸引人的價值點呢?需要了解這一點,必須要講一下恐怖谷理論。恐怖谷理論在1970年由日本機器人專家森政弘提出:
森政弘的假設指出,由於機器人與人類在外表、動作上相似,所以人類亦會對機器人產生正面的情感;直到一個特定程度,他們的反應便會突然變得極為負面。哪怕機器人與人類只有一點點的差別,都會顯得非常顯眼刺眼,整個機器人顯得非常僵硬恐怖,使人有面對殭屍的感覺。可是,當機器人和人類的相似度繼續上升,相當於普通人之間的相似度的時候,人類對他們的情感反應會再度回到正面,產生人類與人類之間的移情作用。Wikipedia,https://zh.m.wikipedia.org/wiki/%E6%81%90%E6%80%96%E8%B0%B7%E7%90%86%E8%AE%BA

在電影行業,已經非常接近跨越恐怖谷的階段,大量計算機視覺作出的虛擬人,在場景中和真實演員一起演出,粗看並無破綻。但電影畢竟擁有海量的資源,計算資源接近無限。而在實時渲染領域,並沒有類似的技術,在計算能力受限,成本不高的消費者領域,缺乏同等級別的技術。如果通過這個專案能在實時內容領域產出足夠高質量的技術,那麼吸引眼球這個目標並不難做到。

綜上,虛擬人這個想法,非常理想,符合上述所有條件。我們馬上熱血沸騰,和Epic一拍即合。

我們對專案目標的定義,是非常簡潔的一句:Crossing the boundary。跨越影視和實時渲染邊界,製作可實時互動的數字人物。

Project Siren Episode 2

合作

於是,一個跨國合作專案就開始走出了艱難的第一步。誰也不曾想到,日後的研發和合作過程是多麼困難。

這次的合作,相比過往專案,更為艱難,我們想要建立一個跨國團隊。顯而易見的是,我們跨越了文化,也跨越了時區,不那麼明顯卻同樣重要的是,我們跨越了行業,一起工作在陌生的領域。

這個專案的團隊來自四個公司,分屬四個國家。

美國的Epic是整個專案的發起人和協調人,它是領路人,帶領整個團隊,跨過影視和遊戲行業的鴻溝,它也是整個專案的整合者,負責把所有的工作整合到一起。塞爾維亞的3Lateral是高精度模型和Rig的開發商,負責製作高精度的人物模型,同時製作高精度的Rig來驅動模型。英國的Cubic Motion,負責實時的表情捕捉和還原。NEXT Studios則作為整個專案的Owner,在其中負責Unreal引擎的渲染增強和效能優化,提供基於Unreal引擎的高質量的人物渲染,我們也積極參與各個研發的全過程,學習流程。

由於四個國家跨越四個時區,這讓每次週會成為一個痛苦的經歷,總有一個或者兩個地區的人們,在一個很尷尬的時間參會。而因為一些不可明說的原因,在國內經常無法訪問一個常用的視訊會議服務。但這些,都不算太大的困難,真正的困難,始終在人身上。

2017年2月,專案成立,NEXT第一批研發團隊開工。

我們儘可能把內部最好的渲染人才都投入了這個專案,但這個方向還是比較前沿,實時渲染真實的人像,自COD的Paper開始,已經持續進步了很多年,主流AAA遊戲,都能做到非常真實的人像渲染了。但對於這個專案,還嫌不夠,我們還需要研究更好的渲染演算法,開發更多的特性。

原定的方式,是Epic找一流的技術專家,給予我們指導,建議方向,我們來做研究。開發團隊開始研讀Paper,頻繁交流。早期的幾次週會,都是從論文出發,進行討論。渲染領域的同學,用公式和想象,進行隔空過招;非渲染領域的同學,聽得昏昏欲睡,恨不得奪門而逃。

然而我們很快就遇到了瓶頸。

遠端的資深專家,工作繁忙,只是抽空給予指導。可是前沿的渲染領域,大量細節,除非對方直接參與深度研究和實現,否則很難僅憑印象,來做討論和指導。當我們做出程式碼實現,如果結果有爭議,遇到具體問題需要解決,無論是多牛的專家,沒有深入一起做實現,投入足夠的時間,就不能判斷究竟實現錯誤,還是論文方向錯誤。而一週一兩次的遠端溝通,資訊密度和頻度都不足以彌合資訊的Gap。於是,一些影像特性的開發,陷入了膠著,誰也不能說服誰。我們徒勞地做著各種各樣的嘗試,或是自發的,或是來自遠端的建議,但始終沒法有突破。

此外,前沿的渲染,也很難從純技術側予以推動,具體來說,大多數時候,一個特性的實現,也需要和技術美術(TA)一起把最終的效果做出來,才能有說服力。我們這裡的團隊,也有一定的技術美術能力,但還沒有到能領導方向的程度。

隨著合作進一步進行,大家逐漸意識到,依賴純程式、低頻度的交流,已經很難推動特性研發了。

合作問題的最終解決,是Epic側換了介面人,由技術美術專家主導,和我們渲染程式設計師交流。大家很快就發現,在更好的合作性下,兩個互補的工種推動工作,一切都順利了很多。程式的實現,也更快有了美術側的應用,技術美術給出針對性的意見,也會推薦其他的實現方式,繼續讓程式設計師嘗試。

有些工作,依賴工種能力的互補,會勝於同類能力上的增補。

模特

眼看時間一點點過去,過了兩個多月了,其他幾個團隊還沒有開工,他們有不同的檔期安排。

我們理應非常恐慌,恐慌來自於自信的不足,從沒做過的業務,不知從而入手,不知進度如何。可是,我們卻有謎一樣的自信,自信來自於Epic的胸有成竹,同類的事情他們做過多次,只要不出問題,一定能做到更好。

2017年的GDC過後,Epic的團隊也開始更多投入Siren專案。Epic有一個精英團隊,專攻各種特殊技術,他們的專案節奏,圍繞各種展會,交付種種黑科技。Siren也是他們下一個重要的目標。

因為是遠端專案,資訊交流不暢,多方一起開工,就發現了很多問題。

比如,我們要渲染人,就需要選一個模特去做3D建模掃描。之前我們得到的所有資訊,就是找一個漂亮的女孩子,參與2-3天的全程掃描,後續再有2-3天的配合工作,就能完成目標。於是NEXT的籌備工作,打算從公司內部找人蔘與,物色了一些不錯的人選,也和對方Leader談好了,需要支援一段時間,大家相談甚歡。

可是,很快我們就發現,要做的事情,似乎超過了2-3天的全職時間。一會要模特去做一下牙齒資料採集,一會要模特去拍個參考照片,一會要模特去選適合的衣服。這還沒開始正式掃描,就已經有那麼多瑣事了,正式開工以後,肯定會有更多的事情。

我們面臨了一個困難的決策,繼續用已經選好的模特,還是換一個專業和全職的模特。

其時離需要拍LookDev的參考照片時間已經不足3周,臨陣換人,時間有點緊。但一次次讓公司內部其他部門同事請假來支援我們,並不是長久之計。本來是一個線上的業務,一不小心,跟線下打起了交道,活活做成了O2O(online to offline)的專案。

無奈之下,我們只好在最後關頭換模特。我們找了外部公司,找到了日後的合作演員:姜冰潔。

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

曲線-中間節點

從2017年GDC,到我們2017年底的節點,還有很長的時間,因為整條資料生產的Pipeline非常長,從掃描到生產,有很多的步驟流程,有多家公司合作。

作為一個團隊,我們也不能一直沒有產出。於是Epic團隊找了一箇中間節點。7月底的Siggraph是一個不錯的節點,時間上比較合適,有機會產出一些成果。

Epic團隊定了個方向,做一個VR的面對面Show,他們掃描了Mike Seymou,Fx Guide的創始人。用一套完全一樣的Pipeline,把Mike模型匯入了Unreal,一路趟了很多坑,把引擎流程中不適合的地方一一走通。NEXT這裡做的一部分渲染特性也被整合進版本,進行了一輪驗證。

做這些功能的時候,NEXT的小哥哥們心裡還是有點抵制的。本來說好了做一個美女,突然中間加入了一個新目標,去做一個老爺爺…大家可以看一下照片,感受一下畫風的突變。

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

新的目標造成了巨大的心靈創傷,但我們的程式設計師還是非常敬業的。他們調整心態,把不同程式碼分支的特性,整合進了Mike的分支。

Mike的演示在VR中進行。團隊進行了效能的優化,確保有儘可能高的幀數。Epic團隊重用了當年做Hellblade的所有流程,加上各種新功能,做成一個1.5的版本,就直奔Siggraph了。

我們的謎樣自信,在這次展會被小小打擊了一下,知道此事並不簡單。

可能是藝高人膽大吧,今後的合作中,每次有重要展示節點之前,版本總是一塌糊塗的,但合作各方居然也能欣然前往會場。在Siggraph展出前夕也是如此,各種優化效果需要調整,效能不達標,Cubic Motion的表情捕捉又不能穩定工作,甚至忙到Siggraph的第二天展示,還陸陸續續有新的修正被加入現場版本。

好在Siggraph展出非常成功,在Hellblade的整套管線上,技術又得到了進一步的升級,人物渲染的質量、捕捉和建模的精度,都有了不少的提升。如果說Hellblade的人物,還有一點數字痕跡,那麼Siggraph中的Mike,已經很難識別出是一個CG製作出的人物。Mike在講話的時候,口型還略有奇怪,看上去有些僵硬,但如果拋開口型不看,上半部分的臉,完全達到了最初的設想,真假難辨。

整體來說,這個中間節點是成功的。但我們也進行了深刻地反思,為什麼展前如此狼狽,我們今後需要如何改良流程。改良的結果,是完全無效。一模一樣的忙亂,在今後的研發中多次重現,我們經歷了騰訊內部彙報的幾天忙亂,經歷了GDC前夕的通宵折騰,經歷了後續Siggraph展出前的緊急突擊。總是在展示現場奮戰,直到最後一刻,才能最終搞定。

也許高科技就是這麼矯情,輕易不肯展示它的魅力吧。

Project Siren Episode 3

渲染

Siggraph這個中間節點的工作非常成功,驗證了新的流程,Cubic Motion新的捕捉技術也慢慢成熟。

而另一頭,我們的主要版本,也在緩緩推進。

我們先在5月前後拍攝了姜冰潔的Look Dev參考照片。所謂的Look Dev,就是指我們需要拍攝模特在各個光照方向下的照片,多角度捕捉,然後在後期Unreal渲染開發中,會嘗試用引擎還原當時的光照情況,然後把數字模型放在一樣的位置渲染,逐幀對比渲染圖片和實際照片的區別,儘可能調到一摸一樣。

這個做法可算讓人大開眼界,因為遊戲渲染其實沒有要求如此精確,基於目測而不是精確的對比,渲染到大致差不多就行了。換一個角度看問題,的確會得出不一樣的做法,遊戲的畫面和真實的差距太遠,想不到要如此準確去評估渲染質量。而電影本就是要以假亂真,自然用最精確的方法去推動質量改善。

據說電影行業一直就是用這樣去做測試,因為CG的製作過程非常長,有很多步驟,他們要不惜成本保證每一步質量都儘可能好。如果不這麼做,那麼經過多個步驟以後,誤差就會累計和放大,結果就沒有辦法看了。

我手邊沒有標準Look Dev的對比照片,找了兩張近似的。後面兩張照片,一張是真實照片,一張是Unreal中的渲染照片,注意看頭髮部分,可以區分真實和Unreal渲染照片。實際Look Dev工作中,會精確找到光照一樣、角度一樣的兩張照片,來做針對性調整。當然數字環境和真實畢竟還是不一樣的,不可能100%還原。從上述照片來看,我們也的確盡力做到最好了。

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

有了科學的方法,也不代表我們就能做出一流的效果。高階渲染,後期的改動相當微妙,我們也不具備能力分辨細微的畫面差別。所以我們還需要一個CG Supervisor。

CG Supervisor是一種非常神祕的職位,這個職位的術語,在影視行業用得較多,遊戲開發行業往往稱之為Art Director。他們對渲染差異非常敏感,很多時候我們只能模糊感知到畫面有所不同,但他們卻能精確定位問題,給出修改方向建議,告知如何調整。

The computer graphics supervisor,or CG Supervisor,is a person involved in the production of computer generated imagery,be it animation or visual effects.Due to the variety of productions and duties required,most CG supervisors are specialized in one area such as art,programming,or management.

Wikipedia

https://en.wikipedia.org/wiki/CG_Supervisor

來自電影行業的CG Supervisor和電影製作的TA,指導我們的渲染功能開發,指導整個專案的美術素材製作,幫助我們一步步把基礎模型的品質提高,把渲染功能完善。整個Look Dev的過程,貫穿了專案的始終,直到後期,還在不停地進行修正,力圖達到最好的顯示效果。

掃描

如果說程式的開發,還是我們力所能及,可以參與的,那麼模型的製作,就不是我們能把控的。開工數月,還沒有開始掃描模型,我們很驚慌,因為模型是後面所有制作的起點。

聯合團隊在6月份一起去了塞爾維亞,帶著模特,去了3Lateral公司掃描高精度模型。

掃描的過程,是一個照相建模的過程。我們讓女演員在場地中站好,按下快門,數百臺高清相機同時啟動,從全方位拍下模特兒的各個角度的照片。這個圖是一個簡單的示意,我們當時使用的裝置,會更大更復雜。

NEXT Studios的故事——虛擬數字人Siren的誕生(上)

整個使用過程並不複雜,複雜的是整套裝置。在十幾平方的掃描房,搭建各種架子,放入數百臺相機,光是固定相機和完成連線,這就是一個極其巨大的工程。電源線、相機控制線,接入多臺電腦的USB HUB,然後電腦又通過網路連線到一起,用一臺電腦作主控。主控電腦上發出操作指令後,多臺連線相機的電腦用合適的拍攝引數,同時運算元百臺相機拍攝。數百臺單反相機快門同時觸發,匯成一聲巨大的咔嚓。然後千百兆位元的照片在網路中傳輸,彙總到主控電腦,做進一步的處理。

捕捉臉部模型的裝置,是在幾周前才開始組裝的。整個系統從結構上來看並不算複雜,但由於部件比較多,所以整體容易出問題。比如有一陣子,按下快門後,有幾組相機沒有隨著其他相機一起拍攝。

這類裝置的Debug過程,和電腦裝機差不多,無非就是換換零件,插拔線頭,重新啟動。老外們忙了半天,開始懷疑到USB Hub。我們湊過去看熱鬧,發現整套裝置各種高大上,但其中的USB Hub裝置,用了中國的某流行的低端品牌。連我家裡都嫌棄的品牌,他們居然用在工業級別的裝置上?

我們趕緊告知他們,這個牌子質量一般,建議全換掉。只可惜,塞爾維亞體驗不到早上下單晚上到貨的服務。他們只好先從公司找了幾個備用的USB Hub,換下出問題的幾個Hub。但是這些Hub的問題不是不能用,而是不穩定,時好時壞。大多數時間是可用的。整個系統有上百個Hub,出問題概率就不低了,有某個Hub出問題了,就要重拍,大家在提心吊膽中進行著後續的拍攝。

幾天拍攝很快過去了,我們一邊幫忙,一邊學習。期間採集了大量的資料,包括靜態臉部資料,身體資料,牙齒資料,眼睛的特寫資料和各種表情資料。姜冰潔一會擺成人字,一會擺成S字,一會瞪大眼睛,一會鼓起腮幫,做出多樣的動作,滿足著各種掃描需求。

完成採集資料後,Epic、Cubic Motion和我們各自回國,後續的建模工作,就全留給3Lateral了。

幾周後,靜態的模型逐漸交貨。我們的團隊也就開始了LookDev的過程。3Lateral團隊繼續忙著做後面的Rig系統,為面部表情做好準備。

動作捕捉

有了模型,有了渲染,還少了一個重要的環節:如何讓這個虛擬人物可以動起來。

受限於技術和精度要求,動起來這個任務,被分成兩部分。一部分是動作捕捉,一部分是表情捕捉。外界也有些動補技術,可以合二為一,但對於這個專案,精度和效率都不能達到需求。

動作捕捉是相對成熟一些的技術。動作捕捉已經發展了挺多年,主流的技術都有不錯的表現。在AAA遊戲開發中,我們製作動畫資料時候也一直在接觸。只是這一次,需要實時響應,稍有麻煩。我們使用了Optitrack的技術,動補的資料,需要直接在電腦上採集,然後Streaming到Unreal中,再展現到我們的Rig中。好在這一塊技術上也不算太複雜,主要就是很多工程上的細節需要去做。

貼完感測器,開始捕捉各種動作,先走通了UE裡面的Live過程,再開始仔細根據動作捕捉,研究身體Rig應該如何改進。在模型的關節處總有各種問題,需要一一調整,但總體來說,還容易搞定。

最難的地方,無疑是臉部表情了。

作者:顧煜
原地址:https://mp.weixin.qq.com/s/cKaJ1dlf2d17Abs2cTuy5w

相關文章