作者:Arm 工程部計算機視覺高級架構師 Liam O’Neil
本文將從訓練、網絡架構到后處理和推理等方面,深入探討 Arm 神經超級采樣 (Arm Neural Super Sampling, Arm NSS) 的工作原理,希望為機器學習 (ML) 工程師和移動端圖形開發者來詳細解釋 Arm NSS 的運行機制,及其如何在移動端硬件上進行部署。
用神經超級采樣取代啟發式方法的原因
時域超級采樣 (TSS),也稱為時域抗鋸齒 (TAA),已經成為過去十年中抗鋸齒技術的行業標準解決方案。它具備諸多優勢,包括能夠解決各類鋸齒問題,對于延遲渲染的計算效率高,并且可擴展至圖像的優化升級。然而,該解決方案也面臨一些挑戰。例如,TSS 中目前常用的人工設計的啟發式方法難以擴展,并且需要在不同內容中不斷調整,像鬼影、去遮擋偽影和時域不穩定性等問題依然存在,并且在與圖像優化升級技術結合時變得更加棘手。
Arm NSS 通過一套從數據中學習且經過訓練的神經模型,而非靜態規則來克服這些限制。它可以跨條件和內容類型進行泛化,更有效地適應運動動力和識別鋸齒模式。這些能力使其能夠更可靠地處理那些對 AMD 超級分辨率銳畫技術 2 (FSR2) 和 Arm 精銳超級分辨率技術 (Arm Accuracy Super Resolution, Arm ASR) 等方法頗具挑戰的邊緣側用例。
訓練 Arm NSS 網絡:帶反饋的遞歸學習
Arm NSS 使用以每像素一個樣本渲染的 540p 幀序列進行訓練。每幀與以每像素 16 個樣本渲染的 1080p 真實標簽 (Ground Truth) 圖像配對。序列大約包含 100 幀,以幫助模型理解圖像內容如何隨時間變化。
解決方案的輸入包括渲染圖像的顏色、運動向量和深度,以及引擎元數據,如抖動向量和攝像頭矩陣。該模型采用遞歸式訓練,在每次執行反向傳播之前,會先對多幀序列進行前向傳播。這使得網絡能夠隨時間傳播梯度,并學習如何累積信息。
該網絡采用時空損失函數進行訓練,能對空域保真度和時域一致性方面的誤差進行懲罰。空域保真度用于確保單幀圖像清晰、細節豐富且視覺準確,有助于保留邊緣、紋理和精細結構;而時域穩定性則抑制了連續幀之間可能出現的閃爍、抖動或其他形式的時域噪聲。
此項訓練是在 PyTorch 中采用成熟的技術實踐進行,其中包括 Adam 優化器、余弦退火學習率調度,以及標準數據增強策略。預處理和后處理流程使用 Slang 語言編寫,以確保靈活性和性能,而量化感知訓練則采用 ExecuTorch 完成。
網絡架構和輸出設計
Arm NSS 網絡采用具有跳躍連接的四層級 UNet 主干架構,以保持空間結構。它分別通過三個編碼器和解碼器模塊對輸入數據進行下采樣和上采樣處理。
Arm 評估了多種方法:
圖像預測?:易于實現,但在量化條件下表現不佳,并會產生視覺偽影。
內核預測:泛化能力良好且能有效量化,但由于需要許多大型內核映射,導致帶寬開銷較高。
參數預測(所選方法)?:為每個像素輸出少量參數。這些參數驅動后處理步驟(如濾波和樣本累積)。該方法對量化友好且帶寬效率高。
該網絡生成三種逐像素輸出:
4 x 4 濾波器內核;
用于累積和校正的時域系數?;
隱藏狀態張量?作為時域反饋傳遞至下一幀。
該網絡輸出服務于兩條路徑:
濾波器內核與時域系數?被后處理階段用于計算經優化升級的最終圖像;
隱藏狀態被前向傳遞至下一幀推理。與 Arm ASR 此類技術依賴手動調優的啟發式方法不同,Arm NSS 等 ML 方法具有三重優勢:
Arm NSS 能估計動態內核濾波器和參數,以逐像素粒度解決鋸齒問題;
Arm NSS 通過利用采集多幀歷史狀態的時域反饋,實現更出色的時域穩定性;
Arm NSS 可針對新游戲內容進行調優,使開發者能進一步針對其特定游戲優化圖像質量。
通過時域反饋提升幀間一致性
Arm NSS 引入了兩種關鍵反饋機制來解決時域不穩定性問題:
將先前幀的隱藏特征前向傳遞,使網絡能夠學習變化與持續的部分;
通過計算亮度導數來檢測閃爍的細微特征,從而突顯指示不穩定的時域差異。
這些輸入幫助模型在不依賴人工設計規則的情況下保持時域穩定性。
預處理階段:輸入準備
在推理開始之前,基于 GPU 的預處理階段會準備 Arm NSS 所需的輸入數據,其中包括收集每個像素的屬性(如顏色、運動向量和深度)。此外,該階段還會計算亮度導數,這是一個用于標記細微特征閃爍的時域信號,以及去遮擋掩碼,以突出顯示陳舊的歷史記錄,并重投影歷史隱藏特征。
這些數據將被整合為用于神經網絡的單一輸入張量。該階段作為計算著色器運行,在推理調用前執行,即在使用面向 Vulkan 的 ML 擴展的 GPU 上運行。
后處理:從原始輸出到最終幀
在推理完成后,作為計算著色器運行的后處理階段將構建最終輸出顏色。所有步驟均集成至渲染圖中,并專為移動端高效運行設計,具體包括以下步驟:
運動向量擴張,減少重投影歷史時的鋸齒問題;
歷史重投影?,采用 Catmull-Rom 濾波器降低重投影的模糊度;
濾波,應用 4 x 4 內核對當前顏色輸入執行抗鋸齒處理;
稀疏優化升級,將抖動的低分辨率樣本映射到高分辨率網格上,缺失像素都以零值填充,然后用 4 x 4 內核稀疏濾波,執行插值和抗鋸齒處理,類似于去馬賽克;
校正,使用預測的 theta 參數剔除陳舊歷史數據;
樣本累積?,通過預測的 alpha 參數將新數據與歷史緩沖混合,在色調映射域執行以避免“螢火蟲”偽影。
驗證質量
Arm 使用了峰值信噪比 (Peak Signal-to-Noise Ratio, PSNR)、結構相似性指數 (Structural Similarity Index, SSIM) 和渲染聚焦感知誤差指標 FLIP 等指標來評估 Arm NSS。雖然這些指標未必總是匹配人類感知,但它們有助于發現問題案例,并通過跟蹤各種指標增強信心。
通過持續集成 (CI) 工作流回放測試序列并記錄 Arm NSS、Arm ASR 和其他基準的性能。有關視覺比較和感知評估的詳細內容,請參閱技術白皮書。
白皮書:https://developer.arm.com/documentation/111019
在 540p 到 1080p 的比較中,Arm NSS 提升了穩定性和細節保留性能,并且在快速運動、部分遮擋物體和細微幾何體場景中表現出色。與 Arm ASR 或 AMD FSR2 等非神經方法不同,Arm NSS 無需反應掩碼,即可處理粒子效果。
Arm NSS 能否實時運行?
雖然搭載神經加速器的芯片尚未發布,但我們可以通過一些最低性能假設和執行網絡推理所需的乘積累加運算 (MAC) 數量來估計 Arm NSS 是否足夠快。該分析適用于任何在吞吐量、功率和利用率方面滿足這些相同假設的加速器。我們假定在可持續的 GPU 時鐘頻率下,目標每瓦 10 TOP/s 的神經加速是可實現的。
在持續的性能條件下,我們對每幀的優化升級處理設定了?不超過四毫秒?的目標。在低時鐘頻率 GPU 上,推理前后運行的著色器階段共耗時約 ?1.4 毫秒?。基于此預算,Arm NSS 需控制在約 ?27 GOPs ?以下。而參數預測的網絡使用約為 ?10 GOPs?,即使神經網絡加速器的效率僅為 40%,這在該范圍內仍綽綽有余。
早期模擬數據顯示,Arm NSS 在 1.5 倍優化升級(平衡模式)下的運行時間約為 Arm ASR的 75%,而在兩倍優化升級(平衡模式)下則預計性能會優于 Arm ASR。這一效率提升得益于用簡化的推理過程取代了復雜的啟發式方法。
即刻利用 Arm NSS 進行構建
Arm NSS 引入了一種由 ML 驅動的時域超級采樣的實用方法。它用經過學習的濾波器和穩定性提示取代了人工調優的啟發式方法,并能夠在移動端硬件的實時性限制內運行。
其訓練方法、緊湊架構和利用面向 Vulkan 的 ML 擴展使其兼具高性能和適應性。對于構建神經渲染解決方案的 ML 工程師來說,Arm NSS 是一個可部署、結構良好,且運行于圖形管線內的推理示例。
想要探索 Arm 神經圖形開發套件,查看示例代碼,并探索網絡結構,請訪問 Arm 開發者中心的 Arm NSS 頁面。歡迎開發者使用開發套件或為自己的內容重新訓練 NSS,并提供反饋,你的見解將有助于塑造移動設備上神經渲染的未來。
-
ARM
+關注
關注
135文章
9580瀏覽量
393238 -
計算機視覺
+關注
關注
9文章
1715瀏覽量
47697
原文標題:一文了解 Arm 神經超級采樣,深入探索架構、訓練和推理
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
RISC-V vs ARM:為什么工業與邊緣計算仍然選擇 ARM 架構?
深度解析?ARM?架構:從劍橋車庫到未來計算
Arm神經超級采樣 以ML進一步強化性能 實現卓越的移動端圖形性能
Arm神經技術是業界首創在 Arm GPU 上增添專用神經加速器的技術,移動設備上實現PC級別的AI圖形性能
一文回顧 Arm架構 40 年的創新歷程
Arm Neoverse N2平臺實現DeepSeek-R1滿血版部署
同一水平的 RISC-V 架構的 MCU,和 ARM 架構的 MCU 相比,運行速度如何?
RISC-V和ARM有何區別?
一文了解Arm神經超級采樣 (Arm Neural Super Sampling, Arm NSS) 深入探索架構、訓練和推理
評論