本质矩阵和基础矩阵的区别是什么?修改
本质矩阵和基础矩阵的区别是什么?各自是个什么东西?用大白话或者非专业性的语言来解释。
修改
先了解下
对极几何,两个相机在不同位置(实际要求光心位置不同即可)拍摄两张图,这个模型就是对极几何,如下图(摘自《计算机视觉中的多视图几何》):
两摄像机光心分别是C和C',图像平面是两白色的平面,空间中某一个点X在两张图的投影点分别是x和x'。这样的模型就是对极几何,空间点和两光心组成的平面叫做对极面。简言之,不同视点拍摄的两个场景满足对极几何关系。
再讲下
基本矩阵,存在这么一个矩阵F,使得空间中不在两图像平面上的任意点X分别在两图像的投影坐标x,x'满足等式(x')T*F*x=0,即x'的转置乘以F,再乘以x的结果为0,那么F就是左边图像到右边图像的基本矩阵,从公式上可以看出基本矩阵是有方向的,右图到左图的基本矩阵就是F的转置。F矩阵有如下性质:
1、秩为2;
2、F矩阵是一个7个*度的3*3矩阵(3*3矩阵本身9个*度,因为相差一个常数因子和行列式值为0两个条件,减掉2个*度),相差一个常数因此的意思是:kF(k!=0)也是基本矩阵,也就是说如果F是基本矩阵,那么kF也是基本矩阵,所以基本矩阵不唯一,在相差一个倍数的前提下是唯一的,也就是我们可以固定矩阵中某一个非零元素的值,这样自然少一个*度。
这里讲下自己对基本矩阵的理解:很简单,基本矩阵提供了三维点到二维的一个约束条件。举个例子,现在假设我们不知道空间点X的位置,只知道X在左边图上的投影x的坐标位置,也知道基本矩阵,首先我们知道的是X一定在射线Cx上,到底在哪一点是没法知道的,也就是X可能是Cx上的任意一点(也就是轨迹的意思),那么X在右图上的投影肯定也是一条直线。也就是说,如果我们知道一幅图像中的某一点和两幅图的基本矩阵,那么就能知道其对应的右图上的点一定是在一条直线上,这样就约束了两视角下的图像中的空间位置一定是有约束的,不是任意的。基本矩阵是很有用的一个工具,在三维重建和特征匹配上都可以用到。
最后带下
本质矩阵,本质矩阵就是在归一化图像坐标下的基本矩阵。不仅具有基本矩阵的所有性质,而且还可以估计两相机的相对位置关系,具体内容可参考《计算机视觉中的多视图几何》。
本质矩阵和基础矩阵的区别是什么?修改
两摄像机光心分别是C和C',图像平面是两白色的平面,空间中某一个点X在两张图的投影点分别是x和x'。这样的模型就是对极几何,空间点和两光心组成的平面叫做对极面。简言之,不同视点拍摄的两个场景满足对极几何关系。
再讲下 基本矩阵,存在这么一个矩阵F,使得空间中不在两图像平面上的任意点X分别在两图像的投影坐标x,x'满足等式(x')T*F*x=0,即x'的转置乘以F,再乘以x的结果为0,那么F就是左边图像到右边图像的基本矩阵,从公式上可以看出基本矩阵是有方向的,右图到左图的基本矩阵就是F的转置。F矩阵有如下性质:
1、秩为2;
2、F矩阵是一个7个*度的3*3矩阵(3*3矩阵本身9个*度,因为相差一个常数因子和行列式值为0两个条件,减掉2个*度),相差一个常数因此的意思是:kF(k!=0)也是基本矩阵,也就是说如果F是基本矩阵,那么kF也是基本矩阵,所以基本矩阵不唯一,在相差一个倍数的前提下是唯一的,也就是我们可以固定矩阵中某一个非零元素的值,这样自然少一个*度。
这里讲下自己对基本矩阵的理解:很简单,基本矩阵提供了三维点到二维的一个约束条件。举个例子,现在假设我们不知道空间点X的位置,只知道X在左边图上的投影x的坐标位置,也知道基本矩阵,首先我们知道的是X一定在射线Cx上,到底在哪一点是没法知道的,也就是X可能是Cx上的任意一点(也就是轨迹的意思),那么X在右图上的投影肯定也是一条直线。也就是说,如果我们知道一幅图像中的某一点和两幅图的基本矩阵,那么就能知道其对应的右图上的点一定是在一条直线上,这样就约束了两视角下的图像中的空间位置一定是有约束的,不是任意的。基本矩阵是很有用的一个工具,在三维重建和特征匹配上都可以用到。
最后带下 本质矩阵,本质矩阵就是在归一化图像坐标下的基本矩阵。不仅具有基本矩阵的所有性质,而且还可以估计两相机的相对位置关系,具体内容可参考《计算机视觉中的多视图几何》。
计算机视觉基础5——本质矩阵与基本矩阵(Essential and Fundamental Matrices)
(2015-07-30 16:31:16)
标签: 机器视觉 |
分类: 机器视觉/OpenCV |
回顾本质矩阵的定义
本质矩阵的基本性质:
结合成像的几何关系
Longuet-Higgins equation
注意大小写的区别哦,大小表示物点矢量,小与表示像点矢量。
像平面上的一点可以看作:
? (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(在世界坐标系中来考虑)
设
由点线结合关系可得:
因此有
这样就可以用几何的观点来解释上述方程:左像平面上的一点
同理有
? Remember: epipoles belong to the epipolar lines
? And they belong to all the epipolar lines
关于本质矩阵的关系总结如下:
本质矩阵采用的是相机的外部参数,也就是说采用相机坐标(The essential matrix uses CAMERA coordinates),如果要分析数字图像,则要考虑坐标(u,v),此时需要用到内部参数(To use image coordinates we must consider the INTRINSIC camera parameters)
从像素级来考虑,有如下关系
short version: The same equation works in pixel coordinates too!
矩阵
? 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.
例子:
由
>> [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?