對于這三個矩陣還有坐標系什么的真是看了忘,忘了看鹊杖,今日索性一次性將它記下來,下次再忘的時候翻看一下就行了扛芽。
相機成像原理
如果直接將膠片放置在物體前面骂蓖,由于光的折射,反射等等現(xiàn)象川尖,在膠片上是成不了像的登下。但是在物體和膠片之間放上一塊擋板,擋板上有一個小孔叮喳,它阻擋了大部分的光線被芳,就將這個屏障上的小孔稱之為光圈,膠片上就獲得了倒立的圖像馍悟。但是畔濒,這個小孔成像存在一個問題,就是锣咒,光圈越小曝光時間越長侵状,形成高亮度的圖像赞弥,,而且太小了趣兄,就會產(chǎn)生光的衍射現(xiàn)象绽左,圖像也模糊了,光圈大雖然曝光時間短了艇潭,可圖像變模糊了拼窥。對于這樣子的相機來進行實時的特征提取等等顯然是行不通的,所以就有了透鏡系統(tǒng)蹋凝。在光圈之前加凸透鏡鲁纠,眾所周知,凸透鏡具有聚焦的功能鳍寂,這樣房交,成像的速度加快了許多,只需要差不多0.01秒伐割。
對極約束
當(dāng)相機為單目的時候,只知道2D的像素坐標刃唤,需要通過兩視圖來估計相機的運動隔心。假設(shè)從兩張圖像中得到了一對匹配好的特征點,如果有若干對這樣的匹配點尚胞,就可以通過這些二維圖像點之間的對應(yīng)關(guān)系硬霍,恢復(fù)出兩幀之間攝像機的運動。兩視圖的對極幾何約束可以用基本矩陣F表示笼裳,那么如何得到這個矩陣呢?
首先說明一些術(shù)語唯卖,O1和O2稱為光心,O1躬柬、O2和P構(gòu)成的平面稱為極平面拜轨,p和e1,q和e2稱為極線允青,e1和e2為O1和O2與像素平面的交點稱為極點橄碾。可以知道的是由于他們都在同一平面上颠锉,所以q點的投影必然在pe1這條極限上法牲,而同理p的投影也必然在qe2上(針對于像素平面)。矩陣F表示了第一幀的像素點p與第二幀的像素點q極線之間的映射關(guān)系琼掠。如何得到F和E拒垃,有以下兩種方法:
方法一:
這里需要引用兩個點的齊次坐標叉乘能夠表達一條直線l的系數(shù)〈赏埽可以對其進行證明(兩點的叉乘表達一條直線),直線的方程可以表示為蛙粘,所以該直線可以用向量進行表示钧栖。e2是光心O1在第二幀上的投影,假設(shè)光心O1的齊次坐標為副硅,轉(zhuǎn)到光心O2的坐標為,將O2投影到相機平面翅萤,則e2的坐標為恐疲,q的齊次坐標為。又因為所以直線qe2可以表示為套么,由于這里p和q的坐標都用齊次坐標表示培己,那么(這里的"="是在相差尺度系數(shù)的情況下成立的):
設(shè)和是歸一化平面的坐標,所以:
胚泌,
? ? ? ? ?(1)
所以省咨,又因為q在直線上,那么玷室,
由于K是3*3的矩陣零蓉,[R|t]是4*4的矩陣,將K進行擴展第4行第4列為1之外穷缤,第四列的其他值均為0敌蜂,所以對于[R|t]來說,t的值已經(jīng)對結(jié)果沒有影響了津肛,所以上式就變成章喉,將代入,得:
又有身坐,所以
且秸脱。
方法二:
將(1)式叉乘t,可以得到:部蛇,再將其乘以摊唇,由于是一個與t和x2都垂直的向量,所以左邊為0涯鲁,有;
遏片,代入p,q撮竿,得吮便,綜上所述:
,
基本矩陣F的求解
由于幢踏,F(xiàn)的秩為2(原因是因為的秩為2)髓需,自由度為7(尺度等價性),使用直接線性變換8點法來進行計算房蝉。具體推導(dǎo)出來的就不寫了僚匆,直接得出微渠,A是一個8*9的矩陣,就是將F矩陣展開的向量咧擂。
A中的一行為:逞盆,一共需要8組匹配點
為:
計算過程:
(1)構(gòu)造得到;
(2)對A進行SVD分解。由于A的秩是8(忽略特征點在同一個平面上的情況)松申,那么它的對角矩陣的值為云芦,而,右乘得到(U和V都是正交矩陣贸桶,轉(zhuǎn)置就是它的逆)舅逸,其列向量形式為:
求得的剛好是Af=0,為了求得F只要取V的最后一列就能構(gòu)造了皇筛。
(3)但是琉历,從上面構(gòu)造的F可能是滿秩的,所以需要進一步的求解水醋,將上面構(gòu)造的F進行SVD分解旗笔,,現(xiàn)在求得的值應(yīng)該是有三個大于0的數(shù)拄踪,由于秩為2换团,應(yīng)該將最后一個特征值置為0,為:
? ? ? ? ??
最終的F就等于最后一個特征值置為0對角矩陣乘以U和V宫蛆,為。
本質(zhì)矩陣E的求解及分解
可以通過基本矩陣F得到本質(zhì)矩陣E的猛,耀盗,也可以通過構(gòu)造和基本矩陣一樣的八點法來得到。由于卦尊,t有3個自由度叛拷,R也有3個自由度,那么它應(yīng)該有6個自由度岂却,又因為E的尺度等價性忿薇,所以E只有5個自由度。
對E進行奇異值分解相當(dāng)于對與的乘積進行分解躏哩,乘積奇異值分解有個性質(zhì)是任何一個矩陣A與正交矩陣相乘署浩,其奇異值保持不變,證明:
由于奇異值是通過計算的特征值得到的扫尺,那么筋栋,所以奇異值不變。
設(shè)正驻,
由于為反對稱矩陣弊攘,可以證明任意的反對稱矩陣都可以用來表示抢腐,又有:
所以,則本質(zhì)矩陣就可以寫成(根據(jù)尺度等價性襟交,k可以去掉)迈倍,那么,這就可以說明E的奇異值為何是的形式了捣域。
知道了E的SVD分解形式啼染,R和t也可以相應(yīng)的分解出來,E和-E是等價的竟宋,所以R和t存在兩組解:
提完,
,
最后只要把任意一點帶入4種解中丘侠,檢測該點在兩個相機下的深度徒欣,就可以確定哪個解是正確的了。
總結(jié)
先就寫這些吧蜗字,之后遇到什么不會或是容易忘記的再補充打肝。
參考資料
《視覺SLAM十四講》 高翔
《矩陣分析與應(yīng)用》 張賢達