AAM論文翻譯

文中圖片出自原論文。
本文爲和大家學習所發,文中有許多問題和錯誤,請大家不吝賜教,給與指出,感激不盡。
考慮文章描述不準確地方和錯誤較多,因此請勿轉載,謝謝。

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,得到每個樣本的形狀變化模型的表示:
這裏寫圖片描述
爲了構建統計意義上的灰度外觀模型我們扭曲每個樣本圖像,目的是爲了使其控制點匹配到平均形狀(使用三角化方法)。從對齊到標準形狀後的圖像中的由平均形狀覆蓋的區域部分採樣灰度信息gim。(我們從平均形狀覆蓋的區域上的形狀歸一化圖像中採樣灰度信息gim。)(那麼這裏,意思是灰度信息gim是整個覆蓋區域的像素點的灰度值?)爲了最小化全局光照變化的影響,我們通過應用縮放a和偏移b來標準化示例樣本:
這裏寫圖片描述
選擇a和b的值以使向量與歸一化均值最佳匹配. 令g槓爲歸一化數據的均值(將所有臉對齊到X槓,採樣灰度之後進行平均?),縮放和偏移使得元素之和爲零,元素方差爲1。然後給出標準化gim所需的a和b的值:
這裏寫圖片描述
(以上,得到gim,將其與g槓匹配最佳,得到a和b,問題是g槓是什麼)
當然,獲得歸一化數據的均值就是遞歸過程,因爲歸一化是根據均值來定義的。通過使用其中一個示例作爲平均值的第一個估計,將其他示例與其重新估計均值和迭代,可以找到穩定的解決方案。
(以上,g槓遞歸求解,首先初始化其爲某個樣本的gim?之後,通過式子2和3將其他樣本對齊到這個g槓,重新估計均值並迭代,這樣就得到了最終的g槓?這裏,重新估計均值是指什麼)
應用PCA就得到:(應用PCA相當於將每個g組合成g槓和所有g的特徵向量的線性組合,注意這裏有g中非主成分的0.)
這裏寫圖片描述
G槓是灰度向量的歸一化均值。
將形狀和外觀參數求和,使用PCA,得到:
這裏寫圖片描述
Ws是形狀參數的權重對角矩陣,允許形狀和灰度之間的單位差異?。
這裏寫圖片描述
Q爲特徵矩陣,c是決定形狀和灰度的模型外觀參數。因爲形狀和外觀參數是零均值,所以c也是零均值。
考慮到模型的線性性質,可以將形狀和灰度直接描述爲c的函數;
這裏寫圖片描述
其中:
這裏寫圖片描述
給定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:
這裏寫圖片描述
然後通過應用等式7,反轉灰度級歸一化,將適當的姿勢應用於點並將灰度級向量投影到圖像中來給出完全重建。
例如,圖5示出了先前未見到的圖像以及面部補片的模型重建(覆蓋在原始圖像上)。

3、主動外觀模型搜索

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

3.1、概述

我們希望將解釋視爲一種優化問題,其中我們最小化新圖像與外觀模型合成的圖像之間的差異。 差異向量我可以定義:
這裏寫圖片描述
其中,Ii是圖像灰度向量,Im是當前參數模型灰度向量。
爲了找到模型和圖像之間的最佳匹配,我們希望通過改變模型參數c來最小化差矢量 這裏寫圖片描述的幅度。 由於外觀模型可以具有許多參數,因此首先出現這是一個困難的高維優化問題。 但是,我們注意到,每次嘗試將模型與新圖像匹配實際上都是類似的優化問題。 我們建議提前瞭解如何解決這類問題。 通過提供在圖像搜索期間如何調整模型參數的先驗知識,我們得到了一種有效的運行時算法。 特別地,δI中的空間模式編碼關於應如何改變模型參數以便實現更好擬合的信息。 在採用這種方法時,問題有兩個部分:學習δI和模型參數δc中的誤差之間的關係,並在迭代算法中使用這些知識來最小化△。

3.2、學習糾正模型參數

我們可以選擇δI和模型參數中的誤差之間的關係的最簡單模型(以及需要進行的修正)是線性的:
這裏寫圖片描述
結果證明這是一個足夠好的近似值,可以獲得可接受的結果。 爲了找到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。 然後,我們執行多變量回歸以獲得關係:
這裏寫圖片描述
在訓練期間使用的δ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的預測變化由下式給出
這裏寫圖片描述
並且ai在估計位移時給出附加到採樣貼片的不同區域的權重。 圖6顯示了與姿勢參數變化相對應的權重(Sx,Sy,Tx,ty)。 明亮區域是正權重,暗區域是負區域。 正如人們所預料的那樣,x和y位移權重類似於x和y導數圖像。 對於對應於外觀模型參數的權重獲得類似的結果。
擾亂面部模型:
爲了檢驗預測的性能,我們系統地將面部模型從一組10個測試圖像上的真實位置移位,並使用該模型來預測給定採樣誤差矢量的位移。 圖7和圖8顯示了針對實際翻譯的預測翻譯。 在零的約4個像素內存在良好的線性關係。 雖然這會因較大的位移而中斷,但只要預測與實際誤差具有相同的符號,並且不會過度預測,迭代更新方案就會收斂。 在這種情況下,x中最多20個像素位移,y中約10個像素位移應該是可校正的。
這裏寫圖片描述
但是,我們可以通過構建對象外觀的多分辨率模型來擴展此範圍。 我們爲每個訓練圖像生成高斯金字塔,併爲金字塔的每個級別生成外觀模型。 圖9顯示了在三個分辨率下以x換算的模型的預測。 L0是基本模型,大約10000像素。 L1具有大約2500個像素,L2具有大約600個像素。
這裏寫圖片描述
曲線的線性區域在較粗糙的分辨率上延伸較大範圍,但不如最精細的分辨率精確。 對於其他姿勢參數和模型參數的變化,獲得了類似的結果。

3.3、迭代模型改進

給定一種預測模型參數中需要進行校正的方法,我們可以構造一個迭代方法來解決我們的優化問題。 給定當前估計的模型參數c0和當前估計的歸一化圖像樣本gs,迭代過程的一個步驟如下:
這裏寫圖片描述
重複此過程,直到沒有對錯誤g進行改進,並聲明收斂。 我們使用多分辨率實現,在將當前解決方案投影到模型的下一級之前,我們迭代到每個級別的收斂。 這更有效,並且可以從遠離單一分辨率的搜索收斂到正確的解決方案。
例子:
我們使用面部AAM在以前看不見的圖像中搜索麪部。 圖10顯示了模型的最佳擬合,給出了三個面用手標記的圖像點。 圖11顯示了來自AAM搜索每個面部的幀,每個幀從從真實面部中心移位的平均模型開始。
這裏寫圖片描述
作爲將該方法應用於醫學圖像的示例,我們構建了膝部的一部分的外觀模型,如通過MR圖像的切片中所見。 該模型在30個實例上進行了訓練,每個實例都標有42個標誌點。
圖12顯示了改變前兩個外觀模型參數的效果。 圖13顯示了模型與新圖像的最佳擬合,給定了手標記的標記點。 圖14顯示了來自移位位置的AAM搜索的幀。

小結:

這裏寫圖片描述

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章