1. 程式人生 > >文獻筆記:《Fitting a 3D Morphable Model to Edges: A Comparison Between Hard and Soft Correspondences》讀後感~

文獻筆記:《Fitting a 3D Morphable Model to Edges: A Comparison Between Hard and Soft Correspondences》讀後感~

        這也是最近讀的arXiv文獻,關於基於單幅人臉影象進行三維重構的,注意是單幅人臉影象,而不是兩幅或者多幅,單憑這一點就很吸引人,因為其難度很大,之前的演算法包括自己實現過的演算法,效果都一塌糊塗,那本文介紹的演算法有何過人之處?我們可以先看看它的效果圖。


圖1. 三維重構效果圖,第一行:大姿態,第二行:正面照,第三行,基於第一行恢復的正面照

       有沒有眼前一亮的感覺?第三行和第二行相比,除了不可避免的缺失區域(白色區域),已經十分相近了,就憑這個實現效果,我馬上把這篇論文仔仔細細的看了一遍。在說這篇論文的亮點之前,我先說說之前我是怎麼做這個事情的,老規矩直接上圖!!!


圖2. 人臉三維重構流程圖

      我想根據這個流程圖大家很快就能明白人臉三維重構是怎麼一回事情了,這裡有一處沒有提到,就在旋轉3D模型那塊,其實這個3D模型完全可以是可形變的,如何對3D模型根據輸入影象進行形變也是當前的一個研究難點,此處打算另開一個部落格進行經驗分享,既然做好了鋪墊,下面我們就說一下本文的創新之處在何方。我的總結該文獻有以下兩點貢獻:

1. 引入了邊緣資訊用於尋找對應點。

2. 迭代解決問題。

     筒子們!!狂歡吧!!先自己想想,我去打個籃球。。。。。回來繼續補上。。。。

     打球歸來一天了!!繼續開始寫,先解釋一下文獻設計到的名詞。

     1. 3DMM,三維可形變模型,每個照片的人臉都是不同的,尤其是姿態和表情,你想用一個模型做“模子”來表達一張人臉,總要想方設法讓三維模型也“笑”也"哭"吧?OK,這就是3DMM的目的,一般的做法無非就是得到一堆三維人臉影象,求個PCA,然後就可以利用幾個“特徵臉”來模擬人的表情了。

     2. 尺度正交投影,就是弱透視,就是我第一篇部落格裡提到的公式,無非就是告訴我們用這個公式之前要假設人臉深度的變化和人臉距離相機的距離顯得“不值一提”。

     3. 硬對應,這個地方是作者的創新之處,“對應”指的是三維模型的點和二維圖形點的對應關係,就是流程圖中的“計算對應點”步驟。至於為什麼要叫做硬對應,下面會詳細說明。

     4. 軟對應,作者要對比的方法,軟對應是之前這個領域內常用的方法:簡歷一個能量函式,利用最優化理論求出最優對應關係。

     下面詳細說說,作者的“硬對應”思路。如圖所示,這是作者在計算對應點的第一步迭代示意圖。

     

圖3. 第一步迭代示意圖


其中,左面的影象代表影象上檢測出來的特徵點,基於這些特徵點能夠求出人臉姿態P和形變模型S,然後就將模型形變旋轉進一步投影,“糊在”影象上面,也就是中間那副影象,這個時候注意了,一旦姿態和形狀不準,這個投影模型肯定和影象的對齊效果很差,二者吻合的相當差,這個之後我們咋辦??????

      這個時候不得不感慨,這世界上的聰明人真多,作者想出了一招,他覺得只有匹配點太少了,還要再製造一些點出來,於是他想到了影象的邊緣點,他又想到了投影模型也有邊緣點,OK,那還扯什麼扯了,直接上ICP吧!!!!啥是ICP???就是最近點迭代演算法,經典的不行不行了。。。。

      我們看看第三幅圖吧,綠色和紅色的點就是投影模型的邊緣點(計算過程挺複雜),藍色的點就是影象的邊緣點(Canny演算法),綠色的點是有可靠邊緣的點,紅色的點是無可靠邊緣的點,進一步,下一步迭代投影模型的邊緣點就都換成綠色點的可靠邊緣點。然後開始ICP的下一輪迭代。

      作者經過試驗驗證,說其硬對應方法要比軟對應方法好很多,並且提供了程式碼,有興趣的童鞋可以下載下來跑一跑哈!

(轉載請註明:http://blog.csdn.net/wsj998689aa/article/details/50754595, 作者:迷霧forest)