來自蘇黎世聯(lián)邦理工學(xué)院和 Meta 虛擬現(xiàn)實實驗室的研究者聯(lián)合提出了一個用稀疏運動傳感設(shè)備進(jìn)行全身位姿估計與追蹤的方案。
近日,Meta Connect 大會上「有腿」的虛擬世界人物形象引起機器學(xué)習(xí)和VR社區(qū)的高度關(guān)注。人們意識到,在構(gòu)建元宇宙的美好愿景中,虛擬形象的生動逼真是非常重要的。
Meta Connect 大會上扎克伯格展示了自己的虛擬形象。
以前,虛擬人物形象通常只有上半身,這嚴(yán)重破壞了用戶的沉浸感,降低了整體的使用體驗。
為了解決這個問題,來自蘇黎世聯(lián)邦理工學(xué)院 (ETH Zurich) 和 Meta 虛擬現(xiàn)實實驗室 (Reality Labs at Meta) 的學(xué)者聯(lián)手提出了 AvatarPoser,一個用稀疏運動傳感設(shè)備進(jìn)行全身位姿估計與追蹤的方案。該工作被計算機視覺頂會 ECCV 2022 接收,論文和代碼均已開源。
論文鏈接:https://arxiv.org/abs/2207.13784
代碼鏈接:https://github.com/eth-siplab/AvatarPoser
研究背景
當(dāng)前的混合現(xiàn)實頭戴式顯示器和手持控制器可以追蹤用戶在現(xiàn)實世界中的頭部和手的位置和姿勢,以便用戶在增強現(xiàn)實和虛擬現(xiàn)實場景中進(jìn)行交互。雖然這足以支持用戶提供輸入信息,但是通常只將用戶的虛擬形象局限于上半身。因此,當(dāng)前 VR 系統(tǒng)只能提供浮動的虛擬形象,其局限性在協(xié)作環(huán)境中尤為明顯。為了使用稀疏輸入源估計全身姿勢,先前的工作在腰或腿腳位置加入了額外的追蹤器和傳感器,但這增加了設(shè)備的復(fù)雜性并限制了實際應(yīng)用的便攜性。
AvatarPoser 是第一個基于深度學(xué)習(xí)來通過用戶頭部和手部的運動輸入來預(yù)測世界坐標(biāo)中的全身姿態(tài)的方法。該研究用 Transformer 編碼器從輸入信號中提取深度特征,并將人體的全局運動與局部關(guān)節(jié)運動解耦,以引導(dǎo)整體的姿態(tài)估計。此外,作者還將 Transformer 和逆運動學(xué)結(jié)合,來優(yōu)化手臂關(guān)節(jié)的位置,以匹配手的真實位置。在作者的實驗評估中,AvatarPoser 在大型動作捕捉數(shù)據(jù)集 AMASS 的評估中取得了最佳結(jié)果。該方法的極快的推理速度也支持實時操作,提供了一個實用的接口來支持元界應(yīng)用的整體的虛擬人表示和控制。
相關(guān)工作
文章和此前的相關(guān)工作 Final IK, LoBSTr (Eurographics 2021), CoolMoves (IMWUT 2021), VAE-HMD (ICCV 2021)進(jìn)行了比較。Final IK 是基于物理模型的標(biāo)準(zhǔn)商業(yè)解決方案。然而,它只能給出中性的下半身位置,因此產(chǎn)生了看起來不真實的運動預(yù)測。LoBSTr 使用 GRU 模型根據(jù)頭部、手部和腰部的跟蹤信號預(yù)測下半身,并通過 IK 求解器計算上半身姿勢。
但是,這種方法需要額外的腰部跟蹤器。CoolMoves 是第一個只使用來自頭戴式設(shè)備和手控制器的輸入來估計全身姿勢的方法。然而,所提出的基于 KNN 的方法只能在小數(shù)據(jù)中插值估計姿勢,且需要運動類型已知。VAE-HMD 是最近提出的一種基于 VAE 的方法,可以從稀疏輸入中生成合理且多樣化的身體姿勢。然而,該方法所使用的信息都是相對于與腰部位置的,這相當(dāng)于使用了腰部的位置作為第四個輸入。因此,用稀疏傳感設(shè)備追蹤虛擬人全身的方法主要存在三個局限性:
(1) 大多數(shù)通用商用程序使用逆向運動學(xué)(IK)來估計全身姿勢。這通常會產(chǎn)生看似靜態(tài)且不自然的人體運動,尤其是對于遠(yuǎn)離運動鏈中已知關(guān)節(jié)位置的那些關(guān)節(jié)。?
(2) 盡管目標(biāo)是僅使用來自頭部和手部的輸入,但現(xiàn)有的基于深度學(xué)習(xí)的方法隱含地使用了腰部姿勢的信息。然而,大多數(shù)便攜式混合現(xiàn)實系統(tǒng)無法進(jìn)行腰部跟蹤,這增加了全身估計的難度。
(3) 即使使用腰部追蹤設(shè)備,先前方法估計的下半身動畫也會經(jīng)常包含抖動和滑動偽影。這些往往是由腰部跟蹤器的無意運動引起的,該跟蹤器連接在腹部,因此與實際腰部關(guān)節(jié)的移動方式不同。
方法介紹
AvatarPoser 的整體框架如圖 2 所示。這是一個時間序列的網(wǎng)絡(luò)結(jié)構(gòu),它將來自稀疏跟蹤器的前 N - 1 幀和當(dāng)前第 N 幀的 6D 信號作為輸入,并預(yù)測人體的全局方向以及每個關(guān)節(jié)相對于其父節(jié)點的局部相對旋轉(zhuǎn)。具體來說,AvatarPoser 由四個組件組成:Transformer 編碼器、穩(wěn)定器、正向運動學(xué) (FK) 模塊和逆向運動學(xué) (IK) 模塊。作者設(shè)計的網(wǎng)絡(luò)使得每個組件都可以解決特定的任務(wù)。
Transformer 編碼器: 由于 Transformer 在效率、可擴展性和長距離建模能力方面具有優(yōu)勢,本文的方法建立在其基礎(chǔ)上,從時間序列數(shù)據(jù)中提取有用的信息,用自注意力 (self-attention) 機制來清楚地捕獲數(shù)據(jù)中的全局遠(yuǎn)程依賴關(guān)系。具體來說,給定輸入信號,首先應(yīng)用線性嵌入將特征豐富到 256 維。接下來,Transformer 編碼器從頭顯和手部的先前時間步長中提取深度姿勢特征,這些特征分別由用于全局運動預(yù)測的穩(wěn)定器和用于局部姿勢估計的 2 層多層感知器 (MLP) 共享。Transformer 中的 head 的數(shù)量設(shè)置為 8,自注意力層的數(shù)量設(shè)置為 3。
穩(wěn)定器 Stabilizer: 穩(wěn)定器是一個 2 層多層感知機,它接受來自 Transformer 編碼器生成的 256 維姿勢特征作為輸入,負(fù)責(zé)輸出人體的全局運動方向(也是腰部的旋轉(zhuǎn)方向)。因此,穩(wěn)定器通過將全局方向與姿勢特征解耦并通過身體運動鏈從頭部位置獲得全局平移來負(fù)責(zé)全局運動導(dǎo)航。盡管通過運動鏈從給定的頭部姿勢計算全局方向也是一種只管的解決方案,但用戶的頭部旋轉(zhuǎn)通常獨立于其他關(guān)節(jié)的運動, 因此這種方法會導(dǎo)致估計的整體方向?qū)︻^部的旋轉(zhuǎn)很敏感。比如考慮一下用戶站著不動,只轉(zhuǎn)動頭部的場景,全局方向很可能會有很大的誤差,這往往會導(dǎo)致生成的虛擬人浮動在空中,如圖 3 的左邊圖所示。
正向運動學(xué) (FK) 模塊:正向運動學(xué) (FK) 模塊將預(yù)測的局部旋轉(zhuǎn)作為輸入,計算給定人體骨骼模型的所有關(guān)節(jié)位置。雖然基于旋轉(zhuǎn)的方法無需重新投影到骨架約束以避免骨骼拉伸和無效配置即可提供穩(wěn)健的結(jié)果,但它們?nèi)菀籽刂\動鏈累積位置誤差。在沒有 FK 模塊的情況下訓(xùn)練網(wǎng)絡(luò)只能最小化關(guān)節(jié)旋轉(zhuǎn)角度,但不會在優(yōu)化過程中考慮實際產(chǎn)生的關(guān)節(jié)位置。
逆向運動學(xué)模塊:基于旋轉(zhuǎn)的姿態(tài)估計的一個主要問題是末端執(zhí)行器的預(yù)測可能會偏離它們的實際位置——即使末端執(zhí)行器用作已知輸入,例如 VR 場景中的手。這是因為對于末端執(zhí)行器,誤差會沿著運動鏈累積。然而,準(zhǔn)確估計末端執(zhí)行器的位置在混合現(xiàn)實中尤為重要,因為手通常用于提供用戶的輸入信息,即使是位置上的小誤差也會嚴(yán)重干擾與虛擬界面元素的交互。為了解決這個問題,本文采用了一個單獨的 IK 模塊,該算法根據(jù)已知的手部位置調(diào)整手臂肢體位置。具體來說,在網(wǎng)絡(luò)產(chǎn)生輸出后,IK 模塊會調(diào)整肩部和肘部關(guān)節(jié)的估計旋轉(zhuǎn)角度,以減少手部位置的誤差,如圖 3 的右圖所示。
實驗
作者評估了三個和四個輸入的不同方法。評估指標(biāo)是平均每個關(guān)節(jié)旋轉(zhuǎn)誤差 (MPJRE)、位置誤差(MPJPE) 和速度誤差(MPJVE)。實驗表明,AvatarPoser 在兩種設(shè)置中都實現(xiàn)了 SOTA 的性能。
表 1 報告了四個和三個輸入的所考慮指標(biāo)(MPJRE、MPJPE 和 MPJVE)的數(shù)值結(jié)果??梢钥闯觯珹vatarPoser 在所有三個指標(biāo)上都取得了最佳結(jié)果,并且顯著優(yōu)于所有其他方法, VAE-HMD 在 MPJPE 上取得了第二好的性能,緊隨其后的是 CoolMoves。Final IK 在 MPJPE 和 MPJRE 上給出了最差的結(jié)果,因為它為了優(yōu)化末端執(zhí)行器的位置和姿勢,沒有考慮到其他身體關(guān)節(jié)的位置和平滑度。因此,使用 Final IK 進(jìn)行上身姿態(tài)估計的 LoBSTr 的性能也很低。作者表示這顯示了用數(shù)據(jù)驅(qū)動方法從現(xiàn)有動作捕捉數(shù)據(jù)集中學(xué)習(xí)人體運動的價值。但是,這并不意味著傳統(tǒng)的優(yōu)化方法沒有用,作者的消融研究中展示了逆向運動學(xué)與深度學(xué)習(xí)相結(jié)合如何提高手部位置的準(zhǔn)確性。
為了進(jìn)一步評估提出的方法的泛化能力,作者在不同方法之間進(jìn)行了跨數(shù)據(jù)集評估。為此,作者在兩個子集上進(jìn)行訓(xùn)練,在另一個子集進(jìn)行測試。表 2 顯示了在 CMU、BMLrub 和 HDM05 數(shù)據(jù)集上測試的不同方法的實驗結(jié)果。AvatarPoser 再次在所有三個數(shù)據(jù)集中的所有評估指標(biāo)上都取得了最好的結(jié)果。
作者還對不同子模塊進(jìn)行消融研究,并在表 3 中提供結(jié)果。實驗是在與表 2 中的 HDM05 相同的測試集上進(jìn)行的。評價指標(biāo)為 MPJRE [?]和 MPJPE [cm] 。除了全身關(guān)節(jié)的位置誤差外,作者還計算了手部位置的平均誤差,以體現(xiàn) IK 模塊如何幫助改善手的位置。
此外,作者還給出了方法對比的視頻,有移動,鍛煉,投擲 3 個示例,黃顏色代表誤差,可以說 AvatarPoser 的結(jié)果是一騎絕塵,非常絲滑了!
AvatarPoser 也可以在流行的 VR 系統(tǒng)上很好地工作,盡管訓(xùn)練時只使用了合成的動作捕捉數(shù)據(jù)。作者在 VIVE Pro 頭顯和兩個控制器上進(jìn)行測試,如視頻所示,AvatarPoser 對各種運動類型(如步行、坐著、站立、跑步、跳躍和蹲下)都具有穩(wěn)定優(yōu)秀的性能。
總結(jié)
這篇論文展示了全新的基于 Transformer 的方法 AvatarPoser,僅通過混合現(xiàn)實頭顯和手持控制器的運動信號來估計真實的人體姿態(tài)。AvatarPoser 通過將全局運動信息與學(xué)習(xí)的姿勢特征解耦并使用它來引導(dǎo)姿態(tài)估計,在沒有腰部信號的情況下獲得了穩(wěn)健的估計結(jié)果。此外,通過將基于學(xué)習(xí)的方法與傳統(tǒng)的基于模型的優(yōu)化相結(jié)合,該方法在全身風(fēng)格的真實感和準(zhǔn)確的手控之間保持平衡。AvatarPoser 在 AMASS 數(shù)據(jù)集上的大量實驗表明其不僅取得了 SOTA 的性能,更為實際的 VR/AR 應(yīng)用提供了一個實用的解決方案。
編輯:黃飛
?
評論