基础矩阵

一、基础矩阵原理介绍
基本矩阵体现了两视图几何(对极几何,epipolar geometry)的内在射影几何(projective geometry)关系,基本矩阵只依赖于摄像机的内参KK和外参R,tR,t。

基础矩阵

上图是一个两视图的几何描述,其中OO、O′O′是两个相机的光心,两点连线OO′OO′称为基线,基线与图像平面的交点ee、e′e′称为对极点,其中ll、l′l′分别是图像点x′x′、xx对应的对极线。

上图的左侧相机的图像平面上的一个点xx,反向投影得到射线OXOX。由于点的深度未知,图像平面上的点xx可能是射线上某一深度的3D点XX。而射线OXOX在第二个相机的图像平面上的投影为l′l′。也就是说,给定一对图像,第一幅图像上的每个点xx,在另外一幅图像上存在一条直线l′l′与之对应。换言之,第二幅图像上与点xx对应的点x′x′必定在线l′l′上。

我们可以看到这里存在一个从一副图像上的点到另外一幅图像与之对应的对极线的映射x→l′x→l′。而基本矩阵就表示了这种从点到直线的射影映射关系。

几何推导
   首先在几何层面对上述一个图像上的点到另外一个图像上的对极线的映射关系进行分析。可以把这个映射分成两个步骤:
点到平面的转移
   存在一个不经过两个相机光心的的平面ππ,光心OO与xx的射线与平面ππ相交与一点XX。该点XX又投影到第二幅图像平面上的点x′x′。这个称为点xx通过平面ππ的转移。点xx,x′x′是平面ππ上的3D点XX在两个相机平面上的像。对应每一个3D点XX都存在一个2D的单应HπHπ把每一个xx映射到x′x′。
对极线的构造
  已知第二幅图像上的对应点x′x′,再加上对极点e′e′我们可以构造对极线l′=e′×x′=[e′]×x′l′=e′×x′=[e′]×x′(这里的[e′]×[e′]×是叉乘矩阵)。由于x′x′可以表示为x′=Hπxx′=Hπx,则有:
l′=[e′]×Hπx=Fx
l′=[e′]×Hπx=Fx
  基本矩阵可以记作为F=[e′]×HπF=[e′]×Hπ,其中HπHπ是一幅图像到另外一幅图像通过任意平面ππ的转移映射。因为[e′]×[e′]×的秩是2,HπHπ的秩是3,因此FF是秩为2的矩阵。
  从几何角度来讲,F矩阵表示了第一幅图像的2维射影平面P2P2到通过对极点e′e′的对极线束的映射,是从2维到1维的射影空间的映射,因此秩为2。
  基础矩阵
代数推导
  对于两个视图的射影矩阵PP、P′P′,在矩阵PP的作用下,第一个视图中通过xx和光心OO的射线可以由方程PX=xPX=x解出。给出的单参数簇解的形式为:
X(λ)=P+x+λO
X(λ)=P+x+λO
  其中P+P+是PP的伪逆,即P+P=IP+P=I,OO为相机的中心,即PP的零矢量并且定义为PO=0PO=0。这条射线由点P+xP+x和点OO决定,这两点在第二幅图像上的投影分别为点P′P+xP′P+x和点P′OP′O。而对极线则是连接这两点的直线,即l′=(P′O)×(P′P+x)l′=(P′O)×(P′P+x),点P′OP′O也就是在第二幅图像上的对极点e′e′。也可以记为l′=[e′]×(P′P+)x=Fxl′=[e′]×(P′P+)x=Fx,这里的FF就是基本矩阵:
F=[e′]×(P′P+)
F=[e′]×(P′P+)
设两个视图的双目系统,且世界坐标系定在第一个视图:
P=K[I|0]P′=K′[R|t]=K′R[I|−O′]
P=K[I|0]P′=K′[R|t]=K′R[I|−O′]
则:
P+=[K−10]O=(01)
P+=[K−10]O=(01)
且:
F=[P′C]×P′P+=[K′t]×K′RK−1=K′−T[t]×RK−1=K′−TR[RTt]xK−1=K′−TRKT[KRTt]×
F=[P′C]×P′P+=[K′t]×K′RK−1=K′−T[t]×RK−1=K′−TR[RTt]xK−1=K′−TRKT[KRTt]×
对极点可以表示为:
e=(−RTt1)=KRTte′=P′(01)=K′t
e=(−RTt1)=KRTte′=P′(01)=K′t
从而,FF可以记作:
F=[e′]×P′P+=K′−T[T]×RK−1=K′−TR[RTt]×K−1=K′−TRKT[e]×
F=[e′]×P′P+=K′−T[T]×RK−1=K′−TR[RTt]×K−1=K′−TRKT[e]×
性质
  假设两幅图像由中心不重合的相机获得,则基本矩阵F为所对应点x↔x′x↔x′都满足下式的秩为22的3×33×3齐次线性矩阵。
x′TFx=0
x′TFx=0
  有如下性质:
FF是秩为22、自由度为77的齐次矩阵(3×33×3其次矩阵有88个独立比率,还有一个满足约束detF=0detF=0的约束,所以再减去一个自由度)
对应点:如果xx和x′x′是对应的图像点,那么x′TFx=0x′TFx=0。
对极线:
l′=Fxl′=Fx对应于xx的对极线
l=FTxl=FTx对应于x′x′的对极线
对极点:
Fe=0Fe=0
FTe=0FTe=0
有摄像机矩阵PP、P′P′计算:
一般相机
F=[e′]×P′P+F=[e′]×P′P+,其中P+P+是PP的伪逆,e′=P′Oe′=P′O且PO=0PO=0。
规范相机,P=[I|0]P=[I|0],P′=[M|m]P′=[M|m]
F=[e′]×M=M′T[e′]×F=[e′]×M=M′T[e′]×,其中e′=me′=m且e=M−1me=M−1m
非无穷远相机P=K[I|0]P=K[I|0] ,P′=K′[R|t]P′=K′[R|t]
F=K′−T[t]×RK−1=[K′[t]×K′RK−1=K′−TRKT[KRTt]

二、求出不同图像对的基础矩阵
1.室内图像对
2.室外图像对
3.空间中对应的匹配点求出投影矩阵
基础矩阵
基础矩阵
基础矩阵
基础矩阵