SVO中 Inverse Compositional Image Alignment方法的学习笔记
SVO中 Inverse Compositional Image Alignment方法的學習筆記
- 這篇文章
 - 光流法簡介
 - 逆向光流法
 - 結尾
 
這篇文章
?在SVO系統中的"Relaxation Through Feature Alignment"部分使用的是一種特別的LK光流法:the inverse compositional Lucas-Kanade algorithm(逆向LK光流法)。該方法的論文可以在這里查看,對于整個論文的講解可以參考這篇博客(感謝給位前輩)。這兩個資料能夠幫助每位博友理解各種光流法的原理。在這里就記錄一下自己對光流法和逆向光流法的理解。
 【轉載聲明】本篇文字均為原創,如轉載請注明出處
光流法簡介
?光流法是根據光度不變性假設(同一空間點在各圖像上的成像點的灰度值相同)實現,也就是下面的式子:
?式中T(x)表示參考圖象中點x的像素灰度值。W表示關于x和p的一個函數,W(x;p)表示x點坐標經過變換(變換可以是純平移或仿射)后的坐標。p是一個參數向量,用于構建相關的變換(構建的方法詳見之前提到的兩個參考資料)。I(.)表示當前圖像中某點的像素灰度值。最終通過調整p的取值來使上述公式成立。
 ?式(1)只針對一個點,但在實際中會考慮多個點對p的求解約束。因此一般的光流法求解的是下面這樣的一個式子:
?這是求出p關于式(2)的最小二乘解的過程,可由迭代的方法解決(如高斯牛頓法)。對于式(2)來說,p和W(.)的更新公式為(這些更新公式不難理解,就是對p和W(.)進行的一種簡單疊加):
?迭代求解不可避免地要對原公式進行求導。先對式(2)求在I(W(x; p + △p)) 處的一階泰勒展開:
?式中的▽I(W)是I圖像中W(x;p)像素坐標點處的像素梯度,它與當前像素坐標有關,也就是和p有關。同時W關于p的雅可比矩陣也與p的當前值有關。所以上述方法需要在每次迭代優化后求一次新的導數。之后就是通過構建Hessian矩陣來求出△p增量,完成迭代求解操作。大致步驟如下圖:
?從圖中可以看到,由于每次迭代都要重新計算相關雅可比矩陣以及像素梯度值,所以該方法的計算量很大。而逆向光流法就是針對這個不足而優化后的算法,它在計算量方面遠小于上述方法。
逆向光流法
?逆向光流法也是基于灰度不變性假設實現,但它求解的迭代優化問題不同。它求解的目標是下面這個式子:
?與式子(2)相比,式(6)中圖象T和I換了個位置。△p的作用對象從圖像I變成了圖像T(這應該是算法被稱為逆向光流的原因吧)。此時,W(.)的更新公式變成了:
 
?下面談談我對公式(7)的理解。首先在兩張圖T、I中標記出正在進行匹配兩個點對,將它們分別記為Pt和Pi。由于兩幅圖像目前估計的仿射變換為W(x;p),所以我們可以用下圖來表示當前的情況(圖比較飄,望見諒):
 
?這時我們在圖像T中進行一次微調,也就是對Pt執行W(x;△p)操作,將變換后的點記為Pt’。此時情況如下圖所示:
 
?我們假設經過這次△p的更新之后, Pt’ 與Pi之間的灰度誤差最小,可認為 Pt’ 就是Pi對應的匹配點。得,弄了半天找了個 Pt’ 的匹配點。不過沒有關系,至少我們知道Pi不會是Pt的匹配點。因此要在圖像I中繼續搜索,即移動Pi的位置,獲得新的點Pi’。怎么移呢?我們這樣想,既然 Pt’ 是通過△p變換獲得的,那么對Pi使用與△p方向相反的變換(從這兒可以看出逆向光流法的限制是需要W(.;△p)是可逆的!)就有可能獲得與Pt匹配的點。這一步由式(9)來實現,情況如下圖所示:
 
?那么這樣的方法有什么好處呢?我們先對式(8)進行一階泰勒展開,從展開式中就能夠看出這個方法的優勢:
 
?式中的▽T代表的是W(x;0)點處的像素梯度,它是一個固定的量。W關于p的雅可比矩陣是在(x;0)處求得的(這就說明p對雅可比的計算是沒有影響的),也是個固定量。之后就是通過構建Hessian矩陣來求出△p增量,完成迭代求解操作。大致步驟如下圖:
 
?從圖中可以看出,由于有些量在整個迭代過程中是固定的,所以能夠在算法的一開始就計算出來它們的值,且在迭代過程中可以一直使用,不需要更新。這固定的量就是降低整個算法計算量的關鍵所在。
結尾
?以上就是本篇博客的全部內容。上述內容介紹了普通的光流法和逆向光流法,并說明了逆向光流法的優勢。希望這些內容能幫助到每一位正在學習這個方面的朋友,大家一起進步(大家好才是真的好)!
總結
以上是生活随笔為你收集整理的SVO中 Inverse Compositional Image Alignment方法的学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 养生养的早下一句是什么啊?
 - 下一篇: SVO 学习笔记(三)