• 沒有找到結果。

Inverse Compositional 演算法

2.5. 影像校正演算法

2.5.2. Inverse Compositional 演算法

Inverse Compositional (IC) Algorithm [22][26]的是為了要避免讓所有要計算 的過程均與形變參數 p 相依,這裡一開始先介紹[22]及[26]中所提出的方法。

這裡將式(2-28)改成:

∑ _; f % ƒ a; ∆fb (2-35)

; f ’ ; ∆fN; f (2-36) 我們將ƒa; ∆f做泰勒展開可得:

ƒa; ∆f  ƒa; 0 “ƒa”•”$ ∆f O∆f (2-37)

31

其中“ƒa為樣板影像的影像梯度(gradient)值,”•

”$為 W 的 Jacobian,“ƒa”•”$為 Steepest descent images;忽略高次項,將此代入式(2-35)中可得:

∑ R; f % ƒ a; 0 % “ƒa”•”$∆fU (2-38) 對∆f微分求極值可得:

2 ∑ R“ƒ a”•”$UjR; f % ƒa; 0 % “ƒa”•”$∆fU 0 (2-39)

∑ R“ƒ a”•”$UjR“ƒa”•”$U ∆f ∑ R“ƒ a”•”$Uj_; f % ƒa; 0b (2-40) 其中令ƒa; 0  ƒa可求出∆f:

∆f  —N∑ R“ƒ a”•”$Uj_; f % ƒab (2-41) 其中 H 為 Hessian matrix:

H  ∑ R“ƒ a”•”$UjR“ƒa”•”$U (2-42) 在 Inverse Compositional 演算法與 Lucas-Kanade 演算法的差異中,

Lucas-Kanade 演算法要計算出輸入影像的梯度值(gradient),接著再計算出 Warping Jacobian 並求出 Steepest descent image 以及 Hessian matrix,在每次迭代 過程中都需要重複計算這一個部分;而在 Inverse Compositional 演算法當中,是 使用樣版影像ƒa去計算出影像的梯度值,由於樣版影像是已知的,因此之後的 Warping Jacobian 以及 Steepest descent image 和 Hessian matrix 都是已知的;IC 演算法只要先在迭代前計算出樣版影像的梯度值,Warping Jacobian 以及 Steepest descent image 和 Hessian matrix 都可以預先求出,而迭代時就可以省去這一部分 的計算量,因此迭代的速度可以提升許多,並且在迭代的結果也不會降低它的成 功率,因此們論文選擇此改良方法來做我們的影像校正方法。

Inverse Compositional 演算法的迭代過程可分前處理 4 個步驟(I~IV)以及迭代 5 個步驟((1)~(5))[22],為了方便區分前處理以及迭代的步驟,前處理 4 個步驟以 (I~IV)表示,而迭代 5 個步驟以((1)~(5))表示,其整體流程圖如圖 2-18 所示:

32

前處理:

I. 根據樣板影像ƒa計算出梯度影像“ƒa II. 求出; 0的 Jacobian ”•”$

III. 計算出 steepest descent images “ƒa”•”$

IV. 由(2-42)計算出 Hessian matrix 迭代:

在這裡使用的 Inverse Compositional 演算法由於把部分要計算的東西拿到了 前處理的步驟中,所以在迭代的過程中較 Lucas-Kanade 演算法少了四項計算,

因此可以減少不少的運算量。

接下來介紹將 Inverse Compositional 演算法套用在 AAM 的方法[22],由於形 變的部分已於 2.4.2 介紹過,因此這裡將要介紹 Warp Jacobian[27],假定

; f  ; f, ; fj,則:

33

圖 2-18、Inverse Compositional 演算法流程

其中表示為形變位置; f在 x 軸的座標,f‰是代表形變參數,利用 chain rule 可以將”•œ

”$ 表示為:

”•œ

”$  ∑ RPJcN ”•”tœ”$” t ”•”œt ”$” tU (2-44) 同樣的將”•ž

”$ 表示為:

”•ž

”$  ∑ RPJcN ”•”žt ”$” t ”•”žt ”$” tU (2-45) 我們改寫(2-19)式可得:

  a, a  1 % } % ~Fa, Faj }`a, `aj ~Ea, Eaj

34

35 將其帶入(2-50)(2-51)可以計算出 Warping Jacobian:

”•œ

”$  1 % } % ~A‰s }A‰ ~A‰€ (2-56)

”•ž

”$  1 % } % ~A‰s }A‰ ~A‰€ (2-57) 在 Inverse Compositional 演算法中我們要更新形變參數時,我們是由反向

; ∆f來計算出; ∆fN,其中:

36

之前所描述的 Inverse Compositional 演算法沒有考慮到 independent AAM 裡 的紋理變化,在這裡使用了相同的演算法加入紋理的變化模式[22]:

37

我們就由轉化上式以滿足 Inverse Compositional 演算法的定義,因此我們要 轉化為求最小化[26]: 部分對於形狀參數 p 的最小值均為 0,因此採用 Inverse Compositional 演算法先 求出前半部分的形變參數 p,接著再將 p 當作常數,而求出後半部的紋理參數λi, 由於 Ai是單範正交的(orthonormal),因此紋理參數可表示為[22]:

λi  ∑‘ˆ ´Aix · ‹IWx; p % Aax (2-65) 其 Inverse Compositional 演算法整體流程如下[22],為了方便區分前處理以 及迭代的步驟,前處理 4 個步驟以(I~IV)表示,而迭代 5 個步驟以((1)~(5))表示:

前處理:

I. 根據樣板影像ƒa計算出梯度影像“ƒa II. 求出; 0的 Jacobian ”•”$

III. 由(2-66)計算出改變的 steepest descent images SD(x) IV. 由 III.的 SD(x)計算出 Hessian matrix = ∑ C jC

迭代:

(1). 根據; f形變影像,計算出形變影像; f

38

(2). 計算出誤差影像(Error Image) ; f % ƒa

(3). 計算∑ SDx‘ o_IWx; p % Aaxb

(4). 由計算出∆f  —N∑ SDx j_; f % ƒab (5). 更新參數; f ’ ; f › ; ∆fN

迭代結束:

由(2-65)計算出紋理變化參數λi

相關文件