dodo:人臉識別方法個人見解(包括稀疏表示方法的理解)














dodo:人臉識別方法個人見解

科院網站

http://www.cbsr.ia.ac.cn/Li%20Group/publicationsCH.htmlgoogle的軟件picasa漢王公司 
dodo:人臉識別方法個人見解(2008-01-07 20:56:37) 


dodo:人臉識別方法個人見解 (此貼最開始於 2007-6-23 19:50 發表在 prfans.com 上) dodo TPAMI = IEEE Transactions on PAMI 這個雜誌
PAMI  是指 pattern analysis and machine intelligence這兩個領域

1)PCA和LDA及其相關方法
Eigenfaces和Fisherfaces無疑是人臉識別中里程碑式的工作。就使用的方法而言,PCA和LDA都不是新方法,但是他們都是被第一次十分明確的用在人臉識別中的方法。之所以說"十分明確",是因爲就發表的時間來看,這兩個論文都不是首次把這兩個方法用在PAMI相關的分類識別中。這給我們一個小小的啓示:一個新的方法專注於解決一個具體的問題可能會帶來更大的影響,雖然這個方法具有一般性。

在現在人臉識別的方法中,這兩個方法也是follow的人最多的。究其原因,除了其有效性之外,簡單是其最大的特點。縱觀PAMI歷史風雲,能經受住時間考驗而流傳下來的方法,除了有效之外一般都有兩個特點其一:1)簡單(PCA, LDA, K-Means, Normalized Cuts etc.);2)複雜,但是解決一個具有一般性而且很難被解決的問題 (在AAM、3d morphable model有深刻影響的Lucas-Kanade算法)。所以如果你的方法一般人都有能力做得到,那就儘量把你的方法做的簡單明確。這就是外國人推崇備至的所謂的Ockham's Razor原理(就個人情感而言,我十分討厭這個名詞)。在這裏我要強調一點是,這裏說的簡單並不是說原理簡單,Normalized Cuts就方法本身來說簡單,但是原理並不簡單;微分幾何中的Gauss-Bonnet定理形式非常簡單,內涵何其豐富。

在此我想多提兩句。由於國內有諸多發論文的方法論,其中一個流傳下來的一句話就是:系統做的越簡單越好,理論做的越複雜越好。不可否認,這句話有它有道理的地方,但是如果用這句話教育後人,誤人子弟矣。

後來出現了許多新的與之類似的方法,就TPAMI上發表的來看,比較有代表性就是 HE Xiaofei 的LPP和 YAN Shuicheng 的MFA。關於這兩個方法的評論大家可參看j.liu貼中knato的回帖。
在這裏我想談談我的個人見解。首先這兩個方法的出現有它們的意義。LPP是流形學習中Laplacian Eigenmaps線性化,這樣無疑會帶動其它流形學習方法在識別問題中的嘗試,一個爲解決問題找到一個思路,二個爲進入寒冬的流形學習找到新的用武之地,雖然這兩個都不是上檔次的思路,但是潛在影響還是有的。後來 YANG Jian 的UDP就是在LPP號召下在TPAMI上的產物。LPP是非監督方法,所以它的識別性能比LDA好的概率極其微弱。
MFA是基於局部數據關係的監督鑑別方法。它有兩個最近臨近點數量的參數要調。這兩個參數是這個方法雙刃劍。參數調的好,MFA會比LDA效果好,調的不好則不行。這樣MFA用起來比LDA複雜,這樣如果MFA的性能比LDA好的有限,而用起來複雜得多的話,它終將被歷史所拋棄。
另外就像j.Liu在他的帖子中說出的一樣,這些方法有一定的投機性,比如這兩篇文章的試驗,他們都把Fisherfaces(PCA+LDA)設爲c-1,雖然這是按照原始論文的取法,但是是做過這方面工作的人都知道PCA的主元數目如果取得太大,PCA+LDA的性能會顯著降低,在WANG Xiaogang的IJCV上的Random sampling LDA中清楚地給出了圖形說明。所以他們論文中給出的實驗比較不具可信性。

LPP, UDP, MFA都是我們中國人(至少這些方法發表時還都是)爲第一作者發表的方法,個人認爲其存在有一定的價值,但它們將是PAMI研究發展中的過眼煙雲,無法與PCA,LDA相媲美。

2)LDA奇異性問題

衆所周知,LDA是基於求解廣義特徵值問題(Sb*u=Alpha*Sw*u),所以在實際應用時遇到奇異性的問題,就是Sw矩陣不可逆。在人臉識別中解決這一問題的論文“浩如煙海”。這也說明了LDA的影響力之大。在這一類方法中,也有風格之分。

o. PCA 降維
在Fisherfaces中採用的就是先用PCA降維,再用LDA,這也是現在處理這一問題的一般方法。這裏有個比較諷刺的事情。Belhumeur在他的論文裏說:PCA actually smears the classes together。那末既然smears the classes together,既然PCA破壞類的結構,那爲什莫還要用PCA降維?而且事實證明,即使在Sw可逆的情況下,用PCA features也會增強LDA在人臉識別中的性能。這裏只能說明,PCA的作用或是PCA features並不是Belhumeur和其以後follow這樣說法的人敘述的那樣。PCA雖然簡單,但是人們應該對它有個正確的認識,這個以後如果有機會再談。

a. RDA
至今影響最大最實用的還是基於regularization思想的RDA。其實這個問題不僅僅在人臉識別中才被注意到。很早在統計中就被解決過,RDA發表於1989的Journal of the Americal Statistical Association雜誌上,可見其久遠。在Sw上加一個擾動項也是解決這一問題的最簡單方法。

b.子空間投影
論文最多的也就在這一塊。應用knato類似的排列組合方法,令image(Sw)和null(Sw)分別表示Sw的列(像)空間和零空間,則我們可很容易的就列出如下組合方法(強調:這裏卻不是提供給大家發論文的方法論,而是以較形象的方式敘述!)
把樣本投影到
aa. image(Sb), bb. null(Sw), cc. image(Sw), dd. image(Sw)+null(Sw), ee. image(Sb)+null(Sw) 可並列可串行, ff. image(St)+null(Sw)
以上每一種組合就代表不止一篇論文,在此就不詳細列舉了。另外,你還可以把random sampling技術加進來,這樣就可以不止翻倍。還有,你還可以把同樣的技術用到KPCA KLDA (kFA)上,這樣又可翻倍。更進一步,你還可以把ICA,LBP, Gabor features等諸如此類的東西和以上子空間混合,...,子子孫孫無窮盡焉。
這個東西做的最多的是國內的 YANG Jian。另外香港中文大學的 TANG Xiaoou 和他以前的學生 WANG Xiaogang 也做這相關的工作。YANG Jian的工作可以用他在TPAMI上的 KPCA plus LDA 這篇文章來概括,雖然他灌水無數,但就子空間方法而言,他這篇文章還有他發表在國內自動化學報上的那篇長文還是有東西的。如果你想做這一塊的工作,值得看一看,是個較爲全面的總結。TANG Xiaoou在子空間方面的代表工作(開山之作)就是dual spaces LDA, random sampling (and bagging) LDA, unified subspaces。(在此之後他還有學生一直在做,就不詳細列舉了。)

我建議想做這一塊工作的同學們,要把TANG and YANG的工作爛熟於心,取長補短,相互學習,取其精華,這樣可以較爲快速而全面地掌握。

c. QR分解
矩陣和數值功底比較好的人,能做得更像模像樣。Cheong Hee Park 和 YE Jieping 無疑是這方面的高手。去看看他們在TPAMI,JMLR, 和SIAM的J. Matrix Anal. & Appl上發表的論文可知一二。

d. 相關性
如果Sw可逆,則Sb*u=Alpha*Sw*u可以轉化爲 inv(Sw)*Sb*u=Alpha*u。那末就可以考察Sw的子空間和Sb子空間的相關性。這方面的代表工作就是Aleix M. Martinez在TPAMI上長文的那個工作。

e. 變商爲差
變u'*Sb*u/(u'*Sw*u)爲u'*(Sb-Sw)*u。

3)基於圖像局部結構的方法

這一類獲得廣泛認可的方法有Gabor和LBP,另外還有可能有用的SIFT和differential features。
Gabor應用比較早有影響力的代表作就是EBGM。Gabor也是提取用來識別的visual feature的最常用手段。
有無數人因爲LBP的極其簡單而懷疑它的性能,但是有趣的是最近Ahonen在TPAMI上的短文,就是把LBP應用在人臉識別上,沒有任何新的改進,這也說明Reviewer們和editor對這類方法的肯定和鼓勵。在非監督feature extraction中,LBP有明顯的優勢,但是絕對沒有達到作者在論文顯示的那個水平。在他的論文中,LBP特別weighted LBP效果非常好,這和他們應用的FERET人臉庫的人臉crop形式有關。他們應用CSU的橢圓模板來crop人臉,如果應用正方形的模板weighted LBP提高很有限。特別在FRGC Version 2上測試,LBP絕對沒有一般監督性的識別方法好。另外這也給我們一個小小啓示,就是加個weight其識別性能就能大大提高,這說明什莫問題呢?

另外,LBP對image blocks大小有一定的敏感性,這個是要承認的。但是LBP有一個性能穩定的image blocks,並不是人們認爲的histogram要符合一定的統計性等等。這個block size的選取比最優的PCA主元數目的選取要容易得多。當然這些都是小問題。

國內有人做Gabor和LBP的結合。當然是值得探索的,但是我個人認爲不應該在這兩種方法結合上花費太多精力。完全可以用類似形式考慮別的思路。

4) Sparse representation

NMF和NTF都屬於sparse representation的方法,都曾被應用在人臉識別中,但效果都非常有限。特別是NTF,屬於數學理論上非常優美,但是實際效果很勉強的典型。

另外,Sparse representation (coding) 是一個很有趣也是很有前途的方法,Sparse representation 有很多方式,關鍵要看你怎莫用、解決怎樣的問題。過段時間我們還有機會再談。

5)Tensor方法

Tensor在人臉識別中至少到現在爲止,還非常得不成功。最典型的就是M. Alex O.Vasilescu在ECCV'02上的tensorfaces。他們對於問題的分析和tensor的對應天衣無縫,非常有道理,數學實現上也同樣簡單,但是自從那個方法發表出來以後基本無人follow。究其原因,個人認爲就是把本來簡單的問題複雜化,最重要的就是複雜化以後並沒有帶來該有的益處。

Alex對tensor的應用是flattening high-way tensor。這是一種常見的處理tensor的方法,這樣做的好處就是使tensor好處理易於計算。two-way tensorfaces就是我們理解的Eigenfaces。但是同樣是tensor,這種tensor和Amnon Shashua的NTF有着本質的區別。NTF是純正的tensor思想。但是它實現起來過於複雜,又加上原理比Alex的tensor更復雜,所以無人問津。但是不可否認,它們都是數學上十分優美的方法。如果你想學習tensor而又不想枯燥,我推薦你去看這三篇論文(Shashua兩篇)。

6)參數模型
參數模型的應用也多種多樣,比如HMM, GMM等。這兩個都是一般性的建模方法,所以應用也很龐雜,而且在人臉識別中的應用大多是從speech recognition中的方法轉化而來,在此就不多談。有興趣的同學們可以參看H. Othman在PAMI上的論文和Conrad Sanderson在PR上的論文。

但是在此其中,最簡單的是Baback Moghaddam在TPAMI上那個Probabilistic Subspaces的文章,這個文章也是WANG Xiaogang的unified spaces的參考原本。

7) 3D 模型

代表作是Volker Blanz在TPAMI上的那個文章。不過個人十分不看好。

8)Personal Perspectives

a. 基於子空間的方法很難在實際應用中有所用處

b. 基於找圖像局部結構的方法更有希望。像EBGM, LBP, SIFT之類可以給我們很多有益的啓示。這點和j.liu的觀點一致。

c. 把人臉識別中的方法推廣開來,應用到一般的分類和統計問題中,這也是人臉識別衍生出來的一大作用。

d. 由於我們國內的特殊研究環境,大家一般都喜歡做簡易快的工作,所以人臉識別這一領域出現有華人名字的論文爲數可觀。其實在某些壓力之下這也無可厚非,但是還是希望我們國人在有條件的情況下,不要以發論文爲主,多關注於解決問題本身、儘量向推動理論發展的方向努力。我們絕對有這個能力。君不見,NIPS‘06兩篇Best student paper被在國外留學的中國人獲得,CVPR'07更是又傳來喜訊:Best student paper由清華學生獲得,這些都是跡象。我們正處於一個意氣風發、大有可爲的時代。就本人學術水平和資歷來說,絕沒有資格來說這些話,這只不過是個人的一點心願和號召而已,同時更是勉勵自己。


以上均是dodo個人拙見,囿於本人才疏學淺,難免出現掛一漏萬和觀點偏頗的情況,還請大家及時批評指正,以免曲彼誤人。謝謝  

 

 dodo: 人臉識別 II     (此貼最開始於 2007-7-21 20:23  發表在 prfans.com 上) dodo這篇文章是接着《dodo:人臉識別方法個人見解》,這個帖子主要是談談在上一篇中沒有談到或是一帶而過的問題。和上一篇一樣,還是就方法論方法。

1,kernel methods

a. KPCA及其相關

kernel席捲PAMI領域的趨勢還在加強。原因很簡單,絕大多數的問題都能和kernel掛上鉤。在人臉識別裏,KPCA和KFA的影響力遠不及PCA和LDA。就應用領域來說,KPCA也遠沒有PCA應用的廣泛。YANG Jian在PAMI上的那個KPCA plus LDA就是子空間和kernel結合的典型論文。如果用作一般性的降維KPCA確實會比PCA效果好,特別是你用的feature空間不是一般的歐式空間的時候更爲明顯。所以,把LDA用在KPCA變換的空間裏自然會比用在PCA變換的空間裏效果好。
但是就降維來說,KPCA有一個嚴重的缺點,就是由它不能得到一個可表示的子空間,比如PCA也可以得到一組正交基作爲表示基。當然,這也是kernel方法的本質屬性導致的。這樣就會限制kernel方法的應該範圍。舉個簡單的例子,有人做過用PCA來給SIFT特徵降維的方法,也就是那個SIFT+PCA,但他們沒有用KPCA+SIFT。就原理上來說,KPCA更適合給SIFT降維,但是在實際應用中,對於SIFT來說,如果需要降維的話,用來降維的東西必須事先學好,PCA就可以事先通過大量的自然圖片來學習一個子空間。但是,KPCA做不到。雖然有out-of-sample的方法,但是這種方法有明顯的缺點:如果訓練樣本過大,KPCA的kernel矩陣就很大,這樣就很不方便應用,如果過小,效果又不好。其實這也是這類kernel方法的通病(不是一般)。

b. regression

regression也是分類常用的一種方法。CVPR'07就有一篇Kernel ridge regression。
regression用來分類的原理很簡單,但是他和傳統的LDA等類似的方法有着明顯的區別。就ridge regression來說,它就是要找一個變換,使樣本在變換後的空間裏和他們本身的label儘量接近,那末這個學到的變換就在最小二乘意義下儘量好的刻畫了樣本空間的類結構。一般的,對變換函數(離散就是向量或是矩陣)做一個l2範數上的限制,美其名曰保證函數的smooth(這個下面還會再談)。這樣就可以得到一個形式上較爲美的閉解。其實根本不用kernelizaton,regression本身就可以和kernel直接掛上鉤,因爲求出來變換矩陣在一定限制下就可以看成kernel矩陣(YE Jieping CVPR‘07的metric learning中就用到了類似的思想)。這個和用graph Laplacian做ranking的方法非常相似。Laplacian(或是其簡單變形)的逆矩陣如果是正定的,那末就把這個逆看作kernel矩陣。那末和kernel直接相關的方法和思路就用上來了,特別是learning中,種類繁雜。

把ridge regression核化的全部技術含量就在計算的trick上。由於把樣本映射到Hilbert空間中只是一個虛的表示,在出現內積的情況下才能寫成現實的表達式,所以對於kernel方法來說,計算上的trick要求就比較高。但是,往往這類trick都是在統計和矩陣早已被解決的問題,所以大部分工作就是怎樣用好而已。

像這樣“借殼還魂”的做法,在很多理論的研究上都非常重要。我們要達到我們的目的,但是這個東西又不是直接可表達的,那末就可以把它放到一定的空間中,按照這個空間中的基本原理來計算,最後到達一個可以表達的形式,而且是按照你的idea來推導的。這種東西一旦做出來,質量還不低。

2,regularization

雖然名字叫regularization,其實就想談談優化目標和優化約束問題。
如果你看了ICML'07,CVPR'07和即將出爐的ICCV'07,你就會發現07年是個不平凡的一年,降維領域有點混亂。或者說自從97年以來一直就沒有平靜過,都是Fisherfaces惹的禍:)
還記得knato回帖中斗膽列出的排列組合嗎?如果不記得暫且去溫習一下,因爲我要用一把。把knato列出的不同排列組合加上如下regression一個的一個優化
||Y-W'X||^2,
就可以概括所有今年的和這類相關論文的思想。然後,如果你願意,你還可以衍生出很多。優化目標確定以後,所不同的就是求解方法。你可以帶着這個觀點再去看一下今年的論文,瞭然於胸。

由此,線性降維的混亂過程經歷了一個小小的轉折————從子空間組合到優化目標和優化約束的組合。子空間主要集中在1998--2005(當然還不會消失),後一種在今年可以說是達到一個小小的高潮。如果再加上應用算法的策略,就形成了亂世中的三足鼎立局面。特別是後一種,往往穿插出現,而且有待加強。這其中的代表人物 TANG Xiaoou, YANG Jian, YE Jieping, HE Xiaofei,YAN Shuicheng。導致這一變更的主要因素來源於非線性方法的應用,特別kernel和manifold learning的線性化應用,這其中LPP起了很大的刺激作用。
如果你能站在一個高度(一定範圍內)看待這些東西,那末當你面臨畢業出國壓力時,你就可以“察若水三千,得一瓢飲”來緩解壓力。而且還可以儘量飲得好水。(再次鄭重聲明:這不是發這個帖子的原意。)

3,子空間方法中常用的計算技巧
a.
關於這一塊的東西,Stan Z. Li編輯過一個小書挺好的,可以通過下面的網站找到。
http://www.face-rec.org/
不過,我想談談規律性的東西。這其中涉及到的東西就是 column (range) space, null space, generalized inverse。這些東西都和QR分解,SVD或是GSVD相關。遇到這些東西,就想起他們準沒錯。如果你有興趣,可以看看YE Jieping和Haesun Park關於子空間的論文,都是一個模式。

b. 正交化
從發表的論文來看,對於廣義特徵值問題,如果求解一組相互正交的基,比B-orthogonal效果要好很多。代表作就是CAI Deng的orthogonal LPP和YE Jieping的 orthogonal LDA。
CAI Deng做了一個orthogonal LPP發在TIP上。他用的就是88年發在TPAMI上的方法,原理一模一樣。YE Jieping用的是同時對角化三個矩陣。風格不同,各有長短。個人還是傾向於CAI Deng用的那個方法。

4,Tensor revisited

在上一篇中,我談了tensor的方法,主要說了tensorfaces和NTF。這裏再多說幾句。

最近在tensor方面功夫最多的是YAN Shuicheng,最近的TPAMI, TIP, 和 CVPR'07都有他與此相關的文章。這對於發揚和推廣tensor的思想和方法確實是個好事情,我是贊同探討的。
另外,HE Xiaofei和CAI Deng也做過tensor subspace。準確地說,他們只是借用了tensor的概念,他們的方法可以和2D PCA, 2D LDA歸爲一類。

其實做這一塊東西最早的是YANG Jian的一個大師兄,在90年代PR上的工作,後來YANG Jian把它發揚光大,最初的結果就是PR和TPAMI上各一篇短文(2DPCA)。
最早把這類東西以tensor形式呈現的是CV中的大牛Amnon Shashua在01年CVPR上的論文,有興趣可以看看。不過,大牛終究是大牛,當他聽說了NMF以後,NTF立馬橫空出世(ICML'05)。這個中間的變化是質的跨越,能做出前面那種方法的可以說非常之多,能做出後面那種方法的真是寥寥。這是值得我們好好學習的。
(B.T.W.,Amnon此人並不只是學術了得,其妻子是以色列小姐,again,也值得大家學習的榜樣,特別是整天悶頭做科研的我們)

在這裏要強調的是,我們不能完全否定一些簡單的東西,上軌道的或是正宗有深度的方法往往就是這樣慢慢做出來的。


5,其它

關於kernel的方法我就是點到而止。在上一個帖子中有人提出說說SVM和Boosting,如果誰有興趣,可以談談。

另外也有人說在上一個貼中我漏掉了Bayesianfaces,實際這個就是我在參數模型中提到的Probabilistic Subspaces方法。有興趣可以看看。


結束語

縱觀PAMI領域困擾紛爭,雖然我們達不到“跳出三界外,不在五行中”的境界,但是至少我們可以更好的看清楚這個領域的情況。如果你能站在一個高度看待這些東西,你就有可能認清你自己認爲有希望的方向在哪兒,從而更準確地找到自己的目標而少走彎路,或是更好地給自己定位。

寫這些東西,就是想幫助瞭解這一領域的人能全面準確地瞭解這一塊的東西,少走彎路。另外,對於已經諳熟於心的人,激發一個討論的話題。在上一篇貼子中,看貼的人多,回帖的人少,這個現象可不好。歡迎大家踊躍發言,良性討論,這樣纔會帶來更多益處,千萬不要擔心自己是新手,越是新手越需要發言。

俗話說:“亂世出英雄”,當今在PAMI領域正是需要英雄的時機,就是我在I中說的“我們正處在一個大有可爲的時代”,希望下次力挽狂瀾的是華人的名字。

以上盡是一家之言,歡迎大家批評指正、主動參與討論。

最後用王羲之的《蘭亭序》中的兩段話來抒情吧:)

夫人之相與,俯仰一世,或取諸懷抱,晤言一室之內;或因寄所託,放浪形骸之外。雖取捨萬殊,靜躁不同,當其欣於所遇,暫得於己,快然自足,不知老之將至,及其所之既倦,情隨事遷,感慨系之矣。向之,所欣俯仰之間,以爲陳跡猶不能不以之興懷。況修短隨化,終期於盡。古人云:死生亦大矣。豈不痛哉!

每覽昔人興感之由,若合一契,未嘗不臨文嗟悼,不能喻之於懷。固知一死生爲虛誕,齊彭殤爲妄作。後之視今,亦猶今之視昔。悲夫!故列敘時人,錄其所述,雖世殊事異,所以興懷其致一也。後之覽者,亦將有感於斯文。


dodo:人臉識別 III (方向問題)

dodo:人臉識別 III (方向問題)(2008-03-05 12:46:45) 轉載 
兼答Williams兄問。http://prfans.com/forum/viewthread.php?tid=265
就像loveisp兄說的,人臉識別中已經解決的問題還很有限。值得研究的問題很多。關鍵是有沒有恆心和能力去做的問題。這裏就簡單談談人臉識別方向問題。
1)detection
face detection 的進展比 recognition 要好。當然前者也是實際應用的基礎。
但是就detection來說,現在基本上還都是基於傳統框架上的learning方法,新的思維還有待探索。是實際做過這類工作的人都有體會,training不是個容易的過程。比如不基於learning的 saliency maps, attention 等相關領域的方法都會隨着時間慢慢滲透到detection中來。有心的人可以留意留意,或是有可能做些引導性的工作。

2)recognition
a. feature extraction
對於face recognition來說,最重要的在於合理的 visual feature 的提取,關於這一點夥伴們在人臉貼中都有討論過。而就現在可以用的 visual feature extractor 來說,能用的很有限,也就是那幾個。現在最常用的也就是 Gabor, LBP。也有用SIFT這類feature作識別的。Gabor有一個缺點就是速度快不了,所以現在在嘗試的實際系統中,一般選擇LBP:1)能保證一定的效果;2)相對來說,速度快。

有一點值得強調,現在detection和recognition用的feature一般都是不一樣的,由於種種原因,現在這兩個任務都是獨立分開來做的。當然,從實際應用的角度來說,如果兩者結合在一起效率會更高。這幾年,這類工作也有出現。我認爲對做實際應用系統的夥伴們,這類方向值得注意。
b. feature selection and classifier
feature提好之後就是怎麼用的問題,一般就用兩種選擇 1)直接上 classifier 2)做個處理之後在上classifier,比如 feature selection 或是dimensionality reduction。這兩個都是脫離於人臉識別之外的一般性問題。
boosting相關的方法和svm相關的方法還是這類問題的首選。feature selection 這一塊能做的工作比較多。由於boosting相關思想的有效性,還是這些問題的主題;另外,基本L1的sparse方法會在這一塊發揮重要作用。進而會把 combinatorics 的方法和思想引進 feature selection 和 classifier這兩個領域中來。這是一個很有潛力的方向,有興趣的朋友可以看看。論文也很好找,應用Salu兄的 “逐步細化搜索法” ,第次搜索幾個關鍵詞就可以了。比如
1) L1 regularization, sparse;  classifier, feature selection,....
2) feature selection, classifier, classification; simplex, complex, polyhedra, polyhedron, ....
然後再在搜到的論文中得到更有用的信息,找更合適的主題。

我建議對這一塊比較感興趣的夥伴們,可以先看看SDP、convex optimization、和 geometric combinatorics 相關的書籍,不一定要細看,開卷有益。

c. face recognition和傳統的分類問題並不等價!
不要把傳統的基於子空間提取鑑別特徵的人臉識別方法當作人臉識別本身
!對於新人來說,這是個誤區。那些方法,比如 PCA, LDA, LPP, MFA等等,對於人臉識別來說僅僅能起到錦上添花的作用。準確的說,那些都是和傳統分類問題有關的方法,不是人臉識別問題本身。它們有它們的意義,但是不要和人臉識別劃等號。
Fisherfaces是人臉識別中的一個影響力非常大的方法。而正是這個方法對人臉識別造成了非常負面的影響。由於現在用子空間方法以人臉識別爲主題(甚至爲題目)的論文鋪天蓋地,人們常常誤解爲那是在解決人臉識別問題!對於真正想解決人臉識別問題的新人來說,這是個非常不好的誘導。
另外,也不要隨意認爲那些已經成名的大家發的論文就是正確的方向。要廣泛聽聽意見,根據自己的實際考察,然後做出判斷。盲從只會迷失方向。

我勸想做人臉識別的夥伴們,在FRGC、FERET這樣的大規模人臉庫上,自己實際比較一下Gabor、LBP、RDA、Fisherfaces等方法,或是結合應用,心中自然有數。

3) 3D related.
雖然本人不看好三維人臉識別的實際應用前景,但是三維人臉識別在pose變化等情況下確實展現了非凡的能力,而且確實是在做人臉識別問題本身。值得廣泛深入探討。本人在這一塊瞭解有限,不敢妄言。
有興趣的朋友可以找找相關論文參考參考。有經驗的夥伴可以多談談。


結束語

1)關於我在《人臉識別》帖子中列出的種種方法,就像我說過的一樣,“就方法論方法”。這個帖子算是對前兩個帖子在人臉識別問題上的一點補充。
2)由於本人所知有限,寫出來的也只是冰山之一角;而且都是些個人理解和觀點,僅供夥伴們參考,不要太當回事。
3)寫帖子的本意就是想幫助新人們儘快瞭解相關的領域,但是我們也應該看到另外一面:往往先入爲主,把新人誘導到所寫的東西上。再次強調,寫出來的東西僅僅是作者個人在某些方向上的理解和觀點,僅僅當作參考,不要盲從
4)另外,在這一塊一直缺少boosting、svm、3d face recognition相關的帖子,還是希望瞭解的夥伴們能寫寫。

歡迎夥伴們積極參與討論,發表意見,共同成長,共同受益。 (本帖在其它論壇和bbs上貼出來時,用的題目是《dodo:人臉識別的方向問題》)





=============================同時下面貼出一篇關於利用稀疏的方式解決人臉識別問題的介紹

文章轉載至:http://blog.csdn.net/celerychen2009/article/details/9257275

基於稀疏表示的人臉識別

1.  問題背景


        信號的稀疏表示並不是新的東西。我們很早就一直在利用這一特性。例如,最簡單的JPEG圖像壓縮算法。原始的圖像信號經過DCT變換之後,只有極少數元素是非零的,而大部分元素都等於零或者說接近於零。這就是信號的稀疏性。

        任何模型都有建模的假設條件。壓縮感知,正是利用的信號的稀疏性這個假設。對於我們處理的信號,時域上本身就具有稀疏性的信號是很少的。但是,我們總能找到某種變換,使得在某個變換域之後信號具有稀疏性。這種變換是很多的,最常見的就是DCT變換,小波變換,gabor變換等。

        然而,這種正交變換是傳統視頻圖像處理採用的方法。目前所採用的一般不是正交變換。它是基於樣本採樣的。或者說是通過大量圖像數據學習得到的,其結果稱作字典,字典中的每一個元素稱作原子。相關的學習算法稱作字典學習。常見的算法例如K-SVD算法。學習的目標函數是找到所有樣本在這些原子的線性組合表示下是稀疏的,即同時估計字典和稀疏表示的係數這兩個目標。


       壓縮感知和稀疏表示其實是有些不同的。壓縮感知的字典是固定的,在壓縮感知的術語裏面其字典叫做測量矩陣。但壓縮感知的恢復算法和稀疏表示是同一個問題。他們都可以歸結爲帶約束條件的L1範數最小化問題。求解這類泛函的優化有很多種方法。早在80年代,統計學中Lasso問題,其實和稀疏分解的優化目標泛函是等價的。而求解統計學中lasso 問題的LARS算法很早就被提出了,故我們還可以通過統計學的LARS算法求解稀疏表示問題。目前很多統計學軟件包都自帶LARS算法的求解器。


2. 基於稀疏表示的分類 SRC


      人臉的稀疏表示是基於光照模型。即一張人臉圖像,可以用數據庫中同一個人所有的人臉圖像的線性組合表示。而對於數據庫中其它人的臉,其線性組合的係數理論上爲零。由於數據庫中一般有很多個不同的人臉的多張圖像,如果把數據庫中所有的圖像的線性組合來表示這張給定的測試人臉,其係數向量是稀疏的。因爲除了這張和同一個人的人臉的圖像組合係數不爲零外,其它的係數都爲零。

       上述模型導出了基於稀疏表示的另外一個很強的假設條件:所有的人臉圖像必須是事先嚴格對齊的。否則,稀疏性很難滿足。換言之,對於表情變化,姿態角度變化的人臉都不滿足稀疏性這個假設。所以,經典的稀疏臉方法很難用於真實的應用場景。

       稀疏臉很強的地方在於對噪聲相當魯棒,相關文獻表明,即使人臉圖像被80%的隨機噪聲干擾,仍然能夠得到很高的識別率。稀疏臉另外一個很強的地方在於對於部分遮擋的情況,例如戴圍巾,戴眼鏡等,仍然能夠保持較高的識別性能。上述兩點,是其它任何傳統的人臉識別方法所不具有的。


3. 稀疏人臉識別的實現問題


        一談到識別問題,大家都會想到要用機器學習的方法。先進行訓練,把訓練的結果以模板的形式存儲到數據庫上;真實應用環境的時候,把測試樣本經過特徵提取之後,和數據庫中的模板進行比對,查詢得到一個最相似的類別作爲識別結果。往往,機器訓練的時間都超級長,幾天,幾個禮拜乃至幾個月,那是常見的事情;識別的時間一般是很小的。典型的例如人臉檢測問題。這是可以接受的,因爲訓練一般都是離線的。


        然而,基於稀疏分解的人臉識別是不需要訓練的,或者說訓練及其簡單。基於稀疏表示的人臉識別,其稀疏表示用的字典直接由訓練所用的全部圖像構成,而不需要經過字典學習【也有一些改進算法,針對字典進行學習的】。當然,一般是經過簡單的特徵提取。由於稀疏表示的方法對使用什麼特徵並不敏感。故而,其訓練過程只需要把原始圖像數據經過簡單的處理之後排列成一個很大的三維矩陣存儲到數據庫裏面就可以了。


        關鍵的問題在於,當實際環境中來了一張人臉圖像之後,去求解這張人臉圖像在數據庫所有圖像上的稀疏表示,這個求解算法,一般比較耗時。儘管有很多的方法被提出,但是對於實時應用問題,依然沒法滿足。所以,問題的關鍵還是歸結於L1範數最小化問題上來。


       L1範數最小化問題已經有很多種快速求解方法,這裏主要包括有梯度投影Gradient Projection,同倫算法,迭代閾值收縮,領域梯度Proximal Gradient,增廣拉格朗日方法,這幾種方法都比正交匹配追蹤算法OMP要高效的多。上述幾種快速算法中,採用增廣拉格朗日的對偶實現相比其它的快速算法要更好。最近流行的Spit Bregman算法也是不錯的選擇。

      

4. 稀疏表示人臉識別的改進算法


         稀疏人臉識別算法要用於實際的系統,需要在兩方面加以改進。首先,要突破人臉圖像的對齊這一很強的假設。實際環境中的人臉往往是不對齊的,如何處理不對其的人臉是額待解決的問題。其實,是快速高效的優化算法。最後,也是最重要,實際環境中的應用往往訓練樣本很少。目前,研究人員已經取得了很多可喜的成果,下面分別予以介紹。

4.1 CRC-RLS算法 

         CVPR2011 LeiZhang  Sparse Representatiion or Callaborative Representation: Which helps Face Recognition? 稀疏表示和協同表示,哪一個有助於人臉識別。該文作 者提出了用L2範數代替L1範數求解原問題。這樣,能夠非常快速的求解問題,實時性沒有任何問題。但稀疏性不像原來的L1範數那樣強。但作者對分類準則進行了改進,使得其分類性能幾乎接近於原始L1範數最小化問題分類性能。爲了對比,我把關鍵性算法列表如下:

                                                                  
                                                               
         SRC算法求解的是方程1的解,而CRC-RLS算法則直接給出了表示係數的最小二乘解。二者另外一個主要的不同點在於計算殘差的方式不一樣,具體請注意上述方程2和方程10的不同點。後者的計算時間較前者最多情況下加速了1600倍。更多的實現細節可以參考原文。

       

   4.2  RSC算法 

              CVPR2011 Meng Yang,Robost  Sparse Coding for Face Recognition. 魯棒的稀疏編碼算法。該文作者沒有直接求解稀疏編碼問題,而是求解Lasso問題,因爲Lasso問題的解和稀疏編碼的解是等價的。在傳統的SRC框架下,編碼誤差使用L2範數來度量的,這也就意味着編碼誤差滿足高斯分佈,然而,當人臉圖像出現遮擋和噪聲污染的情況下,並非如此。在字典學習框架下,這樣的字典是有噪聲的。該文作者對原始Lasso問題進行改進,求解加權L1範數約束的線性迴歸問題。Lasso問題描述如下:


                                                      


               加權Lasso問題的目標函數描述如下:

                                                             

            此算法的關鍵還在於權重係數的確定,文中採用的是logistic函數,而具體的實現則是通過迭代估計學習得到。該方法基於這樣一個事實:被遮擋或噪聲干擾的像素點賦予較小的權重,而其它像素點的權重相對較大。具體迭代算法採用經典的迭代重加權算法框架,當然內部嵌入的稀疏編碼的求解過程。此算法在50%遮擋面積的情況下取得的更好更滿意的結果。但是文中沒有比較計算時間上的優略而直說和SRC框架差不多。


4.3  RASL算法

        CVPR2010. Yigang Peng.  Robust batch Alignment of Images by Sparse and Low-Rank Decomposition. 這篇文章的作者在這篇文章中討論的是用矩陣的低秩分解和稀疏表示來對齊人臉的問題。

4.4  RASR算法

       PAMI2011 Wagner. Towards a Practical Face Recognition System:Robust Alignment and Illumination by Sparse Representation.該文的目的和RASL類似。

4.5  MRR算法

          ECCV2012,Meng Yang. Efficient Misalignment-Robust Representation for Real Time Face Recognition.這篇文章又是Meng Yang的大作。這篇文章在充分分析RASR算法的基礎上提出了一個高效的快速算法。該文對人臉對齊中求解變換矩陣T分爲由粗到細的兩個階段。 這篇文章把稀疏臉應用在實際系統中推進了一大步。具體算法實現本人正在拜讀之中。

        對稀疏臉的改進算法其實很多,例如分塊SRC算法,表情魯棒SRC等。但本人認爲能夠把它推向實際應用的卻很少。上述文獻是本人認爲可圈可點的值得仔細拜讀的文獻。

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