微軟三維人臉重建論文前期知識鋪墊——《Accurate 3D Face Reconstruction with Weakly-Supervised Learning》

一個3D模型的數據結構是怎麼樣的?

首先是一個points_shape,這個shape的形狀是shape=(35709,3)。其中35709代表這個模型包括35709個點,3代表的是這些點的三維座標。有了這個矩陣,我們能夠在腦海裏想象在空間中有一個密密麻麻的點雲,看上去像個人臉,可是這些點都是離散的。

接着就是traingle矩陣,這個矩陣的形狀shape=(70789,3)。70789表示這個模型包括70789個三角形面。每個面都由三個頂點組成,後面的3就表示這三個頂點的序號(在points_shape中的序號)。有了這個變量,人臉就不再是離散的點雲了,而是有拓撲結構的一個人臉模型了。

最後是顏色,texture,shape=(35709,3),35709肯定代表的是點,3代表的RGB三通道。

到此,一個三維模型應該就表示清楚了。

什麼是3DMM

實際上,大多數三維人臉重建都是基於一項叫做3D Morphable Model的技術實現的。按照字面意思理解,3DMM就是一個允許形變的三維模型。是的,我們可以理解成這是一個標準的人臉模型,這個世界上的所有人臉都可以由這張標準量經過一些變形而生成!(當然,實際上是不可能的,這麼說只是爲了不讓大家感覺作者有什麼外貌歧視)實際上,上面的話聽起來像是廢話,如果大家有玩過有“捏臉”功能的遊戲的話,應該會比較有感觸,有一些頗具藝術細胞的玩家能夠捏出很棒的人臉模型,甚至是捏出他們的男神、女神。3DMM就有點這個意思,不過它牛的地方不是依靠人工捏臉,而是它給定了兩組係數,分別是:形狀係數,顏色系數。是的,有了形狀和顏色,一個三維人臉也就生成了。這些係數有多少個呢?不同的3DMM模型定義的係數是有些許差別的,實際上,後面還延伸出一種表情係數。我們簡單對這三組係數做一下說明:​​​​​​​

  1. 形狀係數:指定人臉的三維形狀,有了這組係數,我們就可以生成一個面無表情的,光禿禿(沒色彩)的三維模型。或者叫它原型比較合適。
  2. 顏色系數:指定顏色。有了這組係數,就可以對模型進行上色了,這時會得到一個逼真的有色彩的可是面無表情的三維模型。
  3. 表情係數:指定表情。有了這組係數,我們的模型可以微笑、難過、大笑、甚至噘嘴、眨眼。是的,模型活了。

如果非要給3DMM下個定義的話,我會這麼講:3DMM是一個靜態的包含了指定的生成規則的用於生成三維人臉模型的模板

回到這篇牛皮的論文了,論文中選用BFM2009(3DMM大家庭中的一個版本,由Basel大學制作並公開,傳送門)作爲模板,用於生成三維人臉。

那麼在BFM2009中,形狀係數是一個長度爲199的向量,你也可以理解成數組,總之就是199個數。然後!原諒我理解不夠深,實際上可以用少於199個數,比如論文中只用了80個數。當然我的理解是,數越少,損失的信息也會越多。不過,它是有進行重要性排序的,也就是這80個數是這199個係數中最重要的數。可能會丟失一些溝壑、邊邊角角的信息,但是整體的輪廓仍然是準確的。顏色系數同理。(實際上,如果需要完全理解其中奧祕,需要完全理解3DMM的生成原理,可以參照文獻)

 


 

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