2021年5月4日 星期二

計算機圖學渲染技術的一大里程碑 - 基於深度學習的超高頻率採樣。

在「既是起點也是終點 - 光線追蹤渲染」一文中有提到,目前即時性光線追蹤渲染仍在起步階段,由於計算量十分龐大雖然開啟光線追蹤渲染功能,可以得到更真實的視覺效果,但又因為GPU性能不是那麼游刃有餘,會需要付出解析度、更新率雙雙降低的代價,一來一回之下實際畫面效果沒有明顯提升,因此光線追蹤渲染並沒有廣受青睞。
 
NVIDIA甚至在2019上半年發表了不支援光線追蹤渲染的Turing架構GPU,以絕妙刀工移除了GPU裏所有光線追蹤渲染相關的硬體加速器,間接佐證了即時性光線追蹤渲染尚未真正成熟。

或許是為了補救畫面解析度和更新率雙雙下降的問題,NVIDIA在推出即時性光線追蹤渲染的同時也推出了「基於深度學習的超高頻率採樣」。
 
基於深度學習的超高頻率採樣(Deep Learning Super Sampling,以下簡稱為DLSS,乃NVIDIA推出的一種全新獨家渲染技術,簡單來說其原理是基於深度學習和人工智慧的一種改善畫質的渲染模型,透過人工智慧去反覆學習高解析度畫面的內部資訊,為低解析度畫面進行提升採樣頻率時補充合理的紋理細節。
 
理想情況下可以讓GPU渲染出低解析度畫面後,直接提升採樣頻率成高解析度畫面,其中紋理細節由人工智慧算出的渲染模型補充,最終產生各方面紋理細節都非常接近直接渲染高解析度畫面的完美視覺效果。




2020
年初NVIDIA發表了最新的DLSS 2.0,可以大幅提升渲染畫質及執行效率,凡是支援DLSS 2.0的應用皆提升了至少百分之三十的性能。
 
相較於DLSS 1.0需要收集大量不同數據,藉此訓練出多個不同場景下的專用版渲染模型,DLSS 2.0通用性極強,面對不同場景、不同風格的畫面渲染,都可以套用同一個渲染模型實現,最高可實現原解析度四倍的超高解析度畫面。
 
DLSS相關計算過程全部落在Turing架構新增的深度學習硬體加速器,因此不會佔用GPU原先的渲染計算硬體,以免增加其負擔導致性能損失。譬如可以從1080p畫面提升採樣頻率到4K畫面而且對GPU渲染計算硬體來說,只有稍大於1080p畫面計算量的代價。畢竟如果DLSS和傳統渲染方式一樣慢或計算消耗相同,那麼此技術毫無意義,還不如直接渲染高解析度畫面。
 
除了高解析度畫面外,DLSS也可以穩定產生不帶抖動鬼影的高更新率畫面,而且是從既有的低更新率畫面提升採樣頻率生成得來,省下了渲染高更新率畫面的高額成本。
 
過去提升採樣頻率而生成高更新率畫面的技術,粗略分為單張畫面參考和多張畫面參考兩種版本,因為單張畫面參考需要生成原低更新率畫面完全不存在的紋理細節,相對難以得到與直接渲染高更新率畫面接近的成果。
 
多張畫面參考的取捨點在於採樣頻率,採樣頻率過低依然會丟失部分紋理細節,採樣頻率過高會出現抖動鬼影問題,以及計算量過大導致難以滿足即時性畫面渲染的低延遲需求。
 
DLSS透過人工智慧在單張畫面參考和多張畫面參考之間作最適當的選擇,高解析度畫面的紋理細節資訊亦可拿來輔助單張畫面參考,而採用多張畫面參考時也會適時調整採樣頻率,以保持畫面品質和即時性渲染需求的平衡點。
 
即時性光線追蹤渲染固然是計算機圖學的革命性改變,DLSS的重要性其實不遑多讓,亦是計算機圖學歷史上的一重大里程碑。
 
過往計算機圖學領域有個難以打破的準則,想在切換不同解析度和更新率下維持畫質,幾乎都是走在從高解析度往低解析度、高更新率往低更新率的降低採樣頻率這個單行方向。你可以實現「從有到無」,視情況捨棄一些較不重要的紋理細節;但很難實現「從無到有」,憑空猜測出原本不存在的紋理細節。
 
可是DLSS幾乎打破了如此準則,可以在只略微增加原始解析度的渲染計算量前提下,產生出畫質顯著提升的高解析度高更新率畫面,甚至讓我們預見了低解析度畫面永遠成為歷史名詞的可能。
 
事實上早在2016年,當時NVIDIA研究人員展示了一令大眾感到不可思議的計算機圖學渲染技術,他們利用基於類神經網路的人工智慧建立渲染模型,修復了失去部分紋理細節的毀損畫面,並意識到此概念可以應用於生成更高品質的畫面。
 
雖然DLSS看似是為補救支援光線追蹤渲染而造成的低更新率、低解析度畫面而誕生,實際上這兩項技術在本質上完全獨立,原理不同,內容也大不相同,理論上毫無因果關係。單獨開啟光線追蹤渲染或DLSS任一功能當然都沒問題,若關閉光線追蹤渲染而只單獨開啟DLSS畫面品質無疑也會更好。



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。