?

融合Kinect和IMU多模態數據的多階段運動去噪網絡

2024-02-28 08:18郭奇涵謝文軍程景銘劉曉平
小型微型計算機系統 2024年1期
關鍵詞:模態噪聲誤差

郭奇涵,謝文軍,王 冬,程景銘,劉曉平

1(合肥工業大學 計算機與信息學院,合肥 230601)

2(安全關鍵工業測控技術教育部工程研究中心,合肥 230601)

3(合肥工業大學 軟件學院,合肥 230601)

0 引 言

動作捕捉是指使用傳感器實時記錄物體在運動過程中關鍵點的位置.動作捕捉技術在虛擬現實、增強現實、電影特效、游戲、體育訓練和康復醫療等領域中有著廣泛的應用.在工業應用中,光學式和慣性導航式動作捕捉系統最為常見.這些系統往往要求模特穿著特定的動捕服裝或佩戴傳感器,能夠精確捕捉到人體關節點的位置移動,但價格昂貴,且需要較大的空間.在日常應用中,普通消費者和研究人員通常使用低成本高噪聲的運動采集設備,如Kinect和慣性測量單元IMU(Inertial Measurement Unit).Kinect設備是微軟公司推出的一種低成本動作捕捉設備,能夠實時采集人物的25個關節點位置,其精度可以滿足一些體感控制和體感游戲的要求,但是容易受到遮擋和環境問題的影響.IMU傳感器廣泛使用在智能手機、手表、手環和眼鏡等設備中.慣性測量單元與光學式傳感器不同,數據的精度不會受到環境和遮擋問題的影響,但是數據較為稀疏.可以看出,Kinect和IMU本身均存在精度和適應場景的缺陷,但能夠形成互補:前者彌補后者數據稀疏性的缺點,后者能夠彌補前者易受到環境和遮擋產生高噪聲的缺點.

針對低成本動作捕捉中存在的高噪聲問題,基于深度學習的去噪算法是一種有效的手段.本文從多模態數據的角度出發,根據Kinect和IMU之間的互補性,提出一種結合了Kinect和IMU數據的多階段去噪網絡MMCapNet(Multi-modal Multi-stage Capture Network),在提高輸出結果精確度的同時,也增強了算法的魯棒性,使得網絡不再嚴格依賴于某一模態數據,即使Kinect數據出現大量噪聲,本網絡仍能正確恢復人體運動序列.

本文的主要工作分為以下3個方面:

1)提出了一種基于多模態運動數據融合去噪方法.使用特征提取器將Kinect和IMU數據提取為運動特征,利用運動特征估計關節點位置,通過兩種模態的互補關系,提高輸出結果的精確度和方法的魯棒性.

2)提出了一種針對Kinect和IMU模態數據的多階段預測網絡結構.根據關節點的類型不同,將全身關節位置估計任務拆分為3個子任務,逐步估計,最后將3部分的估計結果組合為完整的人體姿態,提高了整體的預測精度.

3)建立了同步采集的Kinect、IMU和動捕設備的多模態噪聲數據集.在已有2180332幀日常運動多模態數據集的基礎上,設計采集了227160幀包含高噪聲的多模態人體運動數據集,用于提高去噪算法的泛化能力并測試其魯棒性.

1 相關工作與簡介

運動數據去噪(Motion Denoising)或運動數據重建(Motion Recovery)在動作捕捉技術的應用中在扮演者重要的角色.目前,在運動數據去噪領域中,深度學習的方法得到了廣大學者的使用.例如,Holden等[1]在CMU數據[2]中添加噪聲,然后利用位置約束反向傳播,更新網絡中的參數,經過訓練后得到一個具有去噪能力的神經網絡.后來,Holden等[3]又使用全連接殘差網絡實現了對光學動作捕捉數據集CMU數據集的去噪.Holden等[4]提出基于CNN(Convolution Neural Network)卷積神經網絡的角色運動合成方法,通過先把噪聲運動數據映射到數據流形(motion manifold)上,然后再將其重映射到原有的數據空間中,達到去除運動數據中噪聲的目的,該方法對于不同類型噪聲的處理結果差異較大.Aksan等[5]提出基于Transformer結構的STTrans方法,通過雙注意力機制,顯示地使用時序和結構信息補全運動序列.針對具體的使用場景,不同應用往往會采用不同模態的運動數據.因此針對不同模態的運動數據,也有著各自的去噪方法和相關研究.

基于RGB-D相機的Kinect設備是一種低成本高噪聲運動數據采集設備,能夠實時提供節點的坐標信息.基于Kinect模態的去噪方法包括:Moon等[6]將多個不同位置的Kinect設備提取的骨骼數據進行融合,并使用卡爾曼濾波(Kalman filter) 提高估計精度.Tripathy等[7]針對Kinect數據中存在的骨骼長度變換問題提出一種約束粒子濾波器(Constrained Particle Filter),減少骨骼長度的變化. Li等[8]提出了可直接對真實設備采集結果使用的雙向循環網絡BRA(Bidirectional Recurrent Autoencoder),提高了對于含有真實噪聲數據的處理能力.Li等[9]在BRA網絡的基礎上添加了感知約束,能夠在保證輸出結果位置精度的同時,豐富運動的細節表現.Bilesan[10]等通過添加IR標記(infrared marker),利用Kinect的深度相機定位標記位置,通過標記位置修正骨骼輸出.與Kinect設備類似的基于視覺的方法都會受到環境和遮擋問題的影響[11],這使得基于視覺的方法往往適合在光照穩定的室內簡單場景下.通過使用多個Kinect設備、額外的傳感器和對于運動的先驗知識可以提高數據的精度.

IMU是一種常見的便攜式傳感器,包含3個軸加速度傳感器及3個軸陀螺儀組,可測量加速度和姿態角.IMU數據具有稀疏性和高噪聲的特點,不會受到光照和遮擋問題的影響.Marcard等[12]提出SIP網絡,能夠在只使用6個IMU設備的情況下,通過優化SMPL人物模型[13]參數以符合IMU數據測得的關節角度和加速度信息來完整重建出整個運動序列,該方法只能處理完整的長序列.Huang等[14]提出一種基于雙向長短時記憶單元的人體姿態重建方法DIP.該方法也只使用6個IMU設備便可以重建人體運動序列,與SIP[12]不同的是,DIP通過雙向長短時記憶單元對運動序列中的時序信息加以利用,實現了實時重建運動序列并驅動SMPL模型.但DIP方法的重建結果仍存在全局位移累計誤差不斷增大的問題.Liu等[15]和Henschel等[16]通過引入額外的超聲波傳感器或RGB視頻來解決全局位移的估計問題.Yi等[17]在不增加輸入的情況下,利用支持足模型和根節點加速度模型,提出了高實時性、高精確度的具有全局位移的人體姿態實時估計方法TransPose.不同于基于視覺的方法,這些方法不會受到遮擋和環境問題的影響,但是由于IMU數據較為稀疏,難以適用于精細人體模型,如本文所使用的72節點動捕人物模型.

本文根據不同模態數據間的互補關系,提出融合Kinect和IMU數據的去噪網絡MMCapNet,旨在解決低成本動作數據中存在的問題.本網絡可以在Kinect和IMU數據都完整的情況下提高輸出結果的精度,也可以通過IMU數據的補充來解決Kinect數據在受到干擾后輸出結果精度降低的問題.

2 多模態多階段去噪方法

2.1 日常運動多模態數據集

鑒于當前缺乏同時包含Kinect數據、IMU數據和高精度動作捕捉數據(Mocap數據)的數據集,尤其是針對高噪聲情況專用數據集,團隊設計并自采了多模態數據集MMD.該數據集中包含了3個部分,分別是Kinect數據、IMU數據和Mocap動作捕捉數據.Kinect數據包含了人體25個關節點的位置,記作K=[P0,P1,…,P24]∈R75,其中Pi表示i號節點的坐標位置,即三維空間下x,y, z坐標,Pi∈R3.IMU數據包含了5個節點的加速度和姿態角,記作I∈R30.Mocap動作捕捉包含了人體72個關節點(手部節點48個、身體節點24個)的位置,記作M∈R216.節點模型如圖1所示.

圖1 人體骨架模型示意圖Fig.1 Human skeleton model

該數據集由多名模特在室內場景下采集,活動空間約為4m×4m×2m.對于Kinect和Mocap數據,進行空間同步,將其變換到同一坐標系下.參考文獻[14],將多個IMU設備進行坐標統一.該數據集中包含有廣播體操621208幀、八段錦583859幀、體育運動272335幀和日常運動702930幀,共計2180332幀.

在網絡開始訓練之前,需要進行數據預處理.預處理共包括兩個部分,分別為切片和標準化(normalization).切片是指將一段長運動序列使用長度為w的滑動窗口進行切分,將其劃分為多個短運動序列(clip),便于后續的mini-batch梯度下降.相鄰短運動序列間,前一個短運動序列的后s幀與后一個短運動序列的s幀相同(s為滑動窗口的滑動步長).經過切片處理,可以得到n個短運動序列,將每個短運動序列記作clipi,clipi=[K,I,M]∈Rw×(75+30+216).通過計算得到數據在每個維度上的均值mean∈R321和方差std∈R321,通過公式nclip=(clip-mean)/std對每個短運動序列進行標準化處理后得到標準化數據集S=[nclip0,nclip1,…,nclipn-1].通過對數據集進行標準化處理,提高網絡在訓練過程中的收斂速度.為了提高網絡泛化性和避免過擬合,參考Moon等[18]指出的人體姿態估計網絡的常見錯誤類型,對預處理后的訓練數據進行了數據增強.最后,使用增強后的數據集S′作為訓練數據集.

2.2 高噪聲多模態數據集

在2.1節日常運動多模態數據集中,Kinect數據和IMU數據作為網絡輸入數據,而高精度動作捕捉Mocap數據作為真值,用于計算損失,以指導網絡學習.該數據集是面向日常使用場景的環境下錄制的,因此數據集中的Kinect數據和IMU數據中包含的噪聲較小.為了提高和測試去噪方法的魯棒性,即當Kinect模態存在大量噪聲時,本文方法能夠保證輸出運動序列中每個骨骼關節點的位置精度,除了日常運動數據集,還需要高水平噪聲的數據集.因此,遵循日常運動數據集的錄制要求和規范,本文專門采集了高噪聲數據集HMMD,其噪聲樣例如圖2所示.

圖2 高噪聲數據集樣例Fig.2 Samples of high-noise data

該噪聲數據集的采集設備和參數均與日常運動數據集MMD相同.為了采集到高噪聲的Kinect數據,本數據集在錄制過程中,不再限制模特在Kinect相機的有效采集范圍內運動,而是故意在有效范圍的邊緣或者外部運動,以采集到具有較大噪聲的Kinect數據.另外,本數據集也專門采集了由自遮擋等原因導致的高噪聲Kinect數據,如圖2所示,第1行為Kinect設備采集結果,第2行為高精度動作捕捉設備采集結果.高噪聲數據集共有227160幀.

2.3 網絡結構

本文根據IMU設備的佩戴位置和人體骨骼節點的位置關系,將人體72骨骼節點分劃分為3類,分別為5個關鍵節點(core)、19個身體(body)節點和48個手部(hand)節點,分別對應圖1(b)中 Mocap人物模型的正方形節點、大圓節點和小圓節點.關鍵節點是指佩戴了IMU設備的節點,這些節點的運動信息最為完整,在兩種模態的數據中都有直接對應的數據.手部節點是指手掌和手指的全部節點,這部分節點數量最多,在空間位置比較集中.其他節點統稱為身體節點,代表人體軀干上的關節點.

整體網絡結構如圖3所示,網絡整體由兩個特征提取器(FE1、FE2)和3個關節位置估計器(JE1、JE2、JE3)組成.網絡輸入為Kinect和IMU兩個模態的運動數據Xkinect和XIMU,分別標準化并經過特征提取器FE1、FE2后得到運動特征Fkinect∈R512和FIMU∈R5122,將兩個運動特征向量拼接(concat)后得到完整的特征向量,然后經過3個關節位置估計器JE1、JE2和JE3,分別估計得到關鍵節點、身體節點和手部節點的坐標位置Pcore∈R15、Pbody∈R57和Phand∈R144,最后將3部分節點坐標組合為完整的人體姿態.其中JE1的輸入向量為X(1)=[Fkinect,FIMU],輸出向量為Pcore,JE2的輸入向量為X(2)=[Fkinect,FIMU,Fcore],輸出向量為Pbody,JE3的輸入向量為X(3)=[Fkinect,FIMU,Fcore,Fbody],輸出向量為Phand.這里特征提取器將運動特征向量Fkinect和FIMU作為其輸入一部分,并非原始數據Xkinect和XIMU,詳細解釋見2.4節.特征提取器和關節位置估計器的結構相同,均為全連接層、兩個Bi-LSTM和全連接層串聯得到.

圖3 網絡結構示意圖Fig.3 MMCapNet atchitecture

2.4 損失函數

訓練過程中所使用的加權關節位置損失Loss由3個部分的線性組合構成,分別是關鍵節點誤差Losscore,身體節點誤差Lossbody和手部節點誤差Losshand,其函數表達式為:

Loss=α1Losscore+α2Lossbody+α3Losshand

(1)

(2)

(3)

(4)

3 相關實驗

3.1 實驗設計

為驗證MMCapNet網絡的有效性和合理性,共設計了4個實驗,分別是多模態消融實驗,多階段消融實驗、跨層連接消融實驗和對比實驗.實驗平臺處理器為4核Intel(R) Xeon(R) Silver 4114 CPU @ 2.20GHz,顯卡為Tesla P100 16G.本文使用Tensorflow 1.4,Adam優化器[19],Batch Size為64.參考文獻[8],學習率設為0.0001,所有的Bi-LSTM層都設置dropout為0.2.

3.2 多模態消融實驗

多模態消融實驗的目的是驗證IMU模態數據的引入對輸出結果位置精確度的作用.實驗使用與圖3中結構相同的關節位置估計器作為基礎網絡結構,數據集為數據增強后的日常運動數據集S′,共2398365幀,隨機選取日常運動數據集中的85%作為訓練數據,余下15%作為測試數據.如表1所示,實驗包含5個部分,各部分有著不同的輸入數據,相同的網絡結構和真值(ground-truth),輸入數據分別為:1)輸入數據只有Kinect數據Xkinect∈R75;2)輸入數據只有IMU數據XIMU∈R30;3)輸入數據包含完整Kinect數據Xkinect∈R75和下肢IMU數據XIMU下肢∈R12;4)輸入數據包含完整Kinect數據Xkinect∈R75和上肢IMU數據XIMU上肢∈R12;5)輸入數據包含完整的Kinect數據Xkinect∈R75和IMU數據XIMU∈R30.

表1 多模態消融實驗結果Table 1 Multi-modal ablation experiment results

實驗結果如表1所示.對比Kinect和IMU作為輸入數據的結果,Kinect作為輸入時的關節誤差更低,表明相比于稀疏的IMU數據, Kinect數據能夠得到更加精確的輸出結果.在Kinect數據輸入完整的條件下,對比不同數量IMU輸入的結果可以看出,IMU數據的增加能夠降低3類節點的估計誤差.當輸入數據為完整的Kinect和IMU數據時,即輸入數據維度最大時,各類節點的估計誤差均為最低.

綜上,實驗結果表明多模態的輸入有助于優化數據去噪的結果.這是因為不同模態間的數據所包含的信息不同,能夠相互補充,網絡通過結合不同模態信息能夠對關節位置做出更加精確的預測.

3.3 多階段消融實驗

多階段消融實驗的目的是驗證多階段預測對于提高輸出結果精確度的作用.上述工作[8,14]中都提出了端到端的關節點位置估計方法.這些方法都沒有對不同類型的節點進行區分.Yi等[17]指出,在估計關節點位置坐標的任務中,根據節點的類型分階段估計,對估計精度有著明顯的提升,受其啟發,本文將人體節點按照2.3中的描述,將節點劃分為3種類型,在以下實驗中,依次按照關鍵節點、身體節點和手部節點的順序預測坐標位置.單階段預測使用一個關節位置估計器,多階段預測使用串聯的3個關節位置估計器.實驗數據集與3.2節相同.本實驗共包含4個部分:1)輸入數據為Kinect數據,單階段預測全身節點位置,如圖4(a)所示;2)輸入數據為Kinect數據,多階段預測3部分節點位置,如圖4(b)所示;3)輸入數據為Kinect和IMU數據,單階段預測全身節點位置,如圖4(c)所示;4)輸入數據為Kinect和IMU數據,多階段預測3部分節點位置,如圖4(d)所示.

圖4 多階段消融實驗網絡結構圖Fig.4 Multi-stage ablation experiment network architecture

如表2所示.當Kinect作為輸入數據時,多階段預測的輸出結果都具有更低的位置誤差,關鍵節點誤差、身體節點誤差和手部節點誤差分別降低47.8%、19.2%和2.2%.當Kinect結合IMU作為輸入數據時,多階段預測的輸出結果與Kinect作為輸入數據有著類似的結果,多階段輸出結果的位置誤差比單階段預測結果的低,3類節點誤差分別降低53.8%、27.4%和9.2%.

表2 多階段消融實驗結果Table 2 Multi-stage ablation experiment results

實驗結果表明無論是單一模態輸入,還是多模態輸入,通過顯式的利用骨骼節點的層次關系,都能夠提高關節點位置的估計精度.在輸入數據中,IMU數據包含四肢的運動信息,Kinect數據主要包含軀干和四肢的運動信息.這兩個模態的數據都缺少手部的運動信息的描述,但是去噪網絡能夠在手部運動信息缺失的情況下通過其他身體部位的運動信息對手部的節點位置做出合理預測.通過引入IMU模態數據,不僅能夠增加關鍵節點和身體節點的估計精度,也能增加手部節點的估計精度.

3.4 跨層連接消融實驗

跨層連接消融實驗的目的是驗證特征提取器的作用.JE2和JE3兩個位置估計器的輸入可以分為兩個部分,運動特征和節點估計結果.根據文獻[17],通過將已估計節點作為位置估計器的輸入,有助于估計器在全部運動特征中提取當前估計節點有關的特征信息.本實驗包含兩個部分:1)將原始數據作為運動特征,如圖5(a)所示;2)將特征提取器所提取的特征向量作為運動特征,如圖5(b)所示.本實驗中的特征提取器為RNN.

圖5 跨層連接消融實驗網絡結構Fig.5 Cross layer connection ablation experiment network architecture

實驗結果如表3所示,對比原始數據和特征向量作為運動特征的結果,當特征向量作為運動特征時,輸出結果具有更高的位置精度.

表3 跨層連接消融實驗結果Table 3 Cross layer connection ablation experiment results

3.5 對比實驗

對比實驗的目的是驗證不同方法對于高低水平噪聲數據處理的魯棒性.本文從日常運動和高噪聲中隨機選擇85%和50%作為訓練數據,其余部分作為兩組測試數據.本實驗使用2.4節中的3種關節位置誤差作為評價指標.本文方法的輸入為Kinect數據與IMU數據,其它方法的輸入均為Kinect數據.

如表4所示,其中星號(*)上標表示高噪聲數據集下的結果.通過對比MMCapNet和CNN、BRA、DIP方法測試結果可以發現MMCapNet的3種關節誤差在日常運動和高噪聲數據集上均明顯比CNN、BRA、DIP的低.MMCapNet在日常運動數據集上的估計誤差與STTrans接近,但是在高噪聲數據上的估計誤差均低于MMCapNet.

表4 對比實驗結果(*表示高噪聲數據集的測試結果)Table 4 Comparison experiment results

圖6為一段120幀連續運動去噪結果中等間隔截取的6幀,間隔為20幀.第1行為Kinect輸入,第2行為Ground-Truth,后4行為不同方法的輸出結果.圖7為不同運動去噪結果中截取的特定幀.在圖6第3列中,Kinect輸入的左手部分包含較大噪聲,除本文方法外,其他方法都沒能正確估計左手位置.在圖6最后兩列中,CNN、BRA、DIP的估計結果的腰部都呈現不同程度的傾斜,其中DIP的最為明顯,STTrans的腰部雖然能夠正確還原,但是雙腳朝向存在明顯錯誤.在圖6前兩列中,左手數據存在明顯缺失和錯誤,CNN、BRA、DIP都受到Kinect輸入數據的影響,很難正確估計左手的坐標位置.但由于IMU數據的補充,本文方法依然能夠合理估計左手位置.在圖7后兩列中,人物處于側身狀態,Kinect設備無法處理,因此Kinect數據中手部和腿部都出現了嚴重錯誤,可以明顯看出,CNN、BRA和DIP方法都缺乏對于這種側身自遮擋情況的處理能力,STTrans方法能夠恢復軀干的側身狀態,但是沒有正確重建右腿的抬起狀態.

圖6 連續幀對比實驗結果Fig.6 Comparison experiment results on consecutive frames

圖7 非連續幀對比實驗結果Fig.7 Comparison experiment results on non-consecutive frames

綜上,多模態網絡MMCapNet擁有更好的預測精度和魯棒性.當Kinect數據噪聲較大時,特別是揮手(圖6后3列)、側身(圖7后兩列)等動作引起自遮擋時,本方法能夠利用模態間信息的互補關系來正確估計關節位置.在實驗過程中,通過440629幀測試數據計算,MMCapNet的計算速度達到2.4毫秒每幀,可以支撐基于Kinect和IMU設備的實時運動數據采集.

4 結 論

本文針對低成本動作捕捉運動數據的去噪問題提出了一種融合Kinect和IMU的多模態多階段去噪網絡MMCapNet.通過融合Kinect和IMU兩種具有互補關系的模態數據和用3個位置估計器分別估計關鍵節點、身體節點和手部節點的多階段預測結構,既提高了日常運動數據集上的預測精度,也提高了對于高噪聲數據的處理能力,解決了Kinect設備無法處理自遮擋情況的問題.針對高噪聲多模態運動數據集的缺乏問題,本文采集了包含了227160幀的3種模態的高噪聲多模態同步數據集,能夠提高和驗證去噪算法的精確度和魯棒性.基于MMCapNet可以支撐通過Kinect和IMU設備實時融合采集高精度的人體運動數據,且通過兩類數據互補增強高噪聲場景下的采集魯棒性.

本文主要探討了Kinect和IMU模態的融合方法.在更多模態的數據支持下,未來的工作將探索Kinect、IMU和視頻等其它運動數據形式的融合去噪網絡.此外,在多階段預測中對于節點的分類可以進一步優化,從各節點估計誤差的差異和節點的層次關系,對節點進行更細致的劃分,充分利用多階段預測的優勢.

猜你喜歡
模態噪聲誤差
角接觸球軸承接觸角誤差控制
噪聲可退化且依賴于狀態和分布的平均場博弈
Beidou, le système de navigation par satellite compatible et interopérable
壓力容器制造誤差探究
控制噪聲有妙法
九十億分之一的“生死”誤差
國內多模態教學研究回顧與展望
基于HHT和Prony算法的電力系統低頻振蕩模態識別
一種基于白噪聲響應的隨機載荷譜識別方法
由單個模態構造對稱簡支梁的抗彎剛度
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合