基於慣性和體感傳感器數據質量評價的人體運動跟蹤方法與流程
2023-05-16 09:11:11
本發明屬於人體運動跟蹤技術領域,具體涉及一種基於慣性傳感器以及體感傳感器數據質量評價的人體運動跟蹤方法。
背景技術:
人體運動跟蹤系統是一種用於準確測量運動物體在三維空間運動狀況的高技術設備。人體運動跟蹤(humanmotioncapture)在國內也稱動作捕捉,是利用視頻、慣性傳感器等,在三維空間中準確測量人體的運動信息,將採集到的人體運動數據進一步計算處理之後,在計算機虛擬世界中重構人體的運動模型,從而實現人體運動的再現的過程。
2010年11月微軟公司推出了kinect體感遊戲控制器。kinect配備有三個鏡頭,中間的鏡頭是rgbvga攝像頭,左右兩邊鏡頭則分別為紅外線發射器和紅外線cm0s攝像頭所構成的3d深度感應器。利用紅外反射器和紅外攝像頭捕獲三維空間人體數據坐標及速度信息,進行實時地定位。kinect作為人體運動捕捉設備成本低廉,實時性高,但其作用範圍有限,目標易受遮擋的影響。而慣性式運動跟蹤系統使用電動機械設備,通過測量陀螺的阻力、加速度和傾斜度的變化,來測量人體的相對運動。慣性傳感器成本低,體積小,便於穿戴,且藉助於無線傳感網絡,人體的運動不會受到限制等優點,但基於慣性傳感器的人體運動跟蹤系統也存在無法進行絕對定位,無法消除累計誤差和受磁場和金屬物體影響等問題。
2014年,浙江大學張奼研究了基於光學和慣性跟蹤數據融合的上肢運動測量技術,取得了一定成果,該方法獲取的人體運動數據精度和可靠性都有所提高,但由於採用了美國naturalpoint公司的optitrack光學跟蹤系統,設置較為麻煩且造價高昂,適用範圍受到成本的限制。
因此,為了解決上述問題,研製出一種設備低廉簡單,並且能夠有效解決受磁場以及金屬物體遮擋影響而導致錯誤以及誤差發生的人體運動跟蹤方法是本領域技術人員所急需解決的難題。
技術實現要素:
為解決上述問題,本發明公開了一種基於慣性和體感傳感器數據質量評價的人體運動跟蹤方法。
為了達到上述目的,本發明提供如下技術方案:
一種基於慣性和體感傳感器數據質量評價的人體運動跟蹤方法,包括以下步驟:採用慣性傳感器和體感傳感器獲得人體骨骼關節點的加速度信息和位置信息作為全身運動數據;將獲得的全身運動數據經過時間對準和空間重投影后進行質量評價,獲得質量評價結果;基於質量評價結果,將獲得的全身運動數據進行數據融合後,選取可信的全身運動數據作為新的人體運動數據,以此進行運動跟蹤。
進一步地,具體步驟包括:
(1)、採用慣性傳感器和體感傳感器獲得人體骨骼關節點的加速度信息和位置信息作為全身運動數據:
(1.1)、在全身15個主要關節佩戴慣性傳感器,並利用磁力計、加速度計以及陀螺儀9軸運動傳感器進行姿態計算,獲得關節姿態數據,並將關節姿態數據向上位機發送數據;
(1.2)、利用體感傳感器獲取人體20個關節點的位置數據,以三維空間坐標的形式記錄為關節點數據,並對每一個關節點數據進行可信度判斷,選取可信的關節點數據;
(1.3)、將步驟(1.1)與步驟(1.2)獲得的關節姿態數據以及可信的關節點數據作為初級運動數據;
(2)、將獲得的初級運動數據作為全身運動數據經過時間對準和空間重投影后進行質量評價,獲得質量評價結果;
(2.1)、採用內插法將慣性傳感器以及體感傳感器進行時間對準;
(2.2)、根據體感傳感器和慣性傳感器之間的空間關係得到空間轉換矩陣將獲得的全身運動數據進行空間轉換,並轉移至人體骨骼坐標系下;
(2.3)、當體感傳感器新的一幀數據到來時,根據其可信度、是否符合人體骨骼生理約束和運動約束判斷其是否可靠,進行質量評價;
(2.4)、對慣性傳感器獲得的關節姿態數據以及體感傳感器獲取的可靠的關節點數據進行卡爾曼濾波,將濾波後的值與慣性傳感器觀測值進行對比,判斷其是否超過設定的濾波誤差閾值;當其超過濾波誤差閾值時,輔助以體感傳感器進行質量評價,判斷其是否可信,獲得質量評價結果;
(3)、基於質量評價結果,將獲得的全身運動數據進行數據融合後,選取可信的全身運動數據作為新的人體運動數據,以此進行運動跟蹤;
(3.1)、為慣性傳感器以及體感傳感器所採集到的數據設定一個存放數據質量的滑動窗口;
(3.2)、在對慣性傳感器以及體感傳感器採集到的數據進行質量評價時,更新各自的滑動窗口;根據滑動窗口內可信數據的數量計算每一個關節點的權重;
(3.3)、根據慣性傳感器和體感傳感器的關節點權重大小,選取相應關節點的關節點數據作為更為可信的參考數據作為人體運動數據。
進一步地,慣性傳感器為mems運動傳感器;體感傳感器為kinect。
進一步地,步驟(1.1)中15個主要關節分別為:頭部、兩大臂、兩小臂、腰部、脊椎、兩大腿、兩小腿、兩隻腳。
進一步地,步驟(1.2)中20個關節點分別為:髖關節中心、脊柱、雙肩中心、頭部、左肩、左肘、左腕、左手、右肩、右肘、右腕、右手、左髖關節、左膝、左踝、左腳、右髖關節、右膝、右踝、右腳。
進一步地,步驟(2.3)的具體方法為:從體感傳感器獲得的20個關節點的位置數據提取出可靠的人體骨骼模型作為參考模型,並建立人體骨骼生理約束;根據各個關節點計算出每段骨骼的長度,將計算出的骨骼的長度同人體骨骼模型中的骨骼參考長度進行對比,若誤差值大於設定的誤差閾值,則說明由體感傳感器到來的新的一幀數據不可靠。
進一步地,步驟(2.4)的具體方法為:分別對由慣性傳感器獲得關節姿態數據作為慣性觀測值以及由體感傳感器獲得的關節點數據作為體感觀測值進行卡爾曼濾波,獲得慣性濾波值與體感濾波值;計算慣性觀測值與慣性濾波值之間的誤差值,並與設定的濾波誤差閾值對比;當誤差值小於設定的濾波誤差閾值時,若滿足運動約束,則獲得的慣性觀測值可信;當誤差值大於設定的濾波誤差閾值時,若體感傳感器獲得數據是可信的,則慣性觀測值不可信,反之,則慣性觀測值可信。
進一步地,步驟(3)的具體方法為:
(3.1)、為慣性傳感器和體感傳感器所採集到的每個關節點數據設置一個大小為30的滑動窗口,存放關節點的數據質量;
(3.2)、當慣性傳感器和體感傳感器的新的一幀觀測值到來時,根據數據質量評價,判斷出當前幀的各個關節點的數據質量,更新慣性傳感器與體感傳感器的滑動窗口;設某一個關節有x幀數據是可信的,則有30-x幀數據是不可信的,慣性傳感器和體感傳感器獲得的每一個關節點的數據權重隨著滑動窗口內可信數據的數量的增加而增大;各個關節點的權重m表示為:
其中,m為權重值,k為調節因子,x為滑動窗口內數據可信的幀數;
並且分別通過慣性傳感器以及體感傳感器獲得觀測值進行權重計算,分別表示為mj、mi;
(3.3)、當mi≥σ並且mj≥σ時,慣性傳感器和體感傳感器獲得的觀測值均可信,此時採用mi、mj中較大一方的卡爾曼濾波後的關節點數據作為參考數據,並且若mi=mj,則採用慣性傳感器觀測值作為參考數據;
當mi>σ並且mj<σ時,判定慣性傳感器觀測值出錯,而體感傳感器觀測值良好,由於此時慣性傳感器和體感傳感器卡爾曼濾波後的濾波值存在較大誤差,採用體感傳感器觀測值作為參考數據;
當mi<σ時,判定體感傳感器出錯,由於慣性傳感器觀測值的數據質量是在體感傳感器觀測值輔助下做出判斷的,因此mj<σ,此時直接判定慣性傳感器觀測值正確,採用其作為參考數據。
本發明所提供的基於慣性傳感器以及體感傳感器質量評價的人體運動跟蹤方法,對由慣性傳感器以及體感傳感器獲得人體運動數據進行質量評價,根據質量評價結果對慣性傳感器和體感傳感器獲取的人體運動數據進行融合處理。與現有技術相比,(1)有效改善了目前光學更總系統進行人體運動測量時處理算法複雜、計算量大、以及當目標混淆或被遮擋時無法工作的問題;(2)同時解決了慣性傳感器人體運動跟蹤系統中無法進行人體定位和收磁場以及金屬影響的問題;(3)在同一框架下實現了基於mems運動傳感器的慣性人體捕捉系統以及基於kinect的體感設備的人體運動數據採集方法,在設備造價、跟蹤範圍、定位精度、誤差控制等方面兼備兩類設備的優勢,實現了低成本高精度的人體運動跟蹤。
附圖說明
圖1、本發明的流程圖;
圖2、本發明中對kinect獲得數據的質量評價流程圖;
圖3、本發明中對mems運動傳感器獲得數據的質量評價流程圖;
圖4、本發明中基於mems運動傳感器以及kinect進行人體運動數據融合處理的流程圖。
具體實施方式
以下將結合具體實施例對本發明提供的技術方案進行詳細說明,應理解下述具體實施方式僅用於說明本發明而不用於限制本發明的範圍。
如圖1所示為本發明的流程圖,本發明為一種基於慣性和體感傳感器數據質量評價的人體運動跟蹤方法,慣性傳感器選擇為mems運動傳感器;體感傳感器選擇為kinect,具體步驟包括:
(1)、採用mems運動傳感器和kinect獲得人體骨骼關節點的加速度信息和位置信息作為全身運動數據:
(1.1)、在全身15個主要關節佩戴mems運動傳感器,並利用磁力計、加速度計以及陀螺儀9軸運動傳感器進行姿態計算,獲得關節姿態數據,並將關節姿態數據向上位機發送數據;其中15個主要關節分別為:頭部、兩大臂、兩小臂、腰部、脊椎、兩大腿、兩小腿、兩隻腳;
(1.2)、利用kinect獲取人體20個關節點的位置數據,以三維空間坐標的形式記錄為關節點數據,並對每一個關節點數據進行可信度判斷,選取可信的關節點數據;如圖2,當關節點的狀態處於tracked的時候,則認為關節點數據初步可信,再判斷其是否滿足生理約束以及運動約束,如果均滿足,則認為可信;其中20個關節點分別為:髖關節中心、脊柱、雙肩中心、頭部、左肩、左肘、左腕、左手、右肩、右肘、右腕、右手、左髖關節、左膝、左踝、左腳、右髖關節、右膝、右踝、右腳;
(1.3)、將步驟(1.1)與步驟(1.2)獲得的關節姿態數據以及可信的關節點數據作為初級運動數據;
(2)、將獲得的初級運動數據作為全身運動數據經過時間對準和空間重投影后進行質量評價,獲得質量評價結果;
(2.1)、採用內插法將mems運動傳感器以及kinect進行時間對準;
根據mems運動傳感器以及kinect的採集數據的頻率,將時間片選取為1秒;mems運動傳感器實際採集速率比kinect低,為了使mems運動傳感器的數據形成同kinect一樣的時間間隔,假設mems運動傳感器兩幀的時間間隔內做角速度恆定的勻速運動,經過內插法計算之後得到的mems運動傳感器角度,此時mems運動傳感器數據的時間間隔與kinect一致;
(2.2)、根據kinect和mems運動傳感器之間的空間關係得到空間轉換矩陣將獲得的全身運動數據進行空間轉換,並轉移至人體骨骼坐標系下;
(2.3)、從kinect獲得的20個關節點的位置數據提取出可靠的人體骨骼模型作為參考模型,並建立人體骨骼生理約束;根據各個關節點計算出每段骨骼的長度,將計算出的骨骼的長度同人體骨骼模型中的骨骼參考長度進行對比,若誤差值大於設定的誤差閾值,則說明由體感傳感器到來的新的一幀數據不可靠;
由於人體自身的運動約束,人體不同部位的關節點能夠旋轉的角度也都有各自的取值範圍,根據獲取到的骨骼數據對所有關節點進行歐拉角計算,判斷每個關節點的歐拉角是否在對應的範圍內;如果歐拉角的超出範圍大於誤差閾值,則認為此幀中的關節點數據不可信;下表為人體部分關節點的歐拉角取值範圍:
(2.4)、對慣性傳感器獲得的關節姿態數據以及體感傳感器獲取的可靠的關節點數據進行卡爾曼濾波,將濾波後的值與慣性傳感器觀測值進行對比,判斷其是否超過設定的濾波誤差閾值;當其超過濾波誤差閾值時,輔助以體感傳感器進行質量評價,判斷其是否可信,獲得質量評價結果;
當兩個設備的數據其中一方出錯時,由於信息的互補性,導致mems運動傳感器和kinect的濾波誤差值都產生較大變化。對此為慣性傳感器的濾波誤差設定一個濾波誤差閾值ε,當mems運動傳感器的濾波誤差值小於ε時,再判斷此時的數據是否符合人體關節的運動約束,如果滿足運動約束,則表示mems運動傳感器的數據可信;當mems運動傳感器的濾波誤差值大於ε時,說明mems運動傳感器和kinect其中之一發生錯誤,導致濾波誤差變大;若kinect的數據質量可信,則認為是由於mems運動傳感器導致的濾波誤差變大,反之認為mems運動傳感器的數據是可信的,具體方法如圖3:
分別對由mems運動傳感器獲得關節姿態數據作為慣性觀測值sobserve以及由kinect獲得的關節點數據作為體感觀測值kobserve進行卡爾曼濾波,獲得慣性濾波值skalman與體感濾波值kkalman;計算sobserve與skalman之間的誤差值dsensor,並與設定的濾波誤差閾值ε對比;當dsensor小於ε時,若滿足運動約束,則獲得的sobserve可信;當dsensor大於ε時,若kinect獲得數據是可信的,則sobserve不可信,反之,則sobserve可信;以此獲得質量評價結果;
(3)、基於質量評價結果,將獲得的全身運動數據進行數據融合後,選取可信的全身運動數據作為新的人體運動數據,以此進行運動跟蹤;
(3.1)、為mems運動傳感器和kinect所採集到的每個關節點數據設置一個大小為30的滑動窗口,存放關節點的數據質量;
(3.2)、當mems運動傳感器和kinect的新的一幀觀測值到來時,根據數據質量評價,判斷出當前幀的各個關節點的數據質量,更新mems運動傳感器與kinect的滑動窗口;設某一個關節有x幀數據是可信的,則有30-x幀數據是不可信的,mems運動傳感器和kinect獲得的每一個關節點的數據權重隨著滑動窗口內可信數據的數量的增加而增大;各個關節點的權重m表示為:
其中,m為權重值,k為調節因子,x為滑動窗口內數據可信的幀數;
如圖4,並且分別通過mems運動傳感器以及kinect獲得觀測值進行權重計算,分別表示為mj、mi;
(3.3)、當mi≥σ並且mj≥σ時,mems運動傳感器和kinect獲得的觀測值均可信,此時採用mi、mj中較大一方的卡爾曼濾波後的關節點數據作為參考數據,並且若mi=mj,則採用mems運動傳感器的觀測值作為參考數據;
當mi>σ並且mj<σ時,判定mems運動傳感器的觀測值出錯,而kinect觀測值良好,由於此時mems運動傳感器和kinect卡爾曼濾波後的濾波值存在較大誤差,採用kinect的觀測值作為參考數據;
當mi<σ時,判定kinect出錯,由於mems運動傳感器的觀測值數據質量是在kinect的觀測值輔助下做出判斷的,因此mj<σ,此時直接判定mems運動傳感器的觀測值正確,採用其作為參考數據。
最後需要說明的是,以上實施例僅用以說明本發明的技術方案而非限制性技術方案,本領域的普通技術人員應當理解,那些對本發明的技術方案進行修改或者等同替換,而不脫離本技術方案的宗旨和範圍,均應涵蓋在本發明的權利要求範圍當中。