童欣:深度學習和人工智慧,如何改變圖形的生成與創作

微軟研究院AI頭條發表於2020-10-14

童欣:深度學習和人工智慧,如何改變圖形的生成與創作微軟亞洲研究院首席研究員童欣以下是童欣博士的演講實錄:

很榮幸有機會來到這裡,向大家介紹一下我們在微軟亞洲研究院所做的與遊戲相關的一些研究工作。今天我報告的題目叫做《智慧圖形生成與創作》。首先做一個我所在的研究院的背景介紹:微軟亞洲研究院是微軟公司在亞太地區設立的研究機構,於1998年成立,主要致力於推動整個電腦科學領域的前沿技術發展。

我所在的研究小組,是網路圖形組。我們主要的研究方向,是希望推動三維圖形技術和系統方面的創新,比如新的演算法和系統。另一方面,我們也希望把我們在圖形技術和系統方面的研究成果,應用到微軟以及其他圖形產品當中去。比如在過去的20年中,我們研究的圖形技術已經應用到了第一代 Xbox 上所有水體效果的繪製中,還有《光暈》遊戲裡所有真實材質的繪製中,而且在光照貼圖的壓縮中也都使用了我們的技術。同時 Xbox 中向後相容性的整個圖形系統的原型也是由我們微軟亞洲研究院研發的。我們研究組一直有一個願景——希望讓每一個使用者都可以容易地建立、分享、使用可檢視形的內容,實現自己的想象。

智慧圖形生成的背景與介紹

回看過去幾十年裡計算機遊戲中的計算機圖形,我們可以發現,遊戲中的圖形從過去二維的、很簡單的畫素顆粒級圖形,發展到現在,已經完全達到了一個影視級的、非常逼真的三維虛擬世界效果。玩家在遊戲裡可以感受到栩栩如生的場景和浸入式的體驗,充分享受遊戲中的故事。如今遊戲中的圖形技術,也已經應用到了影視內容的製作中,很多影視製作越來越多地採用遊戲引擎來製作圖形內容。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖1:遊戲製作圖片示例

看完這些生動、逼真的內容以後,我們再來看一看現有三維圖形內容生成的手段,你會發現一件很有意思的事情:現在的三維造型軟體,在過去的幾十年裡,其實並沒有太多革命性的改變,我們還是透過一個複雜的二維介面和軟體工具,來建立三維的內容。我們也確實研發了很多新的三維捕捉裝置,比如對形體而言,有三維掃描器,對材質而言,有光穹,以及大家廣泛使用的運動捕捉裝置等等。所有這些裝置,如果大家曾經使用過的話,就會發現一些問題。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖2:一些三維捕捉裝置

首先,這些裝置都非常昂貴,例如一臺最低端的三維掃描器,專業一點的基本也要十萬人民幣起,更不用說那些幾百萬的運動捕捉裝置了。第二,通常這些裝置使用起來非常複雜,它們大多都需要專用的場地、專用的處理,即使獲得了資料,也會需要很多手工的工作,經過處理之後,才可能給終端使用者使用。所有這些過程需要大量的人力、專業的技能和訓練,在這之後,才能創作出想要的內容。

總結一下傳統三維圖形的創作手段,我們會發現問題在於:第一,它們都是高集中度的,需要專業的生產者經過多年培訓之後,才能創作出高質量的內容。第二,整個生產流程實際上是高強度的,需要工作很長時間,很多藝術家和程式設計師可能需要做一年、兩年甚至更長的時間,才能做出一款全新遊戲中的圖形內容。第三,創造出內容後唯一增長的是這些藝術家以及相關工作人員的經驗,很難被其他人使用,或者大量、重複的應用到其他遊戲中去,這是一個很浪費的事情。

近年來,隨著機器學習技術的發展,在圖形學研究中,大家也開始越來越多地探索如何結合人工智慧的技術來進行圖形內容的生成。總的來說,其基本思路就是廉價裝置(如深度攝像頭或者彩色攝像頭)+智慧演算法+少量的使用者輸入,從而可以更加方便的產生出高質量的三維內容。若要實現這個思路,那麼就要依賴於已有的大量資料和機器學習技術。

當智慧圖形生成越來越多地被用於專業的圖形內容生產中時,我們會發現,和傳統方法相比,圖形內容的生成已經從手工驅動或者演算法驅動,變成了資料驅動。這意味著,當產生了越來越多的高質量資料時,工作室或者遊戲的開發人員就有可能產生出更多好的結果,即高複用度。同時,在整個過程中,手工工作會越來越少,計算會越來越重要。當大量的手工工作變成自動或半自動的時候,大家可以想到,實際上我們對內容建立的集中度的要求降低了,這意味著你可以讓很多人來貢獻內容。這是一件很好的事情。

接下來,我會主要展示在過去幾年中,包括今年,我們所做的一些最新的研究工作。坦白地說,這些研究工作離真正的落地應用,即真正用於遊戲創作,可能還有一段距離,但我們希望透過這些技術的展望,能讓大家看到技術發展在未來的三到五年內,會給我們的遊戲內容或者圖形內容的創作,帶來哪些新的可能性。

我將從以下幾個部分分享,第一個部分是如何透過人工智慧技術,結合資料,幫助大家生成傳統的圖形內容,如三維模型、材質庫等等。第二部分是如何結合現在的人工智慧技術、機器學習技術,幫助大家更容易地把已有的真實世界的場景、物體高度真實地數字化,放到遊戲和計算機裡。

智慧圖形素材生成

首先來看智慧圖形素材生成這一部分。我們發現藝術家其實很善於畫二維的草圖。當你看了草圖之後,很容易透過草圖想象出來一個三維模型。因此,我們想做的一件事情就是當使用者腦海裡有了一個三維物體,或者他看到一個三維物體之後,他透過勾勒像圖3中間這樣的草圖,讓系統自動幫他生成一個很不錯的三維形狀,或者一個初始的三維形狀。有了這個之後,使用者可以快速地透過畫大量草圖來做一個概念設計,之後再把差不多的三維形狀放到三維造型軟體裡做一些細化,這樣就可以快速生成他想要的三維內容了。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖3:使用者勾勒的二維草圖與相關的三維模型

為了實現這個想法,我們採用了最新的機器學習深度學習的技術。透過產生大量的訓練資料,來建立草圖和對應三維形狀的對應關係。在給出資料之後,系統就建立了一個訓練好的神經網路,並根據使用者的輸入自動預測三維形狀。使用者可能會說,這個技術聽起來很神奇,但是它不一定靠譜吧,因為我給你一個二維草圖,我怎麼知道你要預測一個什麼東西,如果預測的不是我要的怎麼辦。那也沒有問題,因為我們的系統允許使用者不斷的輸入想要的細節來進行修改。系統網路會根據使用者新增的輸入不斷細化形狀,最後快速生成你想要的三維結果,比如圖4。


童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖4:使用者修改示範

最開始,使用者可能畫了一個輪廓,我們生成了一個立體的像海星的形狀,這時使用者說,我希望海星中間凸起的地方,更尖銳一點,使用者可以畫幾道,隨著這個改變,系統會自動地細化它的形狀,在不斷地生成越來越多的細節之後,最後就生成了使用者想要的形狀。我們現在來看一個 demo。

這個 demo 展示了畫海星的過程。我們希望整個過程是一個與使用者完全互動的過程。我們不僅把這個系統教給一些沒有繪畫經驗的使用者使用,同時我們也請了來自北京電影學院動畫學院的學生,這些具有一定造型經驗的專業使用者,來使用。圖5的這些結果,是一些比較專業的使用者在大概半小時左右的學習,掌握系統之後,透過繪製草圖所創作出來的各種各樣的三維形狀,大家可以看到既有很簡單的形狀,也有很漂亮複雜的形狀。我們希望這樣的系統能夠很大程度地減輕使用者創作大量三維形狀、製作概念設計時的負擔。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖5:專業使用者的作品

第二個工作是我們怎麼幫助使用者快速生成更加真實的材質貼圖的。如果大家對遊戲圖形創作有一些經驗的話就知道,很多時候我們想讓一個東西很接近現實,除了三維形狀之外,我們還要給它一個很真實的材質貼圖,比如木頭或者鐵,來決定這個物體在不同的光照下的顏色明暗和反光,使它看起來和真實的一樣。

以前藝術家是在真實的世界中拍一張圖,然後把這張圖放到 Photoshop 裡,再透過大量的操作來生成它的反射貼圖、幾何細節、紋理貼圖等等,最後交給遊戲去使用。我們希望透過我們的研究,使用者只需拿一個手機出去,拍幾張圖片,系統就可以全自動生成逼真的物體效果。如果使用者拍一張照片,系統可以生成一個非常相似的材質;如果使用者拍了很多張,並且從各個方面仔細地拍攝的話,系統的生成結果質量就會越高,越接近於想要的真實世界的材質。同時,我們還希望演算法能夠支援任意的解析度,因為通常使用者都希望解析度越高越好,那麼不管是一張小圖還是大圖,送到演算法裡,都希望它能夠生成很好的結果出來。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖6:材質貼圖圖片生成

為了做這件事情,我們結合了深度神經網路技術以及傳統的反向繪製最佳化技術,來實現這個最佳化的過程。基本想法是這樣的:首先挑出一張圖,結合深度學習網路,預測一個初步的材質結果。這個初步的結果可能看起來還行,但是不太好,沒關係。隨後我們把它送到一個編碼器裡,透過最佳化中間這個編碼,使得輸出材質繪製結果和原來輸入的這張圖進行對比差別最小。如果有多張圖,我們希望輸出的這個材質能夠和所有的多張拍攝的圖片都一樣,那麼就可以認為這個材質很合適了。基本上是這樣一個過程,整個過程是全自動的,不需要使用者任何的手工或者輸入。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖7:深度逆繪製技術的應用過程

圖8展示了一個結果。這是在我們的辦公室裡拍的一張賀卡的材質,它表面有一些金屬的部分,也有一些紙的部分,同時還有一些凸凹。我們大概拿手機拍了20張左右的圖,我比較了最上面,叫做 ground truth 的部分,就是我們的真實賀卡樣本、在光照下的結果。如果我只拍一張,大家看到,實際上大部分的結果還是對的,但裡面的反光就看著不是太好;如果拍20張左右之後,所產生出來的材質的這個反光,還有所有的細節,基本上就和輸入影像的真實材質沒有什麼差別了。這個辦法實際上是一個非常好的辦法。即使在時間不允許、條件不允許的情況下,使用者只拍了一張,那這個結果也已經基本可用了。你拍多張以後,可以保證這個結果就是你想要的,這就避免了使用專業裝置去拍攝很多的東西。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖8:在賀卡上的應用效果

影片2是另外一個結果,這是一個皮革,在這裡我們只拍了2張圖,大家看到這個皮革具有非常複雜的材質細節外觀,它有皮革的部分、有線的部分,有兩種材質,同樣,它表面有非常豐富的凹凸變化。所有這些變化都能被我們完美地恢復出來,然後我們把它放到一個新的虛擬環境中,當我們進行繪製時,所有的材質都能展示出非常真實的外觀、反光等效果。

智慧圖形數字化

剛才我們講到了,如何用機器學習人工智慧技術幫助大家生成圖形的素材,那我們怎麼用這些技術幫助大家去做真實世界的數字化呢?

真實世界數字化的一個任務是透過掃描一個真實世界的物體,生成這個物體高度真實的數字克隆。這個過程,我們希望足夠簡單,使用者拿手機或者一個單反相機,不需要用任何專業的裝置,只要繞著物體拍一拍就可以了。同時,我們希望拍攝的結果不是一個只能在原有的視點觀看的照片集合,而是使用者想從什麼角度看,就能從什麼角度看的全新的呈現。因為原來在拍攝的時候可能是在一個特定的光照下進行的,那我們希望在任何新的光照下,都能夠看到這個物體,不希望對物體有限制。對於玩具貓這種毛茸茸的東西,如果大家知道一些計算機視覺和圖形學的知識,就會知道,這樣的物體在以前是非常難拍的。我們的技術既能拍半透明的物體,也能拍毛茸茸的物體,還可以拍一些簡單的物體,比如茶壺。

同樣,我們也希望我們的技術可以結合深度神經網路,建立一個全新的三維物體表達。傳統的方式是一個三維的精確的形狀加一個材質貼圖。然而,這種精確的三維形狀加材質對很多物體,比如毛茸茸的物體、半透明的物體,都需要有不同的表達,而這些不同的表達相差甚遠,很難用一個統一的方式來進行繪製和建模。所以我們希望結合深度神經網路做一個統一的深度物體表達。我們的物體的幾何是物體一個粗略的三維幾何,在這個幾何上,我們生成了材質貼圖,但這種不是物理意義的材質貼圖,而是由神經網路生成的,我們叫做深度特徵材質貼圖。有了這些抽象的材質貼圖,再加上三維形狀,透過訓練好的神經網路進行投影繪製、生成出使用者想要的任何影像,這是一個全新的繪製流水線。

有了這個技術,大家可以看到,透過手機所拍攝的影像就可以非常真實地重建出我們現實世界的任何場景、物體。比如圖9中最左邊的半透明物體,可以看到,把它放到一個新的光照下,這和我們拍攝的光照是完全不同的,但仍可以看到它表面的高光的變化,這些半透明的效果都被完美地重現了出來。圖9中間這個物體是毛絨的玩具,幾個物體互相之間有遮擋,光照在上面的時候不僅有陰影,還有光在它們之間的一些反射效果,非常複雜。我們的技術可以很真實地再現所有的結果,保證在任何光照和視點下都可以進行非常高度真實感的繪製。圖9最右邊是一個小玩具,當這個玩具用我們的技術表達了以後,可以把它放到不同的光照環境中去繪製,視點也可以進行遠近的調整。大家可以想象一下,這樣的技術意味著我們可以快速地把真實世界的任何一個物體融入到遊戲裡,變成一個道具,同時也方便大家把真實的物體圖形傳送到其他地方去,比如做一些和擴增實境等相關的應用,該技術都可以快速地生成很好的結果。

童欣:深度學習和人工智慧,如何改變圖形的生成與創作

圖9:智慧圖形數字化的結果展示

剛才講到了從傳統的流水線慢慢地發展,結合深度學習技術,加上傳統的三維形狀表達來做新的繪製演算法,幫助大家生成更加真實的效果。而隨著深度學習的發展,未來將可以完全繞開三維形狀,直接從大家收集的影像出發,生成高度真實的影像。

以前我們做遊戲、做很多影像圖形的生成時,最重要的就是要恢復三維形狀。那麼當你有了這些方法之後,就會帶來一種全新的可能性:也許我們只要拍足夠多真實世界的圖片和影片,我們就可以生成新的內容了,我們可能再也不需要進行三維建模、材質建模了。

以上這些是我們在圖形方面所做的一些研究成果,其實在微軟亞洲研究院,除了我們所做的圖形影像方面的工作,還有很多研究組都在對遊戲平臺做貢獻。比如,我們的機器學習組就和 Xbox 的 PlayFab 合作構建智慧後臺,幫助 Xbox 改進了排行榜的響應時間,透過智慧演算法和超強的線上資料處理引擎,把它從兩分鐘一次更新提升到毫秒級的更新。此外,還有我們的語音組等等,都對遊戲不同的內容生成做出了技術貢獻。

總結與展望

最後總結一下,我剛才講的是一些例子,透過這些例子我希望闡述的一個觀點是:深度學習人工智慧,很可能會改變遊戲,特別是圖形方式產生的開發方式。我們可能不能說一定會改變,但這是很可能會改變的。一個重要的事實是,我們的資料生成方法已經從人力驅動逐漸變成資料驅動,手動演算法開發也會最佳化到基於資料分析的自動演算法最佳化。如果你做神經網路的最佳化,會看到很多東西已經不是靠人手了,而是靠大量的資料分析,反饋資料的搜尋,再做神經網路的最佳化,整個過程可能全都自動化了。我們甚至可能創造一個全新的方式,徹底拋開已有的傳統圖形的表達,產生一種基於影像的三維內容的繪製和生產系統,這都是可能的。

往更大的方面講,我們會看到有三種力量在慢慢地改變我們遊戲的開發方式,一個就是雲,當我們有了雲端遊戲(cloud gaming)以後,我們所有的遊戲都不在單機上執行,而是在伺服器上執行,那麼遊戲引擎怎麼做到可擴充套件?我們怎麼在一臺機上執行多個遊戲引擎,多個備份,我們一個遊戲引擎能執行在50個 GPU 上嗎,怎麼去做?我們還不知道。

人工智慧不僅會改變內容創造的方式,其實它也會改變遊戲執行的方式。比如,我們可以將深度學習網路運用到現有的圖形繪製流水線中去。我們也會有一些新的裝置,比如我們的 GPU 有專用的深度學習計算單元,不管你用不用,它都在那兒,那就意味著當你做繪製的時候,如果你也用了這些深度學習的演算法,你的代價是零,基本不增加任何的開銷。還有一些新的終端裝置,像 VR、AR 等等,所有這些硬體的新裝置,我們的雲的新平臺,加上我們人工智慧的新技術,我相信會對整個遊戲行業的開發、執行、運營都帶來一個全新的改變和革命。

一句話:遊戲變了,大家準備好了嗎?微軟願意和大家一起,為這個即將到來的改變做好準備!

這就是我今天的報告,謝謝大家!

相關文章