政安晨【零基礎玩轉各類開源AI項目】:解析開源項目的論文:Physical Non-inertial Poser (PNP)

政安晨的個人主頁:政安晨

歡迎?👍點贊?評論?收藏

收錄專欄:?零基礎玩轉各類開源AI項目

希望政安晨的博客能夠對您有所裨益,如有不足之處,歡迎在評論區提出指正!

本文解析的原始論文為:https://arxiv.org/abs/2404.19619

論文的開源項目如下:?

GitHub - Xinyu-Yi/PNP: A real-time human motion capture system based on 6 IMUs, upgrading PIP through the incorporation of non-inertial forcesA real-time human motion capture system based on 6 IMUs, upgrading PIP through the incorporation of non-inertial forces - Xinyu-Yi/PNPicon-default.png?t=N7T8https://github.com/Xinyu-Yi/PNP項目地址為:Physical Non-inertial Poser


感謝論文原作者對開源世界作出的貢獻。

解析如下:

論文題目

物理非慣性 Poser (PNP):稀疏慣性人體運動捕捉中的非慣性效應建模 。

現有的慣性運動捕捉技術使用人體根坐標框架來估計局部姿勢,并默認將其視為慣性框架。我們認為,當根坐標系具有線性加速度或旋轉時,根坐標系在理論上應被視為非慣性系。在本文中,我們通過根據物理學原理精心設計的自動回歸估計器,對非慣性框架中不可忽略的虛構力進行建模。有了虛力,與力相關的 IMU 測量(加速度)就能在非慣性框架中得到正確補償,從而滿足牛頓運動定律。在這種情況下,加速度與身體運動之間的關系是確定的、可學習的,我們訓練一個神經網絡對其進行建模,以獲得更好的運動捕捉效果。此外,為了用合成數據訓練神經網絡,我們開發了一種 IMU 仿真合成策略,以更好地模擬 IMU 硬件的噪聲模型,并允許調整參數以適應不同的硬件。這種策略不僅能利用合成數據建立網絡訓練,還能建立校準誤差模型,以處理不良的運動捕捉校準,從而提高系統的魯棒性。

1.介紹

人類動作捕捉是一個長期以來的研究興趣。動作捕捉技術的演變不斷為電影、動畫、游戲、體育和康復等各個領域帶來新的可能性。

幾十年來,使用密集光學標記的MoCap(動作捕捉)[Vicon [n. d.]]一直是準確性的黃金標準,但它在系統設置方面成本昂貴,由于對周圍環境的脆弱性,需要專用的工作室。隨著慣性感測技術的進步,基于慣性測量單元(IMU)的MoCap開始出現。與光學解決方案相比,基于IMU的系統具有經濟適用性,并且不受遮擋、可見性或光照的影響。這些優點使它們在無約束的錄制環境中適用。雖然基于密集IMU的MoCap已經工業化[Noitom [n. d.]; Xsens [n. d.]],但使用稀疏IMU的開創性工作也取得了有希望的MoCap質量[Huang等,2018; Jiang等,2022b; von Marcard等,2017; Yi等,2022年,2021年]。通過將IMU數量從17個減少到僅6個,該系統變得適用于終端用戶,并且在捕捉過程中顯著提高了用戶的舒適度。由于IMU已經集成到智能手機、手表和耳機等常見智能設備中,使用稀疏IMU的MoCap是朝著日常動作理解的穩步進展[李和朱2024年;Mollyn等2023年]。

然而,我們發現之前基于IMU的方法(如Huang等,2018; Jiang等,2022b; Yi等,2022年,2021年)中存在一個物理缺陷,導致無法重建一些具有挑戰性的動作。我們將這個缺陷描述如下。為了便于建模和計算,MoCap的任務通常被分解為兩個組成部分:根相對姿勢估計和全局運動集成。為了估計局部姿勢,之前的方法首先根據從根IMU讀取的旋轉矩陣將IMU測量值從世界坐標系變換到人的根坐標系。由于世界坐標系是一個慣性坐標系,只有在根坐標系也是慣性的情況下,這種變換才是物理上正確的。

然而,在人體運動過程中,根坐標系通常是非慣性的,因為根關節不斷經歷加速度和旋轉。在這種情況下,將IMU測量值從慣性世界坐標系投影到非慣性根坐標系需要引入虛擬力,如離心力和科里奧利力[陸地和利夫希茨,1976年],以補償IMU傳感器的原始加速度測量值。在以前的工作中,忽略這些力在變換過程中導致了"錯誤"的加速度測量值,這些測量值在非慣性根坐標系的角度來看與實際的局部運動不匹配。因此,以前的模型無法很好地學習加速度與人體運動之間的關聯,并且實際上丟棄了大部分加速度信息,正如以前的研究所報道的那樣[Huang等,2018年; Yi等,2021年]。雖然這些工作仍然可以只使用IMU的方向測量來估計許多局部姿勢,但是在處理特定動作時會遇到困難,其中方向讀數幾乎不變,動力學只能從加速度中觀測到,例如抬手或抬腿而不旋轉它們。

在本文中,我們明確地對由世界到本地轉換引發的虛擬力進行建模,以修正局部姿態估計中的IMU加速度讀數。需要注意的是,虛擬力并不是真實的力,而是用于數學上描述非慣性參考系中物體運動的力[Landau and Lifshitz 1976]。我們的方法嚴謹地涉及到在人體的非慣性根坐標系中計算虛擬力。在此基礎上,我們設計了一種新穎的自回歸神經估計器,該估計器還將與數學公式中虛擬力相關的變量作為輸入,以有效地建模補償力。通過在非慣性根坐標系中進行正確加速度的監督學習,神經估計器成功地整合了物理和數據驅動方面,使其能夠捕捉虛擬力的動態特性。隨后,將該力用于調制IMU的原始加速度測量。這種創新方法使我們的模型能夠學習和利用加速度進行運動估計,從而實現超越以往研究范圍的跟蹤能力。

雖然在模擬力模型中理論上可以提高捕捉性能,但它隱含地需要大量的配對真實加速度信號和地面真值姿勢進行訓練,這對整個研究社區來說很難獲得。目前,大多數先前的方法首先在大型動作捕捉數據集上使用合成傳感器測量值訓練模型,然后在較小的真實數據集上對模型進行微調[Huang et al. 2018; Yi et al. 2022, 2021]。這些方法通過直接使用已知人體姿勢的旋轉矩陣等地面真值運動測量值來合成傳感器輸入。這種方法是次優的,因為建模旋轉的真實世界噪聲非常困難,并且這些噪聲模式將因不同的IMU制造商的不同固件算法而異。因此,領域差距仍然深深地影響著它們在真實世界中的運動捕捉質量。為此,我們提出了一種新方法,直接合成原始IMU信號(即線性加速度、角速度和磁場測量值),并使用我們的傳感器融合算法獲得最終的運動測量值。通過利用硬件層面的噪聲模型[Mur-Artal and Tardós 2017; Qin et al. 2018],我們可以使用經過檢驗的一組噪聲參數生成更接近實際使用情況的信號。當用戶已經知道其傳感器的噪聲參數時,這尤其有用。最后,我們對慣性動作捕捉中的T-Pose標定引入的校準誤差進行建模。與假設IMU校準完美的先前方法不同,我們將這些誤差納入到我們的合成IMU測量中,從而顯著減小了在真實世界使用中的誤差。

總之,我們的主要貢獻包括: ? 物理非慣性姿勢估計器(PNP),通過增強對稀疏慣性測量單元(IMUs)的實時人體運動估計,特別是對于像抬手或抬腿這樣以加速度為主的動作。 ? 虛擬力建模通過神經自回歸估計器來實現,該估計器學習了從建模非慣性人體根坐標系產生的物理上正確的虛擬力。 ? 通過模擬進行IMU測量合成,從動作捕捉數據中生成更加真實的IMU信號,同時考慮傳感器噪聲和校準誤差。

2.相關工作

通過身體穿戴傳感器進行動作捕捉

在本節中,我們介紹了使用身體裝備傳感器進行的先前動作捕捉工作。根據傳感器類型,這些工作可以分為兩組:使用外部站點提供全局位置的6DoF跟蹤器,和沒有任何位置信息的IMUs。

6DoF跟蹤器廣泛應用于虛擬現實系統,如頭戴式顯示器和手持控制器。通過在捕捉的空間中放置基站或紅外攝像頭,這些跟蹤器可以提供位置信息和方向信息。許多研究使用稀疏的6DoF跟蹤器探索人體全身跟蹤,配置范圍從在末端和根部放置6個跟蹤器[Ponton等人,2023年],到在上半身放置4個跟蹤器[Yang等人,2021年],甚至只使用3個跟蹤器用于手部和頭部(通常是頭戴式設備(HMD)加兩個手持控制器)[Ahuja等人,2021年;Aliakbarian等人,2022年,2023年;Castillo等人,2023年;Dittadi等人,2021年;Du等人,2023年;Jiang等人,2023年,2022a;Shin等人,2023年;Ye等人,2022年;Zheng等人,2023年]。一些研究將基于物理的模擬技術納入其中,以確保捕捉到的動作的物理正確性[Lee等人,2023年;Winkler等人,2022年;Ye等人,2022年]。盡管這些技術取得了有希望的結果,但它們在定位方面受到外部設備的限制。外部設備的校準不便,捕捉環境受限。因此,這些方法不適用于在開放世界中進行長距離捕捉,如戶外移動。

雖然使用6DoF跟蹤器依賴于外部站點或攝像機,但使用IMU允許無限制的運動。IMU可以測量方向和加速度,而不需要外部設備,但它們不能提供定位信息。由于缺乏位置信息,對于基于IMU的MoCap方法來說,充分利用方向和加速度至關重要。當前的商業解決方案[Noitom [n.d.]; Xsens [n.d.]]將密集的IMU集成到緊身套裝中,這種套裝不舒服,具有侵入性,并且阻礙用戶的運動。最近的研究主要關注使用較少的IMU進行MoCap。為了解決由于減少IMU而導致的姿勢歧義,一些研究[Liang等人2023; Pan等人2023; Pons-Moll等人2010; Yi等人2023]使用額外的外部或自我中心硬件輔助捕捉。在下文中,我們只討論純IMU方法。SIP [von Marcard等人2017]首次提出了通過離線優化僅從6個IMU重建人體姿勢的方法。DIP [Huang等人2018]通過使用深度遞歸神經網絡將該技術進一步擴展到實時性能。雖然該方法只提供局部姿勢,但TransPose [Yi等人2021]通過限制腳地接觸來估計全局平移。最先進的作品PIP [Yi等人2022]和TIP [Jiang等人2022b]從兩個方面改進了TransPose:PIP采用基于物理的優化來確保捕捉到的運動在物理上是合理的,而TIP采用transformer架構[Vaswani等人2017]來提高跟蹤精度。雖然這些作品展示了有希望的結果,但它們的姿勢估計組件主要依賴于方向信號,不能正確利用加速度讀數,正如DIP和TransPose所報道的。因此,它們無法跟蹤加速度相關的動作,如舉手,這些動作僅通過稀疏IMU的方向無法識別。在這項工作中,我們引入了一種新的物理模型,以正確的方式利用加速度信息。

虛擬IMU測量生成

雖然MoCap數據集很豐富,但大多數只包含干凈流暢的人類動作,沒有原始的IMU信號。在以前的工作中[Huang et al. 2018; Yi et al. 2022, 2021],通過在MoCap序列上放置虛擬IMU,計算出合成的IMU測量值。然而,即使在小型真實數據集上進行了微調,這些模型仍然存在合成理想IMU與真實世界嘈雜IMU之間的域差距。合成虛擬IMU測量是這個任務的關鍵。在[Huang et al. 2018]的開創性工作中,方向測量是從骨骼方向合成的,而加速度測量是通過對IMU位置應用有限差分得出的。然而,后續的工作[Jiang et al. 2022b; Yi et al. 2022, 2021]發現,由有限差分產生的加速度測量在合成和真實信號之間存在顯著差異。為了解決這個問題,[Yi et al. 2021]和[Yi et al. 2022]增加了有限差分算法中的步長,以平滑數值,而[Jiang et al. 2022b]建議使用滑動窗口的均值濾波器來減小合成和真實數據之間的差距。然而,它們都無意中丟棄了加速度中的高頻細節,這直接關系到快速和突然的運動。另一方面,合成和真實IMU測量之間的差異仍然存在,因為沒有考慮傳感器噪聲和校準誤差。虛擬IMU測量的生成也在其他任務中進行了探索,例如從視頻中進行人體動作識別[Kwon et al. 2020; Rey et al. 2019]或運動序列[Takeda et al. 2018; Xiao et al. 2021]。在本文中,受[Kwon et al. 2020; Young et al. 2011]的工作啟發,我們直接合成原始的IMU信號來模擬真實世界中的傳感器噪聲,并引入校準誤差模型來進一步改進結果。

3.方法

我們的目標是從6個慣性測量單元(IMUs)上的葉節(前臂、小腿、頭部)和根節(骨盆)估計實時人體動作。我們系統的輸入包括IMU測量,包括加速度、角速度和方向。我們系統的輸出是局部姿勢和全局運動。接下來,我們首先介紹我們的新系統(第3.1節),該系統在非慣性坐標框架中引入了虛擬力,然后解釋我們如何合成逼真的IMU數據(第3.2節)來提供我們的模型。查看圖2和圖4以獲取概述信息。

圖2. 我們動作捕捉方法的概述。首先,我們在非慣性根幀中估計虛構力(灰色,左側)。然后,我們將IMU測量值從世界坐標系轉換到根幀,以估計局部姿勢,同時考慮虛構力(綠色)。接下來,我們根據姿勢和IMU來估計人體的全局運動(紫色)。最后,我們使用基于物理的優化器來優化人體運動(灰色,右側)。

3.1?框架設計

從IMU測量中估計人體運動是具有挑戰性的,因為傳感器信號中存在局部運動和全局運動之間的固有耦合。為此,我們的方法將人體局部姿勢和全局平移估計分解為單獨的任務,與以前的工作相似[Yi等,2022年,2021年]。為了估計局部姿勢,我們根據根關節上的傳感器的方向讀數將IMU測量從全局坐標系轉換為根關節相對坐標系。盡管全局坐標系是慣性的,但由于身體運動,根坐標系通常是非慣性的。當從慣性坐標系將IMU測量,特別是加速度信號,投影到非慣性坐標系時,需要引入虛構的力進行補償。盡管以前的工作忽略了它們,但在第3.1.1節中,我們解釋了在我們的方法中如何對這些虛構力進行建模。然后,在第3.1.2節中,我們介紹了我們的方法如何使用校正后的加速度估計局部姿勢和全局運動。

3.1.1 虛擬力建模。

在非慣性的人類根坐標系中,虛構力將影響慣性測量,并在估計根相對人體姿勢時必須加以考慮(圖3)。形式上,我們將根關節的加速度和角速度分別表示為𝒂𝑅𝑅 1和𝝎 𝑅𝑅。人體根幀中的任何葉子關節𝐿,其位置為𝒑 𝑅𝐿,速度為𝒑¤ 𝑅𝐿,受到一個虛構力𝒇fic的作用:

𝒇 fic = ?𝑚(𝒂𝑅𝑅 + [𝝎 𝑅𝑅 ] 2× 𝒑 𝑅𝐿 + 2[𝝎 𝑅𝑅 ] × 𝒑¤ 𝑅𝐿 + [ 𝝎¤ 𝑅𝑅 ] × 𝒑 𝑅𝐿 ), (1)

其中,𝑚是質量,[·] × 是向量叉乘的斜對稱矩陣。虛擬力由四個項組成,即線性慣性力、離心力、科里奧利力和歐拉力[Landau和Lifshitz 1976],對應于方程式1中的項。讀者可以參考補充論文來推導這一結果。這個方程表明,從根坐標系觀察時,葉節點的加速度并不等于在慣性世界坐標系中評估的原始IMU測量值。相反,它經歷了由虛擬力𝒇 fic 引起的額外加速度。我們將這個額外加速度稱為虛擬加速度。

圖3. 說明了在人體局部姿勢估計中建模非慣性效應的必要性。沒有虛假加速度的情況下,兩種不同的運動(左圖)在根框架中具有相同的加速度觀測值(中圖),而考慮虛假加速度后可以正確觀測到加速度(右圖)。

在接下來的內容中,我們解釋了如何計算任意葉節點的虛擬加速度。如公式1所示,虛擬加速度取決于根節點的加速度𝒂𝑅𝑅和角速度𝝎 𝑅𝑅,以及葉節點的位置𝒑 𝑅𝐿和速度𝒑¤ 𝑅𝐿。雖然根節點的項可以從相應的IMU中讀取,但葉節點的項不直接由傳感器測量并且必須使用估計的身體姿態來計算。我們使用自回歸神經網絡來估計加速度,而不是手動從公式1計算虛擬加速度。網絡的輸入包括根節點動力學和葉節點動力學。根節點動力學包括加速度𝒂𝑅𝑅、角速度𝝎 𝑅𝑅和角加速度𝝎¤ 𝑅𝑅。葉節點動力學包括位置𝒑 𝑅𝐿、速度𝒑¤ 𝑅𝐿、加速度𝒂𝑅𝐿和方向𝑹 𝑅𝐿。請注意,葉節點的位置和速度是從前一幀估計得到的,網絡隱式學習將這些值轉移到當前幀。所有這些值都被連接成一個向量作為網絡的輸入,輸出為相應葉節點的虛擬加速度𝒂 fic = 𝒇 fic /𝑚。在實踐中,我們為所有5個葉節點使用一個融合網絡,即輸入是根節點和所有葉節點的動力學,而輸出是它們的虛擬加速度。我們將估計器實現為一個使用L2損失訓練的全連接神經網絡。為了監督訓練,我們從動作捕捉數據中合成虛擬加速度的真實值。

圖4. 我們IMU綜合方法的概述。我們首先從低幀率(60FPS)的動作捕捉數據中合成每個IMU的6DoF軌跡(位置和方向)。然后,我們從軌跡中計算原始高幀率(180FPS)的IMU信號,包括加速度、角速度和磁場測量。在給原始信號添加傳感器噪聲之后,我們進行IMU融合以獲得方向測量。最后,我們模擬一個T-pose校準過程,將校準誤差添加到傳感器讀數中。

我們使用網絡計算虛擬加速度,而不是基于公式1的原因有三點考慮。首先,我們需要網絡根據前一幀的數值預測未知的葉節點位置和速度。其次,根節點的角速度容易受到測量噪聲的影響,可以通過利用網絡來減輕這種影響。第三,公式1是分別計算每個葉節點的虛擬加速度,而網絡可以同時估計所有葉節點的虛擬加速度,結合人體運動先驗知識。

3.1.2 本地姿態和全局運動估計。

通過估計虛構的加速度𝒂 fic,我們現在可以正確地將輸入IMU測量轉換為人體的根幀,用于本地姿態估計。形式上,輸入是由{𝑹 𝑅𝐿, 𝒂𝑅𝐿 + 𝒂 fic}組成的連接向量,其中包含了葉節點關節旋轉矩陣和非慣性根框架中的加速度。按照[Yi et al. 2022, 2021]的方法,我們首先估計葉節點關節位置𝒑 𝑅𝐿,然后估計所有關節位置,最后估計所有關節旋轉。這是通過使用3個長短期記憶(LSTM)遞歸網絡[Hochreiter and Schmidhuber 1997]進行的,其中IMU輸入上有跳躍連接[Yi et al. 2022, 2021]。葉節點關節位置𝒑 𝑅𝐿的中間估計,以及通過有限差分計算的其時導數𝒑¤ 𝑅𝐿,將被反饋給虛構力估計器,以供下一幀使用。

對于全局平移估計,我們遵循[Yi et al. 2022]的方法,通過回歸關節速度和足地接觸概率來實現。需要注意的是,與本地姿態估計不同,全局運動估計不需要虛構力,因為我們通過回歸相對于靜止世界框架的全局運動,而該框架是一個慣性參考框架。最后,我們執行基于物理的運動優化,以確保捕捉到的運動的物理正確性,就像[Yi et al. 2022]中所描述的那樣。

3.2 數據綜合

由于缺乏包含真實IMU測量的MoCap數據,我們使用MoCap序列合成原始IMU信號以便于網絡訓練。以前的研究(Huang等人,2018年;Yi等人,2022年,2021年)使用簡單的方法生成合成數據,并且在微調后在真實數據上表現良好。然而,對于本研究來說情況并非如此,因為它更依賴加速度測量來建模虛構力,而加速度由于其對數據采樣率和噪聲模型的敏感性而更難合成。因此,在本研究中,我們重新審視硬件和噪聲模型,以合成更真實的訓練數據。具體而言,我們首先從世界坐標系中的低幀率動作捕捉數據合成IMU的6DoF(位置和方向)軌跡(第3.2.1節)。然后,根據6DoF軌跡在高幀率下求解低級IMU信號,對求解出的信號添加噪聲,并將這些信號融合以合成IMU測量值(第3.2.2節)。最后,我們對T-pose校準期間引入的校準誤差進行建模,以便在訓練中使用合成測量值(第3.2.3節)。正如實驗證明的那樣,我們精心生成的訓練數據大大提高了最終結果。

注釋。以下我們單獨考慮每個IMU,并且所有IMUs都遵循相同的過程。我們首先定義幾個坐標框架。我們將運動捕捉數據的世界坐標框架表示為𝑊;換句話說,數據集中的所有姿勢和平移都是在𝑊框架中表示的。我們將IMU傳感器的坐標框架表示為𝑆,它是固定在IMU設備上的坐標框架。我們將IMU的世界坐標框架表示為𝐼,它是由傳感器制造商指定的坐標框架,用于指示傳感器的全局方向;換句話說,IMU的輸出方向只是相對于𝐼框架的方向,表示為𝑹 𝐼𝑆,遵循第3.1.1節中概述的下標規則。最后,我們定義了人體骨骼框架𝐵,它是固定在人體的骨骼段上的框架。這個框架對于IMU始終附著在身體的骨骼上是有用的。

3.2.1 6DoF軌跡生成。

利用SMPL(Loper等人, 2015)人體模型,我們使用MoCap序列(Mahmood等人,2019)重建具有全局平移的人體網格。對于每個IMU,我們選擇一個骨骼上的一個頂點作為其安裝位置,并計算其位置和方向,如下:

𝒑𝑊 𝑆 = 𝒑𝑊 𝐵 + 𝑹𝑊 𝐵 𝒑 𝐵𝑆 ,(2)
𝑹𝑊 𝑆 = 𝑹𝑊 𝐵 𝑹 𝐵𝑆 .(3)

這是一個理想情況,而在實際捕捉過程中,傳感器將在安裝點周圍略微移動,包括平移 𝛿𝒑 𝐵𝑆 和旋轉 𝛿 𝑹 𝐵𝑆 ,這些被建模為個別的隨機游走噪聲。考慮到這些因素,我們傳感器的6自由度軌跡位置和方向 {𝒑? 𝑊 𝑆 , 𝑹? 𝑊 𝑆 } 變為:

𝒑? 𝑊 𝑆 = 𝒑𝑊 𝐵 + 𝑹𝑊 𝐵 (𝒑 𝐵𝑆 + 𝛿𝒑 𝐵𝑆 ),
𝑹? 𝑊 𝑆 = 𝑹𝑊 𝐵 𝑹 𝐵𝑆 𝛿 𝑹 𝐵𝑆 .

3.2.2 IMU模擬。

從IMU中獲得的方向讀數并非直接由硬件測量,而是使用制造商的算法從其他低級信號計算得出。雖然之前的研究[Huang et al. 2018; Jiang et al. 2022b; Yi et al. 2022, 2021]直接合成方向測量,但我們提議模擬原始信號,包括加速度、角速度和磁場測量,并自行使用IMU融合算法。為了訓練神經網絡,這種模擬方法允許我們模擬并結合具有數學基礎的真實世界噪聲。接下來,我們詳細介紹了從合成的6DoF軌跡{ 𝒑? 𝑊 𝑆 , 𝑹? 𝑊 𝑆 }中生成前述低級信號的方法。

虛擬加速度模擬。在這里,我們合成加速度 𝒂。由于IMU傳感器中的加速度計操作速率高于我們的動作捕捉數據的幀率,我們需要在動作捕捉數據的三倍幀率(180fps)上合成加速度,以模擬真實傳感器行為。在這種情況下,有限差分方法不適用,因為它無法保持全局平滑性。我們設計了一種基于能量優化的新型加速度合成算法,其表達為:

在這里,𝑖 ∈ {1, 2, · · · , 𝑚 ? 1}表示𝑚幀序列中的原始幀標簽,𝑗 ∈ {1, 2, 3}表示兩個原始幀之間的上采樣本地時間戳,𝒑? 𝑖, 𝒗𝑖 𝑗,和𝒂𝑖 𝑗是IMU在幀𝑖或幀𝑖 𝑗的全局位置、速度和加速度(這里我們省略了(𝒑? 𝑊 𝑆)𝑖,(𝒗𝑊 𝑆)𝑖 𝑗和(𝒂𝑊 𝑆)𝑖 𝑗中的參考幀下標以簡潔起見),Δ𝑡是上采樣后的時間間隔,𝜆𝑝,𝜆𝑣和𝜆𝑎是能量項的系數,·prev檢索先前時間戳的值。這個能量優化旨在找到最佳復制原始低幀率IMU軌跡(公式6中的第一和第二項)的高幀率加速度序列,同時使變化率最小(公式6中的最后一項)。這受到了[Flash和Hogan 1985]的研究啟發,該研究發現人體運動的特點是加速度的變化率最小。

虛擬陀螺儀模擬。在這里,我們合成角速度𝝎。與虛擬加速度計模擬類似,我們基于另一種能量優化定義合成陀螺儀的本地角速度。

其中𝑹? 𝑖和𝝎 𝑖 𝑗分別表示幀𝑖和幀𝑖 𝑗中IMU的方向和局部角速度,Log:SO(3)→ R3將Lie群中的旋轉映射到向量空間,而Exp:R3→ SO(3)將向量空間中的旋轉映射到Lie群,𝜆𝑅和𝜆𝜔是兩個權重項。該能量優化旨在找到最好復制低幀率IMU方向(第一個方程中的第一項)并具有最小變化率(第一個方程中的最后一項)的高幀率局部角速度序列。

虛擬磁力計模擬。真實磁力計通常以與我們的動作捕捉數據相同的幀率工作,因此無需上采樣。我們假設x軸是北方向,并將其轉化為傳感器坐標系,以獲得每幀的磁場測量值𝒎𝑖。

IMU融合。在這個階段,我們將合成的加速度計、陀螺儀和磁力計測量融合起來,以估計傳感器的方向。與[Qin et al. 2018]類似,我們將測量噪聲視為傳感器偏差和加性噪聲,分別由隨機游走和高斯白噪聲建模。這些噪聲被采樣并添加到原始傳感器信號中,以得到帶噪聲的測量值。然后,我們實現了一種利用誤差狀態卡爾曼濾波器[Sola 2017]的先進傳感器融合算法,加入零速度更新(ZUPT)[Skog et al. 2010]檢測來更新狀態。讀者可以參考[Sola 2017]中的算法。傳感器融合之后,我們得到了在我們的算法中定義的IMU世界坐標系中的IMU方向𝑹 𝐼𝑆,表示為:

3.2.3 標定誤差建模。為了訓練動作捕捉網絡,我們需要將模擬的IMU方向𝑹 𝐼𝑆(IMU世界坐標系中的傳感器方向)轉換為實際的骨骼方向𝑹𝑊 𝐵(世界坐標系中的骨骼方向),其公式為:

對于合成數據,兩個矩陣是未知的:𝑹 𝐵𝑆表示每個傳感器相對于身體的位置,𝑹 𝐼𝑊表示IMU全局坐標系相對于運動捕捉世界坐標系的旋轉(見圖4)。實際上,對于真實數據,這兩個矩陣通常是通過T型姿勢校準確定的,在該校準中,被試以已知的T型姿勢站立,然后估計出這兩個矩陣[Huang et al. 2018; Yi et al. 2021]。然而,由于被試無法完美地執行T型姿勢,校準步驟中會存在誤差。因此,在這項工作中,在數據合成過程中,我們通過在應用公式9之前對兩個矩陣𝑹 𝐼𝑊和𝑹 𝐵𝑆施加隨機噪聲來模擬這種校準誤差。

4.實驗

在本節中,我們介紹實現細節(第4.1節)。然后,我們將我們的方法與最先進的稀疏IMU運動捕捉方法進行比較(第4.2節),并評估我們方法的關鍵貢獻(第4.3節)。最后,我們討論我們的局限性(第4.4節)。還請在補充視頻中查看更多結果。

4.1 實施細節

網絡。我們的方法包括6個神經網絡,包括一個用于虛擬力估計的全連接網絡,以及5個用于本地姿態和全局運動估計的循環網絡,參考[Yi et al. 2022]。虛擬力估計器包含4個隱藏寬度為512的層,由ReLU激活,并通過Adam優化器進行優化[Kingma and Ba 2014]。

數據綜合。在6DoF軌跡生成中,我們將傳感器滑動誤差𝛿𝒑 𝐵𝑆建模為從10 ?2 m的誤差期望開始,以10 ?3 m/s的速度逐漸增加。旋轉誤差𝛿 𝑹 𝐵𝑆建模為從零誤差開始,以10 ?2 rad/s的速度逐漸增加。這些值是根據經驗設置的。在IMU模擬中的能量優化中,我們設置𝜆𝑝 = 1,𝜆𝑣 = 0.5,𝜆𝑎 = 1.3,𝜆𝑅 = 1和𝜆𝜔 = 1。在校準誤差建模中,我們將攝動設置為𝑹 𝐼 𝑀和𝑹 𝐵𝑆,分別為0.01和0.1弧度。根據[Campos et al. 2021]2設置IMU噪聲參數。

硬件和性能。我們的方法在沒有GPU的Intel(R) Core(TM) i7-12700H CPU的筆記本電腦上以60fps的實時速度運行。在實時演示中,我們使用來自Noitom的PN Lab傳感器[Noitom [n. d.]]。我們的框架是使用Pytorch [Pytorch [n. d.]]實現的,基于物理的優化是使用剛體動力學庫(RBDL) [Felis 2017]實現的。IMU融合算法是用C++實現的,優化問題則使用稀疏最小二乘解算器[Paige和Saunders 1982]來求解。

數據集。數據集包括DIP-IMU [Huang et al. 2018]、TotalCapture [Trumble et al. 2017]和AMASS [Mahmood et al. 2019]。我們按照之前的工作[Jiang et al. 2022b; Yi et al. 2022]來劃分訓練集和測試集。值得注意的是,TotalCapture有兩種不同的校準方式。在[Trumble et al. 2017]中提供的官方校準(稱為官方校準)有較大的校準誤差,為12.1度,而在同一數據上進行的[Huang et al. 2018]的校準(稱為DIP校準)具有較低的校準誤差,為8.6度。由于這兩個版本只有校準不同,我們使用它們來檢驗方法對校準的魯棒性。

圖5:與先前作品的定性比較。這些例子是從TotalCapture [Trumble et al. 2017]數據集中挑選的。

(a)對虛構加速度的定性評估。?

(b) 對提出的IMU合成方法進行定性評估。

圖6. 對所提出的(a)虛構加速度和(b)IMU合成方法進行定性評估。 (a)我們在TotalCapture數據集的序列中繪制了關節位置誤差,并比較了在兩個選定時間間隔內重建的運動。 (b)我們在同一序列下可視化了在小型和大型校準誤差(DIP校準 vs. 官方校準)下的預測運動。

表1:與之前工作的定量比較結果。我們采用了兩個版本的TotalCapture:官方校準版本的IMU輸入在校準誤差上比DIP校準版本大。

圖7. 與先前工作的翻譯比較。我們繪制了全局位置誤差累積曲線,與真實行駛距離相對應。更低的曲線表示漂移更小。

4.2?對比分析

我們將我們的方法與稀疏IMU的最新方法進行比較,包括DIP [Huang等,2018年],TransPose [Yi等,2021年],TIP [Jiang等,2022b年]和PIP [Yi等,2022年]。在評估局部姿勢準確性時,我們將根關節的位置和方向與真實值對齊,并使用與[Yi等,2022年,2021年]相同的指標,包括:

? SIP錯誤(? ):髖部和肩部的全局旋轉誤差。
? 角度誤差(? ):所有關節的全局旋轉誤差。

? 位置誤差(cm):所有關節的位置誤差。

? 網格誤差(cm):姿勢化的SMPL網格的頂點誤差。

? 抖動(103 m/s3 ):所有關節相對于世界的平均加速度變化率。

姿勢比較結果見表1。我們的方法在姿勢準確性方面始終優于先前的工作,在TotalCapture數據集上的網格誤差減少19%,在DIP-IMU數據集上減少4%。由于所有這些方法都是在DIP-IMU數據集上訓練的,我們在TotalCapture數據集上的顯著改進表明我們的方法具有更好的泛化能力,這要歸功于我們精心合成的訓練數據。雖然我們的方法的抖動略大于PIP,但這并不意味著我們的系統不穩定,而是更敏感于加速度并更精確地捕捉動作。如圖5和補充視頻所示,我們的方法忠實地重建了大的運動,而其他方法則過于平滑。這一改進來自我們在非慣性參考系中利用校正加速度。我們將估計的平移與以前的工作進行比較,如圖7所示。與以前的工作相比,我們的方法顯示出最低的全局位置漂移,因為平移估計算法嚴重依賴于估計的姿勢。

表2. 對虛構加速度(FicAcc)和IMU合成(SynIMU)進行評估,使用2種不同的校準:官方校準(較高的校準誤差)和DIP校準(較低的校準誤差)。

4.3?評估

在本節中,我們評估了我們的主要貢獻:用于修正加速度的虛擬力和新穎的IMU合成方法。在第一個消融研究(無SynIMU)中,我們使用[Yi et al. 2022]的合成數據訓練我們的模型,該數據不考慮低級IMU信號和校準誤差。在第二個評估(無FicAcc)中,我們排除了虛擬力估計,這意味著葉結點的加速度被天真地投影到根結點框架中,并與根結點的加速度相減,類似于[Yi et al. 2022]。

在第三個評估(無歸一化)中,加速度被轉換到根結點框架中,但沒有減去根結點的加速度。在第四個評估(使用公式1計算FicAcc),我們使用公式1的解析計算替換了神經虛擬加速度估計器。這些變體在TotalCapture數據集上使用官方校準和DIP校準進行了測試。如表2所示,我們的完整方法通常更好。我們和無FicAcc之間的數值差距不太明顯。這是因為建模虛擬力對于處理具有大加速度和最小方向改變的模糊運動特別有益,而這些運動只占數據集的一小部分,從而稀釋了定量數據。我們通過圖6(a)來證明這一點,在該圖中選擇了一個測試數據序列。

雖然大部分時間兩種方法的誤差相同,但在一些模糊運動中,加速度對于姿態估計是必要的,例如,抬手和抬腿,如圖中所示,兩種方法之間的差異變得很大。我們進一步注意到,在表2中,使用原始IMU合成方法(無SynIMU)的變體在不同的校準下存在巨大差距,而我們的方法表現始終良好。我們在圖6(b)中展示了定性比較。我們的完整方法對校準誤差具有魯棒性,因為我們在生成訓練數據時明確地對其進行建模。此外,我們在圖8中直接比較了不同IMU合成方法產生的加速度。與以前的方法相比,我們合成的加速度與實際傳感器測量值非常相似。

圖8. 對使用不同方法進行的合成加速度測量結果進行比較,包括DIP方法[Huang等,2018年],PIP方法[Yi等,2022年]和本文提出的方法。底部圖顯示了從數據集中獲取的真實傳感器的IMU加速度。DIP中的加速度合成方法導致過多的抖動,而PIP的方法傾向于過度平滑加速度。相比之下,我們的合成加速度最準確地反映了真實傳感器的行為。

4.4 限制

我們的IMU合成技術假設磁場是均勻且恒定的。然而,在現實世界中,磁場擾動很常見,我們的方法對磁場變化的適應能力較弱。本研究僅關注姿態估計,并假設所捕捉到的對象處于平均形態中,而在現實世界中,姿態和形狀在IMU測量中是耦合的。最后,我們只考慮了平坦的地面,不支持上下樓梯行走。

5?結論

這項工作提出了一種新穎的方法,可以從稀疏的慣性測量單元(IMU)實時捕捉動作。據我們所知,這是第一項對非慣性效應進行建模的工作,這種效應對加速度測量的影響是不可忽視的。通過訓練一個自回歸網絡來估計虛擬力并調節IMU加速度,我們的方法更好地利用加速度信息來捕捉具有挑戰性的姿勢。我們進一步提出了一種IMU合成方法,充分考慮了真實的IMU硬件噪聲和校準誤差,以生成更加真實的數據。通過縮小合成數據和真實數據之間的差距,我們的模型具有更好的泛化能力。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21169.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21169.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21169.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

力扣1143. 最長公共子序列

給定兩個字符串 text1 和 text2,返回這兩個字符串的最長 公共子序列 的長度。如果不存在 公共子序列 ,返回 0 。 一個字符串的 子序列 是指這樣一個新的字符串:它是由原字符串在不改變字符的相對順序的情況下刪除某些字符(也可以…

【TB作品】MSP430G2533,讀取dht11,顯示到lcd1602顯示屏,串口發送到電腦

功能 讀取dht11,顯示到lcd1602顯示屏,串口發送到電腦。 部分程序 void main(void) {char disp[20];char count 0;WDTCTL WDTPW WDTHOLD; // Stop WDTP1DIR 0Xff;P1SEL 0X00;P1SEL2 0X00;P2DIR 0Xff;P2SEL 0X00;P2SEL2 0X00;L…

為什么需要開局調用函數?

初始化操作:在你的應用程序啟動時,可能需要執行一些初始化操作,例如設置默認值、加載配置、建立數據庫連接等。開局調用函數可以幫助你集中管理這些操作,確保它們在應用程序啟動時順利執行。 統一入口:通過一個統一的…

打造你的專屬Vue組件:基于FullCalendar超實用“日程任務管理組件”實戰

打造你的專屬Vue組件:基于FullCalendar超實用“日程任務管理組件”實戰 在現代Web應用中,日程管理是一個常見而又關鍵的功能,它幫助用戶高效安排和追蹤日常任務及會議。Vue.js作為一個流行的前端框架,以其簡潔的語法和強大的組件…

編譯選項導致的結構體字節參數異常

文章目錄 前言問題描述原因分析問題解決總結 前言 在構建編譯工程時,會有一些對應的編譯配置選項,不同的編譯器,會有對應的配置項。本文介紹GHS工程中編譯選項配置不對應導致的異常。 問題描述 在S32K3集成工程中,核1的INP_SWC…

transformer中的ffn

## import torch import torch.nn as nn import torch.nn.functional as F import logging logging.basicConfig(levellogging.INFO, format%(asctime)s %(levelname)s: %(message)s) # 定義FFN層 class FeedForwardNetwork(nn.Module): def __init__(self, input_dim, hi…

python運營商身份證二要素查驗接口、身份證實名認證接口

隨著網絡服務安全需求的日益增長,個人信息的真實性和安全性成為了眾多在線平臺關注的焦點。近日,為應對這一挑戰,翔云人工智能接口開放平臺提供了Python語言的身份證二要素查驗接口”及“實名認證接口”,旨在為各行業提供高效、準…

將字符串 “()“ ““ “|“ 條件組成的復雜表達式轉換為ES查詢語句

應用場景 "()" "&" "|" 這幾個條件對于我們來說并不陌生, 其表達的邏輯非常明了, 又能通過很少的字符表達很復雜的嵌套關系, 在一些復雜的查詢中會經常用到, 因此我最近也遇到了類似的問題,一開始覺得這類的工具應該挺常見的, 結果搜了半天…

JVM垃圾收集器和內存分配策略

概述 Java內存運行時數據區的程序計數器、虛擬機棧、本地方法棧3個區域會隨著線程而產生,隨線程而消失。這幾個區域分配多少內存時在類結構確定下來即已知的,在這幾個區域內就不需要過多考慮如何回收內存的問題,當方法結束或者線程結束時&am…

【spring】第一篇 IOC和DI入門案例

Spring到底是如何來實現IOC和DI的,那接下來就通過一些簡單的入門案例,來演示下具體實現過程。 目錄 前期準備 一、IOC入門案例 思路分析 代碼實現 二、DI入門案例 思路分析 代碼實現 總結 前期準備 使用IDEA創建Maven項目,首先需要配…

JAVAEE1

Web前端: 1.建立web開發的息維模式寫代碼不僅僅是為了實現某個功能,更是學習解決問題的思維方式 2.先使用,再理解,會導致剛開始比較懵,不知其所以然.切忌不可深陷其中, 3.涉及簡單的軟件工程的設計思想&…

Springboot整合kafka簡單使用

kafka 一,介紹 Kafka 是一個開源的分布式流處理平臺,最初由 LinkedIn 開發并貢獻給 Apache 軟件基金會。它設計用于構建高性能、持久性、可伸縮和容錯的實時數據管道和流處理應用程序。 以下是 Kafka 的一些關鍵特點和概念: 發布-訂閱模型…

SPWM載波調制方式-三電平雜記1

方法一: P2 O1 N0 方法二:雙載波直接發波 方法三:負軸載波和調制波往上抬升1,得到使用同一個載波 在正半周在P和O切換,在下半軸式O和N切換

自動評論自動私信引流系統,自動化時代的挑戰與機遇

隨著科技的飛速發展,自動化技術已經滲透到我們生活的方方面面。從工業生產線上的機械臂到家庭中的智能助手,自動化不僅改變了我們的工作方式,也在重塑著社會的面貌。然而,在享受自動化帶來的便利和效率的同時,我們也必…

961題庫 北航計算機 MIPS基礎選擇題 附答案 選擇題形式

有題目和答案,沒有解析,不懂的題問大模型即可,無償分享。 第1組 習題 MIPS處理器五級流水線中,涉及DRAM的是 A. 取指階段 B. 譯碼階段 C. 執行階段 D. 訪存階段 MIPS處理器五級流水線中,R型指令保存結果的階段是 A.…

關于高版本 Plant Simulation 每次保存是 提示提交comm對話框的處理方法

關于高版本 Plant Simulation 每次保存是 提示提交comm對話框的處理方法 如下圖 將model saving history 修改為None即可 關于AutoCAD 2022 丟失模板庫的問題 從新從以下地址打開即可: D:\Program Files\Autodesk\AutoCAD 2022\UserDataCache\zh-cn\Template

Visual Studio Installer 點擊閃退

Visual Studio Installer 點擊閃退問題 1. 問題描述2. 錯誤類型3. 解決方法4. 結果5. 說明6. 參考 1. 問題描述 重裝了系統后(系統版本:如下圖所示),我從官方網站(https://visualstudio.microsoft.com/ ) 下載了安裝程…

Leetcode:正則表達式匹配

目錄 普通版本(動態規劃) 狀態表示 狀態轉移方程 優化③①情況 數學化簡分析 結合實際情況畫圖化簡分析 總結 最終代碼 題目鏈接:10. 正則表達式匹配 - 力扣(LeetCode) 好像是leetcode前100道里面最難的一道&a…

方法引用與構造方法引用

目錄 方法引用 什么是方法引用 構造方法引用 構造方法引用(也可以稱作構造器引用) 數組構造方法引用 方法引用 什么是方法引用 當要傳遞給 Lambda 體的操作,已經有實現的方法了,可以使用方法引用。 方法引用可以看做是 La…

PHAR反序列化

PHAR PHAR(PHP Archive)文件是一種歸檔文件格式,phar文件本質上是一種壓縮文件,會以序列化的形式存儲用戶自定義的meta-data。當受影響的文件操作函數調用phar文件時,會自動反序列化meta-data內的內容,這里就是我們反序…