本發明涉及運動捕捉技術,尤其涉及慣性運動捕捉姿態瞬時校準方法及其系統。
背景技術:
運動/動作捕捉技術是一種利用各種傳感器設備和科學技術方法把物體的運動信息轉換成電腦能識別的信息的一種技術。運動捕捉技術被廣泛的應用在影視動畫,虛擬游戲,體育,醫療等各個領域。
根據使用的硬件方法的不同,運動捕捉技術包括機械式運動捕捉、聲學式運動捕捉、電磁式運動捕捉、光學式運動捕捉和慣性運動捕捉等幾種方法。各種運動捕捉方法在使用環境、捕捉精度、易于使用性和價格等幾個維度上都各有不同。綜合來說,慣性運動捕捉技術在這幾個維度上都有不錯的性能,所以在運動捕捉的應用領域得到越來越多的應用。采用慣性動捕技術,在使用時需要在被捕捉的物體上綁定姿態捕捉模塊。在運動捕捉之前安裝姿態捕捉模塊時,由于不能保證每次安裝在被捕捉物體上姿態捕捉模塊的位置都是一樣的,尤其是設備安裝在個體差異比較大的人體時,所以,需要在物體上固定好姿態捕捉模塊之后,再去完成姿態捕捉模塊計算的物體初始姿態和設備終端的物體模型的初始姿態的對應關系,這就是慣性動捕技術里所說的校準。任何慣性動捕技術只有在完成校準這個過程后,才能進行下一步的動作捕捉。
現有的慣性動捕技術的校準比較復雜,一般地,需要使用者擺多個不同的姿勢,并且要求每個姿勢都保持十幾秒到幾十秒的時間。因為在擺姿勢的時候,多少都會和標準姿勢存在偏差,而且要求姿勢保持的時間越長,偏差會有增大的趨勢。而校準需要擺的姿勢越多的話,偏差就更有增大的趨勢,不利于慣性動作捕捉系統的精度,影響慣性動作捕捉系統的使用和應用。
另一方面,在現有的動作捕捉技術中,為了高度還原被捕捉物體的動作,需要把虛擬的物體結構比例按照實際物體的結構比例去建模,由此實現姿態的精準校準。當被捕捉的物體的各部分骨骼比例差別較大時,需要手動修改虛擬物體模型的骨骼比例。當被捕捉的物體的骨骼數量較多時(以人體為例,如果捕捉人體全身包括手指的動作,總共需要捕捉大概47個主要的骨骼),現有通過手動修改虛擬物體模型的骨骼比例進行參數調整實現校準的方法,給動作捕捉系統的使用帶來很大的不方便,不利于動作捕捉技術的應用和推廣。
技術實現要素:
為了克服上述現有技術的不足,本發明提供一種慣性運動捕捉姿態瞬時校準方法,使用本發明的技術方案,不需要使用者擺多個不同的姿勢,只需采用一個姿勢,即能瞬間快速完成系統校準,還可在校準過程中進行姿勢糾偏和自動快速調整虛擬模型骨骼比例,進一步提高使用者姿態與虛擬模型的初始姿態的匹配度,有效解決虛擬模型和實際模型骨骼比例不一致的問題。
本發明的原理是:在動作捕捉系統中,存在幾個坐標系。一個是世界坐標系V(w),是姿態捕捉模塊直接能捕捉并輸出的坐標系,表示的是物體三維世界里的物體姿態;由于傳感器的硬件不同,用傳感器的輸出來表示的世界坐標系V(w)可以是不一樣的;可用Vi(w)(i=1,2,…n)來表示每個傳感器所確定的世界坐標系。另一個是被捕捉的物體所處的坐標系,各個物體所處的坐標系可能不一樣,可以簡單化地把各個被捕捉的物體所處的坐標系定義成一個統一的坐標系,即坐標系V(o)。此外,姿態捕捉模塊需要安裝在被捕捉的物體上才能捕捉到物體的動作,由于安裝姿態捕捉模塊時并不能保證每個姿態捕捉模塊安裝的傾斜角和朝向都一樣,因此,被捕捉的物體和安裝的姿態捕捉模塊之間存在一個安裝坐標系V(a)。每個被捕捉的物體的安裝坐標系都不一樣,可用Vi(a)(i=1,2,…n)來表示第i個物體的安裝坐標系。當用慣性傳感器來捕捉物體(特別是捕捉人體)的動作時,一個首要解決的問題是要找出各個姿態捕捉模塊表示的世界坐標系之間的關系。在實際實驗中,影響傳感器精度的因素主要是磁場的因素,當用歐拉角來表示傳感器的輸出姿態時,磁場主要影響的是水平角度的值,即yaw值。本發明采用四元數表示各個姿態捕捉模塊的世界坐標系的關系,將各個姿態捕捉模塊之間的世界坐標系進行統一,再定義物體的初始姿態和坐標系,并找出物體坐標系和世界坐標系的關系,由此實現運動捕捉的瞬時校準。在此基礎上,能夠進一步實現捕捉物體的運動姿態。
本發明的技術方案是:
一種慣性運動捕捉姿態瞬時校準方法及其系統,只需通過采用一個姿勢,即能瞬間快速完成慣性運動捕捉系統的姿態校準;所述慣性運動捕捉系統包括數據通信模塊、多個姿態捕捉模塊和數據終端;姿態捕捉模塊包括九軸傳感器和微處理器或僅包括九軸傳感器,以其中一個姿態捕捉模塊為基準模塊;所述姿態瞬時校準方法包括如下步驟:
1)姿態捕捉模塊直接捕捉并輸出的坐標系為世界坐標系,設定世界坐標系為V(w);各個被捕捉的物體所處的坐標系定義物體統一坐標系,設定物體統一坐標系為V(o);被捕捉的物體和安裝的姿態捕捉模塊之間的坐標系為安裝坐標系,設定安裝坐標系為V(a);設定Vi(a)(i=1,2,…n)表示第i個物體的安裝坐標系;
2)采用四元數(x,y,z,w)表示各個姿態捕捉模塊的世界坐標系V(w),其中,x,y,z,w分別表示四元數的四個參數;通過測量各個傳感器的歐拉角水平角度的偏移值YAWi(i=1,2,…n),統一各個姿態捕捉模塊之間的世界坐標系;
通過式1統一各個姿態捕捉模塊之間的世界坐標系:
Quati(x,y,z,w)=Etoq(YAWi,0,0)(i=1,2,…n) (式1)
式1中,Quati(x,y,z,w)為第i個模塊的四元數,本發明采用四元數表示各個姿態捕捉模塊之間統一的世界坐標系;YAWi為歐拉角的水平旋轉角度,其取值通過測量得到;當姿態捕捉模塊為基準模塊時,YAWi=0;Etoq(yaw,pitch,roll)是歐拉角轉換四元數的方法,用式2表示:
其中,Quat(x,y,z,w)表示一個四元數;yaw、pitch和roll分別為歐拉角水平旋轉角度、俯仰選轉角度、傾斜旋轉角度。
3)設定系統虛擬模型和系統標準Tpose,在被捕捉物體上安裝好慣性運動捕捉系統并擺好初始校準姿態;定義被捕捉物體的初始姿態Tpose和坐標系;
本發明實施例中,以捕捉人體的運動為例,Tpose表示人處于兩手伸開保持水平,兩腿垂直地面站立,腳面互相平行的姿態,一般以Tpose作為人體的初始姿態。定義物體的X軸正方向為左手方向,Y軸正方向為垂直水平面向上方向,Z軸正方向為人正前方方向為物體坐標系的X軸、Y軸、Z軸的朝向。
此步驟還可進一步進行人體擺出的姿勢和標準Tpose的糾偏處理,可通過骨骼比例進行模型配準;當人體擺出的初始校準姿勢Tpose不符合標準Tpose時,給出做反方向調整姿勢的提示,被捕捉物體根據提示進行姿勢糾偏,直到擺出的初始校準姿勢Tpose姿勢符合標準姿勢,再執行瞬時校準操作;此外,在校準過程中還可通過自動快速調整虛擬模型骨骼比例的方法,快速地把虛擬模型的骨骼比例調整得和實際人體的骨骼比例一致;
4)設姿態捕捉模塊i安裝時的姿態為初始校準姿態Eulor(yawi0,pitchi0,rolli0),傳感器i的姿態輸出為Qi,通過計算得到物體i的姿態四元數為Qrlti,由此找出物體坐標系和世界坐標系的關系,從而實現運動捕捉的瞬時校準;
此步驟輸入的參數是基準模塊的局部坐標系的X軸和被捕捉物體局部坐標系的X軸的相對偏移角度baseangle、被捕捉物體保持初始姿態時各個姿態捕捉模塊輸出的歐拉角的yaw值YAWi、各個姿態捕捉模塊的初始校準姿態的歐拉角(yawi0,pitchi0,rolli0),輸出的結果是物體i的姿態四元數Qrlti(i=1,2,…n);
41)在固定在被捕捉物體上的姿態捕捉模塊中,選擇一個模塊作為基準姿態捕捉模塊;所述基準姿態捕捉模塊的安裝要滿足位置和方向要求,使得基準模塊的局部坐標系的X軸和被捕捉物體局部坐標系的X軸的相對偏移角度是一個固定值,該固定值為基準模塊的局部坐標系和被捕捉物體的局部坐標系的X軸夾角與被捕捉物體保持初始姿態時基準姿態捕捉模塊輸出的歐拉角的yaw值之和;
除基準姿態捕捉模塊外,對姿態捕捉模塊安裝的位置和方向沒有要求;對基準模塊安裝的位置和方向要求是:每次在被捕捉物體上安裝時,基準模塊的局部坐標系的X軸和物體局部坐標系的X軸的相對偏移角度是個固定值。設定這個偏移角度為baseangle,假設基準模塊的局部坐標系和被捕捉物體的局部坐標系的X軸夾角為α,被捕捉物體保持初始姿態時基準姿態捕捉模塊輸出的歐拉角的yaw值為β,則baseangle=α+β;
42)采用姿態捕捉模塊安裝在物體時的初始姿態來表示物體的安裝坐標系,記錄初始校準姿態下各傳感器的安裝坐標系(yawi0,pitchi0,rolli0);
43)通過式3計算得到安裝坐標系與世界坐標系的關系:
Qi0x,y,z,w)=Etoq(yawi0,pitchi0,rolli0)-1×Qi (式3)
式3中,Qi0(x,y,z,w)為第i個傳感器的安裝坐標系與世界坐標系的關系四元數;(yawi0,pitchi0,rolli0)為初始校準姿態下各傳感器的安裝坐標系;Qi為傳感器i的姿態輸出,是傳感器i的輸出四元數;
44)通過式4~5計算得到姿態捕捉模塊局部坐標系與世界坐標系的關系:
Qi1(x,y,z,w)=Etoq(yawi0,0,0) (式4)
Qi2(x,y,z,w)=Qi1×Qi0×Qi1-1 (式5)
其中,Qi1為第i個傳感器水平旋轉了角度yawi0后的四元數;Qi2為第i個姿態捕捉模塊的局部坐標系與世界坐標系的關系四元數;(yawi0,0,0)為初始校準姿態下基準姿態捕捉模塊的安裝坐標系;
43)通過式6~7計算得到物體局部坐標系與世界坐標系的關系:
Qi3(x,y,z,w)=Etoq(baseangle+YAWi-yawi0,0,0) (式6)
Qrlti=Qi3*Qi2*Qi3-1 (式7)
其中,Qi3為第i個姿態捕捉模塊水平角度旋轉角度(baseangle+YAWi-yawi0)后的四元數;Qrlti為物體i的姿態四元數。
上述瞬時校準方法也稱為Tpose校準。通過上述過程,只需被捕捉物體保持初始校準姿態,即可實現運動捕捉系統的瞬間校準;進行上述校準之后,被捕捉物體在運動時的動態姿態可以由傳感器的輸出計算得到。
本發明提供的慣性動作捕捉系統包括運動捕捉硬件系統和數據終端;動作捕捉硬件系統包括數據通信模塊和姿態捕捉模塊;其中,姿態捕捉模塊由九軸傳感器和微處理器組成(或僅由九軸傳感器組成),微處理器采集傳感器捕捉的信息進行計算,并把計算好的姿態數據傳輸到通信模塊(當姿態模塊不包含微處理器時,這部分的工作由通信模塊上的微處理器來完成)。通信模塊由電池,RF通信模塊和微處理器組成。電池給整個動作捕捉硬件系統供電,微處理器把姿態捕捉模塊發送過來的數據組織成幀發送給數據終端。數據終端接受通信模塊發過來的數據,先進行計算,再對數據進行顯示或者保存。
完成上述校準之后,人做的任何動作都可以捕捉下來,并且可以實時、直觀地從軟件中的虛擬人物模型的動作反映出來。
在上述進行瞬時校準(Tpose校準)的過程中,還可以對被捕捉物體(如人體)進行拍照,根據拍攝照片時人體的姿勢和標準Tpose的區別進行糾偏處理,例如,在軟件系統中設置標準Tpose,當分析圖片發現人體擺出的初始校準姿勢Tpose不符合標準Tpose時,給出做反方向調整姿勢的提示,被捕捉物體根據提示進行姿勢糾偏,直到擺出的初始校準姿勢Tpose姿勢符合標準姿勢,再執行瞬時校準操作。
進一步地,本發明還提供一種在校準過程中自動快速調整虛擬模型骨骼比例的方法,這個方法能快速地把虛擬模型的骨骼比例調整得和實際模型的骨骼比例一致。本方法通過攝像頭把被捕捉物體的初始姿態拍下來,然后通過對圖像進行分析,計算出被捕捉物體的骨骼比例,然后按照這個比例重新構造虛擬物體模型。因為這個方法是在校準的過程軟件自動完成的,并沒有增加用戶的額外操作時間,但又能有效的解決了虛擬模型和實際模型骨骼比例不一致所導致的一系列問題。
針對在校準過程中自動快速調整虛擬模型骨骼比例的方法,具體地,若被捕捉物體為人體或動物,在進行上述瞬間校準時,可以通過快速獲取被捕捉物體的骨骼比例來同步修改虛擬人物模型的骨骼比例而進行配準,使得虛擬人物模型的骨骼比例與被捕捉的人體的骨骼比例一樣;骨骼比例配準方法包括以下步驟:
1)通過拍照或圖像獲取得到被捕捉物體的影像信息;
2)通過對影像的分析,提取得到被捕捉物體的身體主要肢節的比例信息;
可通過計算機或者其他圖像處理設備對圖像進行分析處理,通過多種方法獲取使用者的身體肢節比例。
3)根據被捕捉物體的身體比例信息,調整已有虛擬人物模型各部分的比例,可在已有的虛擬人物模型庫中查找合適的模型進行更新,或者選取合適的模型進行組裝獲得新的虛擬人物模型進行更新;也可以根據上述得到的身體主要肢節比例重新生成一個適合的人體模型,作為當前的虛擬人物模型。
與現有技術相比,本發明的有益效果是:
本發明提供一種慣性運動捕捉姿態瞬時校準方法及其系統,通過建立動作捕捉系統中的世界坐標系V(w)、捕捉物體坐標系、安裝坐標系之間的關系進行姿態瞬時校準。使用本發明的技術方案,不需要使用者擺多個不同的姿勢,只需采用一個姿勢,即能瞬間快速完成系統校準,操作簡單便捷,因此能夠減少校準誤差,同時也極大地節省了捕捉動作的時間。本發明還可在校準過程中進行姿勢糾偏和自動快速調整虛擬模型骨骼比例,進一步提高使用者姿態與虛擬模型的動作節點的匹配度,有效解決虛擬模型和實際物體骨骼比例不一致而導致的問題,能夠高度還原被捕捉物體的動作,提高運動捕捉的精準程度。
附圖說明
圖1是本發明提供的姿態瞬時校準方法的流程框圖。
圖2是本發明實施例中采用的運動捕捉系統的結構框圖。
圖3是本發明實施例中運動捕捉系統人體安裝結構框圖;
其中,1~17為姿態捕捉模塊;18為通信模塊。
圖4是本發明提供的模型配準方法的流程框圖。
具體實施方式
下面結合附圖,通過實施例進一步描述本發明,但不以任何方式限制本發明的范圍。
本發明提供一種慣性運動捕捉姿態瞬時校準方法,通過建立動作捕捉系統中的世界坐標系V(w)、捕捉物體坐標系、安裝坐標系之間的關系進行姿態校準。使用本發明的技術方案,不需要使用者擺多個不同的姿勢,只需采用一個姿勢,即能瞬間快速完成系統校準,操作簡單便捷,因此能夠減少校準誤差,同時也極大地節省了捕捉動作的時間。本發明進一步提出模型配準方法,用于提高姿態匹配的一致性,提高使用者姿態與虛擬模型的動作節點的匹配度,能夠高度還原被捕捉物體的動作。
圖1是本發明提供的姿態瞬時校準方法的流程框圖;圖2是本發明實施例中采用的運動捕捉系統的結構框圖,運動捕捉系統包括運動捕捉硬件系統和數據終端;動作捕捉硬件系統包括數據通信模塊和姿態捕捉模塊;其中,姿態捕捉模塊由九軸傳感器和微處理器組成(或僅由傳感器模塊組成),九軸傳感器用于捕捉加速度,陀螺儀,磁力計等信息,微處理器采集傳感器捕捉的信息進行計算,并把計算好的姿態數據傳輸到通信模塊(當姿態捕捉模塊不包含微處理器時,這部分的工作由通信模塊上的微處理器來完成)。通信模塊由電池,RF通信模塊和微處理器組成。電池給整個動作捕捉硬件系統供電,微處理器把姿態捕捉模塊發送過來的數據組織成幀發送給數據終端。數據終端接受通信模塊發過來的數據,先進行計算,再對數據進行顯示或者保存。
下面以捕捉人體動作為例,具體闡述本發明的實施方式。
在人體上安裝動捕硬件系統前,測量好了各個模塊相對于基準模塊的世界坐標系偏移角度(YAWi),(i=0,1,2…n),在本實施例中,n=17;
要捕捉人體的運動,首先要把動捕硬件系統安裝在人體上。如圖3所示,需要在人體關鍵的17個骨骼安裝姿態捕捉模塊。傳感器1安裝在左手手掌背部,傳感器2安裝在左手手腕處,傳感器3安裝在左手上臂,傳感器4安裝在左肩膀,傳感器5安裝在頭部,傳感器6安裝在右肩膀,傳感器7安裝在右手上臂,傳感器8安裝在右手手腕,傳感器9安裝在右手手掌背部,傳感器10安裝在右大腿,傳感器11安裝在右小腿,傳感器12安裝在右腳,傳感器13安裝在左大腿,傳感器14安裝在左小腿,傳感器15安裝在左腳,傳感器16安裝在腰部,傳感器17安裝在背部,通信模塊18安裝在背部上方。
所述的姿態捕捉模塊由九軸傳感器和微處理器組成(或僅由九軸的傳感器組成)。九軸傳感器用于捕捉加速度,陀螺儀,磁力計等信息。微處理器以500HZ的采樣速率對傳感器的輸出進行采樣,計算存儲,并且監聽總線,當從總線上監聽到發送數據請求,則把存儲的數據發送給通信模塊(當姿態模塊不包含微處理器時,這部分的工作由通信模塊上的微處理器來完成)。
所述的通信模塊由RF模塊,電池和微處理器組成,電池給整個動捕硬件系統供電,微按照固定的時間間隔,給不同的姿態捕捉模塊發送數據請求,在接受到數據后,按照120FPS的速率發送給數據處理終端。
在本實施例中,選擇右手腕處的模塊8為基準模塊。安裝時,姿態捕捉模塊得局部坐標系X方向與右手腕骨骼的局部坐標系的X方向的夾角為90。所以baseangle=(90+yaw80)
在數據處理終端上運行的動作捕捉軟件上導入建好的虛擬人物模型,并把虛擬人物的每根骨骼的局部坐標系定義為:X軸正方向為左手方向,Y軸正方向為垂直水平面向上方向,Z軸正方向為人正前方方向。
開啟硬件系統開關,并擺好Tpose的姿勢(此步驟還可進一步進行人體的姿勢和標準Tpose的糾偏處理,或/并通過骨骼比例進行模型配準),在數據處理終端上運行實現了本發明提供的瞬時校準方法的動作捕捉軟件,該軟件在進行校準時,首先記錄下所有姿態捕捉模塊的安裝坐標系(yawi0,pitchi0,rolli0)(i=0,1,2…n)。在本實例中,n=17。
然后,通過公式3將接收到的傳感器的世界坐標系轉換為姿態捕捉模塊的安裝坐標系;通過公式4、5,將安裝坐標系轉換為姿態捕捉模塊的局部坐標系;再根據公式6、7,將姿態捕捉模塊的局部坐標系轉換為對應骨骼(人體)的局部坐標系。
完成上述校準之后,人做的任何動作都可以捕捉下來,并且可以實時、直觀地從軟件中的虛擬人物模型的動作反映出來。
在上述進行瞬時校準(Tpose校準)的過程中,還可以對被捕捉物體(如人體)進行拍照,根據拍攝照片時人體的姿勢和標準Tpose的區別進行糾偏處理,例如,在軟件系統中設置標準Tpose,當分析圖片發現人體擺出的初始校準姿勢Tpose不符合標準Tpose時,給出做反方向調整姿勢的提示,被捕捉物體根據提示進行姿勢糾偏,直到擺出的初始校準姿勢Tpose姿勢符合標準姿勢,再執行瞬時校準操作。本實施例中,標準Tpose是兩腿垂直地面站立,兩兩腳互相平行,兩手臂水平伸展,眼睛目視前方。軟件里的模型初始姿態即為Tpose,人在擺Tpose的時候,實際姿勢都會和標準的姿勢Tpose有偏差,比如,手臂可能跟水平線有正負5度的偏差,如果手臂向下偏差5度,軟件可以提示手臂向上調整5度。
進一步地,若被捕捉物體為人體或動物,在進行上述校準時,還可以通過快速獲取被捕捉物體的骨骼比例來同步修改虛擬人物模型的骨骼比例而進行配準,使得虛擬人物模型的骨骼比例與被捕捉的人體的骨骼比例一樣;圖4是本發明提供的通過骨骼比例進行模型配準方法的流程框圖,骨骼比例配準方法包括以下步驟:
1)通過拍照或圖像獲取得到被捕捉物體的影像信息;
2)通過對影像的分析,提取得到被捕捉物體的身體主要肢節的比例信息;
可通過計算機或者其他圖像處理設備對圖像進行分析處理,通過多種方法獲取使用者的身體肢節比例。例如,可采用文獻1(梁夢雪,基于深度圖像的人體骨骼提取技術的研究,沈陽工業大學碩士學位論文,2015.03)記載的方法,通過對深度圖像的分析提取人體的主要骨骼模型;或采用文獻2(魏萊,基于關節點的人體動作識別及姿勢分析研究,北京郵電大學碩士學位論文,2014.01)所記載的方法,通過檢查關節的位置,通過各個關節直接的間距,根據關節間距的比例關系得到人體主要骨骼的比例;等。為簡化圖像分析難度,也可采用文獻3(黃虎,基于單目視覺的人體動作捕捉,電子科技大學碩士學位論文,2011.04)所記載的方法,直接在關節處進行人工標注,然后通過圖像分析這些標記點的間距比例關系得到人體的骨骼模型;也可以采用文獻4(楊冬梅,基于雙目視覺的人體參數獲取方法的研究,吉林大學碩士學位論文,2014.06)所記載的使用雙目視覺的方法提取出人體各主要肢節的比例關系。
3)根據被捕捉物體的身體比例信息,調整已有虛擬人物模型各部分的比例,可在已有的虛擬人物模型庫中查找合適的模型進行更新,或者選取合適的模型進行組裝獲得新的虛擬人物模型進行更新;也可以根據上述得到的身體主要肢節比例重新生成一個適合的人體模型,作為當前的虛擬人物模型。
上述方法能夠實現自動快速調整虛擬模型骨骼比例,這個方法能快速地把虛擬模型的骨骼比例調整得和實際模型的骨骼比例一致。可通過攝像頭把被捕捉物體的初始姿態拍下來,然后通過對圖像進行分析,計算出被捕捉物體的骨骼比例,然后按照這個比例重新構造虛擬物體模型。上述方法可在瞬間校準過程的同時自動完成,并沒有增加用戶的額外操作時間,但該方法能有效的解決了虛擬模型和實際模型骨骼比例不一致所導致的一系列問題。
需要注意的是,公布實施例的目的在于幫助進一步理解本發明,但是本領域的技術人員可以理解:在不脫離本發明及所附權利要求的精神和范圍內,各種替換和修改都是可能的。因此,本發明不應局限于實施例所公開的內容,本發明要求保護的范圍以權利要求書界定的范圍為準。