ClothCap:無縫的4D衣服捕捉與重定向
ClothCap:無縫的4D衣服捕捉與重定向
論文地址:[Siggraph, 2017] ClothCap: Seamless 4D Clothing Capture and Retargeting
影片地址
總覽
從左至右:1。 輸入的有紋理的體3D點雲資料; 2。 使用MRF自動分割衣服; 3。估計minimally clothed shape;4。5。 可以修改人體的shape和pose,衣服也會隨之改變
目標
:衣服捕捉、建模、重定向、變姿勢、虛擬換裝
問題
:如何對人體衣服與人體同時進行建模
輸入
:4D掃描資料
輸出
:人體動作、形狀;衣服
挑戰
:高質量的捕捉、分割、表面跟蹤、人體形狀動作估計
方法
:使用多網格(multi-mesh)表達。
貢獻
:
一種利用人體模型自動分割掃描資料的方法
一種多網格模板跟蹤方法
一種重定向衣服到新的形狀的方法
資料
:60fps的高精度的4D scan
步驟
:
設定:定義衣服的數量,以及這些衣服大概會在身體的什麼部位
分割:
輸入:4D掃描資料(點)
輸出:每一幀的SMPL對齊的結果
輸入:SMPL對齊結果與掃描資料
輸出:每一幀上每一個點的分割結果
Multi-cloth alignment: 變形分割的衣服模型去擬合分割的掃描資料
重定向:根據輸入的序列估計衣服是怎樣根據shape變形的,並簡單的應用到新的序列上
詳細介紹:
身體模型
基於SMPL模型,可參考之前寫的SMPL模型介紹
輸入
:
表示人體形狀與姿勢,
表示多餘的位移,用來表示更細緻的變形
輸出
:
表示人體網格模型所有點的座標
衣服捕捉
5。1 單網格模型配準
輸入:
3D掃描資料
輸出:
對每一幀的對齊的SMPL模型
這件事情分成兩步進行:
第一步:擬合第一幀
輸入:
每一段影片的第一幀的掃描資料,A-pose
輸出:
變形過的每一段影片的SMPL模型,作為後面其他幀的模板
定義能量函式,最小化。各項為:
資料項:使SMPL變形模型上的點與掃描的點雲接近
耦合項:使變形的模型與未變形的SMPL模型接近,約束變形的程度
姿態先驗:接近A-pose
形狀先驗:約束SMPL的形狀引數
第一點五步:計算無pose的衣服模板
輸入:
上一步解出的有姿勢的模板
輸出:
無姿勢的模板
同樣求解最佳化問題
求解出一個根據此時的pose引數變形之後與當前姿勢的模板接近的模板。這個模板可以與SMPL相同的方式根據pose進行變換
第二步,對於每一段影片:
輸入:
上一步求出的模板
輸出:
將模板對齊到後續各幀的結果
解最佳化問題:
資料項:將新的有衣服的模板根據每幀的動作變形之後與掃描的點雲儘量接近
修正的耦合項:有衣服的模型與這一幀的變形模型儘量接近
5。2 身體模型輔助下的衣服分割
輸入:
帶衣服的模板
輸出:
模板上每一個點的類別,屬於人的面板或者某一類衣服。
問題:
噪音、陰影、光照變化
代價函式:
資料相似項:
對於第i個點,j是其鄰域上的點,使用混合高斯模型(GMM)計算其似然函式。
GMM模型怎麼來?根據第一幀,使用K-means進行聚類。
衣服先驗:
手動定義SMPL上的點大概會屬於哪些衣服。如果一個節點屬於某一類,那麼
綠色:可能是這一部分;紅色:不可能是;灰色:模糊
平滑項:相鄰的節點應該有相同的類別
分割:
根據mesh上點的標籤,將mesh劃分成幾片
5。3 多片衣服對齊
a:輸入的掃描資料,b:對第一幀的分割結果;c:對每一片進行變形; d:對其進行repose
輸入:
輸出:
將SMPL的 mean shape拆分成幾片,對每一片進行變形,得到多衣服的模板
對每一個序列的資料,只計算一次,並將多個衣服的模板對齊到每一幀
這裡只保證了拓撲結構相同,但是其點是可以進行變形的
資料項:使變形後的衣服與其掃描資料對應的分割儘量接近
邊界項:讓mesh的邊界與掃描資料的邊界儘量接近
耦合項:衣服與第一幀的衣服儘量接近,不要變形太遠
衣服拉普拉斯項:與之前類似
邊界平滑項:對邊界的圈上的點進行平滑
對整段進行更新
5。4 重定向
準備:計算最小穿衣形狀(MCS)->掃描穿緊身衣的模特
著衣
補充材料
alpha expansion
MRF