对极几何与基本矩阵

本章是重点章节

9.1 对极几何

对极几何是投影几何的内在性质, 反应的是两幅图像的关系.

它假设空间点X在图像1的投影是xx, 图像2的投影是xx', 那么xxxx'有啥关系?

可以明确的是, x,x,Xx,x',X三个点构成了一个平面, 叫极平面π\pi. 如果我们把xx反投影, 会形成一条π\pi上的射线ll', ll'往图像2上投影,xx'一定会在ll'上, ll'就叫极线. 同时, 连接图像1的相机中心和图像2的相机中心, 这条线叫基线, 基线会和两个图像有交点, 叫极点. 图像2的极点ee'也在ll'上, 所以xx'ee'构成了一条直线, 可以表达为

[e]×x=l[e']_{\times} x' = l'

我们再考虑一下xx'怎么用xx表示? 很简单x=PP+xx'=P'P^{+}x, 就是把x用P的逆反投影回去, 再用P'投影一下. e'怎么用e表示,很简单:P'C, 看到这里有个问题, C为啥不是PP+CP'P^{+}C? 因为C本身不用P^{+}的逆去反投影,为啥呢?

因为如果我们把x反投影, 会形成一条射线,可以表示为

X(λ)=P+x+λCX(\lambda) = P^{+}x + \lambda C

λ\lambda \rightarrow \infty的时候, X(λ)=CX(\lambda)=C, 所以我们看到C其实和P没啥关系的.

回到正题, 我们把x' e'的表达式带入l' 就得到了

l=(PC)×(PP+x)=[e]×(PP+)x=Fxl'=(P'C) \times (P'P^{+}x) \\ =[e']_{\times} (P'P^{+})x \\ =Fx

就得到了基本矩阵F的表达式.

然后x'在l'上, 所以 xTl=0x'^T l' = 0, 这样就得到了

xTFx=0x'^T F x=0

下面我们总结一下FF的性质

  1. F 是一个3×33 \times 3的矩阵 rank=2, 有7个自由度, 所以detF=0det F = 0
  2. x,xx, x'是一对对应点, 那么xTFx=0x'^T F x = 0
  3. FxFx就是xx对应极极线
  4. 极点满足Fe=0Fe=0, 所以解方程Fx=0Fx=0就得到了极点. 另一个极点页满足eTF=0e'^TF = 0

9.5 F的作用

本节我们讲述FF的一个非常重要的用途, 就是恢复两个摄像机的矩阵

我们先说明一个结论 结论9.8 如果H是一个4×44 \times 4的投影变换矩阵, 那么P,PP,P'的基本矩阵FF, 与PH,PHPH,P'H的基本矩阵FF是一样的

另外还有一个结论 结论9.9 假设P=[I0],P=[Mm]P=[I|0],P'=[M|m], 那么FF就是[m]×M[m]_{\times} M

那么这么M,mM,m具体长什么样子? 以下结论告诉我们

结论9.14 FF对应的两个相机矩阵可以写成P=[I0],P=[[e]×Fe]P=[I|0],P'=[[e']_{\times}F|e']

9.6 本质矩阵

一句话概括, 本质矩阵就是对应点在图像坐标系下的对应关系. 假设我们知道内参, 那么P=K[Rt]P=K[R|t], 所以K1P=[Rt]K^{-1} P=[R|t], 其中K1PK^{-1} P叫归一化的相机矩阵. 那么点会怎么变化?

原来是x=PXx=PX, 现在PP变成了K1PK^{-1} P, 所以点就变成了K1PX=K1xK^{-1}PX=K^{-1}x, 我们把K1xK^{-1}x记为x^\hat{x}', 所以Kx^=xK \hat{x}'=x, 然后带入基本矩阵的表达式, 就得到了基本矩阵和本质矩阵的关系

E=KTFKE=K'^T F K

书上的思路是从K1PK^{-1} P推导, 可以把K1PK^{-1} P记成P^\hat{P}, 用P^\hat{P}把基本矩阵重新推一次, 也可以得到上述关系

EE可以由旋转和平移得到, 表示为E=[t]×RE=[t]_{\times} R

EE有啥性质? 他也是一个3×3 3 \times 3的奇异矩阵,最后一行是0

EE有啥用途? 我们可以从EE种恢复摄像机矩阵, 假设P=[I0]P=[I|0], 而且我们知道EE, 把EE做SVD分别E=Udiag(1,1,0)VTE=Udiag(1,1,0)V^T, 那么$P'有四种不同结果, 这个在三维重建的时候有用.