CVPR 2022 | 高質量捕捉人物動作,網易互娛AI Lab提出高效視頻動捕技術
以下文章來源于CVer ,作者網易互娛AI Lab
iCap是網易互娛AI Lab研發(fā)的一款產品級的視覺動作捕捉工具,近日研發(fā)團隊已將手部動作捕捉部分的算法進行了整理,相關論文已被CVPR 2022接收。
動作捕捉技術在影視和游戲行業(yè)已得到廣泛的應用,其中最常用的技術方案是光學動作捕捉。光學動捕需要演員穿著緊身動捕服,并且在身上粘貼光學標記點,在配置好光學動捕設備的場地進行表演和動作錄制。光學動捕設備通常價格不菲,同時還需要固定的室內場地,使用成本和門檻較高,很多小型動畫工作室只能望而卻步。如果可以從手機拍攝的視頻中高精度地捕捉人物動作,那將是動畫師的福音。
現(xiàn)在,動畫師的福音來了。一起來看下面的視頻,只需用手機從兩個視角拍攝同一組人物動作,便可快速高質量地捕捉到人物的動作,得到骨骼動畫數(shù)據(jù)。這些都是通過iCap——網易互娛AI Lab研發(fā)的一款產品級的視覺動作捕捉工具實現(xiàn)的。
相比于傳統(tǒng)光學動作捕捉流程,iCap有以下優(yōu)勢:
1.快速產出:能夠快速產出動作數(shù)據(jù),更適用于敏捷開發(fā),方便前期試錯;2.隨時隨地:只需光照條件足夠讓拍攝清晰,便可隨時隨地拍攝視頻,產出結果;3.節(jié)約人力,節(jié)約成本。
值得一提的是,iCap不僅支持身體關節(jié)數(shù)據(jù)捕捉,也支持手部數(shù)據(jù)捕捉。近日,網易互娛AI Lab已經將手部動作捕捉部分的算法進行了整理,相關論文已被CVPR 2022接收。
論文鏈接:https://arxiv.org/pdf/2203.16202.pdf
現(xiàn)有的手部動作捕捉方法大部分是將手部信息和身體信息分開考慮的,即這些方案的輸入是單純的手部視覺信息。這樣做的問題是,捕捉到的手部動作可能會和手臂動作存在不匹配,不協(xié)調的情況,在整合進全身動作捕捉數(shù)據(jù)時容易產生不合理的姿態(tài)。另外,現(xiàn)有的手部動作捕捉方法大多都只考慮了當前幀的信息,未能考慮幀間連續(xù)性,輸出的動作容易出現(xiàn)抖動,也難以應對復雜的手部動作捕捉場景(模糊、遮擋等)。這些問題都導致現(xiàn)有方案比較難以推向實際應用。
為解決現(xiàn)有方案的痛點,網易互娛AI Lab提出了解決方案,該方案的主要貢獻點如下:
1.考慮到手臂動作和手部動作之間的相關性,設計模型同時預測手臂和手部動作;通過利用此相關性,輸出的手臂和手部姿態(tài)會更加合理;2.通過兩個transformer模型分別在時間和空間維度上提取相關性信息,使得手臂和手部的相關性能夠更好地被利用,與此同時也能輸出幀間連續(xù)的結果;另外,論文還定制了合適的目標函數(shù)以獲得準確而穩(wěn)定的輸出序列。 方法介紹
此項工作的目標是從視頻中捕捉手臂和手的動作,具體地,此方案以骨骼旋轉量來表示動作。實現(xiàn)上述目標最簡單的思路是直接學習一個圖像到骨骼旋轉量的映射,但這就需要有能夠和動作捕捉數(shù)據(jù)逐幀匹配圖像數(shù)據(jù)(即和動作捕捉數(shù)據(jù)對齊的視頻),這通常是難以獲取的。研究者認為,直接從圖像輸入中學習旋轉量信息難度要大于從關鍵點輸入中學習旋轉量信息,因為前者缺少訓練數(shù)據(jù),后者則可以很方便地從動作捕捉數(shù)據(jù)中提取出(輸出關鍵點,輸出旋轉量)數(shù)據(jù)對?;谏鲜龇治?,方案的整體框架主要包括了一個關鍵點預測模塊和一個旋轉量估計模塊。
下圖展示了iCap中手部動作捕捉算法的整體框架。
模型結構
手部動作捕捉方案由兩個模塊組成,一個是關鍵點預測模塊,另一個是旋轉量預測模塊。我們首先獲取手部2D關鍵點以及手臂處的3D關鍵點,然后在基于這些關鍵點,設計了合適的模型用來估計旋轉量。
關鍵點預測模塊包含一個手部2D關鍵點定位模型和一個手臂3D關鍵點預測模型。手部2D關鍵點定位模型是基于MobileNetV3結構設計的,具體結構是基于one shot NAS搜索得出。手臂3D關鍵點則直接采用CVPR 2018的VPose3D預測全身3D姿態(tài),再從中提取手臂關鍵點。
旋轉量預測模塊主要包含兩個Transformer模型,一個是Temporal Transformer,一個是Spatial Transformer,整個模塊稱為Spatial-Temporal Parallel Arm-Hand Motion Transformer(PAHMT)。
Temporal Transformer的主要目標是提取手臂和手部動作的時序先驗信息,以求輸出幀間連續(xù)的動作數(shù)據(jù)。Spatial Transformer的主要目標是提取手臂姿態(tài)和手勢姿態(tài)之間的全局相關性(揮動手臂往往和揮動手掌高度相關)以及不同關節(jié)點之間的局部相關性(譬如無名指的運動通常會帶動中指和小拇指)。
對于一段輸入序列,將其Reshape成不同形狀以作為兩個Transformer的輸入。不論是全局相關性還是局部相關性,他們在不同幀之間都應該保持一致,故論文受到ViT中的classification token的啟發(fā),設置了一個可學習的regression token,用來表征空間相關性特征。我們將Spatial Transformer輸出的空間相關性特征和Temporal Transformer時序特征進行逐元素相加(element-wise adding)得到最后的特征,最后經過一個簡單的回歸網絡得到最后的輸出。
目標函數(shù)
用來引導模型訓練的目標函數(shù)主要包含兩個部分,一部分是重建目標函數(shù),一部分是對抗目標函數(shù)。
對抗目標函數(shù)的主要目的是引導模型輸出具有“真實感”的手臂和手部動作。
重建目標函數(shù)是負責去學習骨骼旋轉量的,主要由三個部分組成,L1 loss,F(xiàn)K loss和幀間平滑loss,
重建損失的基本目標是L1 loss。
考慮到在以骨骼樹的形式表示一個姿態(tài)的旋轉量的時候,不同關節(jié)的重要程度是不一樣的(父節(jié)點的旋轉量會直接影響到子節(jié)點的位置,故同樣的旋轉誤差作用于父子節(jié)點時,父節(jié)點帶來的整體誤差更大),論文引入了FK loss,即對輸出旋轉量通過FK函數(shù)計算得到關節(jié)點位置,用它與ground truth關節(jié)點位置計算loss。
考慮到幀間連續(xù)性,論文還引入了幀間平滑loss。
實驗結果
由于缺少包含手部數(shù)據(jù)的開源動作捕捉數(shù)據(jù)集,研究者收集了一套包含身體關節(jié)和手部動作的動作捕捉數(shù)據(jù),數(shù)據(jù)包含500段動作,總計約20萬幀。該動捕數(shù)據(jù)主要包含了一些舞蹈和體育動作,覆蓋了很多肢體動作和手勢。研究者對該數(shù)據(jù)進行了劃分(90%訓練集,10%驗證集),在此動作捕捉數(shù)據(jù)集上訓練模型并進行了消融實驗對比。下圖展示了該數(shù)據(jù)的樣例。
另外,論文還通過動捕數(shù)據(jù)渲染得到了一批包含手部動作標簽的視頻數(shù)據(jù),用來和state-of-the-art算法進行對比。下圖展示了渲染數(shù)據(jù)集的樣例。
評價指標:論文同時以MPJPE(Mean Per Joint Position Error)和MPJRE(Mean Per Joint Rotation Error)作為評價指標;
Baseline: 模型backbone為普通CNN,目標函數(shù)只包含對抗損失和L1 loss,輸入輸出和論文提出的方案一致,訓練涉及的batch size,learning rate等信息均與消融實驗中其他方法一致;
AHMT:只考慮Temporal Transformer的方案;
h2h和ah2ah:h2h表示輸入手部關鍵點輸出手部旋轉量;ah2ah表示同時輸入手臂和手臂關鍵點并同時輸出手臂和手部旋轉量。
下表展示了消融實驗的結果。結果顯示,通過利用幀間相關性信息,普通Temporal Transformer表現(xiàn)出顯著優(yōu)于CNN的性能。而通過引入Spatial Transformer來利用手臂姿態(tài)和手勢姿態(tài)之間的全局相關性以及不同關節(jié)點之間的局部相關性之后,實驗誤差繼續(xù)顯著降低(MPJPE降低13%,MPJRE降低16%)。對于目標函數(shù),可以看出單獨引入FK loss能夠降低實驗誤差,而單獨引入幀間平滑損失則于誤差降低無益,這是因為幀間平滑損失的主要目標是提高輸出的幀間連續(xù)性。但值得注意的是,當FK loss和幀間平滑損失結合使用時,實驗誤差比單獨使用任意一種都更低。綜上所述,實驗驗證了論文提出的并行時空transformer結構以及目標函數(shù)的有效性。
下表是論文方案和state-of-the-art算法(ExPose,F(xiàn)rankMocap)在渲染數(shù)據(jù)集上的實驗結果,結果表明論文方案顯著優(yōu)于之前的state-of-the-art方法。
下圖展示了論文方案和state-of-the-art算法的直觀對比,第一行是一些包含識別難度較高的手部動作的視頻幀,第二行是FrankMocap的結果,第三行是ExPose的結果,最后一行是論文方案的結果。不難看出論文方案表現(xiàn)出了明顯更佳的準確性和魯棒性。
網易互娛AI Lab提出了一套高效的手部動作捕捉算法,該算法在準確性和穩(wěn)定性上都顯著優(yōu)于現(xiàn)有的方案。目前該算法已接入其視覺動作捕捉產品iCap中,并持續(xù)幫助多個游戲工作室進行動作資源輔助生產。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。