国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法

      文檔序號:6560866閱讀:260來源:國知局
      專利名稱:一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及人體運動數(shù)據(jù)的捕獲,特別涉及一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法。
      背景技術(shù)
      人體運動捕獲技術(shù)是一種能夠直接捕捉人體動作,用數(shù)字表示這些動作,并利用計算機對運動數(shù)據(jù)進行處理的技術(shù)。它在很多方面都有重要的應用。在計算機動畫領(lǐng)域,通過捕獲運動數(shù)據(jù)可以生成逼真的人體動畫;在醫(yī)學領(lǐng)域,通過運動捕獲數(shù)據(jù)計算出人體每個關(guān)節(jié)所受的力和力矩,進而分析每個關(guān)節(jié)的生理狀況。同樣,在體育運動領(lǐng)域可以根據(jù)計算的速度、加速度、力來分析運動員的運動是否合理,怎樣改進動作。
      在人體運動捕獲技術(shù)中,目前使用范圍最廣的是基于光學的人體運動捕獲方法。該方法通過跟蹤貼在人體關(guān)節(jié)部位標志點的軌跡,進而計算出關(guān)節(jié)的轉(zhuǎn)動角度(轉(zhuǎn)動關(guān)節(jié))或平移量(平移關(guān)節(jié))。但基于光學的人體運動捕獲方法有其局限性當標志點貼的位置相對于標準位置有偏移或由于人體肢體的遮擋造成某些標志點無法被觀測到時,捕獲的運動數(shù)據(jù)就有較大的誤差;此外,光學設(shè)備對外部環(huán)境較敏感,即使標志點貼的很好,同時也沒有自遮擋現(xiàn)象,捕獲的運動數(shù)據(jù)仍然含有噪聲。當人體運動捕獲技術(shù)應用于醫(yī)學和體育領(lǐng)域時,要求捕獲的運動數(shù)據(jù)滿足物理約束,也就是滿足多剛體動力學方程。由于客觀存在的誤差和噪聲使得多剛體動力學方程無法滿足,因此需要一種方法來消除這些誤差和噪聲。
      多剛體動力學方程是一組計算多剛體系統(tǒng)中每個剛體的速度、加速度以及所受廣義力的物理方程。多剛體動力學方程有很多理論上等價的形式,但是在工程計算中主要是用具有較好數(shù)值計算性能的牛頓-歐拉方程。
      在牛頓-歐拉方程里,由于關(guān)節(jié)的旋轉(zhuǎn)運動不是一種矢量,因此需要一些特殊的方法來描述。常用于描述關(guān)節(jié)旋轉(zhuǎn)運動的方法有兩種1)歐拉角。歐拉角是使用一組依次繞X、Y、Z軸旋轉(zhuǎn)的轉(zhuǎn)角來描述關(guān)節(jié)運動的方法。一個旋轉(zhuǎn)關(guān)節(jié)最多只要3個轉(zhuǎn)角就可以完全描述它的轉(zhuǎn)動。最少需要N(N=1,2,3)個轉(zhuǎn)角才能描述其旋轉(zhuǎn)的關(guān)節(jié)稱為具有N個自由度的關(guān)節(jié)。使用歐拉角描述旋轉(zhuǎn)關(guān)節(jié)最大的優(yōu)點是沒有冗余性,即能根據(jù)關(guān)節(jié)的自由度用最少的變量來描述其轉(zhuǎn)動。但一個嚴重的缺點是歐拉角可能存在奇異性,也即不能保證歐拉角隨時間連續(xù)變化。
      2)單位四元數(shù)。單位四元數(shù)是一個模長為1的四元組q=(q0q1q2q3)(q02+q12+q22+q32=1).]]>單位四元數(shù)最大的優(yōu)點是沒有奇異性,但是缺點有兩個①冗余性不論旋轉(zhuǎn)關(guān)節(jié)有幾個自由,都需要4個分量來描述該關(guān)節(jié);②模長為1的約束。用牛頓-歐拉方程來計算剛體的速度、加速度、廣義力時,使用四元數(shù)參數(shù)化關(guān)節(jié)比用歐拉角更好。原因在于不用考慮歐拉角奇異性問題。但是一旦涉及對運動數(shù)據(jù)進行修正,單位四元數(shù)的模長約束就會導致優(yōu)化計算中出現(xiàn)過約束的問題,使得優(yōu)化失敗。
      現(xiàn)有的多剛體動力學方程主要是從機器人領(lǐng)域發(fā)展起來的,在方程中要么完全用歐拉角描述關(guān)節(jié)轉(zhuǎn)動,要么完全用四元數(shù)描述關(guān)節(jié)轉(zhuǎn)動。這兩種方程都不適用于人體運動捕獲數(shù)據(jù)的修正中,原因就是不能同時滿足如下兩個重要條件1)無奇異性;2)避免運動數(shù)據(jù)優(yōu)化修正中出現(xiàn)的過約束問題。因此需要發(fā)展一種能同時滿足以上兩個重要條件的多剛體動力學方程。
      由于運動捕獲過程中誤差和噪聲的存在,因此需要對捕獲運動數(shù)據(jù)進行修正,利用優(yōu)化模型來修正捕獲運動數(shù)據(jù)是當前的一種主流的方法。目前使用的優(yōu)化模型中,目標函數(shù)是修正的運動數(shù)據(jù)和捕獲的原始運動數(shù)據(jù)之間的差距;約束函數(shù)是人體質(zhì)心上六個方向的廣義力為零。這種優(yōu)化模型適用于捕獲到的運動數(shù)據(jù)質(zhì)量較好的情況,但對于標志點大量丟失以及標志點偏移量較大的情況它是無效的。因此有必要提出一種更加魯棒的優(yōu)化模型。

      發(fā)明內(nèi)容
      本發(fā)明的一個目的是克服現(xiàn)有的牛頓-歐拉方程在人體運動捕獲數(shù)據(jù)修正中無法同時滿足無奇異性和無過約束性的缺陷,從而提出了一種基于歐拉角-四元數(shù)的混合牛頓-歐拉多剛體動力學方程。該方程能夠有效地解決歐拉角奇異性的問題并將四元數(shù)模長為一的約束對優(yōu)化運動數(shù)據(jù)的阻礙降到最低。
      本發(fā)明的另一個目的是為了克服傳統(tǒng)優(yōu)化模型對捕獲的原始運動數(shù)據(jù)的質(zhì)量要求較高,優(yōu)化的約束條件不容易得到滿足的缺點,從而提供一種不僅有很好的收斂性,同時還能保證修正后的運動數(shù)據(jù)滿足物理約束的優(yōu)化模型。
      為了實現(xiàn)上述目的,本發(fā)明提供了一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,包括以下步驟10)、在計算機上輸入人體拓撲結(jié)構(gòu)文件和肢體幾何模型文件,然后根據(jù)人體拓撲結(jié)構(gòu)和肢體幾何模型建立人體幾何模型;20)、在計算機上輸入人體總質(zhì)量,根據(jù)人體總質(zhì)量和步驟10)中得到的肢體幾何模型中的人體肢體幾何參數(shù),按照生物力學中的統(tǒng)計方法,計算出每個肢體的人體質(zhì)量分布參數(shù);所述的人體質(zhì)量分布參數(shù)包括肢體的質(zhì)量和一個3×3的轉(zhuǎn)動慣量矩陣;30)、將采用現(xiàn)有人體運動捕獲技術(shù)得到的人體運動捕獲數(shù)據(jù)輸入計算機中,并將所述的人體運動捕獲數(shù)據(jù)與人體的運動關(guān)節(jié)進行匹配;40)、根據(jù)步驟30)得到的人體運動捕獲數(shù)據(jù),參數(shù)化人體運動關(guān)節(jié),在參數(shù)化關(guān)節(jié)時,首先用歐拉角參數(shù)化旋轉(zhuǎn)關(guān)節(jié),然后對每個旋轉(zhuǎn)關(guān)節(jié),判斷其歐拉角是否具有奇異性,對于具有奇異性的旋轉(zhuǎn)關(guān)節(jié),將歐拉角轉(zhuǎn)化為四元數(shù),并用四元數(shù)參數(shù)化該關(guān)節(jié);50)、建立基于歐拉角-四元數(shù)的混合牛頓-歐拉多剛體動力學方程,根據(jù)步驟40)中得到的關(guān)節(jié)的參數(shù)化類型,分別計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度、剛體的加速度,并利用當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度、剛體的加速度計算剛體上的關(guān)節(jié)所受到的廣義力;60)、建立基于物理約束的優(yōu)化模型,該優(yōu)化模型中包括一個目標函數(shù)和一個約束函數(shù),所述的目標函數(shù)為人體根剛體上六個方向的廣義力的平方和在整個運動過程中的積分,所述的約束函數(shù)為修正后的運動數(shù)據(jù)和捕獲的原始運動數(shù)據(jù)間的差距小于給定的閥值;70)、在步驟60)所建立的優(yōu)化模型中,設(shè)置優(yōu)化計算的迭代次數(shù),每個優(yōu)化變量的上下限;80)、根據(jù)步驟70)中所設(shè)置的迭代次數(shù)和每個優(yōu)化變量的上下限,對步驟60)中所建立的優(yōu)化模型進行優(yōu)化,得到修正后的運動捕獲數(shù)據(jù);90)、將修正后的運動捕獲數(shù)據(jù)按讀入的格式寫入輸出數(shù)據(jù)文件,同時將目標函數(shù)值、約束函數(shù)值以及每步迭代得到的中間結(jié)果寫入一個優(yōu)化過程記錄文件中。
      上述技術(shù)方案中,在所述的步驟10)中,所述的人體拓撲結(jié)構(gòu)描述了人體肢體間的父子關(guān)系,在所述的肢體幾何模型文件中,描述了人體肢體的幾何參數(shù),包括肢體的長、寬、高參數(shù)。
      上述技術(shù)方案中,在所述的步驟10)中,所述的人體幾何模型可采用“Hanavan人體模型”或“Zatsiorsky人體模型”或“中國人體模型”。
      上述技術(shù)方案中,在所述的步驟40)中,所述的判斷歐拉角是否具有奇異性時,若相鄰兩幀歐拉角的變化大于九十度,則歐拉角具有奇異性。
      上述技術(shù)方案中,在完成所述的步驟40)后,將所有的歐拉角和四元數(shù)作B樣條擬合。
      上述技術(shù)方案中,所述的步驟50)的具體實現(xiàn)步驟包括步驟5-1)、在人體模型中,從根剛體開始向葉子剛體做前向遞歸計算;步驟5-2)、在每個剛體上,判斷當前剛體上關(guān)節(jié)的參數(shù)化類型,若為歐拉角,執(zhí)行步驟5-3),若為四元數(shù),執(zhí)行步驟5-4);步驟5-3)、調(diào)用混合的牛頓-歐拉動力學方程中以歐拉角為變量的方程,計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度和剛體的加速度,然后執(zhí)行步驟5-5);步驟5-4)、調(diào)用混合的牛頓-歐拉動力學方程中以四元數(shù)為變量的方程,計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、當前剛體相對父剛體的旋轉(zhuǎn)矩陣、當前剛體相對父剛體的旋轉(zhuǎn)矩陣的導數(shù)、當前剛體相對世界坐標系的旋轉(zhuǎn)矩陣以及它的逆矩陣的導數(shù)、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量的導數(shù)、剛體的速度和加速度,然后執(zhí)行步驟5-5);步驟5-5)、由葉子剛體向根剛體做后向遞歸運算,根據(jù)步驟5-3)或步驟5-4)得到的當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度和剛體的加速度,調(diào)用混合的牛頓-歐拉動力學方程中計算廣義力的方程計算每個關(guān)節(jié)上受到的廣義力。
      本發(fā)明的優(yōu)點在于首先提供了一種適合于運動捕獲數(shù)據(jù)修正的基于歐拉角-四元數(shù)的混合牛頓-歐拉多剛體動力學方程。該方程不僅能有效地解決歐拉角奇異性的問題還使得四元數(shù)模長為一的約束對優(yōu)化運動數(shù)據(jù)造成的障礙降到最低。其次提出了一種新的優(yōu)化模型,該優(yōu)化模型對初始的捕獲運動的質(zhì)量要求低,收斂性好,還能保證修正后的運動數(shù)據(jù)在滿足物理約束的情況下非常接近于原始的捕獲數(shù)據(jù)。本發(fā)明綜合使用多剛體動力學、生物力學、優(yōu)化計算技術(shù),提出的方法適用于任意的人體拓撲結(jié)構(gòu)和復雜的運動數(shù)據(jù),具有很好的通用性和實用性。


      圖1為本發(fā)明的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法的流程圖;圖2A為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體X方向合力矩的結(jié)果圖;圖2B為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體Y方向合力矩的結(jié)果圖;圖2C為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體Z方向合力矩的結(jié)果圖;圖3A為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體X方向合力的結(jié)果圖;圖3B為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體Y方向合力的結(jié)果圖;圖3C為利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)計算出的人體根剛體Z方向合力的結(jié)果圖;圖4為人體模型的示意圖。
      圖面說明——利用原始數(shù)據(jù)計算得到的結(jié)果 利用修正后的數(shù)據(jù)計算得到的結(jié)果具體實施方式
      下面結(jié)合附圖和具體實施方式
      對本發(fā)明的方法做進一步說明。
      在一個實施例中,本發(fā)明的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法在一臺CPU主頻為2.8GHz,內(nèi)存為1G的計算機上實現(xiàn),該計算機采用WindowsXP操作系統(tǒng)。
      在上述平臺的基礎(chǔ)上,如圖1所示,本發(fā)明的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法包括以下步驟步驟10、輸入人體拓撲結(jié)構(gòu)和肢體幾何模型文件,根據(jù)人體拓撲結(jié)構(gòu)和肢體幾何模型文件建立人體幾何模型。其中,所述的人體拓撲結(jié)構(gòu)描述了人體肢體間的父子關(guān)系。如圖4所示,在一個人體模型中,人體左手上的肘關(guān)節(jié)是腕關(guān)節(jié)的父關(guān)節(jié),而肩關(guān)節(jié)又是肘關(guān)節(jié)的父關(guān)節(jié)。在所述的肢體幾何模型文件中,則包含有人體肢體的幾何參數(shù),如肢體的長、寬等參數(shù)。所述的人體拓撲結(jié)構(gòu)可從人體生物力學的文獻中得到,所述肢體幾何模型的數(shù)據(jù)可用卷尺測量得到。在本步驟中,人體幾何模型的建立是成熟的現(xiàn)有技術(shù),人體模型可采用“Hanavan人體模型”、“Zatsiorsky人體模型”以及“中國人體模型”。相關(guān)技術(shù)可見參考文獻1現(xiàn)代運動生物力學,鄭秀瑗等,國防工業(yè)出版社,2002。
      步驟20、輸入人體總質(zhì)量,根據(jù)人體總質(zhì)量和步驟10中得到的人體肢體的幾何參數(shù),參照生物力學中的統(tǒng)計方法,計算出每個肢體的人體質(zhì)量分布參數(shù)。其中,所述的質(zhì)量分布參數(shù)包括肢體(在多剛體動力學方程中,肢體被視為剛體)的質(zhì)量和3×3的轉(zhuǎn)動慣量矩陣。
      步驟30、輸入人體運動捕獲數(shù)據(jù),并將運動捕獲數(shù)據(jù)與運動關(guān)節(jié)進行匹配。所述的運動捕獲數(shù)據(jù)包含了不同的時間內(nèi),各個肢體的轉(zhuǎn)動角度值以及人體整體的三個方向平移值。在本步驟中,所述的運動捕獲數(shù)據(jù)與運動關(guān)節(jié)進行匹配是指某一關(guān)節(jié)的運動捕獲數(shù)據(jù)應當與該關(guān)節(jié)相聯(lián)系,而不是與其它關(guān)節(jié)相聯(lián)系。例如,腕關(guān)節(jié)的運動捕獲數(shù)據(jù)與腕關(guān)節(jié)相聯(lián)系,肩關(guān)節(jié)的運動捕獲數(shù)據(jù)與肩關(guān)節(jié)相聯(lián)系。在本實施例中,輸入的人體運動捕獲數(shù)據(jù)采用自定義的格式VHD,通過該格式的文件能將運動捕獲數(shù)據(jù)和運動關(guān)節(jié)進行匹配。
      所述的自定義VHD的格式如下第一個關(guān)節(jié)名稱采樣時間1運動數(shù)據(jù)1采樣時間2運動數(shù)據(jù)2……第二個關(guān)節(jié)名稱采樣時間1運動數(shù)據(jù)1采樣時間2運動數(shù)據(jù)2……第三個關(guān)節(jié)名稱采樣時間1運動數(shù)據(jù)1采樣時間2運動數(shù)據(jù)2………………第N個關(guān)節(jié)名稱采樣時間1運動數(shù)據(jù)1采樣時間2運動數(shù)據(jù)2……步驟40、根據(jù)步驟30中輸入的人體運動捕獲數(shù)據(jù),參數(shù)化人體運動關(guān)節(jié)。其具體實現(xiàn)如下步驟401、用歐拉角參數(shù)化旋轉(zhuǎn)關(guān)節(jié);在人體模型中,除了根剛體上的一個關(guān)節(jié)為平移關(guān)節(jié)外,人體模型的其他關(guān)節(jié)都為旋轉(zhuǎn)關(guān)節(jié)。
      步驟402、對每一個旋轉(zhuǎn)關(guān)節(jié),判斷相鄰兩幀的歐拉角度變化是否大于九十度,如果大于九十度表明歐拉角產(chǎn)生了奇異性,執(zhí)行步驟403,否則執(zhí)行步驟405。以具有三個自由度的關(guān)節(jié)為例,具體規(guī)則如下設(shè)αi,βi,γi是某個關(guān)節(jié)在第i幀的三個歐拉角。αi+1,βi+1,γi+1是第i+1幀的歐拉角。如果|αi+1-αi|,|βi+1-βi|,|γi+1-γi|有某一個值大于九十度,則該關(guān)節(jié)的歐拉角產(chǎn)生了奇異性。
      步驟403、將歐拉角轉(zhuǎn)化為四元數(shù);歐拉角轉(zhuǎn)化四元數(shù)是現(xiàn)有技術(shù),其具體實現(xiàn)可見參考文獻2計算多體系統(tǒng)動力學,洪嘉振,科學出版社2002年。
      步驟404、用四元數(shù)參數(shù)化旋轉(zhuǎn)關(guān)節(jié);步驟405、對所有的歐拉角和四元數(shù)進行B樣條擬合,以減少自變量的個數(shù)。
      步驟50、建立基于歐拉角-四元數(shù)的混合牛頓-歐拉多剛體動力學方程;該方程是一組遞歸的方程。根據(jù)關(guān)節(jié)參數(shù)化類型,動態(tài)地調(diào)用相應的計算方程。其具體實現(xiàn)如下。
      步驟501、在人體模型中,從根剛體開始向葉子剛體做前向遞歸計算,在每個剛體中完成以下操作。
      步驟5011、判斷當前剛體上關(guān)節(jié)的參數(shù)化類型,若為歐拉角,執(zhí)行步驟5012,若為四元數(shù),執(zhí)行步驟5013。
      步驟5012、調(diào)用混合的牛頓-歐拉動力學方程中以歐拉角為變量的方程計算以下項1)、當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣,如方程(1)所示;Xij=Rij0-Rij(li&prime;&times;)Rij---(1)]]>Rij坐標系i相對坐標系j的旋轉(zhuǎn)矩陣;li′坐標系j的原點在(未旋轉(zhuǎn)前的)坐標系i中的坐標值;其中符號“×”定義如下xyz&times;=0-zyz0-x-yx0]]>特別的,對于根剛體而言,它本身沒有父剛體,只能做平移運動,它的廣義旋轉(zhuǎn)矩陣中的Rij是3乘3的單位矩陣。
      2)、計算剛體的速度和加速度。使用歐拉角計算剛體的速度和加速度時,計算方程如方程(2)和方程(3)所示vi&prime;=Xi-1ivi-1&prime;+si&prime;&theta;&CenterDot;i---(2)]]> 其中,vi′表示第i個剛體的空間速度;ai′表示第i個剛體的空間加速度;Xij表示坐標系i到坐標系j的廣義旋轉(zhuǎn)矩陣;si′表示第i個關(guān)節(jié)的轉(zhuǎn)軸;θi對于旋轉(zhuǎn)關(guān)節(jié)表示歐拉角度值,對于平移關(guān)節(jié)表示平移值。
      表示對應的一階、二階導數(shù)。 表示將一個6×1的矢量變成6×6的矩陣,其規(guī)則如下 步驟5013、調(diào)用混合的牛頓-歐拉動力學方程中以四元數(shù)為變量的方程計算以下項1)、當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣Xij,對空間選擇矩陣的計算可參照方程(1);2)、當前剛體相對父剛體的旋轉(zhuǎn)矩陣Rij;對旋轉(zhuǎn)矩陣Rij的計算在方程(5)后的說明中有具體的描述。
      3)、當前剛體相對父剛體的旋轉(zhuǎn)矩陣的導數(shù) 所述的旋轉(zhuǎn)矩陣的導數(shù) 通過對旋轉(zhuǎn)矩陣Rij求導得到;4)、當前剛體相對世界坐標系的旋轉(zhuǎn)矩陣Ri0以及它的逆矩陣的導數(shù) 5)、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量ri′;6)、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量的導數(shù) 7)、計算速度、加速度。利用四元數(shù)計算剛體的速度和加速度時,計算方程如方程(4)和方程(5)所示
      vi&prime;=Xi-1ivi-1&prime;+&omega;&RightArrow;i&prime;0---(4)]]>ai&prime;=Xi-1iai-1&prime;+R0iR&CenterDot;i0&omega;&RightArrow;i&prime;+&omega;&RightArrow;&CenterDot;i&prime;r&CenterDot;i&prime;&times;&omega;&RightArrow;i&prime;---(5)]]>其中,Rij=2qi,02-1+2qi,122qi,1qi,2-2qi,0qi,32qi,1qi,3+2qi,0qi,22qi,1qi,2+2qi,0qi,32qi,02-1+2qi,222qi,2qi,3-2qi.0qi,12qi,1qi,3-2qi,0qi,22qi,2qi,3+2qi,0qi,12qi,02-1+2qi,32]]>R0i=Ri-1iR0i-1;R&CenterDot;0i=R&CenterDot;i-1iR0i-1+Ri-1iR&CenterDot;0i-1;]]>&omega;&RightArrow;i&prime;=2Liq&CenterDot;i;&omega;&RightArrow;&CenterDot;i&prime;=2Liq&CenterDot;&CenterDot;i]]>Li=-qi,1qi,0qi,3-qi,2-qi,2-qi,3qi,0qi,1-qi,3qi,2-qi,1qi,0]]>Rij表示坐標系i到坐標系j的旋轉(zhuǎn)矩陣;vi′表示第i個剛體的空間速度;ai′表示第i個剛體的空間加速度;Xij表示坐標系i到坐標系j的廣義旋轉(zhuǎn)矩陣;qi表示第i個關(guān)節(jié)轉(zhuǎn)動的四元數(shù);ωi′表示第i個剛體的角速度; 表示第i個剛體相對于第i-1個剛體的角速度;li′表示第i-1個坐標系的原點到第i個坐標系原點的矢量;ri′表示第i個坐標系原點到世界坐標系的矢量。
      在上述變量中,一個變量的上方帶有一個點表示該變量的一階導數(shù),帶有兩個點的表示該變量的二階導數(shù)。右上角帶有一撇的表示改變量位于局部坐標系中,步驟502、由葉子剛體向根剛體做后向遞歸運算,在每個剛體中建立牛頓-歐拉動力學方程,利用該方程計算關(guān)節(jié)上受到的廣義力。該廣義力的計算方程如方程(6)所示。
      Ii&prime;=-mici&OverBar;&times;miIi&OverBar;-mici&OverBar;&times;ci&times;mici&OverBar;&times;]]>mi第i根剛體的質(zhì)量;
      Ii第i根剛體相對于質(zhì)心的轉(zhuǎn)動慣量矩陣;ci第i根剛體的質(zhì)心在第i個標架中的坐標; 表示將一個6×1的矢量變成6×6的矩陣,在方程(3)中對變換過程有相應的說明。
      在上述的利用混合的牛頓-歐拉動力學方程計算廣義力的過程中,對于用歐拉角表示的關(guān)節(jié),在計算廣義力時,采用由歐拉角計算得到的速度和加速度,對于用四元數(shù)表示的關(guān)節(jié),在計算廣義力時,采用由四元數(shù)得到的速度和加速度。
      步驟60、建立基于物理約束的優(yōu)化模型。該優(yōu)化模型的建立包含以下步驟步驟601、建立目標函數(shù),所述目標函數(shù)為人體根剛體上六個方向的廣義力的平方和在整個運動過程中的積分,該函數(shù)的表達式如方程(7)所示&Integral;t=t0t=t1&Sigma;i=16fi2(t)---(7)]]>步驟602、建立約束函數(shù),所述約束函數(shù)為修正后的運動數(shù)據(jù)和捕獲的原始運動數(shù)據(jù)間的差距小于給定的閥值。
      |xi(tj)-xi,j|<H(8)其中,xi(tj)表示第i個關(guān)節(jié)在tj時刻的運動數(shù)據(jù),xi,j表示對應的原始運動數(shù)據(jù),H表示給定的閥值。
      步驟603、設(shè)置優(yōu)化計算的迭代次數(shù),每個優(yōu)化變量的上下限。本步驟中所述的優(yōu)化變量是指描述關(guān)節(jié)運動的B樣條的控制點。因為所有實用的優(yōu)化算法都只能找到局部最優(yōu)解而不能保證找到全局最優(yōu)解,因此需要設(shè)置一個迭代次數(shù)使得在合理的時間內(nèi)找到近似的局部最優(yōu)解。設(shè)置優(yōu)化變量的上下限是為了減小變量的定義域,加快找到局部最優(yōu)值的速度。
      步驟70、使用逐步二次規(guī)劃方法求解優(yōu)化問題。逐步二次規(guī)劃方法為現(xiàn)有技術(shù),利用逐步二次規(guī)劃方法求解優(yōu)化問題的具體實現(xiàn)可見參考文獻3最優(yōu)化理論與方法,袁亞湘、孫文瑜,科學出版社1999。
      步驟80、得到優(yōu)化后的滿足物理約束人體運動數(shù)據(jù),將計算得到的修正運動捕獲數(shù)據(jù)按讀入的格式寫入輸出數(shù)據(jù)文件,同時將目標函數(shù)值、約束函數(shù)值以及每步迭代得到的中間結(jié)果寫入一個優(yōu)化過程記錄文件。
      利用本發(fā)明的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,可以很好地消除通過人體運動捕獲技術(shù)所捕獲的運動數(shù)據(jù)中存在的誤差和噪聲。圖2是一個實施例中,利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)分別計算人體根剛體上所受合力矩的結(jié)果圖。圖2A表示X方向的合力矩,圖2B表示Y方向的合力矩,圖2C表示Z方向的合力矩,其中,在圖2A、圖2B、圖2C中,細線表示由原始運動捕獲數(shù)據(jù)計算得到的合力矩的值,粗線表示由修正后的運動捕獲數(shù)據(jù)計算得到的合力矩的值,從圖中可以看出,由修正后運動數(shù)據(jù)計算得到的合力矩比由原書運動數(shù)據(jù)計算得到的合力矩更接近理論值0。圖3則是利用原始運動捕獲數(shù)據(jù)和修正后的運動捕獲數(shù)據(jù)分別計算人體根剛體上所受合力的結(jié)果圖,圖3A表示X方向的合力,圖3B表示Y方向的合力,圖3C表示Z方向的合力,其中,在圖3A、圖3B、圖3C中,細線表示由原始運動捕獲數(shù)據(jù)計算得到的合力的值,粗線表示由修正后的運動捕獲數(shù)據(jù)計算得到的合力的值。從圖中可以看出,由修正后運動數(shù)據(jù)計算得到的合力比由原書運動數(shù)據(jù)計算得到的合力更接近理論值0。圖2和圖3都說明了利用本發(fā)明方法對運動數(shù)據(jù)進行修正后,明顯降低了誤差與噪聲的干擾。
      權(quán)利要求
      1.一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,包括以下步驟10)、在計算機上輸入人體拓撲結(jié)構(gòu)文件和肢體幾何模型文件,然后根據(jù)人體拓撲結(jié)構(gòu)和肢體幾何模型建立人體幾何模型;20)、在計算機上輸入人體總質(zhì)量,根據(jù)人體總質(zhì)量和步驟10)中得到的肢體幾何模型中的人體肢體幾何參數(shù),按照生物力學中的統(tǒng)計方法,計算出每個肢體的人體質(zhì)量分布參數(shù);所述的人體質(zhì)量分布參數(shù)包括肢體的質(zhì)量和一個3×3的轉(zhuǎn)動慣量矩陣;30)、將采用現(xiàn)有人體運動捕獲技術(shù)得到的人體運動捕獲數(shù)據(jù)輸入計算機中,并將所述的人體運動捕獲數(shù)據(jù)與人體的運動關(guān)節(jié)進行匹配;40)、根據(jù)步驟30)得到的人體運動捕獲數(shù)據(jù),參數(shù)化人體運動關(guān)節(jié),在參數(shù)化關(guān)節(jié)時,首先用歐拉角參數(shù)化旋轉(zhuǎn)關(guān)節(jié),然后對每個旋轉(zhuǎn)關(guān)節(jié),判斷其歐拉角是否具有奇異性,對于具有奇異性的旋轉(zhuǎn)關(guān)節(jié),將歐拉角轉(zhuǎn)化為四元數(shù),并用四元數(shù)參數(shù)化該關(guān)節(jié);50)、建立基于歐拉角-四元數(shù)的混合牛頓-歐拉多剛體動力學方程,根據(jù)步驟40)中得到的關(guān)節(jié)的參數(shù)化類型,分別計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度、剛體的加速度,并利用當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度、剛體的加速度計算剛體上的關(guān)節(jié)所受到的廣義力;60)、建立基于物理約束的優(yōu)化模型,該優(yōu)化模型中包括一個目標函數(shù)和一個約束函數(shù),所述的目標函數(shù)為人體根剛體上六個方向的廣義力的平方和在整個運動過程中的積分,所述的約束函數(shù)為修正后的運動數(shù)據(jù)和捕獲的原始運動數(shù)據(jù)間的差距小于給定的閥值;70)、在步驟60)所建立的優(yōu)化模型中,設(shè)置優(yōu)化計算的迭代次數(shù),每個優(yōu)化變量的上下限;80)、根據(jù)步驟70)中所設(shè)置的迭代次數(shù)和每個優(yōu)化變量的上下限,對步驟60)中所建立的優(yōu)化模型進行優(yōu)化,得到修正后的運動捕獲數(shù)據(jù);90)、將修正后的運動捕獲數(shù)據(jù)按讀入的格式寫入輸出數(shù)據(jù)文件,同時將目標函數(shù)值、約束函數(shù)值以及每步迭代得到的中間結(jié)果寫入一個優(yōu)化過程記錄文件中。
      2.根據(jù)權(quán)利要求1所述的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,其特征在于,在所述的步驟10)中,所述的人體拓撲結(jié)構(gòu)描述了人體肢體間的父子關(guān)系,在所述的肢體幾何模型文件中,描述了人體肢體的幾何參數(shù),包括肢體的長、寬、高參數(shù)。
      3.根據(jù)權(quán)利要求1所述的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,其特征在于,在所述的步驟10)中,所述的人體幾何模型可采用“Hanavan人體模型”或“Zatsiorsky人體模型”或“中國人體模型”。
      4.根據(jù)權(quán)利要求1所述的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,其特征在于,在所述的步驟40)中,所述的判斷歐拉角是否具有奇異性時,若相鄰兩幀歐拉角的變化大于九十度,則歐拉角具有奇異性。
      5.根據(jù)權(quán)利要求1所述的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,其特征在于,在完成所述的步驟40)后,將所有的歐拉角和四元數(shù)作B樣條擬合。
      6.根據(jù)權(quán)利要求1所述的對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,其特征在于,所述的步驟50)的具體實現(xiàn)步驟包括步驟5-1)、在人體模型中,從根剛體開始向葉子剛體做前向遞歸計算;步驟5-2)、在每個剛體上,判斷當前剛體上關(guān)節(jié)的參數(shù)化類型,若為歐拉角,執(zhí)行步驟5-3),若為四元數(shù),執(zhí)行步驟5-4);步驟5-3)、調(diào)用混合的牛頓-歐拉動力學方程中以歐拉角為變量的方程,計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度和剛體的加速度,然后執(zhí)行步驟5-5);步驟5-4)、調(diào)用混合的牛頓-歐拉動力學方程中以四元數(shù)為變量的方程,計算當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、當前剛體相對父剛體的旋轉(zhuǎn)矩陣、當前剛體相對父剛體的旋轉(zhuǎn)矩陣的導數(shù)、當前剛體相對世界坐標系的旋轉(zhuǎn)矩陣以及它的逆矩陣的導數(shù)、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量、當前剛體的關(guān)節(jié)中心到世界坐標原點的矢量的導數(shù)、剛體的速度和加速度,然后執(zhí)行步驟5-5);步驟5-5)、由葉子剛體向根剛體做后向遞歸運算,根據(jù)步驟5-3)或步驟5-4)得到的當前剛體相對父剛體的廣義旋轉(zhuǎn)矩陣、剛體的速度和剛體的加速度,調(diào)用混合的牛頓-歐拉動力學方程中計算廣義力的方程計算每個關(guān)節(jié)上受到的廣義力。
      全文摘要
      本發(fā)明公開了一種對人體運動捕獲數(shù)據(jù)中的噪聲和誤差進行修正的方法,包括建立人體幾何模型;設(shè)置人體質(zhì)量分布參數(shù);輸入捕獲的人體運動數(shù)據(jù);根據(jù)運動數(shù)據(jù)參數(shù)化人體運動關(guān)節(jié);建立基于歐拉角—四元數(shù)的混合牛頓—歐拉多剛體動力學方程;建立基于物理約束的優(yōu)化模型;設(shè)置優(yōu)化計算的迭代次數(shù);用逐步二次規(guī)劃方法求解優(yōu)化模型;得到滿足物理約束的人體運動數(shù)據(jù)。本發(fā)明的方法適用于對任意的人體拓撲結(jié)構(gòu)和運動數(shù)據(jù)進行修正,具有很好的通用性和實用性。
      文檔編號G06T17/00GK1924932SQ20061011307
      公開日2007年3月7日 申請日期2006年9月8日 優(yōu)先權(quán)日2006年9月8日
      發(fā)明者夏時洪, 魏毅, 王兆其 申請人:中國科學院計算技術(shù)研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1