用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

機器之心發表於2020-08-12

影像合成早已不是新鮮話題,但是「打光」可是所有照片的難題。對於人類攝影師而言,打光就是件挺複雜的事,那麼合成影像中的光線問題又該如何解決呢?

最近,來自 MIT、谷歌和加州大學聖地亞哥分校的研究人員進行了一項研究,試圖透過神經光傳輸(Neural Light Transport,NLT)對影像進行二次打光(relighting)和檢視合成(view synthesis)

那麼,這項研究提出的 NLT 方法效果如何呢?研究者在多個場景下進行了測試,包括 Directional Relighting、基於不同影像背景的打光、根據攝像頭路徑不同進行檢視合成後的打光效果等等。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


效果看起來不錯,就是有點像鬼片……(瑟瑟發抖

具體而言,在 Directional Relighting 場景下,NLT 實現瞭如下效果:

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


在基於影像的 Relighting 場景下,人物的打光效果隨著背景影像的變換而不斷調整:

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


那麼在涉及檢視合成時,效果如何呢?

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


同時進行二次打光和檢視合成呢?

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


想檢視更多效果?請戳以下影片:

NLT 方法如何實現這樣的效果?我們來看論文詳情。

神經光傳輸(NLT)論文簡介

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


  • 論文地址:https://arxiv.org/pdf/2008.03806.pdf

  • 專案頁面:http://nlt.csail.mit.edu/


場景的光傳輸(LT)描述了場景在不同布光和視角方向下的樣子,對場景 LT 的全面瞭解有助於在任意布光條件下合成新的檢視。

這篇論文探討了基於影像的 LT 採集,主要用於光照平臺設定中的人體。研究者提出了一種半引數方法,以學習嵌入到已知幾何特性的紋理圖集空間中的 LT 的神經表示,並將所有非漫射和全域性 LT 建模為殘差,並將其新增到物理精確的漫反射基底渲染中。

具體而言,該研究展示瞭如何融合先前看到的光源和檢視觀察結果,基於選定的視點和期望照明條件合成同一場景的新影像。

該策略允許網路學習複雜的材料效果(如次表面散射)和全域性照明,同時保證漫反射 LT 的物理正確性(如硬陰影)。藉助這一學得的 LT,我們可以使用平行光或 HDRI 貼圖以逼真的方式對場景進行二次打光,合成具有檢視依賴效果的新檢視,或者使用一組先前觀察到的稀疏結果在一個統一框架中同時執行二次打光和檢視合成這兩種操作。

該研究透過定性和定量實驗表明,NLT 方法優於當前最優的二次打光和檢視合成解決方案,並且不需要像先前工作那樣,對這兩個問題進行單獨處理。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

NLT 方法的大致流程。

該研究的主要貢獻有:

  • 提出一種端到端的半引數方法,使用卷積神經網路從實際資料中學習對每個物件的 6D 光傳輸函式進行插值。

  • 透過將網路嵌入引數化紋理圖集,並利用一組 One-Light-at-A-Time(OLAT)影像作為輸入,實現可同時執行二次打光和檢視合成的統一框架。

  • 提出了一組增強的紋理空間輸入和一個基於物理精確漫反射基底的殘差學習機制,使得網路能夠輕鬆學習非漫射、高階光傳輸效應(包括鏡面高光)、次表面散射和全域性照明。


NLT 方法

研究者使用的框架是一個具備殘差學習機制的半引數模型,旨在縮小几何代理(geometry proxy)的漫反射渲染與實際輸入影像之間的真實感差距,具體如下圖 2 所示。

引數方法用於融合先前記錄的觀察結果,以在任何預期的光照和視角下生成新的逼真影像。該方法得益於近年來計算機視覺領域的進展,使研究人員可以對人體物件實現精準的 3D 重建。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

圖 2:之前的 Relightables 方法(Guo 等人,2019 年)、該研究提出的 NLT 方法和真實影像之間的真實感差距。

NLT 方法的模型架構如下圖 4 所示:

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


模型網路包含兩個路徑,分別是查詢路徑(Query Path)和觀察路徑(Observation Path)。其中「觀察路徑」以基於目標光源和視角方向取樣的 K 個臨近觀察結果(作為紋理空間殘差圖)為輸入,並將它們編碼成多尺度特徵,最後將這些特徵池化以消除對順序和數量的依賴。

接著,將這些池化特徵連線至「查詢路徑」的特徵啟用函式,「查詢路徑」以預期光源和視角方向(以餘弦圖的形式呈現)以及物理精確的漫反射基底(也在紋理空間中)作為輸入。查詢路徑預測殘差圖,然後將其新增至漫反射基底,以生成紋理渲染結果。

由於整個網路都嵌入在人體物件的紋理空間中,所以我們可以根據輸入和監督訊號訓練同一個模型來分別執行二次打光和檢視合成,或者同時執行這兩個操作。

實驗結果

二次打光

如下表 3 所示,研究者對 NLT 方法與 Diffuse Base、Barycentric Blending、Deep Shading 等其他二次打光基線方法進行了定量評估,以 PSNR(峰值訊雜比)、SSIM(結構相似性)和 LPIPS(學得感知相似性)作為評估指標。

此外,研究者還對 NLT 方法進行了控制變數研究。

結果表明,NLT 方法的效能優於所有的基線方法,但 Diffuse Rendering 和 Barycentric Blending 等簡單的基線方法也取得了較高的分數。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

表 3:NLT 與其他 SOTA 二次打光方法的指標對比以及 NLT 的控制變數研究結果。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

圖 7:在使用平行光的二次打光任務上,NLT、其他方法與真值影像的效果對比。

檢視合成

如下表 4 所示,研究者對 NLT 和其他基線二次打光方法的檢視合成效果進行了定量分析,結果表明 NLT 優於所有的基線方法,並且效果可以與 Thies 等人(2019 年)提出的僅執行檢視合成但不進行二次打光的方法相當。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

表 4:NLT 與其他基線二次打光方法的檢視合成指標對比。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

圖 9:NLT、其他基線方法與真值影像之間的檢視合成效果對比。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

圖 10:同時執行二次打光和檢視合成的效果展示。

效能分析

最後,研究者分析了 NLT 方法在不同因素下的效能表現。結果表明,隨著幾何結構的退化,該研究使用的神經渲染方法始終優於嚴重依賴幾何圖形質量的傳統重投影(reprojection)方法。在執行二次打光時,研究者還證實 NLT 方法在光源數量減少時也能合理地執行,表明 NLT 方法也有可能適用於更小的光照平臺。

控制變數研究

如下圖 13 所示,研究者在二次打光任務上進行了 NLT 方法的控制變數研究。結果顯示,去除模型的不同元件會不同程度地降低渲染質量。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)


失敗案例

當然,NLT 方法在檢視合成時也出現了失敗的案例。如下圖 14 所示,NLT 方法可能無法生成複雜光傳輸效果的真實檢視,如脖子上所戴項鍊的檢視。

用神經網路給照片補光,谷歌這項研究卻實現了「鬼片」效果!(膽小勿入)

相關文章