一互捌、直接法
使用特征點估計相機運動的缺點:
1堡僻、關(guān)鍵點的提取與描述子的計算非常耗時。SIFT無法在CPU上實時計算疫剃。
2钉疫、使用特征點,忽略了除去特征點以外的所有信息巢价。丟棄了大部分可能有用的圖像信息牲阁。
3、相機有時會運動到特征缺失的地方壤躲,如白墻城菊,我們可能找不到足夠的匹配點來計算相機運動
有以下幾種方法克服這些缺點:
1、保留特征點碉克,但只計算關(guān)鍵點凌唬,不計算描述子。使用光流法來跟蹤特征點的運動漏麦。相當(dāng)于使用光流法來替換匹配描述子客税。
2、只計算關(guān)鍵點撕贞,不計算描述子更耻。同時使用直接法來計算特征點在下一時刻圖像的位置。
3捏膨、既不計算關(guān)鍵點秧均,也不計算描述子,而是根據(jù)像素灰度的差異号涯,直接計算相機運動目胡。(通過最小化光度誤差來求)。
二链快、光流法
隨著時間的經(jīng)過誉己, 同一像素會在圖像中運動,而我們希望追蹤它的運動過程久又。計算部分像素運動的稱為稀疏光流巫延,以Lucas-Kanade光流為代表效五,亦稱LK光流地消。
![LK光流法示意圖](http://upload-images.jianshu.io/upload_images/4769746-2d63a861224c765f.png?imageMogr2/auto-orient/ trip%7CimageView2/2/w/1240)
LK光流
在t 時刻炉峰,位于(x,y)處的像素,它的灰度可以寫成 I (x, y, t)
灰度不變假設(shè):同一空間點的像素灰度值脉执,在各個圖像中是固定不變的疼阔。
泰勒展開后
光流法相比于特征點法,在于能夠節(jié)省一定時間(但不絕對)半夷,一般只會碰到特征點跟丟的情況婆廊,而不會遇到誤匹配。
但光流法必須要求相機運動是微小的(或采集頻率較高)巫橄,一般采用拍攝視頻淘邻。
三、直接法
在直接法中湘换,由于沒有特征匹配宾舅,我們無從知道哪一個p2和p1對應(yīng)同一個點。
直接法的思路是根據(jù)當(dāng)前相機的位姿估計值彩倚,來尋找p2(第二幅圖的像素點)筹我。若相機位姿不夠好,p2的外觀和p1會有明顯差別帆离。
為了減少這個差別蔬蕊,可以優(yōu)化相機的位姿,來尋找與p1更相似的p2哥谷。這可以通過解一個優(yōu)化問題來得到岸夯。但此時最小化的不是重投影誤差,而是光度誤差们妥。也就是P的兩個像的亮度誤差囱修。
注意這里e是一個標(biāo)量。優(yōu)化目標(biāo)為該誤差的二范數(shù)為:
能夠做這種優(yōu)化的理由王悍,仍然是基于灰度不變假設(shè)破镰。我們有N個空間點Pi,整個相機位姿估計問題變?yōu)椋?/p>
計算出目標(biāo)函數(shù)的雅可比矩陣后压储,可以使用G-N或L-M計算增量鲜漩,迭代求解。