如果平行平面足夠密集,物體表面的任意一點p一定位於某平面di上,可以看到p的相機看到點p必定是同一顏色;假設與p在同一平面的另一點p』,不位於物體表面,則投影到每個相機上呈現的顏色不同, 於是plane sweeping演算法假設:
對於平面上任意一點p,其如果投影到每個相機上的顏色均相同,那麼可以說這個點很大概率是物體表面上的點對於平行平面di上的每個點p,將其投影到所有相機上,之後根據投影的顏色進行匹配計算,得到點p對應的分數以及其對應的深度,p得分越高,代表其投影在各相機上的顏色越接近
p計算之後,將其投影到虛擬相機cam x上,從後向前掃瞄,如果某乙個平面dj上的點q投影到cam x後,發現得分高於之前該點的分數,則更新該點的分數和深度,直至平面掃瞄結束
相機c看x
πx_\pi
xπ和c』看x
πx_\pi
xπ存在單應關係
省略公式和推導有了點的對應關係,接下來就是找到cost function對其優化。由於雜訊的影響,不能只利用顏色資訊,需要結合視窗資訊進行比較
c (x
,y,π
k)=∑
k=0n
−1∑(
i,j)
∈w∣i
ref(
x−i,
y−j)
−βkr
efik
(xk−
i,yk
−j)∣
\begin c\left(x, y, \pi_\right) &=\sum_^ \sum_ \mid i_(x-i, y-j)-\beta_^ i_\left(x_-i, y_-j\right) \mid \end
c(x,y,
πk)
=k=
0∑n−
1(i
,j)∈
w∑∣
iref
(x−
i,y−
j)−β
kref
ik
(xk
−i,y
k−j
)∣
在得到了cost function後只需計算個點最小值即為對應的平面:
π ~(
x,y)
=argminπ
mc(x
,y,π
m)\tilde(x, y)=\underset}} c\left(x, y, \pi_\right)
π~(x,y
)=πm
arg
min
c(x,
y,πm
)有了對應平面該點的深度如下計算:
z m(
x,y)
=−dm
[xy1
]kre
f−tn
mz_(x, y)=\frac} x & y & 1 \end\right] k_^ n_}
zm(x,
y)=[
xy
1]k
ref−
tnm
−dm
平面掃瞄 Plane sweeping 介紹
reference 三維重建之平面掃瞄演算法 plane sweeping plane sweeping演算法在三維重建中非常重要,其特別適合平行計算,因此通過gpu加速後可以使複雜的稠密重建達到實時。大多實時三維重建的深度圖生成部分採用plane sweeping演算法。而且plane sweep...
控制平面和資料平面
高階路由器由控制平面control plane和資料平面data plane 也稱為 平面 組成。每個平面都有自己的cpu和記憶體。控制平面負責執行路由選擇協議,管理路由選擇處理必備的資料庫資訊並生成fib表 forward information base,資訊庫 fib資訊將會被 到用於接收傳輸...
平面劃分問題 超平面規劃
直線劃分平面問題 題目描述 給定n條直線,判斷這n條直線最多能將平面劃分為多少區域。解析 首先觀察1條直線的劃分情況。顯而易見,1條直線分平面為兩個區域。然後是2條直線的劃分情況。接著是3條直線的劃分情況。通過觀察,便可發現當加入 第n條直線的時候,這條直線將被之前的 n 1 條直線割為n份,每份都...