童欣:資料驅動方法在圖形學中的應用

微軟研究院AI頭條發表於2017-04-13

本週,我們會繼續在本賬號中釋出另外兩位研究員的演講視訊及精彩內容,希望這些關於前沿技術的思索能夠開啟屬於你的智慧計算研究之門,敬請期待!


第三位與大家分享的是童欣博士的演講——資料驅動方法在圖形學中的應用,全文如下(文字內容略有精簡)。


今天報告的題目是資料驅動方法在圖形學中的應用。


我所在的組叫做網路圖形組,主要在做一些跟圖形相關的東西。我們希望達到三個目標,以研發一些新的圖形方面的解決方案。


第一,我們希望每一個人都可以很輕鬆地產生、分享和去享受這些三維的內容,比如像左邊這個,是如何在Kinect上通過一些手勢的模擬操作,來產生一個三維的Avatar,使用者可以產生各種形象,還可以驅動它去做動畫。  

  

童欣:資料驅動方法在圖形學中的應用


第二,人都生活在真實世界裡,以前我們通過一個計算機螢幕和虛擬世界打交道,現在我們希望能夠打破這個界限,通過一些新的裝置和新的互動方式在真實世界和虛擬世界之間提供一個更自然的互動方式,比如HoloLens,通過手勢等很自然地互動,它可以把虛擬的物體展示在一個真實世界裡,和真實世界混合在一起。


第三,除了可視的世界之外,還有很多抽象的資訊,我們希望能夠把這些抽象的資訊經過視覺化技術展現出來,提供一個良好的可視與非可視資訊之間的互動方式,幫助使用者通過可視的方式快速理解抽象的資訊,獲得想要的資訊。為了達到這個目標,我們也做了很多努力。


在圖形學的方面,傳統的手段是physical based approach(基於物理的方法)。因為真實世界都是靠物理規律來控制的,所以過去圖形學方面無論是光影效果,還是動畫的效果,甚至水的聲音,都通過對物理規律的計算來進行模擬,從而達到相應的效果。


這個方法很好,因為物理規律都非常的簡潔漂亮,所以模型演算法很乾淨。但它的缺點就是,為了模擬這些豐富的細節,計算量往往非常大,需要很昂貴的計算成本。而當我們很關心物體的視覺效果時,就會關注很多視覺細節。於是科學家們就把目標轉向了另外一種方法——data based approach(基於資料的方法)。


這種方法就是通過研發一些裝置,然後直接將真實世界中想要的資訊進行捕捉。所以人們研發了三維掃描器,從真實世界中獲取幾何形狀,還研發了光穹裝置來捕捉物體在不同光照、不同視點下的材質外觀。還有動作捕捉裝置等被廣泛用於影視製作中,以捕捉人或物體的動態。


基於資料的方法有很多的優點,因為所有的資料都是直接從真實世界中獲取的,所以它包含了所有細節,質量非常好,而且計算非常的簡單、快速。但是這個方法也有缺點,需要捕捉的很多資料的維度都非常高,所以需要非常昂貴的捕捉裝置以及複雜的設定過程,很多時候捕捉資料需要一間專用的實驗室,上百萬美元的裝置才可以完成。


由於資料維度高,因此經常一個很簡單的現象,需要捕捉很巨量的資料才能描述。資料量非常大,又缺乏對資料的理解,當編輯這些資料的時候,人們發現非常困難。因為無法修改、編輯這些資料,藝術家就沒有辦法去使用,只能捕捉成什麼樣就是什麼樣,這是它的另一個缺點。


在過去幾年中,針對以上兩個方法的缺點人們又研究了新的方法——data driven approach(基於資料驅動的方法)。該方法還是需要捕捉一些資料,當我們捕捉完成,則利用資料本質所蘊含的特性——本徵特性來重構整個函式,以保持它的特點。


這個方法的好處是:第一,稀疏資料的捕捉,使得資料非常的緊湊、資料量少。第二,由於捕捉到了資料的本徵特徵,所以在做重構的時候,所有的細節都被保留了下來,從而使得結果質量非常高。第三,因為知道資料的本徵特徵,所以資料之間是有聯絡的,人們可以很容易地對資料進行編輯,同時還保持它的本徵特徵,以達到合理的結果。


那麼這種方法的缺點又是什麼呢?它的缺點就是如何找到資料的本徵特徵,這是需要研究的一個很困難的問題。在過去的幾年中,我們也做了很多探索和研究,慢慢地我們發現利用機器學習技術可能是一個很好的方法。


接下來,通過我們在傳統計算機圖形學裡面的三個大領域中所做的一些研究工作來展示如何通過資料驅動的方法來處理圖形學問題的,包括:幾何造型、真實感繪製和計算機動畫。

首先是,幾何造型和幾何處理。這裡展示的一個工作是幾何去噪或者網格去噪,這個目標很簡單,比如,用一臺三維掃描器把一個真實的大衛雕像掃描到計算機裡。但由於掃描器精度沒有很高或者光照環境沒有很好,所以掃描出來會發現雕像的表面並不光滑,有很多的噪聲。如果想把這些噪聲去除,一般情況下會做一個過濾,但過濾之後不僅噪聲去除了,而且雕像的幾何特徵也丟掉了。


我們希望在去除噪聲的同時保留原本的幾何特徵,這是我們的目標。而在演算法上,我們希望演算法越自動越好,而且最好足夠快,這樣使用者按一個按鈕就做完了。但我們卻發現這個問題十分困難,為什麼?


第一個難題是問題本身是歧義的。從單個模型本身,恢復兩個未知量:噪聲和沒有噪聲的模型。第二個難題是,不同物體的幾何特點也各不相同、千奇百怪,所以很難給它一個定義或者約束。最難的一個問題是,不同的掃描裝置、不同的光照條件所產生的噪聲很難用一個簡單的噪聲模型去描述。


針對這個問題目前有成百篇的論文在研究。做了這麼久,大家還在做是為什麼呢?因為當人們把演算法用到實際資料中時,發現它的效果並不好,因為大家基於的很多假設和約束只適合一些特定的情況。而我們的想法是擬合一個對映關係。假設我們能獲得一些掃描過的帶噪聲的資料,然後用一個更高精度的掃描器去掃描一個更好的模型,通過手工做成它的ground truth資料,我們希望從這些成對的資料中直接學習從噪聲模型到沒有噪聲的模型的一個對映。這樣我們不需要對噪聲和模型做太多的約束和假設。


在這個方法中,我們發現如果直接學習一個對映關係可能很難,但用一個在機器學習中很常見的級聯學習的辦法,先學一個對映關係,這個對映關係可能不能完全去除噪聲,那麼我們先把這個模型重構出來,可它還是有點噪聲。我們再學習這個帶有噪聲的模型和最終模型之間的第二個對映關係——G2’,G2’得到以後,我們再學習G3’,通過級聯的方式逐漸邁向真實的模型來獲得最終的多步對映關係。


有了這個關係之後,當給定一個新的帶有噪聲的三維模型時,我們只要把學習到的對映關係直接進行使用就可以自動獲得一個已經去噪的結果。這個方法用在實際的資料測試中,大家可以看到,左邊是一個Kinnect捕捉到的深度資料,最右邊是它的ground truth,我們的方法是倒數第二個,一起比較是看不出是什麼噪聲的。


童欣:資料驅動方法在圖形學中的應用


我們還做了更多的測試,發現我們的方法確實在大量的我們測試過的所有資料上,無一例外地好於現有的所有方法。更好的一件事情是,當我們把我們方法的速度和已有的方法進行比較時,會發現我們方法的速度遠遠快於其他的。


這裡面關鍵的是我們完全從一個全新的角度去看待這個問題,於是才獲得了比以前的方法更好的一個效果。


再來看看我們如何把資料驅動的方法用於真實感繪製的。真實感繪製可以說是計算機圖形學中一個最核心的問題。這個領域就是給定一個三維場景,假設知道場景裡各物體的材質從而產生一個像照片一樣真實的、栩栩如生的繪製結果。


在這裡面最大的問題就是全域性光照(global illumination),我們需要模擬光線在場景中反射、彈射多次造成的結果。


舉個例子,在今天這個會場,我們只有有限的光源,大家看到之所以很亮,是因為光線從光源打出來之後,在地板和牆面上彈射了很多次,把周圍所有的地方都照亮了,所以大家才能看到這樣的效果。


當我們把一個戒指或者很閃亮的東西放到桌上的時候,桌子上的反光會形成一些很漂亮的光斑,我們叫做散焦(caustics)。假設有光從窗戶裡面照進來時,在圖中櫃子頂上會形成由於反光造成的一個陰影,我們叫做間接光照陰影(indirect shadow)。另外,如圖,廚房裡面裝修了一些鋁合金的東西,很閃亮,當把東西放在上面的時候,光線會在裡面彈射多次之後形成一些光澤材質間的相互反射(glossy inter-reflections),它反射多次之後會形成一些模模糊糊的倒影,所有這些效果在全域性光照中都是非常難模擬的。


童欣:資料驅動方法在圖形學中的應用


在傳統中,要計算任何一個效果都需要使用最好的CPU去算幾分鐘,甚至幾個小時的時間。同時,為了製作實時的動態效果,還需要支援移動的光照和視點。我們的目標就是實現實時的動態的全域性光照效果。


這個問題的難點是什麼?在示意圖中,我們看到當兩條從光源出發的光線打在物體上,在場景中進行互動的時候,他們的路徑非常不同,雖然初射時只有很小的角度差別,但彈射多次之後,最後的落腳點可能徹底不同了。


童欣:資料驅動方法在圖形學中的應用


我們想做的一個方法是,不看物理原則,把繪製過程當作一個黑箱,做成從光照方向、視點方向、材質到最終影像的一個函式,然後看能不能學習這個函式,我們把這個函式叫做radiance regression fuction。這是我們第一次把繪製當作一個機器學習的方式來進行研究。給定一個場景,在場景中先繪製一些圖片,利用這些圖片學習我們定義的函式,等函式學習好了,當任意給出一個新的光照方向或者視線方向,該模型可以通過函式展示出物體在該光照或視線方向下的影像,可以想象這個函式就像一個畫家一樣。通過不斷的臨摹場景學會了場景在不同光照和視點下的圖片。


為了建模這個函式並支援一個實時繪製的過程,我們選擇了單層的神經網路。我們希望這個表達足夠的簡潔,越小越好,同時還希望這個計算能夠做到實時。除此之外,我們發現場景還是很複雜,所以就把場景分成若干小塊,每一小塊再配一個神經網路。完成之後,我們發現我們第一次實現了實時的全域性光照效果。我們繪製的這個臥室場景被很多離線的繪製程式設立為一個標杆。

我們所學習的這個對映不僅僅可以用來做繪製,在經過簡單擴充套件後,我們也可以用它來學習做材質的編輯,比如前面的廚房場景,我們可以把後面的皮膚做到反光更強或者更弱一點,或者改變物體的顏色,人們可以實時地看到非常真實的光照效果。這個研究的應用對影視製作,裝修設計等等都非常有用。


之後,我們還把這一技術用於實際拍攝的光照環境中,同樣用神經網路的方法對簡單的影像進行學習之後再做重新打光,可以疊加一個新的光照效果。


最後我們來看看,如何在計算機的動畫中應用資料驅動的方法。下圖是一個實時的3D面部追蹤(facial tracking)。當捕捉到人面部動作的三維模型之後,我們就可以實時地把它使用到另外一個虛擬的角色上,讓這個虛擬角色跟著人的動作來活動。


童欣:資料驅動方法在圖形學中的應用


為了更好的實現這個效果,我們希望我們的演算法或者系統有幾個特性:

第一,我們希望這個系統是與使用者無關的。也就是說任何一個新使用者來使用這個系統,都可以立即實現,無需經過任何訓練。


第二,我們希望這個系統能夠魯棒。比如,當使用者把某個部位遮住時,系統還能夠把三維的人臉和動作恢復出來。

最後,我們希望當只有使用者的聲音時,系統也能把人臉的動作,至少嘴部的動作可以恢復出來。


童欣:資料驅動方法在圖形學中的應用


這個研究的難點是什麼?有人說很簡單,拿語音訊號直接對應嘴部運動就可以了。但人的聲音很有意思,不同人在發同一個音的時候,發出的聲音訊號可以看起來一點都不相似,這是第一個難點。第二個難點是,語言學家和聲學學家研究發現人說話的時候有一個很重要的東西——協同發音(Co-articulation)。就是指當發同一個音的時候,根據前後音的不同,嘴的形狀會完全不同。這就意味著光靠一個音是不行的,我們必須知道前後的詞語和語句,才能決定嘴型。


第三個難點是,不同的人,人臉的形狀是不一樣的,所以嘴形的運動可能也不太一樣。如果想做一個與使用者無關的系統,那麼如何有效地建造從語音到脣型的模型?


對此,我們的方法是藉助三個模型。


第一,用實時的DNN模型來處理語音,從語音中抽取一個與使用者無關的音訊特徵。

第二,是用多元線性面部模型(multi-linear face model),抽取一個與使用者無關的表情特徵。

基於這兩者,我們希望最後來構建一個從語音到脣型變化關係的模型。有了這樣的模型之後,新的使用者來使用時,我們首先根據視訊來恢復他人臉的三維形狀,再根據他的音訊來重建他的脣型。模型會按照重要程度和可信程度來進行疊加,之後生成最後的結果。使用我們的這個方法,也第一次做到當人的嘴巴被遮住時,我們同樣可以恢復嘴部的運動,如果能從音訊裡再恢復一些情緒特徵,模型甚至可以做一些表情來。


以上,我們講了資料驅動的方法以及一些圖形學的應用。但實際上這個領域的研究才剛剛開始,我們還面臨著很多挑戰。首先,如何產生高質量的資料還是一個很大的問題;第二,比如做繪製的時候,針對每一個場景,我們都需要訓練一個神經網路模型,未來我們希望可以訓練一個更通用的、與場景無關的模型。第三,在做造型或者生成圖形應用時,如何把使用者的意圖通過學習的方法注入到系統裡,讓系統更加自動。我們也歡迎大家加入到研究中來,和我們一起努力達到我們的願景!

 

謝謝大家!

​原文連結:http://mp.weixin.qq.com/s/TreiAdFibZQnZSMAZeGyiw


相關文章