基本矩阵F与本质矩阵E的分析与计算

对于这三个矩阵还有坐标系什么的真是看了忘,忘了看,今日索性一次性将它记下来,下次再忘的时候翻看一下就行了。

相机成像原理

如果直接将胶片放置在物体前面,由于光的折射,反射等等现象,在胶片上是成不了像的。但是在物体和胶片之间放上一块挡板,挡板上有一个小孔,它阻挡了大部分的光线,就将这个屏障上的小孔称之为光圈,胶片上就获得了倒立的图像。但是,这个小孔成像存在一个问题,就是,光圈越小曝光时间越长,形成高亮度的图像,,而且太小了,就会产生光的衍射现象,图像也模糊了,光圈大虽然曝光时间短了,可图像变模糊了。对于这样子的相机来进行实时的特征提取等等显然是行不通的,所以就有了透镜系统。在光圈之前加凸透镜,众所周知,凸透镜具有聚焦的功能,这样,成像的速度加快了许多,只需要差不多0.01秒。

对极约束

当相机为单目的时候,只知道2D的像素坐标,需要通过两视图来估计相机的运动。假设从两张图像中得到了一对匹配好的特征点,如果有若干对这样的匹配点,就可以通过这些二维图像点之间的对应关系,恢复出两帧之间摄像机的运动。两视图的对极几何约束可以用基本矩阵F表示,那么如何得到这个矩阵呢?


对极几何约束

首先说明一些术语,O1和O2称为光心,O1、O2和P构成的平面称为极平面,p和e1,q和e2称为极线,e1和e2为O1和O2与像素平面的交点称为极点。可以知道的是由于他们都在同一平面上,所以q点的投影必然在pe1这条极限上,而同理p的投影也必然在qe2上(针对于像素平面)。矩阵F表示了第一帧的像素点p与第二帧的像素点q极线之间的映射关系。如何得到F和E,有以下两种方法:

方法一:

这里需要引用两个点的齐次坐标叉乘能够表达一条直线l的系数。可以对其进行证明(两点的叉乘表达一条直线),直线的方程可以表示为ax+by+c=0\implies (a,b,c)^T(x,y,1),所以该直线可以用向量l=(a,b,c)^T进行表示。e2是光心O1在第二帧上的投影,假设光心O1的齐次坐标为(\mathbf 0,1)^T,转到光心O2的坐标为[R|t]O1=t,将O2投影到相机平面,则e2的坐标为e2=Kt,q的齐次坐标为(x2,y2,1)。又因为e2\times q=[e2]_\times q所以直线qe2可以表示为l=[e2]_\times  q,由于这里p和q的坐标都用齐次坐标表示,那么(这里的"="是在相差尺度系数的情况下成立的):

p=KP

q=K(RP+t)=K[R|t]P

x_1x_2是归一化平面的坐标,所以:

x_1=K^{-1}px_2=K^{-1}q

\implies x_2=Rx_1+t=[R|t]x_1              (1)

\implies q=K[R|t]K^{-1}p

所以l=[e_2]_\times K[R|t]K^{-1}p,又因为q在直线上,那么q^T[e_2]_\times K[R|t]K^{-1}p=0

由于K是3*3的矩阵,[R|t]是4*4的矩阵,将K进行扩展第4行第4列为1之外,第四列的其他值均为0,所以对于[R|t]来说,t的值已经对结果没有影响了,所以上式就变成l=[e_2]_\times KRK^{-1}p,将e2=Kt代入,得:

F=[e_2]_\times KRK^{-1}=[Kt]_\times  KRK^{-1}

又有[x]_\times M=M^{-T}[M^{-1}x]_\times ,所以F=[Kt]_\times  KRK^{-1}=K^{-T}[K^{-1}Kt]_\times  RK^{-1}=K^{-T}[t]_\times  RK^{-1}

q^TFp=0

方法二:

将(1)式叉乘t,可以得到:[t]_\times x_2=[t]_\times Rx_1,再将其乘以x_2,由于[t]_\times x_2是一个与t和x2都垂直的向量,所以左边为0,有;

x_2[t]_\times Rx_1=0,代入p,q,得q^Tk^{-T}[t]_\times RK^{-1}p=0,综上所述:

E=[t]_\times RF=K^{-T}[t]_\times RK^{-1}

基本矩阵F的求解

由于q^TFp=0,F的秩为2(原因是因为[t]_\times 的秩为2),自由度为7(尺度等价性),使用直接线性变换8点法来进行计算。具体推导出来的就不写了,直接得出Af=\mathbf0,A是一个8*9的矩阵,f就是将F矩阵展开的向量。

A中的一行为:(x_1x_2,x_1y_2,x_1,y_1x_2,y_1y_2,y_1,x_2,y_2,1),一共需要8组匹配点

f为:f=(f_{11},f_{12},f_{13},f_{21},f_{22},f_{23},f_{31},f_{32},f_{33})^T

计算过程:

(1)构造得到Af=0;

(2)对A进行SVD分解。由于A的秩是8(忽略特征点在同一个平面上的情况),那么它的对角矩阵的值为\sigma _1\geq \sigma _2\geq ...\geq \sigma_8>0,而A=U\Sigma V^T,右乘V得到AV=U\Sigma (U和V都是正交矩阵,转置就是它的逆),其列向量形式为:

Av_i=\begin{cases}\sigma_iu_i,  &\quad i=1,...8\\0,   &\quad i=9\end{cases}

i=9求得的刚好是Af=0,为了求得F只要取V的最后一列就能构造了。

R=UWV^T(3)但是,从上面构造的F可能是满秩的,所以需要进一步的求解,将上面构造的F进行SVD分解,F=U\Sigma V^T,现在求得的\Sigma 值应该是有三个大于0的数,由于秩为2,应该将最后一个特征值置为0,为:

\Sigma =\begin{pmatrix}  \sigma _1 & 0&0\\ 0& \sigma_2 &0\\0 & 0 & \sigma_3 \end{pmatrix}\implies \Sigma  =\begin{pmatrix}  \sigma _1 & 0&0\\ 0& \sigma_2 &0\\0 & 0 & 0 \end{pmatrix}          

最终的F就等于最后一个特征值置为0对角矩阵乘以U和V,为F=U\Sigma V^T

本质矩阵E的求解及分解

可以通过基本矩阵F得到本质矩阵E,E=K^TFK,也可以通过构造和基本矩阵一样的八点法来得到。由于E=[t]_\times R,t有3个自由度,R也有3个自由度,那么它应该有6个自由度,又因为E的尺度等价性,所以E只有5个自由度。

对E进行奇异值分解相当于对[t]_\times R的乘积进行分解,乘积奇异值分解有个性质是任何一个矩阵A与正交矩阵相乘,其奇异值保持不变,证明:

由于奇异值是通过计算A^TA的特征值得到的,那么A^TA=[t]_\times ^T R^TR[t]_\times =[t]_\times ^T[t]_\times ,所以奇异值不变。

Z=\begin{pmatrix}  0 & -1&0\\ 1& 0&0\\0 & 0 & 0 \end{pmatrix}W=\begin{pmatrix}  0 &  -1&0\\ 1& 0&0\\0 & 0 & 1 \end{pmatrix}

由于[t]_\times 为反对称矩阵,可以证明任意的反对称矩阵都可以用S=kUZU^T来表示,又有:

Z=diag(1,1,0)W

所以[t]_\times =kUdiag(1,1,0)WU^T,则本质矩阵就可以写成E=kUdiag(1,1,0)WU^TR(根据尺度等价性,k可以去掉),那么V^T=WU^TR,这就可以说明E的奇异值为何是diag(\sigma,\sigma,0)的形式了。

知道了E的SVD分解形式,R和t也可以相应的分解出来,E和-E是等价的,所以R和t存在两组解:

[t]_\times =UZU^TR=UW^TV^T

[t]_\times =-UZU^TR=UWV^T

最后只要把任意一点带入4种解中,检测该点在两个相机下的深度,就可以确定哪个解是正确的了。

总结

先就写这些吧,之后遇到什么不会或是容易忘记的再补充。

参考资料

《视觉SLAM十四讲》 高翔

《矩阵分析与应用》 张贤达

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容