Lucas-Kanade 20 Years On 正反向/累加/合成求解算法
文章目錄
- Lucas-Kanade 20 Years On 正反向/累加/合成求解算法
- 1 介紹
- 2 Lucas-Kanade算法傳統(tǒng)算法
- 2.1 Lucas-Kanade算法思想
- 2.2 Lucas-Kanade問題的導(dǎo)數(shù)
- 2.3 Lucas-Kanade算法的求解過程(正向累加):
- 2.4 算法可行條件
- 3 累積近似及組合求解算法
- 3.1 合成求解算法
- 3.2 合成算法的泰勒展開及導(dǎo)數(shù)
- 3.4 合成算法的可行條件:
- 3.5 兩種求解算法的等價性
- 4 反向組合求解算法
- 4.1 反向合成算法思想
- 4.2 反向合成算法的泰勒展開及導(dǎo)數(shù)
- 4.3 反向合成算法求解流程:
- 4.4 反向組合算法的可行條件
- 5 反向累加算法
- 5.1 反向累積算法思路
- 5.3 泰勒展開及導(dǎo)數(shù)
- 5.3 總結(jié) Lucas-Kanade算法的求解過程
- 5.4 算法可行條件
Lucas-Kanade 20 Years On 正反向/累加/合成求解算法
主要翻譯及概述基于圖像對齊的正向累加、正向合成、反向合成及反向累積迭代算法
Forward additive algorithm、Forward Compositional algorithm、Inverse additive algorithm & Inverse Compositional algorithm
對應(yīng)代碼下載地址-https://download.csdn.net/download/weixin_41469272/86245142
1981年提出的圖像對齊的算法Lucas-Kanade在計算機(jī)視覺中得到了廣泛的應(yīng)用,如光流,運(yùn)動跟蹤,環(huán)境重建以及面部編碼等。很多對Lucas-Kanade算法的擴(kuò)展算法被提出并得到應(yīng)用。本文將會對統(tǒng)一框架下的拓展算法,以圖像對齊作為實例進(jìn)行概述。重點(diǎn)描述反向組合(inverse compositional)算法,一種比較高效的算法。本文測試了一些能夠使用反向組合算法且無效率損失的Lucas-Kanade拓展算法,以及一些不能使用反向組合求解的算法。第一部分的文獻(xiàn)中,我們介紹了近似量(quantity approximated,這里應(yīng)該是指變換的累積形式的近似),變換更新規(guī)則,以及梯度下降近似。在以后的文章中,將會介紹誤差方程,以及如何允許線性顯示變化,以及如何對參數(shù)施加先驗。
1 介紹
圖像對齊通過最小化模型與圖像之間的誤差來解析得到想要的參數(shù)。在Lucas-Kanade的光流算法(1981年,Lucas and Kanade)被應(yīng)用于圖像對齊之后,圖像對齊技術(shù)已經(jīng)被廣泛應(yīng)用于計算機(jī)視覺中。除了光流法,另外有一些其他的應(yīng)用包括,圖像跟蹤(1998年,Hager and Belhumeur)以及參數(shù)和運(yùn)動估計(1992, Bergen等)等。
圖像對齊通常使用梯度下降法,有其他的數(shù)值方法,如誤差分解(difference decomposition, 1997, Gleicher)和線性回歸(linear regression, 1998 Cootes等)被提出,但是梯度下降方法仍是通常使用的方法,梯度下降方法可以通過多種途徑實現(xiàn)。數(shù)值方法中的一個不同之處在于,它們是否使用了參數(shù)累加的方法(additive approach (Lucas and Kanade, 1981)),或者他們是否通過增量組合變換的方式(就是通過求解變量的增量的方式,而非單純求解參數(shù)增量的形式)(Shum and Szeliski, 2000)。另外一個不同,是算法在迭代求解方法上的不同,高斯牛頓法,牛頓法,最速下降法,以及LM法等。
該論文提出通用的圖像對齊的框架,來統(tǒng)一描述不同變種算法,重點(diǎn)描述反向組合算法。
2 Lucas-Kanade算法傳統(tǒng)算法
Lucas-Kanade圖像對齊算法的目的是尋找到一個變換WWW,使模板圖像T(x)T(\bf x)T(x)對齊圖像I(x)I(x)I(x),其中, 表示像素坐標(biāo)組成的列向量。如果使用Lucas-Kanade計算從t=1t=1t=1時刻到t=2t=2t=2時刻光流問題或者跟蹤圖像塊。則T(x)T(\bf x)T(x)表示在t=1t=1t=1時刻提取到的圖像區(qū)域塊,I(x′)I(\bf x')I(x′)則表示t=2t=2t=2時刻的圖像。
定義W(x;p)\bf W(x;p)W(x;p)為待解析的變換,其由參數(shù)p=(p1,p2,...,pn){\bf p}= (p_1,p_2,...,p_n)p=(p1?,p2?,...,pn?)構(gòu)成。 變換將像素x\bf xx從第t=1t=1t=1時刻T對應(yīng)的坐標(biāo)系下變換到t=2t=2t=2時刻I對應(yīng)的坐標(biāo)系下。
當(dāng)計算光流時,W(x;p)\bf W(x;p)W(x;p)可能會由以下公式進(jìn)行表示:
W(x;p)=(x+p1y+p2)W(x;p) = \left({\begin{array}{} {x + {p_1}} \\ {y + {p_2}} \end{array}} \right)W(x;p)=(x+p1?y+p2??)
其中,p=(p1,p2)T{\bf p} = {({p_1},{p_2})^{\text{T}}}p=(p1?,p2?)T參數(shù) 為要解析的光流運(yùn)動。
當(dāng)計算圖像塊的3D運(yùn)動時,W(x;p)\bf W(x;p)W(x;p)可能會由以下公式進(jìn)行表示:
其中,參數(shù)p=(p1,p2,p3,p4,p5,p6)T{\bf p} = {({p_1},{p_2},{p_3},{p_4},{p_5},{p_6})^{\text{T}}}p=(p1?,p2?,p3?,p4?,p5?,p6?)T,該實例1992年被Bergen等人實現(xiàn)。
2.1 Lucas-Kanade算法思想
Lucas-Kanade算法用于圖像對齊的誤差函數(shù):
r(x;p)=I(W(x;p))?T(x)r(x;p)=I(W(x;p))-T(x)r(x;p)=I(W(x;p))?T(x)
其構(gòu)成最小二乘均方誤差函數(shù):
f(p)=∑x[r2(x;p)]=∑x[I(W(x;p))?T(x)]2f(p)=\sum_{\bf x}[r^2{\bf (x;p) }]=\sum_{\bf x}[I(W(x;p))-T(x)]^2 f(p)=x∑?[r2(x;p)]=x∑?[I(W(x;p))?T(x)]2
即最小化兩幀圖像之間的均方誤差,TTT為中t=1t=1t=1時刻中提取的圖像模板塊,x\bf xx為像素坐標(biāo)向量,通常各個像素之間不相關(guān)。III為t=2t=2t=2時刻的圖像,W\bf WW將x\bf xx從TTT的坐標(biāo)系下轉(zhuǎn)換到III的坐標(biāo)系下,因此,轉(zhuǎn)換后可能得到亞像素坐標(biāo),因此需要通過插值得到亞像素在I上對應(yīng)的灰度值。
該問題是一個非線性最小二乘問題,求解該問題使用迭代求解參數(shù)p,使用?p來表示迭代的參數(shù)增量,
p←p+?p\bf p←p+?pp←p+?p
誤差隨之表示為:
f(p+?p)=∑x[I(W(x;p+?p))?T(x)]2f(\bf{p+?p})=\sum_{\bf x}[I({\bf W(x;p+?p)})-T(\bf x)]^2 f(p+?p)=x∑?[I(W(x;p+?p))?T(x)]2
典型的收斂條件是?p\bf ?p?p的范數(shù)小于一定的閾值???
2.2 Lucas-Kanade問題的導(dǎo)數(shù)
求解非線性二乘問題通常需要計算誤差方程的雅可比矩陣,即導(dǎo)數(shù)。
首先誤差函數(shù)的在參數(shù)p處的泰勒展開式為:
r(x;p)=I(W(x;p))+?I∣W(x;p)?W?p∣p?p?T(x)r(x;p)=I({\bf W(x;p)})+ ?I|_{\bf W(x;p)} \frac{?W} {?p}|_{\bf p} ?p-T(x)r(x;p)=I(W(x;p))+?I∣W(x;p)??p?W?∣p??p?T(x)
誤差方程雅可比矩陣:
Jr=?I?W?pJ_r=?I \frac{\bf ?W} {?p}Jr?=?I?p?W?
代入均方誤差方程:
上式中:
?I=(?I/?x,?I/?y)?I=(?I/?x,?I/?y)?I=(?I/?x,?I/?y) 為關(guān)于圖像I在W(x;p)\bf W(x;p)W(x;p)處的圖像梯度
?W/?p?{\bf W}/?p?W/?p為W關(guān)于p的雅可比矩陣,
對均方差方程的雅可比矩陣:
使用最速下降法來確定下降的方向:下降方向,常數(shù)2省
使用最速下降法,需要對海森陣H進(jìn)行求逆,因此存在一定不可逆情況,且計算量大。
非線性最小二乘問題可以近似H陣,減少計算量,同時保證海森陣的正定性。
2.3 Lucas-Kanade算法的求解過程(正向累加):
迭代:
? 1 計算映射W(x;p)\bf W(x;p)W(x;p)及對應(yīng)的I(W(x;p))I(\bf W(x;p))I(W(x;p));
? 2 計算誤差函數(shù)T(x)?I(W(x;p))T(x)-I(\bf W(x;p))T(x)?I(W(x;p))
? 3 計算III在W(x;p)\bf W(x;p)W(x;p)處的圖像梯度?I?I?I
? 4 計算映射方程W\bf WW在(x;p)\bf (x;p)(x;p)的導(dǎo)數(shù)?W/?p?{\bf W}/?{\bf p}?W/?p
? 5 計算像素誤差方程的梯度方向 ?I?W/?p?I ?{\bf W}/?{\bf p}?I?W/?p
? 6 計算像素誤差方程構(gòu)成的均方誤差函數(shù)的海森矩陣H=∑x[JrTJr]H=∑_x[J_r^T J_r ]H=∑x?[JrT?Jr?]
? 7 計算像素誤差方程構(gòu)成的均方誤差函數(shù)的梯度方向J=∑x[?IW/?p]T[I(W(x;p))?T(x)]J=∑_x[?I {\bf W}/?{\bf p}]^T[I({\bf W(x;p)})-T(x)]J=∑x?[?IW/?p]T[I(W(x;p))?T(x)]
? 8計算?p=H?1J?{\bf p}=H^{-1} J?p=H?1J
? 9 更新p:p←p+?p\bf p:p←p+?pp:p←p+?p
當(dāng)‖?p‖<?‖?{\bf p}‖<?‖?p‖<?時停止迭代。
上述流程的計算時間復(fù)雜度:N對應(yīng)像素個數(shù);n對應(yīng)p參數(shù)個數(shù)
2.4 算法可行條件
Lucas-Kanade算法求解,只需要映射方程W(x;p)在p處可導(dǎo)
3 累積近似及組合求解算法
在上述通用的迭代方法,基于更新更新p:p←p+?p\bf p:p←p+?pp:p←p+?p來逐步迭代下降均方差f(p)=∑x[I(W(x;p))?T(x)]2f(p)=∑_x[I({\bf W(x;p)})-T(x)]^2f(p)=∑x?[I(W(x;p))?T(x)]2。除了迭代p\bf pp值這種通用的方法來迭代得到解,針對Lucas-Kanade問題,可以使用組合迭代求解的算法來進(jìn)行求解。即使用變換矩陣迭代代替單一的p\bf pp迭代。
3.1 合成求解算法
使用合成求解算法的思想是使用合成變換W作為迭代項取代使用參數(shù)p進(jìn)行迭代,
r(x;p)=I(W(W(x;?p);p))?T(x)r({\bf x;p})= I({\bf W(W(x;?p);p)})-T(x)r(x;p)=I(W(W(x;?p);p))?T(x)
其迭代均方差方程如下:
∑x[I(W(W(x;?p);p))?T(x)]2∑_x[I({\bf W(W(x;?p);p}))-T(x)]^2x∑?[I(W(W(x;?p);p))?T(x)]2
其迭代過程由更新p:p←p+?p\bf p:p←p+?pp:p←p+?p,變?yōu)?br /> W(x;p)←W(x;p)°W(x;?p)\bf W(x;p)←W(x;p)°W(x;?p)W(x;p)←W(x;p)°W(x;?p)
等價性:W(x;p)°W(x;?p)=W(W(x;?p);p)=W(x;p+?p)\bf W(x;p)°W(x;?p)=W(W(x;?p);p)=W(x;p+?p)W(x;p)°W(x;?p)=W(W(x;?p);p)=W(x;p+?p)
3.2 合成算法的泰勒展開及導(dǎo)數(shù)
首先誤差函數(shù)的在參數(shù)p處的泰勒展開式為:
誤差方程的雅可比矩陣:
Jr=I(W)?W?pJ_r=I({\bf W}) \frac {?\bf W}{? \bf p}Jr?=I(W)?p?W?
將誤差方程代入均方誤差方程:
此時,?W/?p∣0?W/?p|_0?W/?p∣0?可以在初始時就計算完成。
其均方差雅可比矩陣的表示如下:
使用最速下降法來確定下降的方向:下降方向,常數(shù)2省
使用最速下降法,需要對海森陣HHH進(jìn)行求逆,因此存在一定不可逆情況,且計算量大。
非線性最小二乘問題可以通過高斯牛頓法來近似HHH陣,減少計算量,同時保證海森陣的正定性。
迭代步驟為:
W(x;p)←W(x;p)°W(x;?p)≡W(W(x;?p);p)\bf W(x;p)←W(x;p)°W(x;?p)≡W(W(x;?p);p)W(x;p)←W(x;p)°W(x;?p)≡W(W(x;?p);p)
3.3 合成算法求解流程
預(yù)先計算:
? 4 計算計算映射方程W\bf WW在(x;0)\bf (x;0)(x;0)的導(dǎo)數(shù)?W/?p?{\bf W}/?{\bf p}?W/?p
迭代:
?1 計算映射W(x;p)\bf W(x;p)W(x;p)及對應(yīng)的I(W(x;p))I({\bf W(x;p))}I(W(x;p));
?2 計算誤差函數(shù)T(x)?I(W(x;p))T(x)-I(\bf W(x;p))T(x)?I(W(x;p))
?3 計算?I(W)=?I∣W(x;p)?W?x∣W(x;0)=x?I(W) =?I|_{\bf W(x;p)} \frac {?\bf W}{?\bf x}|_{\bf W(x;0)=x}?I(W)=?I∣W(x;p)??x?W?∣W(x;0)=x?
?5計算像素誤差方程的梯度方向?I(W)?W?x?I(W)\frac{?\bf W}{?\bf x}?I(W)?x?W?
?6 計算像素誤差方程構(gòu)成的均方誤差函數(shù)的海森矩陣H=∑x[JrTJr]H=∑_x[J_r^T J_r]H=∑x?[JrT?Jr?]
?7 計算像素誤差方程構(gòu)成的均方誤差函數(shù)的梯度方向J=∑x[?I(W)?W?x]T[I(W(W(x;?p);p))?T(x)]J=∑_x[?I({\bf W}) \frac {?\bf W}{?\bf x}]^T [I({\bf W(W(x;?p);p}))-T(x)]J=∑x?[?I(W)?x?W?]T[I(W(W(x;?p);p))?T(x)]
?8計算KaTeX parse error: Expected '}', got 'EOF' at end of input: …{\bf p=H^{-1} J
?9 更新W(x;p):W(x;p)←W(x;p)°W(x;?p)\bf W(x;p):W(x;p)←W(x;p)°W(x;?p)W(x;p):W(x;p)←W(x;p)°W(x;?p)
當(dāng)‖?p‖<?‖?{\bf p}‖<?‖?p‖<?時停止迭代。
合成算法與求解過程與直接求迭代參數(shù)p的算法的不同之處在于:
? 1 第三步中III在W(x;p)\bf W(x;p)W(x;p)處的圖像梯度?I替換成求解?I(W)?I(\bf W)?I(W)
? 2 ?W/?p?{\bf W}/?{\bf p}?W/?p可以提前預(yù)計算
? 3 迭代從參數(shù)p\bf pp變成使用W(x;p)°W(x;?p)\bf W(x;p)°W(x;?p)W(x;p)°W(x;?p)來進(jìn)行迭代
合成算法的計算時間復(fù)雜度:N對應(yīng)像素個數(shù);n對應(yīng)p參數(shù)個數(shù)
3.4 合成算法的可行條件:
(1)映射W集合必須包含單位映射,即W(0;p)\bf W(0;p)W(0;p)
(2)映射集合需要是是半群(兩個元素通過指定運(yùn)算結(jié)果值仍位于該群,且此運(yùn)算滿足結(jié)合律),在圖像領(lǐng)域中,很多映射都是半群,如旋轉(zhuǎn)矩陣,李群,李代數(shù)等。
3.5 兩種求解算法的等價性
兩者的均方差公式及泰勒展開式:
可知:兩者的等價性在于:
即W(x;p+?p)\bf W(x;p+?p)W(x;p+?p)在p\bf pp處的導(dǎo)數(shù)與W(W(x;0+?p);p)\bf W(W(x;0+?p);p)W(W(x;0+?p);p)在W(x;0)\bf W(x;0)W(x;0)處的導(dǎo)數(shù)等價性:
即等價性的前提是滿足:
W(x;p+?p)=W(W(x;?p);p)=W(x;p)°W(x;?p)\bf W(x;p+?p)=W(W(x;?p);p)=W(x;p)°W(x;?p)W(x;p+?p)=W(W(x;?p);p)=W(x;p)°W(x;?p)
4 反向組合求解算法
上述兩種算法,無論是正向累積算法還是正向組合求解算法,都需要很大的計算量計算均方差方程雅可比及海森陣,且每次迭代都需要重新計算。因此,雅可比矩陣的計算與殘差項有關(guān),因此,是否能夠計算近似固定的海森陣,從而可以提前預(yù)算海森陣。
每次迭代中,需要計算的項包括:圖像變換矩陣/方程(第一步),圖像誤差(第二步),均方差雅可比(第7步),均方差海森陣(第8步)以及更新參數(shù)/組合變換。
4.1 反向合成算法思想
1998年Hager和Belhumeur提出反向求解算法,將目標(biāo)圖像I與模板圖像塊區(qū)域T進(jìn)行交換。其誤差函數(shù)如下公式所示:
r(x;p)=T(W(x;0))?I(W(x;p))r({\bf x;p})=T({\bf W(x;0)})-I({\bf W(x;p)})r(x;p)=T(W(x;0))?I(W(x;p))
迭代方程:
r(x;p)=T(W(x;?p))?I(W(x;p))r({\bf x;p})=T({\bf W(x;?p)})-I({\bf W(x;p)})r(x;p)=T(W(x;?p))?I(W(x;p))
均方差方程如下公式所示:
f(p+?p)=∑x[T(W(x;?p))?I(W(x;p))]2f({\bf p+?p})=∑_x[T({\bf W(x;?p)})-I({\bf W(x;p)})]^2 f(p+?p)=x∑?[T(W(x;?p))?I(W(x;p))]2
即對t=1t=1t=1時刻的圖像進(jìn)行變換,去擬合在t=2時刻I的圖像。
將第二節(jié)算法稱為正向累加算法,第三節(jié)算法稱作正向組合(合成)算法。將目標(biāo)圖像I與模板圖像塊區(qū)域T進(jìn)行交換的算法稱為反向累加及反向組合(合成)算法。
此時,更新變?yōu)?#xff1a;
W(x;p)←W(x;p)°W(x;?p)?1\bf W(x;p)←W(x;p)°W(x;?p)^{-1}W(x;p)←W(x;p)°W(x;?p)?1
4.2 反向合成算法的泰勒展開及導(dǎo)數(shù)
首先誤差函數(shù)的在參數(shù)p處的泰勒展開式為:
誤差方程雅可比矩陣:
可知反向合成誤差方程雅可比矩陣可固定。
將誤差方程代入均方誤差方程:
均方差方程雅可比矩陣的表示如下:
使用最速下降法來確定下降的方向:下降方向,常數(shù)2省
使用最速下降法,需要對海森陣H進(jìn)行求逆,因此存在一定不可逆情況,且計算量大。
非線性最小二乘問題可以通過近似H陣,減少計算量,同時保證海森陣的正定性。
4.3 反向合成算法求解流程:
預(yù)算:
? 3 計算TTT在W(x;0)\bf W(x;0)W(x;0)的在梯度?T∣W(x;0)?T|_{\bf W(x;0)}?T∣W(x;0)?
? 4 計算變換W\bf WW在(x;0)\bf (x;0)(x;0)處的雅可比矩陣?W?p∣0\frac {?\bf W}{?\bf p}|_0?p?W?∣0?
? 5 計算誤差雅可比(梯度) Jr=?T?W?pJ_r=?T\frac {?\bf W}{?\bf p}Jr?=?T?p?W?
? 6 計算海森陣H=∑x[JrTJr]H=∑_x[J_r^T J_r ]H=∑x?[JrT?Jr?]
迭代:
? 1 計算圖像映射W(x;p)\bf W(x;p)W(x;p)及對應(yīng)的I(W(x;p))I(\bf W(x;p))I(W(x;p));
? 2 計算誤差函數(shù)T(x)?I(W(x;p))T(x)-I(\bf W(x;p))T(x)?I(W(x;p))
? 7 計算均方差方程雅可比矩陣:J=∑x[?T?W?p]T[T(W(x;?p))?I(W(x;p))]J=∑_x[?T\frac {?\bf W}{?\bf p}]^T [T({\bf W(x;?p)})-I({\bf W(x;p)})]J=∑x?[?T?p?W?]T[T(W(x;?p))?I(W(x;p))]
? 8計算迭代參數(shù):?p=H?1J?{\bf p}=H^{-1} J?p=H?1J
? 9更新映射方程:W(x;p)←W(x;p)°W(x;?p)?1\bf W(x;p)←W(x;p)°W(x;?p)^{-1}W(x;p)←W(x;p)°W(x;?p)?1
當(dāng)‖?p‖<?‖?\bf p‖<?‖?p‖<?時停止迭代。
能夠看出,海森陣能夠預(yù)先計算。
反向合成算法的計算復(fù)雜度如下:
4.4 反向組合算法的可行條件
反向組合算法除了要滿足W半群的要求,另外需要滿足W\bf WW運(yùn)算的反向操作°W(x;?p)?1°\bf W(x;?p)^{-1}°W(x;?p)?1,因此,反向組合算法要求映射W\bf WW滿足群的要求。視覺中的很多映射滿足此要求,SLAM中李群李代數(shù)也滿足此要求。
5 反向累加算法
5.1 反向累積算法思路
即正向累加算法的反向運(yùn)算,使用?T?T?T來近似?I?I?I,其誤差方程及誤差方程的雅可比計算如下:
r(x;p)=I(W(x;p+?p))?T(x)r({\bf x;p})=I({\bf W(x;p+?p}))-T(x)r(x;p)=I(W(x;p+?p))?T(x)
5.3 泰勒展開及導(dǎo)數(shù)
首先誤差函數(shù)的在參數(shù)p處的泰勒展開式為:
誤差方程雅可比矩陣:
由于:I(W(x;p))≈T(x)I({\bf W(x;p)})≈T(\bf x)I(W(x;p))≈T(x),可得:
此時,誤差方程的雅可比可以預(yù)算估計,代入誤差方程的雅可比矩陣:
對均方差方程:
均方差方程的雅可比矩陣:
使用最速下降法來確定下降的方向:下降方向,常數(shù)2省
使用最速下降法,需要對海森陣H進(jìn)行求逆,因此存在一定不可逆情況,且計算量大。
非線性最小二乘問題可以通過高斯牛頓法來近似H陣,減少計算量,同時保證海森陣的正定性。
將可提前預(yù)算的與不能提前預(yù)算的分開:
令:
則:
H?1=[Σ(p)]?1H?[Σ(p)]?TH^{-1}=[Σ(p)]^{-1} H_* [Σ(p)]^{-T}H?1=[Σ(p)]?1H??[Σ(p)]?T
迭代參數(shù):
將上式可預(yù)算與不可預(yù)算項分開:
令:?p?=H?∑x[?TΓ(x)]T[I(W(x;p+?p))?T(x)]?p_*=H_* ∑_x[?TΓ(x)]^T [I(W(x;p+?p))-T(x)]?p??=H??∑x?[?TΓ(x)]T[I(W(x;p+?p))?T(x)],得
?p=[Σ(p)]?1?p??p=[Σ(p)]^{-1} ?p_*?p=[Σ(p)]?1?p??
5.3 總結(jié) Lucas-Kanade算法的求解過程
預(yù)算:
? 3 計算計算TTT在x\bf xx的在梯度?T∣x?T|_{\bf x}?T∣x?
? 4 計算Γ(x)=(?W/?x)?1Γ({\bf x})=(?{\bf W}/?{\bf x})^{-1}Γ(x)=(?W/?x)?1
? 5 計算像素誤差方程的梯度方向?TΓ(x)?TΓ(\bf x)?TΓ(x)
? 6 計算H?=∑x[?TΓ(x)]T[?TΓ(x)]H_*=∑_{\bf x}[?TΓ(x)]^T [?TΓ(\bf x)]H??=∑x?[?TΓ(x)]T[?TΓ(x)]
迭代:
? 1 計算映射W(x;p)\bf W(x;p)W(x;p)及對應(yīng)的I(W(x;p))I(\bf W(x;p))I(W(x;p));
? 2 計算誤差函數(shù)T(x)?I(W(x;p))T({\bf x})-I(\bf W(x;p))T(x)?I(W(x;p))
? 7 計算像素誤差方程構(gòu)成的均方誤差函數(shù)的梯度方向J=∑x[?TΓ(x)]T[I(W(x;p))?T(x)]J=∑_{\bf x}[?TΓ({\bf x})]^T [I(\bf {W(x;p)})-T(\bf x)]J=∑x?[?TΓ(x)]T[I(W(x;p))?T(x)]
? 8 計算?p?=H?∑x[?TΓ(x)]T[I(W(x;p+?p))?T(x)]? {\bf p}_*=H_* ∑_{\bf x}[?TΓ({\bf x})]^T [I({\bf W(x;p+?p)})-T({\bf x})]?p??=H??∑x?[?TΓ(x)]T[I(W(x;p+?p))?T(x)]
? 9 計算[Σ(p)]?1\bf [Σ(p)]^{-1}[Σ(p)]?1并更新p:p←p+[Σ(p)]?1?p?\bf p:p←p+[Σ(p)]^{-1}?p_*p:p←p+[Σ(p)]?1?p??
當(dāng)‖?p‖<?\bf ‖?p‖<?‖?p‖<?時停止迭代。
原論文中?p?=H?∑x[?TΓ(x)]T[?T(x)?I(W(x;p+?p))]?{\bf p}_*=H_* ∑_{\bf x}[?TΓ({\bf x})]^T [-T({\bf x})-I({\bf W(x;p+?p)})]?p??=H??∑x?[?TΓ(x)]T[?T(x)?I(W(x;p+?p))],所以迭代使用p←p?[Σ(p)]?1?p?\bf p←p-[Σ(p)]^{-1}?p_*p←p?[Σ(p)]?1?p??
上述流程的計算時間復(fù)雜度:N對應(yīng)像素個數(shù);n對應(yīng)p參數(shù)個數(shù)
5.4 算法可行條件
比較嚴(yán)格的使用場景,因為要保證I(W(x;p))≈T(x)I({\bf W(x;p)})≈T(\bf x)I(W(x;p))≈T(x),此外,Σ(p)Σ(\bf p)Σ(p)也需滿足可逆。
原文:Lucas-Kanade 20 Years On: A Unifying Framework
其他鏈接:
https://www-users.cse.umn.edu/~hspark/csci5561_F2019/hw2.pdf
https://github.com/yashorts/csci5561-cv-hw2
https://sites.google.com/site/olegkrivtsov/tutorials
總結(jié)
以上是生活随笔為你收集整理的Lucas-Kanade 20 Years On 正反向/累加/合成求解算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS ScrollView的使用教程
- 下一篇: 基于OpenSSL,实现C语言SM2的P