Face Service論文筆記 Reconstruction-Based Disentanglement for Pose-invariant Face Recognition_電腦視覺

來源:互聯網
上載者:User

一篇做pose-invariantFace Service的paper:

Reconstruction-Based Disentanglement for Pose-invariant Face Recognition.Xi Peng, Xiang Yu, Kihyuk Sohn, Dimitris N. Metaxas and Manmohan Chandraker

因為裡面還有用3D model來做二維人臉映像render的工作,所以順便看了這篇比較老的文章:A Morphable Model For The Synthesis Of 3D Faces. Volker Blanz Thomas Vetter

Motivation

     工作是為瞭解決pose variant face recognition的,怎麼能在比較大的pose下把Face Service做好,目前大部分的Face Service工作沒有顯示的來解決pose的問題,指望通過訓練資料裡涵蓋足夠多的大pose資料來做,也有deepface這樣的工作做了基於2D人臉恢複成3D再轉正的嘗試,不過我們之前也嘗試複現過這個結果,恢複出來的正面2D人臉效果並不好。所以作者提出了三個新的思路,一是因為把側面的轉正之後還是會有資訊損失,所以選擇了通過正面的2D恢複3D再投影產生不同pose的2D人臉映像;二是在訓練Face Service模型的時候做多個監督資訊的訓練,把pose、屬性和識別放在一起訓,希望在一個基礎feature上進一步得到分別表示pose、landmark和identity的feature;三是通過把pose分支學到的feature與正面人臉的identity feature拼接在一起去重建基礎feature,這樣來保證不同pose的人臉圖片學到的identity feature是相似的。

基本原理     

   首先是第一步,從一個2D正面人臉恢複3D再投射成一個2D帶pose的人臉,這裡面主要是用了3D morphable model來恢複3D人臉shape。之前沒太瞭解過相關的技術所以看起來還是比較費勁的,大致的原理是有一些掃描得到的三維人臉資料,要想求一個沒見過的2D人臉上的shape在真實三維空間裡的座標,方法是基於已有的三維資料對新來的這個人臉三維shape做重建,重建的方式在已有三維資料的shape上做PCA,也就是求得一組基(這篇paper裡基的個數是66)作為重建的向量。那麼每個新來的人臉作為輸入經過一個神經網路學習一組參數(包括旋轉、平移、縮放以及每個基的weight)來產生這個待預測人臉的3D shape,監督資訊是利用這個shape在正面的投影參數下把原始映像投影回2D使得L2 loss盡量的小(這個地方其實paper裡沒有提,是在第二篇paper裡看到的,貌似也有方法是用投影回來的landmark位置的L2 Loss做監督資訊,歡迎大家討論)。有了這個shape之後把原始人臉投影成不同的pose,為了更好的重建,還對identity和expression求了不同的基。具體的過程就是figure 2 中的圖a部分,sRT分別是縮放、旋轉和平移,兩個alpha分別是identity和expression的係數向量,實現的時候其實還加了個pose的基,分別是30維、29維和7維,一共66維。

       第二步就比較好理解了,就是正常的多分類加landmark加pose joint learning學習feature,為了第三步做了處理是先得到一個rich feature,然後分別用一個小網路從rich feature得到identity和non-identity的feature,每個feature再疊加一個小網路用分別的loss去做訓練。一些人可能會覺得這樣不就算是用不同任務得到不同的feature了嗎,為什麼還需要第三步。因為這樣分開訓練只能說這個feature有相當的表達能力可以完成identity和non-identity的任務,但是不能保證identity的feature裡不包含non-identity的資訊,也不能保證non-identity的feature裡不包含identity的資訊。因此我們還需要一個方式來盡量使得兩個feature之間不冗餘。

       第三步如figure4,fix住得到rich feature的底層網路,訓練的時候輸入一個pair,同一個人的正面和非正面人臉映像,把正面人臉圖片的identity和non-identity feature用一個網路做重構,要求其能重構原始的rich feature;同時把正面人臉映像的non-identity feature和側面人臉的identity feature用一個網路做重構正面人臉的rich feature,最小化這兩個重構誤差,最終的loss如公式3,這個過程裡學習的是得到identity和non-identity的網路參數以及重構的網路參數。

       

       其實這個地方也可以理解為是基於feature的GAN,通過一個G網路產生一個rich feature,使得難以區分它和原始的rich feature。另外在重構的時候感覺應該也可以加上兩項對側面人臉rich feature的重構,不知道為什麼作者沒有這樣做,其初衷還是為了讓側面的feature更像正面的,從實際情況來分析估計側面人臉的feature特性不會很好,重構出這個feature可能會導致結果變差。 實驗結果      在multipie、300wlp和CFP上做了對比實驗,從資料上看效果還是非常好的,在比較大的pose條件下識別率也足夠高,不過這些data set上report的結果不太多而且沒有官方的網站統計結果,不太清楚是否有其他人的結果更好。
    同時還對比了不同的訓練策略的效果,其中看上去加了N-pair loss的提升其實更明顯。。。

整體總結:      是個很精巧的工作,估計比較難複現結果,最後的對比實驗其實有點自我削弱了,看上去N-pair loss對整個效果提升更明顯,設計的比較複雜的SR和L2 loss的差別也沒有多少,不過基於重構和pose augment的思路還是比較直觀的。但是只在損失函數上做監督,並未在底層feature的網路結構上做調整來使得側面人臉可以得到更好的feature,還是應該不會很好的解決pose的問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.