精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
47. 光學計算 - 高效獲取光傳輸矩陣

一. 背景

如果你看了我之前的文章44. Light Stage: 無限真實的人臉三維掃描——忘記幼稚的AI換臉吧,以及46. 對偶攝影 - 賭神往事,你一定會注意到一個關鍵術語:光傳輸矩陣(下圖中的T),它包含了場景中從光源l到目標圖像p的所有關鍵信息。

獲取光傳輸矩陣,對Relighting、光度立體以及對偶攝影等等應用場景中都非常重要。

然而,高效的獲取光傳輸矩陣非常困難,如下圖所示。T的尺寸是 

 ,如果輸入光源尺寸為100萬點,相機傳感器像素為100萬像素,那么T的尺寸將高達 

而且,這還只是一個簡化的例子。事實上T通常是非對稱的,結構復雜,這給獲取它帶來了更多困難。因此有大量的研究集中在高效高質量的獲取光傳輸矩陣,這些研究通常會采用很多復雜的數值計算方法。

我今天想簡介的,是一個全新的獲取光傳輸矩陣并加以應用的思路,看完后讓人不禁眼界大開。這個技術來自于下面這篇論文:

這篇文章的一個核心思想是:雖然直接獲取T是非常困難的,但光傳輸矩陣T、光源l以及最終成像的圖像p之間確實有明確的關系

因此,可以利用這個特性,高效的實現一些會利用到Tl的數值計算算法。

二. 光學計算介紹

2.1 冪迭代算法獲取方陣主特征向量

先從最簡單的例子看起,這個例子介紹了一種叫做冪迭代法(Power Iteration)的算法,它的目標是獲取一個方陣的主特征向量,過程非常簡單易懂:

你可以看到這里應用到了 

 ,因此很容易將它變成一個用特定光源 
 照射場景,并捕獲圖像 
 的過程。

2.2 Krylov子空間法: 求解大型線性系統的一些最重要的迭代算法

由冪迭代算法獲取的一系列向量形成了Krylov子空間:

基于這個子空間有一系列用于分析大型線性系統的迭代算法。由于光傳輸矩陣T正好也是形態各異的大型矩陣,因此也很適合用光學計算來代替這些算法中的數值計算部分。

作者介紹了兩種算法,一種叫做Arnoldi,它用于獲取大型矩陣T的一個低秩的近似矩陣。另外一種則叫做GMRES(廣義最小殘差法),它可以用于反向光傳輸,例如用于我之前介紹過的對偶攝影中。

2.2.1 Arnoldi算法

當我們的訴求是對場景進行打光渲染時,可以用一個秩為K的小矩陣來近似替代全尺寸的光學傳輸矩陣。這個過程可以用Arnoldi算法來實現。

這個算法和冪迭代法的總體結構是一致的,我們來看看它們的區別:

這里面,ortho函數的作用是將pk投影到l1....lk的正交子空間中。

所以看起來Arnoldi的算法過程和冪迭代法是一致的。然而,由于Arnoldi算法的實現過程中,光照向量l中的值可以是負數,且T矩陣不一定是方陣,因此就多了一些變化,因此在用光學計算代替數值計算的過程中就有一些計算要點:

要點1:矩陣與任意向量的乘積

在Krylov的一系列算法中,通常會需要計算矩陣T與任意向量l的乘積,其中l的元素值可能有正,有負,而我們是無法用一個“負的光源”去作用于場景的。怎么解決這個問題呢?

很簡單,可以用兩個光源,一個代表正值元素( 

 ),一個代表負值元素( 
 )。然后通過兩次成像,并將成像的結果相減,來得到Tl的值

要點2:解決T矩陣可能不對稱的問題

先看T矩陣什么情況下會是對稱的。通常來說,這要求投影儀投出的圖像和相機傳感器的分辨率一致,而且兩者的視角也是一致的,如下圖所示。很顯然,這種安排的作用很有限。

但我們可以先計算構造對稱矩陣T*

然后就可以很方便的沿用冪迭代算法的思想來分析T*了,這里:

這個式子用單個相機和投影儀的組合是很難做到光學實現的,但用兩對相機+投影儀的組合則可以辦到。

這里面左投影儀投射的圖案由右相機成像,而右投影儀發出的圖案由左相機成像。

采用上述兩個技術要點,就有了兩種情況下的Arnoldi算法實現:

下面的視頻展示了一個典型的過程

事實上,如果僅僅是想對場景進行重照明,可以不用計算出完整的近似矩陣,而只需要利用Arnoldi算法生成的一系列中間光照向量 

 和圖像 
 即可

這里第一步是把新的用于照明場景的l投影到 

 的空間中得到光照向量,然后用它的各個分量作為權重,將arnoldi算法過程中得到的子圖像 
 加權起來即可得到重照明的圖像。

下面這個視頻展示了重照明的結果,注意帽子所投射的復雜陰影(既尖銳又柔軟),頭發和陰影中的復雜亮點,以及玻璃場景中的陰影、焦散和間接照明效果都非常逼真。

上面的視頻中僅僅用了40次迭代即可獲得很好的結果。我們來看看當迭代次數變化時對結果的影響,注意這里我們打光時用了點光源:

2.2.1 GMRES算法

如果僅僅知道一幅照片,我們想知道它是在什么樣的光照情況下產生的,這時候就需要用到GMRES(廣義最小殘差)算法。

注意此時我們既不知道光源向量,也不知道光傳輸矩陣。這時候的算法其實和冪迭代法、Arnoldi算法具有一致的形態,其區別如下。其中上標+代表矩陣的偽逆

可以看到,它與Arnoldi算法唯一的區別就是輸入的向量 

 , 以及返回值。注意這里,為了求得光源l,同樣也不需要真的求解出T,而只需用kyrlov空間中的一系列向量 
 ,以及 
 即可。

三. 評價和總結

正如作者在論文中所述,本文最大的貢獻是在光域上替代復雜的數值計算。文中描述的Arnoldi算法以及GMRES算法僅僅是作者為了展示這種思想的兩個例子而已。事實上,作者說最關鍵是傳統上認為必須要獲取光傳輸矩陣T才能實現的一些操作,可以完全脫離T而實現。這就啟發了后續更大量的研究。

實際上,就我看來,這恰好是利用模擬器件來取代某些數字計算來提高效率的一個明證。其他的例子還有很多,例如我在43. 計算傳感器中提到的RedEye視覺傳感器架構在模擬域中提取ConvNet特征,以減少模數傳感器讀出開銷。

總之,通過本文我們再次強化了計算攝影學不僅僅是成像、圖像處理的認知,“計算”本身也可以是這個學科的研究內容和應用方向。

四. 參考資料

  1. CMU 2017 Fall Computational Photography Course 15-463, Lecture 22

  2. O’Toole and Kutulakos, “Optical computing for fast light transport analysis,” SIGGRAPH Asia 2010.

  3. 43. 計算傳感器

  4. 44. Light Stage: 無限真實的人臉三維掃描——忘記幼稚的AI換臉吧

  5. Wang Hawk:46. 對偶攝影 - 賭神往事

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PageRank的秘密
"求解器"開發入門指南(下)
深入機器學習系列之:快速迭代聚類
數據挖掘10大算法(1)——PageRank
機器學習和線性代數 - 特征值和特征向量
高等工程數學:工程問題解決方案的數學基礎
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 南昌市| 施秉县| 新建县| 岑溪市| 乌苏市| 砀山县| 宝山区| 滨海县| 武义县| 兴化市| 龙海市| 青浦区| 彩票| 英吉沙县| 西盟| 台中县| 聂拉木县| 武乡县| 都江堰市| 中山市| 焦作市| 虞城县| 翼城县| 宾川县| 枞阳县| 玛曲县| 宜昌市| 如皋市| 江城| 新郑市| 泊头市| 綦江县| 青州市| 元江| 庆云县| 江孜县| 乐昌市| 南京市| 晋宁县| 济宁市| 金川县|