计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

时间:2022-09-16 15:00:12

本质矩阵和基础矩阵的区别是什么?修改

本质矩阵和基础矩阵的区别是什么?各自是个什么东西?用大白话或者非专业性的语言来解释。 修改




计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices) (2015-07-30 16:31:16)
标签: 

机器视觉

分类: 机器视觉/OpenCV

回顾本质矩阵的定义

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

 计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

本质矩阵的基本性质:

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

结合成像的几何关系

      计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

Longuet-Higgins equation

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

注意大小写的区别哦,大小表示物点矢量,小与表示像点矢量。

像平面上的一点可以看作:

? (u,v) 2D film point(局限于像平面上来考虑)

? (u,v,f) 3D point on film plane(相机坐标系中来考虑)

? k(u,v,f) viewing ray into the scene(透过像点和原点射线上点的像,相机坐标系中来考虑)

? k(X, Y, Z) ray through point P in the scene(在世界坐标系中来考虑)

l 为像平面上的一直线: au+bv+c=0

由点线结合关系可得:

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

因此有

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

这样就可以用几何的观点来解释上述方程:左像平面上的一点 pl 乘以本质矩阵 E ,结果为一条直线,该直线就是 pl 的极线,且过 pl 在右像平面上的对应点 pr 。这个结论十分喜人。

同理有

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

? Remember: epipoles belong to the epipolar lines

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

? And they belong to all the epipolar lines

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

关于本质矩阵的关系总结如下:

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

本质矩阵采用的是相机的外部参数,也就是说采用相机坐标(The essential matrix uses CAMERA coordinates),如果要分析数字图像,则要考虑坐标(u,v),此时需要用到内部参数(To use image coordinates we must consider the INTRINSIC camera parameters)

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

从像素级来考虑,有如下关系

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

short version: The same equation works in pixel coordinates too!

矩阵 F 称为基本矩阵: F=M?TrRSM?1l

? has rank 2

? depends on the INTRINSIC and EXTRINSIC Parameters (f, etc ; R & T)

Analogous to essential matrix. The fundamental matrix also tells how pixels (points) in each image are related to epipolar lines in the other image.

例子:

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices) 计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices) 计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices) 计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

F?el=0 ,并根据下图,where is the epipole? vector in the right nullspace of matrix  F ,即 F 的右零空间。当然 el 是非零向量,也就是说 F?el=0 有非零解,说明矩阵 F 不是满秩的,或者说它是奇异的,However, due to noise,F may not be singular.So instead, next best thing is eigenvector associated with smallest eigenvalue of F。

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

>> [u,d] = eigs(F’ * F)
u =
-0.0013 0.2586 -0.9660
0.0029 -0.9660 -0.2586
1.0000 0.0032 -0.0005
d = 1.0e8*
-1.0000 0 0
0 -0.0000 0
0 0 -0.0000
eigenvector associated with smallest eigenvalue
>> uu = u(:,3)
uu = ( -0.9660 -0.2586 -0.0005)
>> uu / uu(3) : to get pixel coords
(1861.02 498.21 1.0)

 

where is the epipole?

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)

计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)