卷積神經網路降噪技術加速全域照明之探討
全文
(2) 摘 要. 卷積神經網路降噪技術加速全域照明之探討 杜宜家 近年 GPU 硬體技術進步,光線追蹤即時繪製有了開端,在複雜的場景繪製 效能仍然有限,因此本論文將使用人工智慧輔助路徑追蹤,以卷積神經網路降 噪技術代替部分的路徑追蹤計算,加速全域照明場景的產生。 蒙地卡羅方法高頻率取樣,會耗費相當高的時間成本在計算上,透過路徑 追蹤低取樣頻率產生的影像,以人工智慧的方法去除蒙地卡羅方法產生的雜 訊,提升影像品質。 論文中主要探討降噪技術,透過調整卷積神經網路結構,達到降噪效果, 並保持一定程度的穩定性,與不同的場景變換之下廣泛的適用性,比較預測結 果與實際場景影像的差異,討論即時降噪光線追蹤遇到的問題與未來趨勢。. 關鍵字:路徑追蹤、全域照明、OptiX 光線追蹤引擎、卷積神經網路降噪.
(3) ABSTRACT Denoising Path Tracing Renderings using Convolutional Neural Networks by Yi-Chia Tu In this paper, we use artificial intelligence to support path tracing. We replace part of the rendering calculations with image denoising which is implemented by convolutional neural network. This method effectively reduces rendering time to global illumination. Monte Carlo method takes a lot of time to render a scene. While the number of samples increases, the noise decreases. In order to generate a high quality image and reduce sampling time, we use convolutional neural network to rebuild the image, which is based on low frequency sampling. The result is almost the same as Monte Carlo rendering with higher frequency sampling image. Our primary focus is on the offline denoising technique. We use this technique to improve the stability and capability of the network. To process noisy images of different viewpoints, scenes and illumination, we adjust the network layers and training data. We compare a higher frequency sampling image with a low frequency sampling image whose noise is reduced. Eventually, we discuss about real time denoise rendering.. Keywords: path tracing, global illumination, OptiX ray tracing engine, Convolutional Neural Networks denoising.
(4) iv. 目 錄 附表目錄........................................................................................................................ vi 附圖目錄....................................................................................................................... vii 圖片引用來源................................................................................................................ ix 模型引用來源................................................................................................................ ix 第一章 緒論................................................................................................................... 1 第一節 研究背景 ....................................................................................................... 1 第二節 研究目的 ....................................................................................................... 2 第三節 論文架構 ....................................................................................................... 3 第二章 文獻探討........................................................................................................... 4 第一節 路徑追蹤 ....................................................................................................... 4 第二節 Rendering Equation ....................................................................................... 6 第三節 蒙地卡羅估計函數 ....................................................................................... 7 第一項 Russian Roulette Path Termination ........................................................... 7 第四節 Nvidia 應用程式加速引擎 OptiX ............................................................... 8 第五節 類神經網路 ................................................................................................... 9 第一項 CNN、RNN ............................................................................................ 10 第二項 Autoencoder............................................................................................. 10 第三項 Recurrent Denoising Autoencoder .......................................................... 11 第三章 系統實作......................................................................................................... 12 第一節 Path Tracer .................................................................................................. 12 第一項 Training Dataset 的產生 ......................................................................... 14 第二節 卷積神經網路架構 ..................................................................................... 15 第一項 Training ................................................................................................... 16 第二項 Loss Function .......................................................................................... 17 第三項 Metrics ..................................................................................................... 17 第三節 實作整合 ..................................................................................................... 18.
(5) v. 第四章 實驗結果分析................................................................................................. 19 第一節 硬體設備 ..................................................................................................... 19 第二節 卷積神經網路分析 ..................................................................................... 19 第一項 視覺化分析 ............................................................................................. 20 第三節 Network 預測結果分析 .............................................................................. 22 第一項 增加訓練場景資料 ................................................................................. 26 第二項 接縫問題 ................................................................................................. 29 第三項 Skip Connection 結構的結果比較 ......................................................... 30 第四節 時間比較 ..................................................................................................... 34 第五章 結論與未來研究............................................................................................. 35 參考文獻....................................................................................................................... 36.
(6) vi. 附表目錄 表格 1 卷積神經網路參數.......................................................................................... 20 表格 2 模型結果數據.................................................................................................. 20 表格 3 視覺化卷積層.................................................................................................. 21 表格 4 Sponza 預測結果數據 ..................................................................................... 22 表格 5 移動光源與相機位置比較數據...................................................................... 25 表格 6 兩種模型對 Sponza 降噪數據 ........................................................................ 26 表格 7 BMW、Salle de Bain 場景預測結果數據 ..................................................... 27 表格 8 San Miguel 2.0、Fireplace Room 場景預測結果數據 .................................. 28 表格 11 使用的卷積結構 ............................................................................................ 29 表格 12 跳轉連接的數據比較.................................................................................... 31 表格 13 San Miguel2.0 場景影像跳轉連接數據 ....................................................... 33 表格 14 效能比較........................................................................................................ 34.
(7) vii. 附圖目錄 圖表 1 全域照明場景 photon mapping ........................................................................ 1 圖表 2 路徑追蹤法繪製 spp : Samples Per Pixel ........................................................ 2 圖表 3 由左上到右下倍增取樣次數(Wikipedia, Path tracing) ................................... 4 圖表 4 ray tracing 與 path tracing(Wikipedia, Global illumination) ............................. 5 圖表 5 Rendering Equation 示意圖(Wikipedia, Rendering equation) .......................... 6 圖表 6 光線追蹤流程圖(Nvidia, NVDIA OptiX 6.0) .................................................. 8 圖表 7 類神經網路結構圖............................................................................................ 9 圖表 8 路徑追蹤取樣示意圖...................................................................................... 12 圖表 9 擷取場景影像.................................................................................................. 14 圖表 10 論文中使用的卷積神經網路架構圖............................................................ 15 圖表 11 訓練影像 ........................................................................................................ 16 圖表 12 實作流程圖.................................................................................................... 18 圖表 13 Training epoch_loss ....................................................................................... 19 圖表 14 Overfitting 與 Underfitting 判別方式 ........................................................... 20 圖表 15 輸入模型的資料............................................................................................ 21 圖表 16 Sponza 預測結果 ........................................................................................... 22 圖表 17 Sponza 場景比較圖 ....................................................................................... 23 圖表 18 布幕貼圖........................................................................................................ 24 圖表 19 藍色布幕間接照明........................................................................................ 24 圖表 20 實驗移動光源與相機位置............................................................................ 25 圖表 21 兩種模型產生的 Sponza 降噪影像 .............................................................. 26 圖表 22 BMW、Salle de Bain 場景預測結果 ........................................................... 27 圖表 23 San Miguel 2.0、Fireplace Room 場景預測結果 ........................................ 28 圖表 24 合併影像的結果圖........................................................................................ 29.
(8) viii. 圖表 25 使用跳轉連接的結果.................................................................................... 30 圖表 26 未使用跳轉連接的結果................................................................................ 30 圖表 27 跳轉連接的結果細節比較............................................................................ 31 圖表 28 跳轉連接的 San Miguel2.0 場景影像 .......................................................... 32 圖表 29 未使用跳轉連接的 San Miguel2.0 場景影像 .............................................. 32 圖表 30 San Miguel2.0 場景影像使用跳轉連接細節比較 ....................................... 33.
(9) ix. 圖片引用來源 圖表 3 Wikipedia – Path tracing https://en.wikipedia.org/wiki/Path_tracing 圖表 4 Wikipedia – Global illumination https://en.wikipedia.org/wiki/Global_illumination 圖表 5 Wikipedia – Rendering equation https://en.wikipedia.org/wiki/Rendering_equation 圖表 6 Nvidia – NVDIA OptiX 6.0 https://raytracing-docs.nvidia.com/optix_6_0/index.html. 模型引用來源 場景使用 BMW、Crytek Sponza、Conference Room、Fireplace Room、Salle de Bain、San Miguel 2.0、Cornell Box McGuire Computer Graphics Archive: https://casual-effects.com/data/.
(10) 第一章 緒論 第一節 研究背景 電腦圖學繪製場景技術主要可以分為直接照明與全域照明,直接照明表示在 不經過其他物體的反射或折射之下場景中物體顯示的亮度、顏色,完全只受到 光源的影響,多被在互動式媒體中,例如:遊戲。 全域照明則能表示物體在真實光學的情況,包含光源的直接影響、加上物體 之間的反射與折射,模擬出光線的物理現象,像是柔和的陰影、湖面的光影反 射、玻璃球經過光線照射後產生的聚光效果,多被應用在電影、商業廣告中。. 圖表 1 全域照明場景 photon mapping 長期以來即時的場景繪製都是使用光柵化技術,在螢幕上顯示3D 的物體影 像,可以有很快的速度,但是繪製的效果無法與光線追蹤相比,光線追蹤與路 徑追蹤能繪製出逼真的全域照明場景,但是會花費相當多的時間在計算上。 現在可以使用 GPU 加速計算,讓即時光線追蹤有了開端,然而繪製擬真的 場景還是相當耗費時間,但如果使用路徑追蹤短時間內繪製出的2D 影像,以降 1.
(11) 2. 噪的方式取代3維空間計算複雜的 rendering,若以人工的方式降噪需要考慮場景 中的物體材質、陰影、光罩狀況等等,許多不同的變因,所以選擇使用針對影 像做處理的卷積神經網路。. 第二節 研究目的. 1spp. 25spp. 圖表 2 路徑追蹤法繪製 spp : Samples Per Pixel (圖表2)使用路徑追蹤產生的全域照明影像,當取樣次數較少時,也花費較 少的時間,很多像素沒有與光源行形成連線,導致大量的雜訊,影像無法辨認 細節,當取樣次數增加時,可以看到雜訊減少,影像逐漸清晰,但是相對的當 取樣次數越多,繪製的時間也越長,所以我們希望使用低取樣頻率產生的影 像,以卷積神經網路的技術去除影像中的雜訊點,並且填上正確的顏色,透過 較少的計算量節省計算時間,並加速全域照明場景的產生。 場景影像的方法分別為光柵化與光線追蹤,光柵化的技術雖然能快速即時 的繪製出影像,但是並不真實,而光線追蹤能如同真實的相片,甚至分辨不出 是由電腦圖學繪製出,但需要花費大量的時間在計算上,近年硬體設備的進.
(12) 3. 步,GPU 平行運算的減少了光線追蹤運算的時間。 路徑追蹤技術以取樣的方式決定影像中每個 pixel 的顏色,每個像素取樣1 次所產生的雜訊點讓影像模糊不清,而每個像素取樣增加到25次產生的影像則 較清晰,但相對的,計算花費的時間也更多,每秒所能畫出的影像張數也就也 跟著降低,期望能透過人工智慧的方法減少影像中的雜訊點,讓就算在短時間 內產生的場景影像也能有清晰的畫面。 依循短時間取得的少部分的資訊,預測並重建出場景影像,不僅可以節省時 間,也可以節省記憶體忽略多餘的細節資料。. 第三節 論文架構 總共分為六個章節,第一章緒論:「全域照明與光柵化能達到的效果,以及目 前全域照明遇到的問題」,第二章文獻探討:「探討全域照明的演算法,OptiX 光 線追蹤引擎運算架構,近年卷積神經網路降噪研究成果」,第三章系統實作:「實 作路經追蹤演算法,建構卷積神經網路」,第四章結果分析:「分析網路性質, 測試不同場景之下的降噪效果,與蒙地卡羅較高頻率取樣的影像比較」,第五章 結論:「論文總結,卷積經網路降噪的未來發展性」,第六章:參考資料。.
(13) 第二章 文獻探討 探討全域照明場景關鍵與蒙地卡羅技術,以及針對蒙地卡羅降噪等相關方法研 究比較。. 第一節 路徑追蹤 路徑追蹤是基於蒙地卡羅方法的繪製技術,蒙地卡羅方法是基於機率統計的 計算方法,對於那些計算過於複雜而難以得到正解,或者根本沒有正解的問 題,有效的求出近似解。 路徑追蹤可以分為兩種,一種方式由相機位置作為起始位置開始追蹤直到光 源位置,另一種由光源開始追蹤直到打到相機,意義是找出光線與相機的相連 的路徑,但因為由無數條路徑組成,是以從中取樣的方式預估出場景光照,意 義是找出光線與相機的相連的路徑並合併,因為現實中光照是由無數條路徑組 成,此方法是以從中取樣的方式估算出。. 圖表 3 由左上到右下倍增取樣次數(Wikipedia, Path tracing). 4.
(14) 5. 光的路徑會根據材質而有所不同: D 代表光打到 diffuse 材質的反射 G 代表打到 glossy 材質 S 代表打到 specular 材質,反射方式是全反射和折射 “Whitted Recursive ray tracing: E[S * ](D|G)L Kajiya Path Tracing: E[(D|G|S) +(D|G)]L” [16]. 圖表 4 ray tracing 與 path tracing(Wikipedia, Global illumination) (圖表4)遞迴 ray tracing 可以處理連續數個 specular 的表面,但是當打到 diffuse 和 Glossy 的表面時就無法決定 ray 的下一個方向,所以無法產生 diffuse 材質的間接照明。Path tracing 則可以產生全域照明的效果,像是玻璃球的聚 光、牆壁的 color bleeding。.
(15) 6. 第二節 Rendering Equation 為了模擬全域照明的場景,提出 Rendering Equation,James Kajiya 於1986年 提出 “The resulting renderlng algorithm extends the range of optical phenomena which can be effectively simulated. ”[4]. 𝐿𝑜 (𝑥, 𝑤𝑜 , 𝜆, 𝑡) = 𝐿𝑒 (𝑥, 𝑤0 , 𝜆, 𝑡) + ∫ 𝑓𝑟 ( 𝑥, 𝑤𝑖 , 𝑤𝑜 , 𝜆, 𝑡)𝐿𝑖 (𝑥, 𝑤𝑖 , 𝜆, 𝑡)(𝑤𝑖 , 𝑛)𝑑𝑤𝑖 𝛺. 圖表 5 Rendering Equation 示意圖(Wikipedia, Rendering equation) 以此方程式模擬現實的光學現象,先考慮物體本身的亮度,再加上場景中 光打到不透明表面的光照影響,計算出最後完整的輻射率(Radiance)。 以物體表面的法向量(n)為中心點,產生一個單位半球,打入此半球內的入 射光產生反射光會以雙向反射分布函式(BRDF)描述打出,當入射光打到平面而 光與平面法向量的角度影響著光的輻射照度(Irradiance),當角度越大則衰弱越 多,以此方程式模擬現實中光學現象。.
(16) 7. 第三節 蒙地卡羅估計函數 以 Rendering Equation 作為基礎衍生出的蒙地卡羅估計(Monte Carlo estimator)函數。 [11] 𝑛𝑠. 𝑓𝑟 (𝑝, 𝑤𝑖,𝑗 , 𝑤𝑜 )𝐿𝑖 (𝑝, 𝑤𝑖,𝑗 ) 𝑐𝑜𝑠 𝜃𝑖 1 < 𝐿𝑟 (𝑝, 𝑤𝑜 ) >= ∑ 𝑛𝑠 𝑝(𝑤𝑖,𝑗 ) 𝑗=1. 取樣以隨機的方式作為反射方向,雖然可以處理 diffuse 的表面,當場景中 有其他材質時,並非是有效率的方法,因為不是所有的路徑都有相同的光線影 響率,根據不同材質,反射狀況也會不一樣,當遇到 specular 的表面時效率就不 佳了,因此可以根據 BRDF 的情況決定 pdf 值,以不同的反射情況調整適當的取 樣權重。. 第一項 Russian Roulette Path Termination 預設這條路徑打到光源的機率為 q,當 q 為0時則停止追蹤此路徑,否則就持 續追蹤,當打到物體時 q 會依照打到的物體顏色做修改,例如當打到深色的物 體,大部分的光將會被吸收,而 q 也會下降,因為打光傳到到眼睛的可能性降 低了,當打到較淺色的物體 q 則會上升,以此方式提前停止不可能的路徑,減 少時間的計算。.
(17) 8. 第四節 Nvidia 應用程式加速引擎 OptiX 由 Nvidia 半導體公司於2009提出的光線追蹤引擎 [8],以整合 GPU 的運算架 構提高光線追蹤的效率,傳統光線追蹤需要花費大量的時間計算場景,而 OptiX 只需要幾秒即可完成,並且提供具有彈性的平台,可以依照研究需求控制調整 拓展場景效果。產生 Ray、Intersection 和 Shading 等程式以 CUDA 產生,會被驅 動程式轉換成 PTX 程式碼,再交由 GPU 進行計算達到最佳的光線追蹤計算效 能。(圖表6)根據輸入的模型調整加速方法或是 Intersection 程式,或在 Closest Hit 程式中調整不同材質的光照方式。. 圖表 6光線追蹤流程圖(Nvidia, NVDIA OptiX 6.0).
(18) 9. 第五節 類神經網路 在論文中所使用的類神經網路方法,如同神經元之間的訊息連結,以電流激 發傳遞到下一個神經元的開關,組織成一層層的神經網路,實際的使用是輸入 特徵資訊到類神經網路中,經過神經元之間的傳輸,最後輸出預測的結果,結 構分為輸入、輸出和隱藏層,除了輸入和輸出的部分 其餘皆為隱藏層。. Output layer Input layer Hidden layer. 圖表 7 類神經網路結構圖 機器學習的問題可分為三種:分類(classification)、分群(clustering)、迴歸 (regression),分類會在訓練後預測輸入的測試資料所屬的類別,常見的分類有二 分法,將結果分為兩種,True 或 False 一個明確的分類,當沒有明確的分類時, 適用分群找出相似的同類,並分在同一群中,而迴歸則是在訓練後預測出一個 數值,使用在股票預測、年雨量等,這些能用數值表示的結果,在論文中也是 使用廻歸演算法得到最後降噪後的影像顏色值。 廻歸是找出一個函數,能在輸入特徵資訊後,輸出最符合目標的結果,此函 數叫做廻歸函數,為了要找出最符合資料的函數,訓練時會計算誤差值,並根 據誤差值調整函數,最後找出誤差值最小的廻歸函數。.
(19) 10. 第一項 CNN、RNN CNN 是將輸入的資料執行 convolution 和 max pooling 的運算,將特徵 map 傳遞到下一個神經元,Convolution 是產生一個濾波器,並掃過整個影像,根據 每次輸入的影像區域內的像素的數值,以不同權重計算後產生特徵 map。Max pooling 會將範圍內的最大值取出作為代表;卷積常被應用在影像的深度學習 中,像是影像辨識、醫療影像分析或是自動駕駛。 另一個結構 RNN,會將上一次的結果保存下來,再與這一次的輸入進行計 算,成為下一層的調整值,多使用長短期記憶模型(long short-term memory, LSTM)存下上一次的預測結果,以此方法找出資料之間的關聯性,提高連續資 料的預測準確度。. 第二項 Autoencoder 自動編碼器(autoencoder)是一種類神經網路的結構,輸入的資料會複製一 份,並經過 encoder 將資料壓縮,和還原資料的 decoder。傳統的 autoencoder 隱 藏層都是由多層感知器(multilayer perceptron)組成。“Autoencoder 可將隱藏層 z. 的維度縮減至比輸入資料 x 更小的維度,並且重現輸入資料 x 的內容,換言之可 以得到具有低維度特徵的隱藏層 z。”[12] Encoder 的目的是將資料進行壓縮,使用在論文中由壓縮去除影像中的雜訊 點,其中隱藏層使用卷積神經網路的架構,卷積運算將輸入的資料進行轉換並 用低維度的向量表示出,讓學習時能容易的進行比較或分類。.
(20) 11. 第三項 Recurrent Denoising Autoencoder 降噪自動編碼器(denoising autoencoder)的產生是為了訓練出更穩定且正確的 辨識模型,會將原先要輸入的訓練資料部分破壞,再將被破壞的資料經過 Autoencoder 修復,而這些被修復的資料才會成為辨識模型的訓練資料。[9] 2017年 SIGGRAPH 中的論文提到 [3],針對在蒙地卡羅低取樣頻率之下產 生的影像使用 Recurrent Denoising Autoencoder,為了要取出輸入影像的特徵資 訊,隱藏層中使用的是卷積神經網路(Convolutional Neural Networks)。 每個 pixel 含有顏色值(r,g,b)、法向量(x,y)、深度值(d)、材質粗糙度 (rough),將這些關鍵資訊輸入卷積神經網路中訓練學習,產生新的網路,增加 影像中輪廓的穩定性,產生較佳的影像,配合著場景中物體的深度值(depth)、法 向量(normal)等資訊,非監督式的學習卷積神經網路,在本論文中參考了其中的 作法,不同的是沒有使用循環類神經網路(RNN)的架構,以及不同訓練資料型 態。 參考文獻中循環類神經網路會將上次卷積的結果保存,在下一個資料輸入 時與其執行兩次卷積,再繼續成為下一層的調整值。循環卷積神經網路使用的 訓練資料為1000幀(frame)的動畫,每幀都有相對應10張1spp 的雜訊影像,以 1024*1024的大小產生,再裁切成128*128,放入訓練模型,找出幀之間的關 係,以加強模型預測的效果。.
(21) 第三章 系統實作 第一節 Path Tracer 從相機位置產生 ray,將 ray 往每個像素的中心點打,當 ray 與場景中的物 體有所交叉,計算此點的直接照明,並根據此物體的材質帶入機率密度函數 (Probability Density Function),在此假設為 diffuse 表面 pdf 為1,與 BRDF 計算 後打到下一個物體,往交叉點平面半圓(hemisphere)內隨機的方向打 ray,直到此 路徑的光線被吸收(Russian roulette path termination)、ray 打到背景或是與光源連 線才會停止。. 圖表 8 路徑追蹤取樣示意圖 取樣方式: ⚫. 假設取樣1個 pixel 取樣2*2次. ⚫. 從相機位置往每塊的中心點. ⚫. 打到物體表面決定 pdf,並往半圓內隨機方向追蹤. ⚫. 根據深度值的增加,光線衰弱的越多. ⚫. 最後再將回傳的顏色1/4作為權重加總. 12.
(22) 13. pseudo code for path tracing. Depth=0 Weight=1 Trace( Ray, Depth, Color ,Wright){ //打到背景和燈光時停止 If hit the background or light Color+=radiance* Weight Break;. If hit object radiance=direct lighting color/pdf Weight=object color next direction=random hemisphere direction. // Russian roulette path termination If ray not from camera If random number is greater than weight break. Depth+1 Color += radiance *Weight Trace ( Ray, Depth, Color) } }.
(23) 14. 第一項 Training Dataset 的產生. 圖表 9 擷取場景影像 訓練資料使用場景 Crytek Sponza,由二十六萬片三角片所組成,光源位置固 定並為點光源,相機位置 x,z 軸固定並旋轉,當收集完360度後垂直向上移動, 總共擷取430張720*1280 1spp 的影像、720*1280的法向量影像、720*1280的深度 值影像與430張 720*1280 400spp 的 groundtruth,在經過裁切成128*128的影像, 這部分在 Training 會多做說明。.
(24) 15. 第二節 卷積神經網路架構. 圖表 10 論文中使用的卷積神經網路架構圖 在論文中使用的是 Denoising Autoencoder 的架構,輸入128*128*6的張量, 其中意義是128*128影像的每個像素都有6個純量的資料,路徑追蹤1spp 的 r, g, b 值、法向量(x, y)、深度值(d),其中的隱藏層由卷積層(Convolution layer)、池化 層( Max pooling layer )、升取樣層(Up sampling)組成,卷基層使用3x3的 kernel 大 小,激勵函數使用線性整流函數 ReLU(Rectified Linear Unit),池化層使用2x2 kernel 大小,升取樣使用2x2 kernel 大小,以輸入的1格作為其他4格的數值。 在經過 Convolution 後空間資料會進行壓縮,再重建影像也無法恢復高解析 度,讓影像模糊,因此使用跳轉連接(skip Connection) [7]使更多3D 空間的細節 資訊傳到 decoder,重建影像時有不同階段的特徵做為參考,讓結果更接近實際 資料。.
(25) 16. 第一項 Training. 圖表 11 訓練影像 在開始訓練模型前會先將資料作前處理,path tracer 產生了 4 種 720*1028 的影像,分別是 Monte Carlo 1spp 的 noise 影像、Monte Carlo 400spp 的 groundtruth 影像、物體的法向量和物體的深度值。 將 720*1280 的影像切割成 128*128 的影像,並且將相同位置的 4 張圖並排 組成新的一張 128*512 影像,(圖表 11)由左到右分別為 1spp 影像、400spp 影 像、法向量影像、深度圖,再將數值調整到 0 到 1 之間,作為 training data,總 共有 25,860 張影像,隨機的輸入模型進行訓練,Optimizer 使用 Adam,Batch size 為 32 調整出適當的記憶體用量與計算速度,Epoch 為 2000 找出 loss function 的最低位置函數, 總共有 168,515 parameters。 驗證集資料使用也是使用 Sponza 場景,移動光源位置與相機位置並擷取影 像,總共蒐集 2586 張 128*128 的影像,每次訓練 1epoch 後驗證模型,並且提高 懲罰。.
(26) 17. 第二項 Loss Function 為了讓模型能學習、優化,需要將模型輸出的結果與實際的影像作評分比 較,讓模型修正函數,提供更正確的預測。在論文中所使用的是均方誤差(mean square error, MSE),以預測的輸出影像與蒙地卡羅路徑追蹤400spp 的 ground truth 影像,比較相對應的 pixel 顏色值且平方化,因為有平方的特性在錯誤時會 比均方根有更高的懲罰,也不會有負數的誤差值問題。 𝑛. 1 𝑀𝑆𝐸 = ∑(𝑥𝑖 − 𝑦𝑖 )2 𝑛 𝑖=1. 第三項 Metrics 評斷的指標分別為 PSNR(Peak signal-to-noise ration)與 SSIM,不會影響訓練 模型,僅作為模型的評估,PSNR 用來評估影像被壓縮或損壞的情況,單位為分 貝(dB),通常數值介於30到40之間,當值越大代表品質越好,越低則影像被損壞 的程度越高,MSE 與 PSNR 成反比。作為影像品衡量的指標,人類的視覺感官 評判方式是較接近的。. PSNR = 10 log10. 𝑀𝐴𝑋 2 𝑀𝑆𝐸. SSIM 則是分別計算亮度、對比度、結構比較兩張影像的相似度,在此用於 與蒙地卡羅路徑追蹤400spp 的影像作比較,範圍在0到1之間,完全相同為1。.
(27) 18. 第三節 實作整合 為了要針對蒙地卡羅方法產生的雜訊做處理,我們使用 path tracer 所產生的 影像訓練模型,分別產生1spp 與400spp 的影像,讓模型在實際使用時,能透過 模型的計算提高影像解析度,產生如同400spp 的影像品質。 模型使用3.2節的卷積網路架構,透過多個卷積濾波器取出特徵、降低雜訊, 並透過 skip connection 提供較詳細的空間資訊,作為重建影像的依據,讓重建的 影像有更好的品質、解析度。 每一次輸入訓練資料,會使用 MSE 計算與 ground truth 的殘差,透過殘差 調整每一層隱藏層的參數,在多次的訓練、調整參數讓殘差達到最小化,讓殘 差維持在一定的數值內,代表模型能重建出穩定且接近400spp 品質的影像,評 斷標準可透過 Metrics 的兩種判別方式,以客觀的數據方式比較模型結果。. 圖表 12 實作流程圖.
(28) 第四章 實驗結果分析 此章節會描述降噪模型的性質,分析並討論模型的效能,以及將路徑追蹤 400spp 的結果作為 groundtruth,與1spp 輸入網路分析降噪的效果,比較不同結 構和訓練資料的卷積神經網路結果。. 第一節 硬體設備 使用的硬體設備是 Intel i7的 CPU 與 Nvidia 1070的 GPU. 第二節 卷積神經網路分析 訓練資料為25,860張128*128的 Sponza 影像,以隨機的方式輸入網路進行訓 練,每次取32張進行訓練,epoch 為2000大約花費8.8小時進行訓練,(圖表13)一 開始誤差大幅下降,收斂到大約到1千時誤差趨近平緩。測試結果使用3480張 128*128的 Sponza 影像,由100張720p 的影像切割而成,可以從表格 2結果數據 看出此模型沒有 overfitting 與 underfitting 的問題。. 圖表 13 Training epoch_loss. 19.
(29) 20. 表格 1 卷積神經網路參數 Batch size. 32. Epoch. 2000. FLOPs. 2,678K. 圖表 14 Overfitting 與 Underfitting 判別方式 表格 2 模型結果數據 Loss function. Metrics. MSE. PSNR. SSIM. 訓練結果. 0.007. 36.71. 0.918. 驗證結果. 0.015. 33.23. 0.869. 測試結果. 0.016. 33.46. 0.868. 第一項 視覺化分析 為了更了解每層卷積神經網路的效果,利用視覺化的方式將矩陣資料以影 像的方式輸出,藉此理解與分析每一層卷積神經網路對於預測結果的影響。 透過我們輸入的資訊,從第一層可以看到特徵點的抓取,其中包含邊緣、 雜訊、背景、前景,經過 maxpooling 抓取出較明顯的特徵,以此方式去除雜 訊,留下重要的資訊,到第三層大致剩下建築明顯的結構部分。.
(30) 21. 第四層開始使用跳轉連接(skip connection)的結構,多出許多較明顯的特 徵,藉由這些 feature map 在去除雜訊後,重建場景細節還原出清晰的影像。. 圖表 15 輸入模型的資料 表格 3 視覺化卷積層 Layer. Input. Output. Size. Size. encoder. 1. 6. 32. decoder. 4. 104. 56. 視覺化隱藏層的輸出.
(31) 22. 5. 88. 48. 第三節 Network 預測結果分析 (圖表16)Sponza 的測試結果,可以看到亮度較高的部分,以及 indirect lighting 的部分差異較大,去雜訊的影像 PSNR 大約28左右。. 與 ground truth 相減. denoise. 取絕對值乘以 2 的結果. 圖表 16 Sponza 預測結果 表格 4 Sponza 預測結果數據 MSE 1spp. PSNR. SSIM. 0.0155 18.072 0.2178. denoise 0.0012 28.931 0.7991.
(32) 23. 圖表 17 Sponza 場景比較圖. ⚫. 物體邊緣: 黃色框可看到植物與背景的紅色布幕有部分重疊,一般的模糊影像降噪後會使. 物體影像模糊,高斯模糊使用常態分佈比一般的濾波器更能保持影像清晰,經過卷 積網路後達到降噪的效果,並保持植物葉片邊界的銳利度。. ⚫. 陰影: 綠色框中可以看到鐵鍊遮蔽產生的陰影,在降噪後仍保留陰影細節,但部. 分陰影應該要有反射光的影響而被打亮,但其亮度值被包含在雜訊中,去除雜 訊後會讓場景影像比實際結果暗。.
(33) 24. ⚫. 貼圖細節: 在綠色框中藍色布幕的貼圖, 在繪製後會有像是雜訊的波浪狀的紋理,根. 據取樣的次數紋理也會有粗糙與細緻之分,因為使用低取樣頻率的影像,在經 過特徵取樣和重建後仍會留下的較粗糙的布料的質感。. 圖表 18 布幕貼圖. ⚫. 間接照明:. 在藍色框中的地板呈現微弱的紅色,光線打到右側的紅色布幕再反射到地板的 間接照明,因為 path tracing 的隨機取樣的繪圖方式造成反射到地板的光以雜訊 的方式呈現,在降噪後大部分的明顯亮點會被去除,卷積的層重建方式會以周 圍的地磚顏色替代,呈現微弱的紅色。. 圖表 19 藍色布幕間接照明.
(34) 25. 圖表 20 實驗移動光源與相機位置 表格 5 移動光源與相機位置比較數據. MSE. PSNR. SSIM. 0.0579. 12.36. 0.3504. denoise 0.0006. 32.08. 0.8580. 1spp. ⚫. 移動光源、移動相機:. 使用移動相機位置與光源位置後的雜訊影像,與圖表16相較此影像受到光源的 影響較小,沒有去除雜訊後亮度也減弱的問題,使用與訓練資料不同的光源位 置與不同的相機位置並不影響降噪的效果。.
(35) 26. 第一項 增加訓練場景資料 這節比較使用多場景訓練的模型,與僅使用 Sponza 場景訓練出的模型差 異,多場景模型由 Sponza、BMW、San Miguel 2.0、Salle de Bain,4種場景訓 練。. 圖表 21 兩種模型產生的 Sponza 降噪影像 表格 6 兩種模型對 Sponza 降噪數據 MSE. PSNR. SSIM. 1spp. 0.0155 18.072 0.2178. denoise (Sponza). 0.0012 28.931 0.7991. denoise (4 scenes) 0.0015 28.060 0.7518. (圖表21)在多場景訓練後對於 Sponza 的貼圖細節還原解析度較差,但在光 的間接照明有較佳的結果,黃框中的地板與花瓶都有明顯的偏紅,而藍色框中 的花瓶也有比較清楚的光影影響。.
(36) 27. 圖表 22 BMW、Salle de Bain 場景預測結果 表格 7 BMW、Salle de Bain 場景預測結果數據 BMW. Salle de Bain. MSE. PSNR. SSIM. MSE. PSNR. SSIM. 1spp. 0.0359. 14.44. 0.0528 0.0435. 13.61. 0.2111. denoise (Sponza). 0.005. 23.39. 0.5280 0.0221. 16.55. 0.4625. denoise (4scenes) 0.0004. 33.57. 0.8089 0.0004. 33.02. 0.8567. 0.0054. 22.66. 0.6736 0.0205. 16.87. 0.7505. 高斯模糊. 使用單一場景訓練的模型,對於其他顏色的測試資料適應性較低,會有偏 色的狀況,以及處理白色雜訊於白色物體時訊效果不佳,Salle de Bain 場景 PSNR 僅剩 16,多長訓練出的模型,同一個場景數據相較就沒有這樣的問題, PSNR 都可以維持在 30 左右。.
(37) 28. 圖表 23 San Miguel 2.0、Fireplace Room 場景預測結果 表格 8 San Miguel 2.0、Fireplace Room 場景預測結果數據 San Miguel 2.0. Fireplace Room. MSE. PSNR. SSIM. MSE. PSNR. SSIM. 0.0103. 19.84. 0.1795 0.0281. 15.50. 0.1243. denoise (Sponza) 0.0006. 32.11. 0.8516 0.0038. 24.16. 0.6159. denoise (4scenes) 0.0004. 33.25. 0.8502 0.0012. 28.98. 0.7553. 0.0015. 28.07. 0.7659 0.0051. 22.89. 0.6317. 1spp. 高斯模糊. 庭院的場景顏色與 Sponza 類似,以及光源較遠,PSNR 可以維持在32, Fireplace 是兩個模型都沒有訓練過的場景,單一場景訓練的葉子有點偏紅,在 白牆的部分也會有白色的雜訊點,多場景的模型幾乎看不出差異。.
(38) 29. 使用 Crytek Sponza 場景訓練出的模型做測試,輸入 BMW、Salle de Bain、 San Miguel 2.0以及未經訓練的場景,Fireplace Room 等影像,每個像素取樣1次 的路徑追蹤影像,從 BMW 的測試可看出地板應該要偏綠色,但降噪的結果偏 紅色,從 Salle de Bain 與的 Fireplace Room 測試可看出白色洗手台與白牆有明顯 的雜訊,可以推測出使用 Crytek Sponza 訓練出的模型在偏白色材質上的白色雜 訊效果不佳。多場景訓練的模型能適應變化較多顏色、亮度的場景,但也因將 雜訊納入重建影像的權重調高,導致顏色正確但細節模糊。. 第二項 接縫問題 在研究初期使用簡單的 Autoencoder 結構(如表格9),階層為由左到右,輸 入、輸出皆為128*128的影像,需要將影像切成128*128輸入,再合併成 720*1280的大小,在使用 sigmoid 激勵函數時會有明顯的接縫痕跡,經過修改激 勵函數成 Relu 後有明顯改善。Sigmoid 輸出值介於0~1之間,當函數超出-4與+4 經計算後會趨近於零造成梯度消失,造成卷積神經網路訓練困難。 表格 9 使用的卷積結構 Encoder Conv101. Conv76. Conv57. Decoder Conv -32. Conv -32. Conv -57. 圖表 24 合併影像的結果圖. Conv76. Conv101. Conv3.
(39) 30. 第三項 Skip Connection 結構的結果比較 基於使用 Crytek Sponza 場景訓練、相同的卷積神經網路、Epoch 為 2000, 比較未使用跳轉連接(skip connection)的結果。. 圖表 25 使用跳轉連接的結果. 圖表 26 未使用跳轉連接的結果.
(40) 31. 圖表 27 跳轉連接的結果細節比較 表格 10 跳轉連接的數據比較. MSE. PSNR. SSIM. Crytek. 使用. 0.0012. 28.931. 0.7991. Sponza. 未使用. 0.0018. 27.26. 0.7097. 對於未使用跳轉連接測試 Crytek Sponza 場景,場景中較亮的部分會有較嚴 重的失真,在布幕標誌、石像等有細節的貼圖會有模糊不清的狀況,在樹葉重 疊的部分因顏色相近也產生模糊的問題,並在葉片邊緣產生棕色的邊界,根據 人類視覺判斷使用跳轉連接的模型還原度較高,數據中也顯示使用的結果較 佳。.
(41) 32. 下圖使用 Crytek Sponza 場景訓練出的模型測試 San Miguel 2.0 場景,比較 模型對於不同場景的適用性。. 圖表 28 跳轉連接的 San Miguel2.0 場景影像. 圖表 29 未使用跳轉連接的 San Miguel2.0 場景影像.
(42) 33. 圖表 30 San Miguel2.0 場景影像使用跳轉連接細節比較 表格 11 San Miguel2.0 場景影像跳轉連接數據. San Miguel 2.0. MSE. PSNR. SSIM. 使用. 0.0006. 32.09. 0.8517. 未使用. 0.0007. 31.12. 0.8175. 未經過訓練的場景比較有較明顯的差異,模型較無法適應場景物體顏色的 改變,如上圖,桌上藍綠色的物體,藍框中的葉子有偏棕色的邊緣,以及較細 的紋路在經過卷積後消失,導致再去除雜訊後無法重建回復細節。. 由這項測試可以知道使用跳轉連接能提供更多特徵資訊,減少偏色的問 題,適應其他未經過訓練的場景,重建清晰影像。.
(43) 34. 第四節 時間比較 以 Intel i7-7700HQ CPU 與 NVIDIA GTX1070 GPU 進行比較,在 Sponza 場 景中,路徑追蹤在 1 個像素取樣 400 次時每秒能產生 0.03 幀(frame),換算後等 於產生一張影像大約需要花費 33 秒,而針對一張 720*1280 影像降噪花費 107 毫秒,加上產生取樣 1 次的影像花費 88 毫秒的時間,總共 195 毫秒,fps 大約 可以達到 5.1 幀,使用卷積經網路降噪節省繪製時間,繪製一張 400spp 的影像 時間與產生雜訊影像並執行降噪大約相差 170 倍,雖然 fps 未達到即時的標準, 但在硬體提升之下即時的全域照明是有可能實現的。. 表格 12 效能比較 卷積經網路 降噪. 1spp+卷積 經網路降噪. 0.088sec. 0.107sec. 0.195sec. 33sec. 11.3. 9.3. 5.1. 0.03. 1spp 繪製一幀影像 的時間 FPS. 400spp.
(44) 第五章 結論與未來研究 本論文中的降噪技術能有效的去除蒙地卡羅路徑追蹤的雜訊點,並在數毫 秒內產生預測的影像。目前最大的問題在於降噪技術花費的時間,雖然預估即 時的降噪技術的輔助能減少部分時間的消耗,但在720P 的解析度下仍是無法達 到 real time fps 24的門檻;當輸入越多的 training data,模型雖然能適用在更多場 景,但細節部分會模糊不清,需要找到特殊的 training data 讓模型有更佳適用 性;跳轉連接能提供更多特徵資訊,減少偏色的問題,適應其他未經過訓練的 場景,重建清晰影像。 在視覺化的圖中可以看到許多沒有特徵點的圖,神經路耗費了多餘時間計 算空白的資料,改善方法是減少每層的寬度,並加深訓練的層數,以此方法加 速運算且學習更多特徵點。由於此卷積神經網路是基於1spp 的影像,當取樣的 影像中沒有提供的細節,在降噪後是無法生成的,像是 Crytek Sponza 場景中布 幕較細的紋路。目前所使用的材質皆為相同的 BRDF,若使用不同材質雜訊的分 布狀況也會不一樣,針對不同材質的雜訊處理也是未來可以探討的方向。 整合降噪技術與 OptiX 引擎,將訓練完成的 model 嵌入 OptiX 的程式中, 達到互動式的 monte carlo path tracing。 近幾年已有幾家公司推出了雲端人工智慧,像是 Azure Machine Learning 服 務(Microsoft Azure)、Cloud ML Engine(Google)、Amazon SageMaker(Amazon), 未來若能將 renderer 與降噪的服務皆部署於雲端,透過雲端的計算能力與網路的 結合提供服務,終端將不受限於所使用的硬體計算能力。. 35.
(45) 參考文獻 論文 [1] Bako, S., Vogels, T., McWilliams, B., Meyer, M., Novák, J., Harvill, A., ... & Rousselle, F. (2017). Kernel-predicting convolutional networks for denoising Monte Carlo renderings. ACM Transactions on Graphics (TOG), 36(4), 97. [2] Buades, A., Coll, B., & Morel, J. M. (2005, June). A non-local algorithm for image denoising. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 2, pp. 60-65). IEEE. [3] Chaitanya, C. R. A., Kaplanyan, A. S., Schied, C., Salvi, M., Lefohn, A., Nowrouzezahrai, D., & Aila, T. (2017). Interactive reconstruction of Monte Carlo image sequences using a recurrent denoising autoencoder. ACM Transactions on Graphics (TOG), 36(4), 98. [4] Kajiya, J. T. (1986, August). The rendering equation. In ACM SIGGRAPH computer graphics (Vol. 20, No. 4, pp. 143-150). ACM. [5] Li, T. M., Wu, Y. T., & Chuang, Y. Y. (2012). SURE-based optimization for adaptive sampling and reconstruction. ACM Transactions on Graphics (TOG), 31(6), 194. [6] Mara, M., McGuire, M., Bitterli, B., & Jarosz, W. (2017, July). An efficient denoising algorithm for global illumination. In High Performance Graphics (pp. 3-1). [7] Mao, X. J., Shen, C., & Yang, Y. B. (2016). Image restoration using convolutional auto-encoders with symmetric skip connections. arXiv preprint arXiv:1606.08921. [8] Parker, S. G., Bigler, J., Dietrich, A., Friedrich, H., Hoberock, J., Luebke, D., ... & Stich, M. (2010, July). OptiX: a general purpose ray tracing engine. In Acm transactions on graphics (tog) (Vol. 29, No. 4, p. 66). ACM. [9] Vincent, P., Larochelle, H., Bengio, Y., & Manzagol, P. A. (2008, July). Extracting and composing robust features with denoising autoencoders. In Proceedings of the 25th international conference on Machine learning (pp. 1096-1103). ACM.. 36.
(46) 37. 書籍 [10] Goodfellow, I. Bengio, Y. Courville, A.(2016). Adaptive Computation and Machine Learning series. The MIT Press. [11] Suffern, K. (2016). Ray Tracing from the Ground up. AK Peters/CRC Press. [12] 許郁文(譯) (2019, March)。實戰 TensorFlow x Keras 工作現場開發。碁峰。 (太田滿久, 須藤広大, 黒澤匠雅, 小田大輔, 2018). 網路訊息 [13] c1mone. (2017, January). Tensorflow Day19 Denoising Autoencoder [Web blog message]. Retrieved from https://ithelp.ithome.com.tw/articles/10188390 [14] Damien, A. (2015). TensorFlow Tutorial and Examples for Beginners (support TF v1 & v2) [Web blog message]. Retrieved from https://github.com/aymericdamien/TensorFlow-Examples [15] Ginn, Z. (2018, November)。談談 Deconv 和 Unpooling [部落格文字資料]。 取自 https://jinzequn.github.io/2018/01/28/deconv-and-unpool/ [16] Hanrahan, P. (2001). Monte Carlo Path Tracing. Image Synthesis Techniques. Retrieved July 2, 2019, from Stanford University, Institute for Computer Graphics Web site: http://www.graphics.stanford.edu/courses/cs348b01/course29.hanrahan.pdf. [17] I code so I am. (2017, December). Day 14:循環神經網路(Recurrent Neural Network, RNN) [部落格文字資料]。取自 https://ithelp.ithome.com.tw/articles/10193469 [18] Pierobon G.(2018, November). Visualizing intermediate activation in Convolutional Neural Networks with Keras [Web blog message]. Retrieved from https://towardsdatascience.com/visualizing-intermediate-activation-inconvolutional-neural-networks-with-keras-260b36d60d0 [19] 李宏毅。(2016, October)。ML Lecture 1: Regression - Case Study [部落格影 音資料]。取自 https://www.youtube.com/watch?v=fegAeph9UaA.
(47)
Outline
相關文件
• 1961 年Lawrence Roberts使用低速網路線 將劍橋與加州的電腦相連,展示廣域網路 (wide area network) 的概念..
SG is simple and effective, but sometimes not robust (e.g., selecting the learning rate may be difficult) Is it possible to consider other methods.. In this work, we investigate
Ongoing Projects in Image/Video Analytics with Deep Convolutional Neural Networks. § Goal – Devise effective and efficient learning methods for scalable visual analytic
Salmon, Automatic Creation of Object Hierarchies for Ray Tracing IEEE CG&A 1987 Object Hierarchies for Ray Tracing, IEEE CG&A, 1987. • Brian Smits, Efficiency Issues
根據研究背景與動機的說明,本研究主要是探討 Facebook
蔣松原,1998,應用 應用 應用 應用模糊理論 模糊理論 模糊理論
Keywords: light guide plate, stamper, etching process, Taguchi orthogonal array, back-propagation neural networks, genetic algorithms, analysis of variance, particle
The purpose of this paper is to achieve the recognition of guide routes by the neural network, which integrates the approaches of color space conversion, image binary,