DERS使用兩個或三個輸入視點及其相機參數(shù),來進(jìn)行深度估計。
其工作模式分為三種:automatic Depth,Semi-automatic Nagoya,Semi-automatic ETRI。由cfg文件中的DepthEstimationMode控制。三種方法流程圖如下:
三者主要模塊相同:首先通過對兩個或三個視點的每一個像素進(jìn)行外極線搜索,計算匹配代價;然后用graph-cut算法,求最小代價能量函數(shù),獲得每一個像素的最可能視差;最后利用視差并繪制深度圖。
在3D場景中,深度有兩種描述方式:1.相對于3D空間原點的位置。 2.相對于相機的位置。用z表示深度值,Zfar和Znear分別表示距離相機位置或是3D空間原點最遠(yuǎn)和最近的深度值,v表示深度圖的濃度值,則可得下式:
當(dāng)已知平行相機陣列的焦距f和基線距離b時,可以得到以下式子:
而深度圖的濃度值可以通過視差來表示:
因此可以使用視差來計算深度和繪制深度圖。
在DERS中,深度估計使用的是一種全局匹配算法graph cut。
Graph cut是圖論中的一個概念,是一種有效的能量優(yōu)化算法,普遍應(yīng)用于圖像分割、立體視覺、摳圖等算法中。
具體算法參見上篇文章:
http://blog.csdn.net/lin453701006/article/details/56480377
通過Graph cut算法找最大流,就可以為每個像素分配一個視差,求出對應(yīng)的深度圖濃度值了。