利用光場進行深度圖估計(Depth Estimation)算法之二——匹配算法


光場相機由於能夠捕獲相機內部光線的強度和方向而得到整個光場,可以實現重聚焦(refocus)和視角變換等功能。進而可以進行深度估計獲取深度圖,前面說過利用重聚焦的圖像進行深度估計,今天說一下利用不同視角的圖像進行深度估計。

仍然是以Lytro Illum為例

由於每一個微透鏡后面的15*15個像素能夠記錄來自主鏡頭的225條光線信息,因此取每一個微透鏡后面同一位置的像素可以得到一個視角下的圖像,遍歷15*15個像素,就能夠得到225個不同視角下的圖像。這些圖像之間視角上又偏移,即視差,可以使用匹配的方法進行深度的計算。還是以Tao的文獻里的算法來說,這次說的是correspondence,就是各個視角下圖像的匹配關系。

Tao的算法里是利用整個傳感器獲得的光場圖像進行計算的,圖像尺寸為8115*6510(單個視角下的圖像尺寸為541*434,也就是微透鏡的個數)。只要能夠理解坐標之間的關系,這樣就不用提取每一個視角的圖像了。

先貼一下源文獻里的介紹:主要就是這兩個公式(4)和(5),並不復雜。

 

算法過程如下:

1.重聚焦過程中獲取不同像平面下的傳感器圖像(光場圖像8115*6510),一共256幅。

2.對每一幅光場圖像,取每一個微透鏡后面對應15*15個像素的平均值,然后在窗口內求出方差。這樣可以得到一幅方差圖(圖像尺寸541*434),為了增加魯棒性,會對方差圖做一個均值濾波的操作得到匹配代價圖。

3.方差作為匹配代價,針對每一個宏像素點處,遍歷所有的匹配代價圖,去方差最小的那一幅,記錄其索引值(0~255)。

4.根據索引值找到對應的alpha值,從而得到像距V=alpha*F。

5.根據物象公式1/U +1/V = 1/F 就可以求得該像素點處的深度。

 

博主之前做過雙目立體匹配獲取視差圖(stereo matching),感覺這個匹配的過程有點兒古怪,和stereo matching 不太一樣。后來細想,其實還是相通的,只不過融合了refocus后,求深度的過程就簡單化了。求方差的過程其實就是計算matching cost ,在微透鏡后的窗口內計算方差就是對每一個視角與平均值average進行匹配。而大家知道,重聚焦其實就是shift-sum-average過程,如果微透鏡后面的像素點值越接近,那么shift-sum-average后的點就越清晰,否則就會越模糊。方差就能夠體現這一重要特性。方差越小,說明該點是重聚焦后所有圖像對應位置最清晰的點,也就是在對焦的平面上,這樣其實就由轉化為了看哪一點最清晰的問題了,和defocus模糊線索殊途同歸。

 

該文獻中最后利用馬爾科夫隨機場MRF對這兩種深度圖進行了全局優化,目前還沒有完全理解,以后理解了再寫出來。

 

現在模糊線索和視差線索都介紹完了,純屬自己看文獻和代碼的理解,如有錯誤的地方,還望不吝指教~~~

 

參考文獻

[1] Tao M W, Hadap S, Malik J, et al. Depth from combining defocus and correspondence using light-field cameras[C]//Proceedings of the IEEE International Conference on Computer Vision. 2013: 673-680.

[2] 楊德剛, 肖照林, 楊恆, 等. 基於光場分析的多線索融合深度估計方法[J]. 計算機學報, 2015, 38(12): 002437-2449.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM