博客專欄

EEPW首頁 > 博客 > 玩GTA5嗎?高清真人版那種,英特爾新模型將3D渲染圖變逼真圖片

玩GTA5嗎?高清真人版那種,英特爾新模型將3D渲染圖變逼真圖片

發(fā)布人:機器之心 時間:2021-06-08 來源:工程師 發(fā)布文章

英特爾在俠盜獵車手 5(GTA5)上測試了他們的圖像增強新模型,該模型給出了令人印象深刻的結(jié)果。

GTA5 是一款經(jīng)典的 3D 冒險游戲,它的畫風(fēng)是這樣的:

1.png

 畫面接近真實,但少了一些質(zhì)感......

近日,來自英特爾的研究者給 GTA 做了一個畫質(zhì)增強補丁,先來看下效果:

2.gif

左為 GTA 中的 3D 渲染圖,右為英特爾新模型生成結(jié)果。

效果很不錯,下面這一張畫質(zhì)增強的效果就更明顯了,該模型處理后的畫面宛如相機實拍:

3.gif

在 3D 渲染領(lǐng)域,實時和真實感是兩個關(guān)鍵要素。通常照片級渲染引擎處理單幀可能就要花費幾分鐘甚至幾小時,而英特爾的新系統(tǒng)則能夠以相對較高的幀速率處理圖像。并且研究者表示,他們還將進(jìn)一步優(yōu)化該深度學(xué)習(xí)模型以更快地工作。那么英特爾這個圖像增強補丁是如何實現(xiàn)的呢?我們來看一下具體的技術(shù)細(xì)節(jié)。

4.png

論文地址:https://arxiv.org/abs/2105.04619

項目地址:https://github.com/intel-isl/PhotorealismEnhancement

方法與架構(gòu)

如下圖所示,該系統(tǒng)由幾個相互連接的神經(jīng)網(wǎng)絡(luò)組成。

5.png

G-buffer 編碼器將不同的渲染圖轉(zhuǎn)換為一組數(shù)字特征。多個 G-buffer 分別用作表面法線信息、深度、反照率、光澤度、大氣和目標(biāo)分割的渲染圖。系統(tǒng)中的神經(jīng)網(wǎng)絡(luò)使用卷積層來處理這些信息,并輸出一個包含 128 個特征的向量,以提升圖像增強網(wǎng)絡(luò)的性能,并避免像其他類似技術(shù)一樣產(chǎn)生偽影。G-buffer 可以直接從游戲引擎獲得。

6.png

圖像增強網(wǎng)絡(luò)將游戲的渲染幀和來自 G-buffer 編碼器的特征作為輸入,生成逼真版的圖像。鑒別器和 LPIPS 損失函數(shù)和其他組件則在訓(xùn)練期間使用。研究者通過評估生成圖像與原始游戲渲染幀的一致性和比較生成圖像與真實圖像的逼真質(zhì)量來給該增強網(wǎng)絡(luò)的輸出評級。

圖像增強的推斷成本

如果該技術(shù)可用,游戲玩家是否能夠在他們的計算機上運行它?探究這個問題首先需要計算推斷成本,或者計算運行經(jīng)過訓(xùn)練的模型所需內(nèi)存量和算力。計算推斷成本只需要 G-buffer 編碼器和圖像增強網(wǎng)絡(luò),在此可以省去鑒別器網(wǎng)絡(luò)。

7.png

研究者在論文中介紹,增強網(wǎng)絡(luò)是基于 HRNetV2 的神經(jīng)網(wǎng)絡(luò),HRNetV2 是一種用于處理高分辨率圖像的深度學(xué)習(xí)架構(gòu)。高分辨率神經(jīng)網(wǎng)絡(luò)產(chǎn)生的視覺偽影比對圖像進(jìn)行下采樣的模型要少一些。HRNet 通過以不同分辨率運行的多個分支來處理圖像。其中較為重要的是,有一個特征流會保持相對較高的分辨率(輸入分辨率的 1/4),以保留精細(xì)的圖像結(jié)構(gòu)。

這意味著如果以全高清 (1920×1080) 的分辨率運行游戲,那么最頂行的層(top row layer)將以 480×270 像素處理輸入。接下來每低一行,分辨率減半。研究者改變了該神經(jīng)網(wǎng)絡(luò)中每個塊的結(jié)構(gòu),以計算來自 G-buffer 編碼器(RAD 層)的輸入。

G-buffer 的輸入包括材料信息的 one-hot 編碼,法線、深度和顏色的密集連續(xù)值(dense continuous values for normal)、以及光暈和天空 buffer 的稀疏連續(xù)信息。此外,該模型在 G-buffer 的子集上仍然表現(xiàn)良好。

那么,該模型需要多少內(nèi)存呢?該研究的論文并沒有說明內(nèi)存大小,但根據(jù) HRNetV2 的論文,完整網(wǎng)絡(luò)需要 1.79 GB 的內(nèi)存才能用于 1024×2048 的輸入。英特爾使用的圖像增強網(wǎng)絡(luò)具有較小的輸入尺寸,但還需要考慮 RAD 層和 G-buffer 編碼器引入的額外參數(shù)。因此,假設(shè)您至少需要 1 GB 的視頻內(nèi)存來為全高清游戲運行基于深度學(xué)習(xí)的圖像增強,如果您想要 4K 的分辨率,那么內(nèi)存可能需要超過 2 GB。

游戲計算機通常具有 4-8 GB VRAM 的顯卡,因此需要 1 GB 的內(nèi)存并不算多。而像 GeForce RTX 系列的高端顯卡則可以擁有高達(dá) 24 GB 的 VRAM。

但同樣值得注意的是,3D 游戲會消耗大量顯卡資源。游戲會在視頻內(nèi)存上存儲盡可能多的數(shù)據(jù),以加快渲染速度,并避免在 RAM 和 VRAM 之間進(jìn)行交換,而這種操作會導(dǎo)致巨大的速度損失。據(jù)估計,《俠盜獵車手 5》在全高清分辨率下消耗高達(dá) 3.5 GB 的 VRAM。而賽博朋克 2077 等新興游戲擁有更大的 3D 世界和更細(xì)致的畫面對象,輕松就可以占用高達(dá) 7-8 GB 的 VRAM,如果想以更高的分辨率播放,則需要更多內(nèi)存。

因此基本上,當(dāng)前的中高端顯卡讓用戶不得不在低分辨率高真實感和高分辨率合成圖形之間進(jìn)行選擇。不過,內(nèi)存使用并不是基于深度學(xué)習(xí)的圖像增強面臨的唯一問題。

非線性處理引起的延遲

一個更大的問題是深度學(xué)習(xí)操作的連續(xù)和非線性屬性。要理解這個問題,我們首先要使用深度學(xué)習(xí)推斷進(jìn)行 3D 圖形比較。三維圖形依賴大量的矩陣乘法。3D 圖形的渲染幀從一組頂點開始,每個頂點用一組數(shù)字表示,這些數(shù)字代表 3D 對象上點的屬性,包括坐標(biāo)、顏色、材質(zhì)、法線方向等。

在渲染每一幀前,頂點必須經(jīng)過一系列矩陣乘法,以將頂點的的局部坐標(biāo)映射到世界坐標(biāo)、相機空間坐標(biāo)、圖像幀坐標(biāo)。索引緩沖區(qū)將頂點捆綁成三個一組以形成三角形。這些三角形被光柵化——或轉(zhuǎn)換成像素——然后每個像素通過它自己的一組矩陣操作,根據(jù)材質(zhì)顏色、紋理、反射和折射圖、透明度級別等來確定它的顏色。

8.png

3D 渲染 pipeline,圖源:LearnEveryone

這聽起來似乎要進(jìn)行很多操作,尤其是現(xiàn)在的 3D 游戲是由數(shù)百萬個多邊形組成的。在計算機上玩游戲時能夠獲得非常高的幀率實際上有兩個原因。首先,顯卡專為并行矩陣乘法而設(shè)計。與 CPU 最多只有幾十個計算內(nèi)核不同,圖形處理器有數(shù)千個內(nèi)核,每個內(nèi)核都可以獨立執(zhí)行矩陣乘法。

其次,圖形變換大多是線性的,而多個線性變換可以綁定在一起。例如將分別用于世界、視圖和投影變換的 3 個矩陣相乘以創(chuàng)建一個能夠執(zhí)行這三個操作的矩陣,操作量將減少三分之二。

類似的,深度學(xué)習(xí)也依賴于矩陣乘法,每個神經(jīng)網(wǎng)絡(luò)都由層層矩陣計算組成,這也是顯卡在深度學(xué)習(xí)社區(qū)越來越流行的原因。

但與 3D 圖形不同的是,深度學(xué)習(xí)的操作不能組合。神經(jīng)網(wǎng)絡(luò)中的層依靠非線性激活函數(shù)來執(zhí)行復(fù)雜的任務(wù)?;旧希@意味著您無法將多個層的轉(zhuǎn)換操作壓縮為單個操作。

例如,假設(shè)有一個以 100×100 像素的圖像(10000 個特征)作為輸入的深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)用七個層處理圖像。此時具有數(shù)千個內(nèi)核的顯卡也許能夠并行處理所有像素,但是仍然需要依次執(zhí)行七層神經(jīng)網(wǎng)絡(luò)的操作,這使得它很難提供實時圖像處理,尤其是在低端顯卡上。

因此,一個必須要考慮的瓶頸是必要的順序操作數(shù)量。英特爾該模型的圖像增強網(wǎng)絡(luò)的頂層有 16 個按順序鏈接的殘差塊。在每個殘差塊中有兩個卷積層、RAD 塊和 ReLU 操作依次連接。這相當(dāng)于 96 層順序操作。在 G-buffer 編碼器輸出其特征編碼之前,圖像增強網(wǎng)絡(luò)無法開始其操作。因此必須至少添加處理第一組高分辨率特征的兩個殘差塊,序列中又增加了 8 層,這使得用于圖像增強的操作至少有 108 層。

9.png

英特爾該模型的圖像增強網(wǎng)絡(luò)。

這意味著除了內(nèi)存之外,你還需要高頻率的處理器來運行這些操作。在英特爾的論文中我們看到了這樣有趣的說法:「使用我們的方法在推理過程中未優(yōu)化的應(yīng)用人物需花費一塊 GeForce RTX 3090 GPU 半秒時間?!?/p>

RTX 3090 具有 24 GB 的顯存,這意味著緩慢的 2 FPS 渲染速率不是由于內(nèi)存限制,而是由于順序處理圖像增強器網(wǎng)絡(luò)的所有層所需的時間。這不是一個可以通過添加更多內(nèi)存或 CUDA 核來解決的問題,只能指望處理器的頻率更快才能解決。

論文中這樣寫道「用于輸入的 G-buffer 是在 GPU 本地生成的,我們的方法若與游戲引擎深度整合,可以提高效率,可能也會帶來更高的真實化效果?!?/p>

將圖像增強器網(wǎng)絡(luò)集成到游戲引擎中可能會大大提高速度,但目前看來仍然無法帶來可玩的幀率。

相比之下,我們在 HRNet 的論文中可以看到研究人員使用了英偉達(dá) V100,這是一種昂貴的專業(yè)級 GPU,專門為深度學(xué)習(xí)的推理和訓(xùn)練設(shè)計。由于沒有內(nèi)存限制和其他游戲內(nèi)容計算的阻礙,V100 的推理時間為每張輸入 150 毫秒,約為 7 fps,這不足以帶來流暢的游戲畫面(電影是 24 幀,PS4 標(biāo)準(zhǔn)版是 30 幀)。

開發(fā)和訓(xùn)練神經(jīng)網(wǎng)絡(luò)

另一個復(fù)雜的問題是開發(fā)和訓(xùn)練圖像增強神經(jīng)網(wǎng)絡(luò)的成本。想要引入深度學(xué)習(xí)技術(shù)的游戲公司都會面臨三座大山的考驗:數(shù)據(jù)、計算資源和機器學(xué)習(xí)人才。

構(gòu)建數(shù)據(jù)集是個大問題,但幸運的是英特爾已經(jīng)想辦法把問題解決了。他們在訓(xùn)練模型時引入了 Cityscapes 數(shù)據(jù)集,其中收集了德國 50 座城市的帶注釋街景圖像,精細(xì)標(biāo)注過的圖片數(shù)量達(dá)到了 5000 張。根據(jù)數(shù)據(jù)集的論文,每張帶注釋的圖像平均需要一個半小時的人工操作來精確指定圖像中包含的對象,及其邊界和類型。這些細(xì)粒度的注釋使圖像增強器能夠?qū)⒄_的逼真紋理映射到游戲圖形上。

Cityscapes 是政府撥款、商業(yè)公司和學(xué)術(shù)機構(gòu)大力支持的成果,如果是應(yīng)用在其他城市環(huán)境的游戲中,或許也能獲得不錯的效果。

10.png

Cityscapes 數(shù)據(jù)集中對于人物和街景物體的精細(xì)分割。

實驗結(jié)果

研究者將該方法與其他多個圖像轉(zhuǎn)換模型對比了生成效果,結(jié)果如下表所示:

11.png

并進(jìn)行了對照實驗來評估該方法中一些特定設(shè)計思路的影響,包括采樣策略、G-buffer 的作用等,實驗結(jié)果如下表所示:

12.png

此外,相比于其他模型,英特爾的新模型在視覺效果上具有顯著優(yōu)勢,例如 CUT 模型生成的畫面中存在一些偽影,而英特爾的新模型以較小的圖塊進(jìn)行采樣,減少了源數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集之間的不匹配,很好地避免了產(chǎn)生偽影的問題:

13.gif

擴展到其他游戲

如果要給《古墓麗影》做真實化怎么辦?這可能就需要游戲開發(fā)者來自己收集圖像,然后打標(biāo)簽了。

計算資源也構(gòu)成了一個挑戰(zhàn)。用幾千美元訓(xùn)練一個用于圖像增強的神經(jīng)網(wǎng)絡(luò)是可以接受的——對于大游戲公司來說不是問題。但如果你想要做一些生成性人物,例如照片級圖像增強時,訓(xùn)練就變得富有挑戰(zhàn)性了。它需要人們對超參數(shù)進(jìn)行大量的測試和調(diào)整,訓(xùn)練很多步,這會導(dǎo)致成本的激增。英特爾為 GTA 5 訓(xùn)練了模型,其他游戲公司或許可以在不同游戲中借鑒這一經(jīng)驗以減少成本。但類型差別較大的游戲就只能從頭開始訓(xùn)練了。英特爾的深度學(xué)習(xí)模型適用于城市環(huán)境,其中景物和人物分隔明顯。但如果在自然環(huán)境如森林和洞穴里,情況可能會有所不同。

大多數(shù)游戲公司還沒有招募機器學(xué)習(xí)工程師,因此他們需要招募人才,或者外包任務(wù)——而即使這樣做了,我們也不能百分之百保證「真實風(fēng)格的畫面」可以帶來更好的游戲體驗。

英特爾寫實風(fēng)格的圖像增強技術(shù)向我們展示了機器學(xué)習(xí)算法的一個全新應(yīng)用方向,但在算力、游戲公司準(zhǔn)備好,玩家真正接受之前,我們距離看到真正的落地可能還有一段時間。

CVPR 2021 線下論文分享會

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉