AI驅動的智慧圖形應用
- 2020 年 2 月 19 日
- 筆記

高速5G和性能更強大的終端為社交、遊戲、教育等場景帶來的更豐富的互動體驗,本文內容來自相芯科技的蔡銳濤在LiveVideoStackCon2019深圳站上的精彩分享,他將介紹AI驅動的智慧圖形應用,以及因此帶來的新的用戶交互方式。
文 / 蔡銳濤
整理 / LiveVideoStack
大家好,我是相芯科技的蔡銳濤,很高興今天在這裡與大家分享交流。今天與大家分享的題目是AI驅動的智慧圖形應用。按照慣例,我簡單介紹下我們公司。
相芯科技專註於智慧圖形技術的創新與應用,為移動互聯網、AR、AI提供3D內容生成與互動的行業解決方案。我們致力於將好萊塢電影級別特效技術應用到消費級中來普及它。舉例來說,我們開發了一個AI助手——Alice。大家聽到的聲音、看到的影片以及嘴唇與聲音的實時同步都是由程式實時合成出來的影片。隨著我後面的介紹,大家會對這個領域有更深入的了解。

今天我的分享包括三個部分,第一部分,我會簡單介紹下智慧圖形學,第二部分我會從AR影片、AI影片兩個方面介紹智慧圖形學在應用影片領域如何創造價值。

這裡我們所說的AR影片不是指一些AR效果,而是泛指利用增強現實的方式豐富影片內容。這裡我會分享三點:一個是全自動千人千面的虛擬化個人形象的生成;第二個是基於單目相機、普通攝影機的虛擬形象全身的驅動技術,包括表情、肢體、手指;第三個是人像影片的美化,從開始的美顏到後面的美妝、美髮以及全身美體。

在AI影片領域,我會介紹如何利用人工智慧技術自動合成影片。其中會重點介紹虛擬主播以及虛擬助手的核心技術方案。同時我會介紹照片級影片合成技術,最後會介紹這一領域技術的應用場景以及一些落地案例。
1. 智慧圖形學

首先,我來簡單介紹下智慧圖形學,電腦圖形學解決的問題是讓電腦生成圖形影像,在一般意義上這裡主要涵蓋三個問題,第一個是如何構造三維數字世界模擬現實世界(建模),有了這些虛擬對象後,我們要考慮如何讓這些對象動起來,實際上是一個運動模擬的過程,第三個問題是利用電腦光與場景的交互,生成一張足夠好看的影像。

一切需要視覺交流的應用都可以用到電腦圖形學,這裡面包括工業製造方面的CAD、CAM,一些電影的特效文化創意,還有可視化、模擬訓練以及數字化文物保護。

傳統的電腦圖形學解決的是專業用戶如何生成圖形給人看的問題,這是一個PGC的範疇,最常見的就是電影和遊戲,需要動畫師,美術以及遊戲設計師做出內容給消費者看。近年來,電腦圖形學希望解決的內容是普通用戶可以生成圖形內容,這屬於UGC範疇。電腦圖形學,加上電腦視覺、機器學習、人機交互之後,能夠更自動化的生成一些內容以及更自動化地進行內容交互,這便形成智慧圖形學的概念。
傳統的電腦圖形學主要是用數學建模的方式模擬現實世界,進行渲染,模擬。內容生成方式是手動生成,交互手段也是比較傳統的。我們新一代圖形學是從大量數據中學習一些知識,學習如何生成好看的圖形和新的交互方式,嘗試改變圖片的生成方式,使圖片生成方式更加自動化,生成的圖片更加自然。

同時,我們處於通訊技術快速發展的時代,很多人都經歷過從只能打電話發簡訊到3G時代能簡單發些圖文資訊,再到4G時代能在線看高清影片以及現在有很多直播應用,到5G時代,我們可以在線看4K甚至8K影片,這背後都是底層通訊頻寬的發展。在頻寬壓力得到極大的緩解後,我們可以更加自由無障礙的分享原生影片。用技術手段創造影片,使原生影片內容更加豐富,是智慧圖形學在影片上創造的價值。
2. AR影片
2.1 虛擬形象

圖中展示的實例是通過一張照片快速生成一個虛擬形象,也是我們今年帶到美國圖形學展會上的一個實例。

在這個實例中,用戶只需上傳一張照片就可以生成一個「千人千面」的卡通虛擬形象,之後可以將卡通形象下載到手機接入各種應用中。這裡我們提出一套全新的方法,第一步是三維人臉重建,然後將重建後的人臉模型進行風格遷移生成一個卡通虛擬形象。這個相對於市面上常見方法而言,我們的方法並不是簡單的通過分析人臉的特徵點,進行類別劃分,然後在資料庫中匹配後,最終拼湊出一個形象。

通過此技術生成虛擬形象後,此形象可以用於很多需要虛擬形象的場景,比如虛擬社交、虛擬主播甚至車載問答助手都可以使用。

此實例背後使用的技術是分兩個步驟的。第一步是對人像的三維人建模並進行特徵提取,然後用結構化的人臉資訊進行三維人臉風格的遷移,最後生成卡通形象。這裡我們使用的是多任務網路來完成。其中一個分支是輸入圖片特徵提取器處理後,經過語義分割常用網路獲得一個語義分割過的面部模型。在三維人臉回歸的分支,我們在特徵提取器之後去獲得三維重建所需的係數,整個任務公共一個特徵提取器,可以有效減少計算量。
2.2 虛擬形象驅動技術

有了這兩個係數後,我們便可以並行三維風格遷移。這裡的主要挑戰在於,常用的神經網路更擅長處理二維影片,對於三維神經網路的研究還不太成熟。但是我想說的是,正如我所說的先重建出一個三維人臉資訊,我們如何進行映射,如何將典型數據通過UV映射方式轉化成2D貼圖,應用神經網路進行處理三維資訊重構。實際這個過程就是將重建的三維節點資訊做UV映射,映射到圖片空間,然後給網路模組做風格遷移。具體來講,我們將同時回歸頂點貼圖和法線貼圖。這樣做的原因是頂點數據是比較稀疏的數據,能表達的是相對粗粒度的資訊,這些資訊不夠時,我們可以使用法線貼圖去增強這些單元的資訊。得到這些資訊後,我們還需要進行一次求解得到網格的資訊。以上是我們的一些示例,大家可以看到兩種不同的風格,即我們用一些不同的實例建一些模型,中間還有一個生成的模型,我們去圈一個網路生成風格遷移的能力。

上圖是一些我們生成的結果,左邊一列是輸入的原圖,中間一列是更Q一點卡通風格的影像,最後一列是相對寫實的生成圖。可以看到,我們提取了很多資訊,例如臉型、頭髮的形狀,眼睛眉毛的形狀,鬍子的形狀風格等。

通過 「千人千面」的形象生成技術有了虛擬形象後,用戶可以通過虛擬形象驅動玩起來。全套驅動包括面部形象驅動、肢體驅動,手指驅動。我們提供市面上最成熟的單目相機面部驅動技術,在效果、標準上與蘋果Animoji方案比較接近,同時我們支援全平台實時高效支援。

上圖展示的是我們面部驅動的一些關鍵參數,在一般手機上,我們可以實現七毫秒內完成計算,包括二維特徵點、三維重建模型以及一些表情係數、人臉姿態等資訊。並且我們對SDK包做了很多優化,現在它的體積非常小。

這張圖給大家介紹了人臉跟蹤演算法的框架。這個技術比較成熟,我們採用了多任務的神經網路,通過前面所講的特徵提取共享方式來實現,在後面接入一個表情回歸器,特徵回歸器以及姿態回歸器,最終得到一個三維人臉的實時重建結果。這裡多任務的好處就是,特徵提取只需要做一次,無論是全臉還是後期運行上都可以節省很多計算資源。另外值得一提的是,我們借鑒了一個電腦圖形學領域的一個知識——人臉張量模型,可以理解為三維重建中用於表達人臉的一個參數化模型,給出一組人臉係數,便可以生成足夠像的人臉。通過人臉張量模型,可以給網路提供一個很好的先驗知識,大大加快訓練的過程。

下面為大家簡單介紹一下人臉張量模型。我們通過深度攝像機採集了上千人的三維人臉數據,針對不同人,採集了多種表情。利用這些原始數據,我們可以生成一個高維的數據,其中一個維度針對個人,另一個維度針對錶情。這些原始數據可能有幾十G那麼大,我們會對這些數據進行壓縮與優化,這樣我們可以做高效的人臉三維重建的參數化表達。使用人臉張量模型,我們可以給網路一個優化空間,有效降低網路所處理的問題的複雜度。

講完人臉跟蹤之後,我們來講一下三維人體驅動演算法。市面上比較常見的是2D人體驅動演算法,直接通過圖片預測一個2D的點,3D的還比較少。我們希望打造的是一個UGC系統,直接供C端用戶在手機上使用。圖片上顯示的是我們現在在做的一個效果,裡面是一個跳舞的小夥子,右邊是我們抽取出的實時骨骼表達。抽取之後,我們便可以用於驅動之前生成的虛擬形象達到全身扮演的效果。

2D肢體驅動的流程是通過2D影像進行模型訓練,最後就可通過獲得的點位進行肢體驅動。3D肢體有特殊的挑戰。第一個問題是,我們基於2D影片抽取3D肢體資訊有很強的二義性。一些不同的肢體動作通過不同的角度看起來是一樣的,所以會產生一定二義性。另外一個問題是3D骨骼數據是相對稀少的,需要特別地去標註它的深度值,這是比較難的,我們需要用專用設備進行採集。因為我們希望程式最終能在手機上運行,所以3D骨骼計算複雜性雖然提高了,但我們的目標性能和2D是一致的。還有一個問題是影片中骨骼提取的時域一致性問題,快速跳變不能使動作變形。

針對這些問題,我們提出了一個分兩階段的演算法。首先使圖片經過特徵提取器提取2D特徵點和節點相對關係。我們只需要把特徵點和節點相對關係輸入到3D網路,便可以得到3D骨骼點的位置。這個方案的優勢在於,我們只需要標註頂點的位置以及節點的相對關係,通過節點與父節點的前後關係標記大量數據。大量數據的數據可以增強網路的穩定性。投入人工越多,系統越智慧。到了3D階段,通過輸入之前生成的節點資訊以及節點相對關係可以生成更小的模型。得到3D骨骼點資訊後,我們需要通過反向動力學解算,得到最終的骨骼姿態。

2D特徵點提取過程是輸入圖片經過特徵提取網路,輸入反卷積模組提取到熱度圖。生成熱度圖之後,我們會將結果作為下一幀的輸入。通過這樣的回歸思想,可以提高影片提取過程中的時域一致性,後一幀只需要在上一幀基礎上搜索一個最優結果。

我們用了類似的方式完成了手指驅動。有了面部驅動、肢體驅動以及複雜的手指驅動,我們便可以進行全身扮演。
2.3 人像美化

早期人像美化技術其實是基於影像處理技術的方案,是以美膚、美型為核心的人臉美顏技術,包括美白亮眼、人臉美型、精準磨皮、人像濾鏡等技術,稱為美化1.0時代。

在1.0基礎上,我們利用AI對影片人像進行處理後,現在可以實現美顏、美妝、美髮、美體等更多操作。

針對美妝方案,我們提出209高精度模型。這個模型在眼睛、鼻子、嘴這些地方做的非常精細,再基於圖形繪製技術,已經可以做到實時渲染口紅、眉毛、腮紅等面部妝容。

美髮方案中,我們通過語義分割網路完成了高精度的頭髮分割模型,將分割出的區域進行變色、繪製等功能。

美體功能基於之前提到的身體特徵點提取技術,對於身體美化,我們只需要提取一些身體骨骼點,再結合人臉檢測,我們便實時可以對影片中的人進行瘦腰、拉長腿等微調。
3. AI影片

在AI影片部分,我會重點介紹如何利用人工智慧全自動合成影片以及AI虛擬主播,虛擬助手的核心技術方案,同時,我會介紹我們最新的照片級的影片合成技術。
如圖中介紹,我們只需要輸入一段文字,我們的演算法可以生成一系列包括形象渲染、聲音的合成、嘴唇同步的影片。這也是大家常見的虛擬主播、虛擬助手的核心技術。

在虛擬主播的技術方案中,輸入是一段文本,經過TTS語音合成一段音頻和文字一起進入STA模組。針對虛擬機器人的方案中,就是在上述操作前接入了智慧問答系統。輸入一個問答文本,經過語音的識別,經過NLP的理解後合成一個問答文本,與TTS合成的語音一起進入STA模組進行影片合成。STA是我們的核心影像生成技術。

簡單介紹一下STA的演算法流程。我們同時把音頻和文本作為輸入,然後會進行三個操作。口型分析使口型和聲音同步,但這還不夠。我們會進行情景分析,分析語音中表達的情緒。將這些資訊輸入到圖形合成模組就可以生成虛擬形象。我們有四種不同的圖形合成方式分別滿足不同的落地場景需求,有些是低成本的,有些是高品質的。

對於語音動畫合成其實也面臨一些技術挑戰。第一個是動態合成和輸入內容匹配的動畫是動態合成而不是離線合成的,常規的離線合成影片需要耗費大量時間。第二個問題虛擬人需要具備表現力,包括情境和動作。第三個問題是我們需要有應用平台適配的圖形渲染能力,針對不同的場景做影像適配。

上圖介紹的是目前針對的四種場景的圖形合成模組治理方案。第一種是卡通形象,這個形象可以是美術做的也可以按照之前的方案生成的虛擬形象。第二種是2.5D的模擬人,這種方案中也是通過對照片建模生成一個模型。這兩種模型我們都可以做到實時交互,可以通過手機實時去說一段音頻。第三種是高精度3D虛擬人方案,此方案對硬體渲染能力要求較高,目前只能在高性能PC端以及雲端運行,也可做到實時完成。第四種是照片級影片合成,目前我們只能做到半實時,但是合成出的影片每一幀都不會失真。

上圖展示的是基於物理的真實感皮膚渲染。我們要渲染一個人的皮膚需要模擬很多資訊,首先是皮膚底色,其次是模擬光線照射到的陰影,嘴唇,臉上等的油光等,次表面散射模擬皮膚通透質感,還有一些增強皮膚紋理的,以及其他一些基於真實感的皮膚渲染,還有就是頭髮的模擬我們也做了很多工作。

簡單介紹下圖片合成技術。這個技術基於生成對抗網路,值得一提的一點是,我們還是把這個問題拆解成了兩個部分。我們先對圖片進行三維人臉重建,重建完成後先對影像做大致的變形,變形到比較接近的形狀,然後使用神經網路細化。與之前所講的一樣,我們先用圖形學簡化問題,然後交給功能強大的神經網路,極大地簡化了需求。

圖片合成技術網路結構

上圖是一些執行結果的展示。這些影像的表情都是非常自然的,任何一幀的結果都不會有問題。
我們關於有虛擬主播的落地案例。如浙江台錢江頻道AI「小范兒」、北京世園會吉祥物播報、濟南電視台AI「小沫兒」、京東AI虛擬主播「京小蕾」、京東雙十一虛擬主播播報天團、陽泉日報AI雙主播、揚子晚報「阿紫」、新媒體節目AI主播等等。
我們關於虛擬助手的一些案例。這個的交付日程比較長,可以用於車載系統,智慧音箱,杭州互聯網法院的智慧法官,還有一些黨建助手等問答式虛擬形象。
4. 總結

以上給大家講解了AR影片、AI影片兩大場景,這裡面包括很多技術,我們在這些基礎上已經構建了三條可落地的產品線。一個是全平台人臉AR特效SDK,另外一個是卡通形象智慧生成雲服務,第三個是虛擬主播、虛擬助手的解決方案。我們公司在2016成立,在2017年,我們公司實現整體盈利,2018年初獲得 1.2億A輪融資。經過三年的發展,我們現在已有五百多家行業客戶合作並且SDK平均月調用量達到了二十二億次。

講了很多,希望大家對以下幾點有印象。第一點是相芯科技已經可以通過技術全自動生成虛擬形象,並且可以在手機實現全身驅動,包括人臉驅動、身體驅動以及手勢驅動。第二點是相芯科技的影片美化技術已經從美顏發展到了美妝、美髮、美體全身式的美化。第三點是我們的STA技術不僅可以全自動的合成影片,而且可以賦予智慧問答系統親切可見的形象。最後一點實際上是經驗之談,我們總結出利用領域知識簡化AI處理問題,可以有效減少訓練網路所需的數據量。