<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          光學(xué)計算 - 高效獲取光傳輸矩陣

          共 2580字,需瀏覽 6分鐘

           ·

          2020-11-05 18:07

          點擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時間送達(dá)

          轉(zhuǎn)自|計算攝影學(xué)

          一. 背景

          光傳輸矩陣(下圖中的T),它包含了場景中從光源l到目標(biāo)圖像p的所有關(guān)鍵信息。

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

          然而,高效的獲取光傳輸矩陣非常困難,如下圖所示。T的尺寸是??,如果輸入光源尺寸為100萬點,相機(jī)傳感器像素為100萬像素,那么T的尺寸將高達(dá)?

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

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

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

          因此,可以利用這個特性,高效的實現(xiàn)一些會利用到Tl的數(shù)值計算算法。

          二. 光學(xué)計算介紹

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

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

          你可以看到這里應(yīng)用到了??,因此很容易將它變成一個用特定光源??照射場景,并捕獲圖像??的過程。

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

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

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

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

          2.2.1 Arnoldi算法

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

          這個算法和冪迭代法的總體結(jié)構(gòu)是一致的,我們來看看它們的區(qū)別:

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

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

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

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

          很簡單,可以用兩個光源,一個代表正值元素(??),一個代表負(fù)值元素(??)。然后通過兩次成像,并將成像的結(jié)果相減,來得到Tl的值

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

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

          但我們可以先計算構(gòu)造對稱矩陣T*

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

          這個式子用單個相機(jī)和投影儀的組合是很難做到光學(xué)實現(xiàn)的,但用兩對相機(jī)+投影儀的組合則可以辦到。

          這里面左投影儀投射的圖案由右相機(jī)成像,而右投影儀發(fā)出的圖案由左相機(jī)成像。

          采用上述兩個技術(shù)要點,就有了兩種情況下的Arnoldi算法實現(xiàn):

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

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

          這里第一步是把新的用于照明場景的l投影到??的空間中得到光照向量,然后用它的各個分量作為權(quán)重,將arnoldi算法過程中得到的子圖像??加權(quán)起來即可得到重照明的圖像。

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

          上面的視頻中僅僅用了40次迭代即可獲得很好的結(jié)果。我們來看看當(dāng)?shù)螖?shù)變化時對結(jié)果的影響,注意這里我們打光時用了點光源:

          2.2.1 GMRES算法

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

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

          可以看到,它與Arnoldi算法唯一的區(qū)別就是輸入的向量??, 以及返回值。注意這里,為了求得光源l,同樣也不需要真的求解出T,而只需用kyrlov空間中的一系列向量??,以及??即可。

          三. 評價和總結(jié)

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

          實際上,就我看來,這恰好是利用模擬器件來取代某些數(shù)字計算來提高效率的一個明證。其他的例子還有很多.

          總之,通過本文我們再次強(qiáng)化了計算攝影學(xué)不僅僅是成像、圖像處理的認(rèn)知,“計算”本身也可以是這個學(xué)科的研究內(nèi)容和應(yīng)用方向。

          四. 參考資料

          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.


          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美A片免费 | 77777欧美日韩在线 | 又大又爽 | 天天操BB | 91一区二|