天天看點

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

文中圖檔出自原論文。

本文為和大家學習所發,文中有許多問題和錯誤,請大家不吝賜教,給與指出,感激不盡。

考慮文章描述不準确地方和錯誤較多,是以請勿轉載,謝謝。

1、

基于模型的方法在解釋對象圖像方面引起了研究者們的極大興趣。通過拟合模型的有效執行個體可以得到魯棒的輸出結果。此外,根據一組模型參數解釋圖像的能力為場景解釋提供了基礎。為了實作這些好處,對象外觀模型應該盡可能的完整,且能夠合成接近目标物體的任意圖像。

盡管基于模型的方法以及被證明是有效的,而且也存在着一些合适的方法,但大都有着大量的參數,雖然也可以利用通用的方法進行優化求解,但是一般情況下會很慢。

本文中提出一種直接優化方法,方法不會每次都去求解一個一般的優化問題去将模型拟合一張新圖檔上。相反,我們對每一次的優化問題都很相似這個點進行擴充,而這些相似之處在離線的時候就學習到。這樣即使在高維空間下也能快速收斂。

本文通過總結之前相關工作讨論了圖像解釋的概念。2中解釋了如何建構對象外觀緊湊模型,這個模型可以很好的生成與訓練集中相似的通用模型。

1.1

【5】中雖然提取了灰階外表的3D模型,允許全部組合形狀和外觀,然而卻沒能給出合理的搜尋算法來對新圖像進行模組化。

【6】中對形狀和局部灰階外觀進行模組化,使用ASM模型靈活的定位新圖像中的對象。

【8】中将ASM擴充,生成一個形狀和灰階外觀的聯合模型,但依然依賴ASM去在新圖像中定位臉部。本文新方法可以看做是【8】的延伸,其利用聯合外觀模型的全部資訊去拟合圖像。

本文新方法得益于早前的兩篇文章。【7】中顯示了本質特征模型的參數能被用來推導形狀模型點到正确的位置。這裡描述的AAM就是這個方法的一個擴充。【2】中用手工制作的模型去跟蹤面部的特征點,但是沒有嘗試對整個臉部模組化。AAM可以被歸納為:學習與每個模型參數的變化對應的圖像差異模式,并用于修改模型估計。(學習與模型參數變化相一緻的圖像差異模式,并用之來修改模型估計)

[18]中在離線處理階段使用不同的圖像去跟蹤、學習圖像誤差和參數補償之間的關系(該方法大緻是使用圖像差異來驅動跟蹤,在離線處理階段中學習圖像誤差和參數偏移之間的關系。)。不同之處在于,【18】使用的單獨一張圖像,而AAM使用一個訓練集。

2、

這一部分介紹外觀模型是如何建立的。方法就像【8】中提到的那樣,隻是擴充了正規化和權重重步驟。首先需要一個标記了特征點的訓練集。

給定一個訓練集我們可以用6中的方法生成一個形狀變化模型。标記點描述了對象的形狀。将所有資料對齊到标準幀(ASM中,标準幀指的是所有幀的平均。這裡指的是标準幀還是僅僅對齊到一個共同的架構上就可以?)—(不管怎樣,這裡的最終結果和ASM一樣,是以每個步驟也和ASm一樣)上并用向量x來表示,之後使用PCA,得到每個樣本的形狀變化模型的表示:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

為了建構統計意義上的灰階外觀模型我們扭曲每個樣本圖像,目的是為了使其控制點比對到平均形狀(使用三角化方法)。從對齊到标準形狀後的圖像中的由平均形狀覆寫的區域部分采樣灰階資訊gim。(我們從平均形狀覆寫的區域上的形狀歸一化圖像中采樣灰階資訊gim。)(那麼這裡,意思是灰階資訊gim是整個覆寫區域的像素點的灰階值?)為了最小化全局光照變化的影響,我們通過應用縮放a和偏移b來标準化示例樣本:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

選擇a和b的值以使向量與歸一化均值最佳比對. 令g杠為歸一化資料的均值(将所有臉對齊到X杠,采樣灰階之後進行平均?),縮放和偏移使得元素之和為零,元素方差為1。然後給出标準化gim所需的a和b的值:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

(以上,得到gim,将其與g杠比對最佳,得到a和b,問題是g杠是什麼)

當然,獲得歸一化資料的均值就是遞歸過程,因為歸一化是根據均值來定義的。通過使用其中一個示例作為平均值的第一個估計,将其他示例與其重新估計均值和疊代,可以找到穩定的解決方案。

(以上,g杠遞歸求解,首先初始化其為某個樣本的gim?之後,通過式子2和3将其他樣本對齊到這個g杠,重新估計均值并疊代,這樣就得到了最終的g杠?這裡,重新估計均值是指什麼)

應用PCA就得到:(應用PCA相當于将每個g組合成g杠和所有g的特征向量的線性組合,注意這裡有g中非主成分的0.)

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

G杠是灰階向量的歸一化均值。

将形狀和外觀參數求和,使用PCA,得到:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

Ws是形狀參數的權重對角矩陣,允許形狀和灰階之間的機關差異?。

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

Q為特征矩陣,c是決定形狀和灰階的模型外觀參數。因為形狀和外觀參數是零均值,是以c也是零均值。

考慮到模型的線性性質,可以将形狀和灰階直接描述為c的函數;

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

其中:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

給定c,通過從向量g生成無形狀灰階圖,并用由x描述的控制點來warp它,可以生成示例圖像。

2.1、選擇形狀參數權重Ws

Bs有距離單元,bg有強度單元,是以不可以直接就比較。因為Pg有正交列向量,是以将bg變化一個機關,g也将移動一個機關。為了使bs和bg相稱,必須估計bs變化對樣本g的影響。為此,對每個訓練樣本,我們系統地将bs的每個元素從其最佳值移位,并在給定移位形狀的情況下對圖像進行采樣。形狀參數bs中g的每機關RMS變化給出了權重Ws,即公式5中用到的參數。

2.2、例子:臉部外觀模型

我們使用上面描述的方法建立一個臉部外觀模型。使用一個有400張人臉圖像的訓練集,每個标簽有122個點。從圖像中生成一個有23個參數的形狀模型,一個有114個參數的自由形狀灰階模型,和一個僅僅用80個參數來說明98%的觀察到的變化的聯合外觀模型。該模型使用大約10000個像素值來構成臉部更新檔。

圖2和圖3顯示了通過加減3标準偏差改變前兩個形狀和灰階模型參數的效果,如從訓練集确定的。 第一個參數對應于協方差矩陣的最大特征值,其給出了整個訓練集的方差。 圖4顯示了改變前四個外觀模型參數的效果,顯示了身份,姿勢和表情的變化。

2.3、逼近新樣本

給定一張帶标記的新圖像,我們可以生成模型的近似值。結合比對樣本的形狀和灰階參數,按照之前步驟得到b。因為Q是正交的,結合外觀模型參數,可以得到c:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

然後通過應用等式7,反轉灰階級歸一化,将适當的姿勢應用于點并将灰階級向量投影到圖像中來給出完全重建。

例如,圖5示出了先前未見到的圖像以及面部補片的模型重建(覆寫在原始圖像上)。

3、主動外觀模型搜尋

我們現在解決中心問題:我們有一個要解釋的圖像,一個如上所述的完整外觀模型和一個合理的起始近似。 我們提出了一種用于有效地調整模型參數的方案,進而生成合成示例,其盡可能地比對新圖像。 在給出算法的細節之前,我們首先概述基本思想.

3.1、概述

我們希望将解釋視為一種優化問題,其中我們最小化新圖像與外觀模型合成的圖像之間的差異。 差異向量我可以定義:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

其中,Ii是圖像灰階向量,Im是目前參數模型灰階向量。

為了找到模型和圖像之間的最佳比對,我們希望通過改變模型參數c來最小化差矢量

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

的幅度。 由于外觀模型可以具有許多參數,是以首先出現這是一個困難的高維優化問題。 但是,我們注意到,每次嘗試将模型與新圖像比對實際上都是類似的優化問題。 我們建議提前了解如何解決這類問題。 通過提供在圖像搜尋期間如何調整模型參數的先驗知識,我們得到了一種有效的運作時算法。 特别地,δI中的空間模式編碼關于應如何改變模型參數以便實作更好拟合的資訊。 在采用這種方法時,問題有兩個部分:學習δI和模型參數δc中的誤差之間的關系,并在疊代算法中使用這些知識來最小化△。

3.2、學習糾正模型參數

我們可以選擇δI和模型參數中的誤差之間的關系的最簡單模型(以及需要進行的修正)是線性的:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

結果證明這是一個足夠好的近似值,可以獲得可接受的結果。 為了找到A,我們對已知模型位移δc的樣本和相應的差分圖像δI執行多元多元線性回歸。我們可以通過擾動已知模型的真實模型參數來生成這些随機位移集。這些可以是原始訓練圖像或使用外觀模型生成的合成圖像。 在後一種情況下,我們準确地知道參數,并且圖像不會被噪聲破壞。

除了模型參數的擾動外,我們還在2D位置,比例和方向上模拟小位移。 這四個額外參數包含在回歸中; 為簡單起見,它們可以簡單地視為向量δc的額外元素。 為了保持線性,我們使用(Sx,Sy,Tx,ty,其中Sx=s*cos(Θ),sy=s*sin(Θ))表示姿勢。 為了獲得良好的關系,重要的是仔細選擇計算圖像差異的參照系。 最合适的參考架構是第2節中描述的形狀标準化更新檔。

我們計算一個差異:讓c0成為目前圖像的已知外觀模型參數。 我們将參數置換已知量δc,以獲得新參數c=δc+c0。 對于這些參數,我們使用7生成形狀x和标準化灰階級gm。我們從圖像中采樣,使用點x進行扭曲,以獲得标準化的樣本gs。 然後樣本誤差為δg = gs-gm。

然後,訓練算法簡單地随機移動每個訓練圖像中的模型參數,記錄c和g。 然後,我們執行多變量回歸以獲得關系:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

在訓練期間使用的δc的最佳值範圍是通過實驗确定的。 理想情況下,我們尋求建立一種關系,該關系可以保持盡可能大的範圍誤差δg。 然而,發現實際關系僅在有限的值範圍内是線性的。 我們在人臉模型上的實驗表明,對于每個模型參數,最佳擾動大約為0.5個标準偏差(在訓練集上),大約10%的比例和2個像素的平移。

臉部模組化結果:

我們将上述算法應用于2.2節中描述的人臉模型。 在執行線性回歸之後,我們可以計算每個參數擾動的R2統計量,ci來測量誤差向量δg“預測”位移的程度。 80個參數的平均R2值為0.82,最大值為0.98(第1個參數),最小值為0.48。

我們可以将擾動的影響可視化如下。 如果ai是回歸矩陣A的第i行,則第i個參數ci的預測變化由下式給出

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

并且ai在估計位移時給出附加到采樣貼片的不同區域的權重。 圖6顯示了與姿勢參數變化相對應的權重(Sx,Sy,Tx,ty)。 明亮區域是正權重,暗區域是負區域。 正如人們所預料的那樣,x和y位移權重類似于x和y導數圖像。 對于對應于外觀模型參數的權重獲得類似的結果。

擾亂面部模型:

為了檢驗預測的性能,我們系統地将面部模型從一組10個測試圖像上的真實位置移位,并使用該模型來預測給定采樣誤差矢量的位移。 圖7和圖8顯示了針對實際翻譯的預測翻譯。 在零的約4個像素記憶體在良好的線性關系。 雖然這會因較大的位移而中斷,但隻要預測與實際誤差具有相同的符号,并且不會過度預測,疊代更新方案就會收斂。 在這種情況下,x中最多20個像素位移,y中約10個像素位移應該是可校正的。

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

但是,我們可以通過建構對象外觀的多分辨率模型來擴充此範圍。 我們為每個訓練圖像生成高斯金字塔,并為金字塔的每個級别生成外觀模型。 圖9顯示了在三個分辨率下以x換算的模型的預測。 L0是基本模型,大約10000像素。 L1具有大約2500個像素,L2具有大約600個像素。

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

曲線的線性區域在較粗糙的分辨率上延伸較大範圍,但不如最精細的分辨率精确。 對于其他姿勢參數和模型參數的變化,獲得了類似的結果。

3.3、疊代模型改進

給定一種預測模型參數中需要進行校正的方法,我們可以構造一個疊代方法來解決我們的優化問題。 給定目前估計的模型參數c0和目前估計的歸一化圖像樣本gs,疊代過程的一個步驟如下:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

重複此過程,直到沒有對錯誤g進行改進,并聲明收斂。 我們使用多分辨率實作,在将目前解決方案投影到模型的下一級之前,我們疊代到每個級别的收斂。 這更有效,并且可以從遠離單一分辨率的搜尋收斂到正确的解決方案。

例子:

我們使用面部AAM在以前看不見的圖像中搜尋面部。 圖10顯示了模型的最佳拟合,給出了三個面用手标記的圖像點。 圖11顯示了來自AAM搜尋每個面部的幀,每個幀從從真實面部中心移位的平均模型開始。

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

作為将該方法應用于醫學圖像的示例,我們建構了膝部的一部分的外觀模型,如通過MR圖像的切片中所見。 該模型在30個執行個體上進行了訓練,每個執行個體都标有42個标志點。

圖12顯示了改變前兩個外觀模型參數的效果。 圖13顯示了模型與新圖像的最佳拟合,給定了手标記的标記點。 圖14顯示了來自移位位置的AAM搜尋的幀。

小結:

AAM論文翻譯1.12.1、選擇形狀參數權重Ws2.2、例子:臉部外觀模型2.3、逼近新樣本3.1、概述3.2、學習糾正模型參數3.3、疊代模型改進

AAM不僅可以用來提取特征(包括形狀和外觀灰階特征),還可以根據AAM參數來合成圖像。準确的說,AAM是一個統計模型,包括了形狀(ASM)和灰階紋理模型。我們選擇帶标記的訓練集圖像(這裡可以是68點,可以是100點,又可以是單純的嘴部點),使用AAM算法(論文裡描述的),建立出基于這些訓練圖像的AAM模型,得到模型參數。使用訓練好的模型,就可以對新的測試圖像進行特征提取,同樣包括形狀和灰階紋理特征,另外,如果直接有這些AAM特征,可以合成一個人臉圖像。

參考資料:

1、ASM和AAM資料彙總:https://blog.csdn.net/holybin/article/details/28596169

2、AAM算法介紹:https://blog.csdn.net/carson2005/article/details/8196996

3、AAM算法簡介:https://blog.csdn.net/yangtrees/article/details/8710734

4、AAM和ASM的matlab工具包

5、一個相關的github項目:menpo project