基础矩阵

来自testwiki
跳转到导航 跳转到搜索

Template:Expert计算机视觉中,基础矩阵(Fundamental matrix)F是一个3×3的矩阵,表达了立体像对像点之间的对应关系。在对极几何中,对于立体像对中的一对同名点,它们的齐次化图像坐标分别为ppFp表示一条必定经过p的直线(极线)。这意味着立体像对的所有同名点对都满足:

p'Fp=0

F矩阵中蕴含了立体像对的两幅图像在拍摄时相互之间的空间几何关系(外参数)以及相机检校参数(内参数),包括旋转、位移、像主点坐标和焦距。因为F矩阵的秩为2,并且可以自由缩放(尺度化),所以只需7对同名点即可估算出F的值。

基础矩阵这一概念由Q. T. Luong在他那篇很有影响力的博士毕业论文[1]中提出。Faugeras则是在1992年发表的著作[2]中以上面的关系式给出了F矩阵的定义。尽管Longuet-Higgins提出的本质矩阵也满足类似的关系式,但本质矩阵中并不蕴含相机检校参数。本质矩阵与基础矩阵之间的关系可由下式表达:

E=K'FK

其中KK分别为两个相机的内参数矩阵。

推导

基础矩阵有许多种推导方式,下面介绍其中一种。

图1

在双相机的拍摄场景中建立一个空间直角坐标系,称为世界坐标系(如图1中蓝色坐标系)。物点就是场景中物体表面上的点,比如说点P在世界坐标系中的坐标为(X,Y,Z)

相机的光心从物理上讲就是相机镜头组的光学中心。以光心为原点,主光轴为Z轴建立空间直角坐标系,称为相机坐标系(如图1中绿色和红色坐标系)。像平面在相机坐标系中的方程即为z=1,像点就是在物点在像平面上的投影,这个投影关系是透视投影

用一句话来概括相机的拍摄模型,就是物点、像点、光心三点一线,此模型称为针孔相机模型。在此模型中,世界坐标系到左右相机坐标系的变换是刚性变换,即只包含旋转和平移,因此我们分别用增广矩阵[R|t][R|t]表示,其中RR3×3的旋转矩阵,tt为平移向量。令P~为P的齐次化坐标,那么物点P在左右相机坐标系下的坐标分别为Pcam(XC,YC,ZC)=[R|t]P~P'cam(XC,YC,ZC)=[R|t]P~

图2

以一台相机为例,如图2所示,C为相机光心,Z轴为主轴。物点在相机坐标系下的坐标P~和以相片左下角为原点的像点坐标p有如下关系:

x=(fxXCZC+x0,)y=(fyYCZC+y0,)

式中(x0,y0,f)为像主点在相机坐标系下的坐标。

设两相机内参数矩阵同为:

K=[fx0pcx0fypcy001],

那么物点与像点之间的关系为:

p=1ZCKPcam=1ZCK[R|t]P,
p=1ZCKP'cam=1ZCK[R|t]P,

P=[R|t]+Pcam=Z'CK[R|t]+p代入上式,并令Hπ=K[R|t]K[R|t]+,得:

p=Z'CZCHπp

由于物点、像点、光心三点一线,那么物点、一对同名点和2个光心这5个点一定处于同一个平面上,我们将这个平面称为𝜋平面。𝜋平面和像平面的交线称为极线l。显然,左片上的每一个像点p对应于右片上的一条极线l,且p一定在l上。两个相机光心的连线与右片像平面的交点称为极点,用e表示。

在右片像平面内,极线l的方程可以表示为Ax+By+C=0。这个平面直线方程的一般式可以视为:

(A,B,C)(x,y,1)=0

因此,我们可以用一个三维向量(A,B,C)来表示极线l,并且l的方程可以简单的由e坐标向量与p坐标向量做向量积得到,即l:e×p=[e]×p。其中

[e]×=[01y010x0y0x00],

[e]x表示向量积的矩阵形式,那么再将同名点之间的变换关系代入,得到极线的方程为: l:Z'CZC[e]×Hπp

因为pl上,所以显然有:

pl=p[e]×Hπp=0

F=[e]×Hπ,即得到:

p'Fp=0

根据立体像对估算基础矩阵

7点法

8点法

5点法

在三维重建技术中的应用

参考文献

Template:Reflist

外部链接

  1. 引用错误:<ref>标签无效;未给name(名称)为Luong-1992的ref(参考)提供文本
  2. 引用错误:<ref>标签无效;未给name(名称)为Faugeras-1992的ref(参考)提供文本