首先假設三維空間中有一條直線 L,而三個視角的對應圖片中也會出現投影過後的直線(l, l', l'')。假設第一個視角的相機矩陣為 P=[I|0],第二個為 P′=[A|a4],第三個為 P″=[B|b4],則在每個視角中的直線反投影形成的平面向量為:
π=PTl=[l;0]4×1π′=P′Tl′=[ATl′;aT4l′]4×1π′=P″Tl″=[BTl″;bT4l″]4×1由於這三個平面交會於一條直線上,因此將此三個平面向量組成的矩陣 M 的 rank 為 2: M4×3=[m1,m2,m3]=[lATl′BTl″0aT4l′bT4l″]矩陣 M 的 rank 為 2,因此可以寫出 m1=αm2+βm3 的關係式,也因此可以利用最下面的 row 的關係寫出此式子: l=(bT4l″)ATl′−(aT4l′)BTl″=(l″Tb4)ATl′−(l′Ta4)BTl″li=l″T(b4aTi)l′−l′T(a4bTi)l″=l′T(aibT4)l″−l′T(a4bTi)l″因此我們定義 trifocal tensor 為: Ti=(aibT4)−(a4bTi)li=l′TTil″矩陣 Ti 為 3×3,總共有三個 3×3 的的矩陣。總自由度為 18,而一組 trifocal tensor 可以提供 8 個約束。
Trifocal Tensor 的五種約束式
- Line-line-line correspondence: l′T[T1,T2,T3]l″=lT
- Point-line-line correspondence: l′T(∑xiTi)l″=0
- Point-line-point correspondence: l′T(∑xiTi)[x″]×=0T
- Point-point-line correspondence: [x′]×(∑xiTi)l″=0
- Point-point-point correspondence: [x′]×(∑xiTi)[x″]×=03×3
沒有留言:
張貼留言