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