專利名稱:一種基于計算機實現(xiàn)虛擬拳擊的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機應用技術,尤其涉及的是一種基于計算機實現(xiàn)虛擬拳擊的方法 和系統(tǒng)。
背景技術:
現(xiàn)有技術中在計算機上進行拳擊運動或游戲是使用帶有重力傳感器、陀螺儀、及 少數(shù)按鍵的手柄來實現(xiàn)的,其中,重力傳感器用于判斷動作的力度,陀螺儀用于判斷動作的 方向,手柄上的按鍵用于進行菜單選擇。手柄的動作力度、方向、按鍵信息通過藍牙傳入到 計算機進行處理。用重力傳感器、陀螺儀雖然得到了動作的力度、方向,但是這具有以下幾個缺陷, 第一、該技術中只有玩家手部動作的力度和方向,沒有手部的位置信息;這導致游戲中的圖 像不能跟隨手柄實時移動,同步性差。第二、該技術玩家的姿勢是依據(jù)兩個手柄的力度、方 向進行推斷的,沒有身體的準確位置信息;這就使得在游戲過程中很可能人身體本身并沒 有移動,而拳擊項目中的角色卻進行了躲閃,降低了游戲的真實感和趣味性。第三、由于手 柄的信息通過藍牙傳輸,例如,出拳動作只要是手柄在藍牙信號覆蓋范圍的任何地方做相 應的動作都可以實現(xiàn),甚至人背對著顯示器都可以,這也是一個模擬效果上的瑕疵。因此,現(xiàn)有技術還有待于改進和發(fā)展。
發(fā)明內容
本發(fā)明的目的在于提供一種基于計算機實現(xiàn)虛擬拳擊的方法和系統(tǒng),該方法和系 統(tǒng)提高同步性和真實感。本發(fā)明的技術方案如下—種基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,包括以下步驟Si、獲取操作 者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);S2、利用所述手部空間位置數(shù)據(jù)判 斷是否發(fā)生出拳動作及生成拳法判定參量;S3、將拳法判定參量與預設參量進行對比,判斷 操作者的出拳動作的種類;S4、在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù) 據(jù)控制所述虛擬人物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作 顯不。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,所述步驟Sl包括S11、在操作者 的頭部和手部分別設置跟蹤點,利用雙目攝像頭獲取所述跟蹤點的圖像;S12、根據(jù)該圖像 確定所述頭部空間位置數(shù)據(jù)以及所述手部空間位置數(shù)據(jù)。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,所述步驟S2包括S21.利用所述 手部空間位置數(shù)據(jù)尋找操作者出拳動作的開始點和結束點;S22.若未找到所述開始點和 所述結束點則認定未發(fā)生出拳動作,若找到所述開始點和所述結束點,則判斷所述開始點 和所述結束點之間的速度峰值是否大于速度峰值閾值;S23.若所述速度峰值小于所述速 度峰值閾值則認定未發(fā)生出拳動作,若所述速度峰值大于所述速度峰值閾值,則判斷所述開始點和所述結束點之間的距離是否大于距離閾值;S24.若所述距離小于所述距離閾值 則認定未發(fā)生出拳動作,若所述距離大于所述距離閾值,則認定發(fā)生出拳動作。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,在所述步驟S21中,根據(jù)所述手部 空間位置數(shù)據(jù)計算手部在不同時刻的運動方向及速度,若存在所述運動方向指向操作者的 前方且所述速度大于速度開始閾值的第一時刻,則將所述第一時刻的手部空間位置數(shù)據(jù)作 為所述開始點。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,在所述步驟S21中,在判定所述開 始點后,若存在所述速度小于速度停止閾值且所述手部空間位置數(shù)據(jù)相較于所述開始點位 于操作者的更前方的第二時刻,則將所述第二時刻的手部空間位置數(shù)據(jù)作為所述結束點。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,所述步驟S2還包括S25、利用所 述出拳動作的開始點和結束點,計算所述開始點和所述結束點的連線,并計算該連線在參 考平面的投影同參考軸的夾角,并將該夾角作為所述拳法判定參量。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,在所述步驟Sl中,在由X軸、Y軸 和Z軸構成的三維坐標系內獲取所述頭部空間位置數(shù)據(jù)和所述手部空間位置數(shù)據(jù),其中X 軸指向操作者的右側,Y軸指向操作者的上方,ζ軸指向操作者的前側,在所述步驟S25中, 計算該連線在X軸和Z軸所定義的XZ平面的投影同X軸負軸的夾角α、以及該連線在X軸 和Y軸所定義的YZ平面的投影同Y軸正軸的夾角β,并將該夾角α和夾角β作為所述拳 法判定參量。所述的基于計算機實現(xiàn)虛擬拳擊的方法,其中,所述步驟S3包括若所述夾角α 和所述夾角β不在所述預設參量中的任何一個范圍內,則分別判斷所述夾角α和所述夾 角β落在所述預設參量中每個范圍的概率。本發(fā)明還提供一種基于計算機實現(xiàn)虛擬拳擊的系統(tǒng),其中,包括位置數(shù)據(jù)獲取裝 置,用于獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);出拳判定裝置,用 于利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判定參量;出拳種類判斷 裝置,用于將拳法判定參量與預設參量進行對比,判斷操作者的出拳動作的種類;顯示處理 裝置,用于在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù)據(jù)控制所述虛擬人 物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作顯示。所述的基于計算機實現(xiàn)虛擬拳擊的系統(tǒng),其中,所述位置數(shù)據(jù)獲取裝置包括標識 操作者頭部的頭部目標件、用于標識操作者手部的手部目標件;獲取頭部目標件和手部目 標件圖像的圖像獲取單元;根據(jù)該圖像確定頭部、手部空間位置數(shù)據(jù)的圖像分析單元。本發(fā)明所提供的基于計算機實現(xiàn)虛擬拳擊的方法和系統(tǒng),由于其方法和系統(tǒng)是基 于操作者頭部空間位置數(shù)據(jù)和手部的空間位置數(shù)據(jù)進行的后續(xù)處理,使得游戲中的圖像能 夠跟隨操作者的手部實時移動,提高了同步性;由于采用了與預設參量進行對比,判斷所述 頭部運動軌跡、手部運動軌跡的合理性和種類,使得該方法較之現(xiàn)有技術提高了真實感。
圖1是本發(fā)明中基于計算機實現(xiàn)虛擬拳擊的方法的流程框圖;圖2是本發(fā)明中方法的坐標示意圖;圖3是本發(fā)明中方法的開始點和結束點的連線在XZ平面的投影Lxz同X軸負軸的夾角α示意圖;圖4是本發(fā)明中方法的開始點和結束點的連線在YZ平面的投影Lyz同Y軸正軸 的夾角β示意圖;圖5是本發(fā)明中基于計算機實現(xiàn)虛擬拳擊的系統(tǒng)的結構框圖。
具體實施例方式以下結合具體實施方式
和附圖對本發(fā)明進行詳細的說明。本實施方式中基于計算機實現(xiàn)虛擬拳擊的方法,如圖1所示,包括100、獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);最佳實施方式中該步驟通過以下步驟實現(xiàn)110、在操作者的頭部和手部分別設置跟蹤點,利用雙目攝像頭獲取所述跟蹤點的 圖像;120、根據(jù)該圖像確定所述頭部空間位置數(shù)據(jù)以及所述手部空間位置數(shù)據(jù)。當然獲取操作者頭部、手部的空間位置數(shù)據(jù)還可以通過其他方式實現(xiàn),例如磁傳 感器方式。在任意一時刻,一個目標的空間位置數(shù)據(jù)表現(xiàn)為一個三元組(X,y,z),x代表數(shù)據(jù) 點在X軸位置,y代表數(shù)據(jù)點在Y軸位置,ζ代表數(shù)據(jù)點在Z軸位置,這個坐標系如圖2所 示,向右χ變大,向左χ變小;向上y變大,向下y變??;向前ζ變大,向后ζ變小。例如,每秒對一個目標產(chǎn)生三十個標識空間位置的三元組,利用同一個目標在一 段時間內的空間位置數(shù)據(jù)描述出目標的運動軌跡。頭部位置數(shù)據(jù)用于反應人的位置信息,手部位置數(shù)據(jù)反應人的左右手位置信息。 由于左手和右手的處理方法一致,此處只論述一個手和頭部位置數(shù)據(jù)的處理方法,首先,用 A點和B點分別標識頭部位置和手部位置;A點的空間位置數(shù)據(jù)為(xA1,yA1,ζ Al),(XA2,yA2,ΖΑ2),......,(xAi,YAi,ZAi),......,
其中(xAi,yAi,zAi)代表著A點在第i時刻的空間位置;A點反應人的位置,所以A點數(shù)據(jù)的 使用方式比較簡單,直接取其數(shù)據(jù)值使用即可,不需要其他更多的分析;B 點的空間位置數(shù)據(jù)為(xB1,yB1, zB1),(xB2, yB2, zB2),......,(xBi, yBi, zBi),......,
其中(xBi,yBi,zBi)代表著B點在第i時刻的空間位置。B點的使用方式比較復雜,這里詳細 闡述本實用新型中是怎么使用B點數(shù)據(jù),也就是手的位置數(shù)據(jù)點使用方式。為了描述方便,將B點的空間位置數(shù)據(jù)重新改寫為(Xl,Z1),(x2, y2, Z2),......,(Xi, Yi, Zi),......,其中(Xi,yi,Zi)代表著第i時刻,手部空間位置坐標。根據(jù)手部在各個時刻的空間位置坐標,可以進一步求出手部的運動信息,如速度, 加速度,力度等。具體計算各個數(shù)據(jù)的公式為第i 時刻的速度公式vix = (Xi-XiJA^viy = (Vi-ViJA,Viz = (Vi-VH)A,其中 t = l/30s ;速度是三個方向上各個方向上的速度。第i 時刻的加速度公式aix = (vix-v(i_1)x)/t,aiy = (viy-v(i_1)y)/t,aiz = (viz-v(H) z)/t,其中 t = l/30s ;
加速度是三個方向上各個方向上的加速度。有了各個時刻各個方向上的加速度,就可以對對應時刻對應方向上的用力情況作 出分析,fix = aixXk、fiy = aiyXk、fiz = aizX k,k 是一個比例系數(shù)。同時利用頭部的運動軌跡、手部的運動軌跡就能夠描述出人體的運動變換,將該 變化量與預設參量進行對比和關聯(lián),200、利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判定參量;210、利用所述手部空間位置數(shù)據(jù)尋找操作者出拳動作的開始點和結束點;I.尋找的開始點應滿足兩個條件i.軌跡的運動方向是向前的;ii.開始點的速度必須達到一個速度開始閾值。II.尋找一個出拳動作的結束點。結束點必須滿足三個條件i.已經(jīng)找到開始點;ii.結束點的速度小于一個結束速度閾值;iii.結束點必須在開始點的前方,即結束點的Z坐標必須大于開始點的Z坐標。220、若未找到所述開始點和所述結束點則認定未發(fā)生出拳動作,若找到所述開始 點和所述結束點,則判斷所述開始點和所述結束點之間的速度峰值是否大于速度峰值閾 值;230.若所述速度峰值小于所述速度峰值閾值則認定未發(fā)生出拳動作,若所述速度 峰值大于所述速度峰值閾值,則判斷所述開始點和所述結束點之間的距離是否大于距離閾 值;240.若所述距離小于所述距離閾值則認定未發(fā)生出拳動作,若所述距離大于所述 距離閾值,則認定發(fā)生出拳動作。250、利用所述出拳動作的開始點和結束點,計算所述開始點和所述結束點的連 線,并計算該連線在參考平面的投影同參考軸的夾角,并將該夾角作為所述拳法判定參量。 具體可采用以下開始點和結束點的連線在XZ平面的投影Lxz同X軸負軸的夾角,記為α,如圖3。 開始點和結束點的連線在YZ平面的投影Lyz同Y軸正軸的夾角,記為β,如圖4 ;并將該夾 角α和夾角β作為所述拳法判定參量。300、將拳法判定參量與預設參量進行對比,判斷操作者的出拳動作的種類;拳法 的判定是根據(jù)兩個角度來進行的每種拳法的夾角α和夾角β是不同的,可以定義出每種拳法這兩個角度的范圍, 而且每兩種拳法的范圍不相交。預設參量中每種拳法的角度范圍定義可以示例為直拳α[70,110]β (40,180]左擺拳α(110,180] β (40,180]右擺拳α
勾拳α
β
在計算出每次出拳動作的夾角α和夾角β后,分別判斷它們是否落在預設參量 中某種拳法的角度范圍內,如果在,則判定為這種拳法。如果不在任何一個范圍內,則計算一個可能為某種拳法的百分比,例如某種軌跡可能介于勾拳和擺拳標準的角度范圍之間, 這時則不精確的給出具體的拳法,而是給出兩個百分比,一個表示勾拳的概率,一個表示擺 拳的概率,具體的判定由拳擊項目根據(jù)需求進行判定。400、在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù)據(jù)控制所述虛擬 人物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作顯示。由于該方法是基于操作者頭部空間位置數(shù)據(jù)和手部的空間位置數(shù)據(jù)進行的后續(xù) 處理,使得游戲中的圖像能夠跟隨操作者的手部實時移動,提高了同步性;由于采用了與預 設參量進行對比,判斷所述頭部運動軌跡、手部運動軌跡的合理性和種類,使得拳擊項目更 真實。能夠準確的根據(jù)揮拳的軌跡判定出拳法種類,不是隨心所欲的通過向后的運動來模 擬勾拳等。本方法使拳擊游戲成為一項運動健身,可以讓健身者足不出戶就可以享受拳擊 運動,鍛煉身體。本發(fā)明還提供一種基于計算機實現(xiàn)虛擬拳擊的系統(tǒng),見圖5,包括依次連接的位置 數(shù)據(jù)獲取裝置、出拳判定裝置、動作種類判斷裝置、顯示處理裝置;位置數(shù)據(jù)獲取裝置,用于獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位 置數(shù)據(jù);位置數(shù)據(jù)獲取裝置包括頭部目標件、手部目標件、圖像獲取單元、圖像分析單元; 頭部目標件用于標識操作者頭部、手部目標件用于標識操作者手部;圖像獲取單元獲取頭 部目標件和手部目標件圖像;圖像分析單元根據(jù)該圖像確定頭部、手部空間位置數(shù)據(jù)。所述 頭部目標件和手部目標件采用反射鏡,圖像獲取單元是雙目攝像頭。出拳判定裝置,用于利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳 法判定參量;動作種類判斷裝置,用于將拳法判定參量與預設參量進行對比,判斷操作者的 出拳動作的種類;顯示處理裝置,用于在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間 位置數(shù)據(jù)控制所述虛擬人物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出 拳動作顯示。以下以實際應用為例,對本發(fā)明做詳細描述。本發(fā)明所使用到的硬件有頭部目標件采用帽子,手部目標件采用主手柄、副手 柄,圖像獲取單元采用雙目視頻攝像頭;圖像分析單元、軌跡計算裝置、動作判斷裝置和圖 像處理裝置集成在終端計算機,視頻攝像頭用USB數(shù)據(jù)線和終端計算機連接。終端計算機 上的軟件有計算機操作系統(tǒng)、虛擬健身大廳軟件、虛擬拳擊項目等。開啟終端計算機、顯示器上會有一個健身項目大廳,進入虛擬健身大廳,在這個大 廳里可以選擇具體的運動健身項目,這里選擇虛擬拳擊項目。進入虛擬拳擊項目后,顯示器 顯示一個虛擬拳擊比賽場景,有兩個角色站在擂臺上,一個是玩家(即操作者),另一個是 對手。帽子戴在操作者頭上,左右手各拿一個手柄,系統(tǒng)工作時,玩家的動作被視頻攝像頭 拍下來;圖像分析單元根據(jù)這些圖像確定頭部、手部空間位置數(shù)據(jù);任意一時刻,一個目標 的空間位置數(shù)據(jù)表現(xiàn)為一個三元組(X,y, z),x代表數(shù)據(jù)點在X軸位置,y代表數(shù)據(jù)點在Y 軸位置,ζ代表數(shù)據(jù)點在Z軸位置,這個坐標系如圖(1)所示,向右χ變大,向左χ變??;向上 y變大,向下ι變??;向前ζ變大,向后ζ變小,坐標原點為雙目視頻攝像頭中心,為了闡述 上的方便,稱這個坐標系為攝像頭坐標系。由于每秒對一個目標產(chǎn)生三十個這樣的三元組, 因此利用同一個目標在一段時間內的空間位置數(shù)據(jù)就能描述出目標的運動狀態(tài),同時利用多個目標的空間位置數(shù)據(jù)的話,就能描述出人體運動軌跡。出拳判定裝置利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判
定參量;在拳擊項目中,至少使用三個目標,一個用于反應人的位置信息,一個用于反應 人的左手信息,另一個用于反應人的右手信息。由于左手和右手的處理方法一致,所以只 討論一個手,統(tǒng)稱手的標志點為一個點,于是就只有帽子和手這兩個點了。為了描述上的 方便,將這兩個點分別標記為A點和B點。A點的空間位置數(shù)據(jù)為(xA1,yA1,zA1),(xA2, yA2, zA2),......,(xAi,yAi,zAi),......,其中(xAi,yAi,zAi)代表著A點在第i時刻的空間位置;B
點的空間位置數(shù)據(jù)為(XB1 ,Ybi,zBI),(ΧΒ2,Υβ2' ΖΒ2),......,(xBi,Υβ ' zBi),· · ....,其中(xBi,
yBi,zBi)代表著B點在第i時刻的空間位置。在本發(fā)明中,將A點用于反應人的位置,B點 用于反應手的運動,所以A點數(shù)據(jù)的使用方式比較簡單,直接取其數(shù)據(jù)值使用即可,不需要 其他更多的分析。為了描述上的方便,我們將B點的空間位置數(shù)據(jù)重新改寫為(Xl,yi,Zl),
(χ2, y2, z2),......,(Xijyi5Zi),......,其中(Xi,yi,Zi)代表著第i時刻,手柄的空間位置
坐標。有了手柄在各個時刻的空間位置坐標,可以進一步求出手柄的運動信息,如速度,加 速度,力度等。具體計算各個數(shù)據(jù)的公式為第i 時刻的速度公式vix = (Xi-XiJA^viy = (Vi-ViJA,Viz = (Vi-VH)A,其中 t = l/30s ;速度是三個方向上各個方向上的速度。第i 時刻的加速度公式aix = (vix-v(i_1)x)/t,aiy = (viy-v(i_1)y)/t,aiz = (viz-v(H) z)/t,其中 t = l/30s ;加速度是三個方向上各個方向上的加速度。有了各個時刻各個方向上的加速度,就可以對對應時刻對應方向上的用力情況作 出分析,fix = aixXk、fiy = aiyXk、fiz = aizXk,k 是一個比例系數(shù)。I.尋找一個出拳動作的開始點,該開始點應滿足兩個條件i.軌跡的運動方向是向前的;ii.開始點的速度必須達到一個速度開始閾值。II.尋找一個出拳動作的結束點。結束點必須滿足三個條件i.已經(jīng)找到開始點;ii.結束點的速度小于一個結束速度閾值;iii.結束點必須在開始點的前方,即結束點的Z坐標必須大于開始點的Z坐標。III.記錄開始點和結束點之前的所有點的速度峰值。這個峰值必須大于一個速度 峰值的閾值。IV.記錄開始點和結束點之間的距離。這個距離必須大于一個距離閾值。滿足了上面所有的條規(guī)則,就可以判定出一個出拳動作。拳法判定參量是根據(jù)兩個角度來進行的I.開始點和結束點的連線在XZ平面的投影Lxz同X軸負軸的夾角α,如圖3。II.開始點和結束點的連線在YZ平面的投影Lyz同Y軸正軸的夾角β,如圖4。出拳種類判斷裝置將拳法判定參量與預設參量進行對比,判斷操作者的出拳動作 的種類;
每種拳法的夾角α和夾角β是不同的,可以定義出每種拳法這兩個角度的范圍, 而且每兩種拳法的范圍不相交。每種拳法的角度范圍定義可以示例為直拳α[70,110]β (40,180]左擺拳α(110,180] β (40,180]右擺拳α
勾拳α
β
在計算出每次出拳動作的夾角α和夾角β后,分別判斷它們是否落在預設參量 中某種拳法的角度范圍內,如果在,則判定為這種拳法。如果不在任何一個范圍內,則計算 一個可能為某種拳法的百分比,例如某種軌跡可能介于勾拳和擺拳標準的角度范圍之間, 這時則不精確的給出具體的拳法,而是給出兩個百分比,一個表示勾拳的概率,一個表示擺 拳的概率,具體的判定由拳擊項目根據(jù)需求進行判定。顯示處理裝置用于在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù)據(jù) 控制所述虛擬人物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作顯 示。操作者再根據(jù)需要進行出拳和閃躲,具體描述為當玩家在現(xiàn)實中前、后、左、右進行移 動時,拳擊項目里的玩家角色也會進行相應的前、后、左、右進行移動。當玩家在現(xiàn)實中分別 前、后、左、右、上、下移動左右手時,拳擊項目里的玩家角色的左右手也會分別做前、后、左、 右、上、下的移動。當玩家在現(xiàn)實中做出直拳、勾拳、擺拳的動作時,拳擊項目中的角色也會 做出相應的直拳、勾拳、擺拳的動作,讓玩家得到最真實的體驗。在判定玩家的擊拳擊中對 手后,會有一些擊打的效果動畫觸發(fā),比如對手的挨打動畫等,讓玩家打得很過癮。在對手 出拳時,玩家可以進行格擋和閃躲,格擋是根據(jù)對手的拳路,玩家打一個相克的拳來進行格 擋,閃躲是玩家移動身體來避開對手的擊打。本系統(tǒng)使用手柄和帽子等來控制拳擊項目,不使用鍵盤鼠標等;實時跟蹤手柄和 帽子等多目標的位置;記錄手柄的實際運動軌跡,對人體姿態(tài)進行定位,按照一個拳擊動作 的開始點,結束點位置關系,計算出動作的角度,根據(jù)角度判定出拳法的種類,更真實的判 定人體的實際動作。應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可 以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權利要求的保 護范圍。
權利要求
1.一種基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,包括以下步驟51、獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);52、利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判定參量;53、將拳法判定參量與預設參量進行對比,判斷操作者的出拳動作的種類;54、在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù)據(jù)控制所述虛擬人物 的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作顯示。
2.根據(jù)權利要求1所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,所述步驟Sl 包括511、在操作者的頭部和手部分別設置跟蹤點,利用雙目攝像頭獲取所述跟蹤點的圖像;512、根據(jù)該圖像確定所述頭部空間位置數(shù)據(jù)以及所述手部空間位置數(shù)據(jù)。
3.根據(jù)權利要求1所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,所述步驟S2 包括521.利用所述手部空間位置數(shù)據(jù)尋找操作者出拳動作的開始點和結束點;522.若未找到所述開始點和所述結束點則認定未發(fā)生出拳動作,若找到所述開始點和 所述結束點則判斷所述開始點和所述結束點之間的速度峰值是否大于速度峰值閾值;523.若所述速度峰值小于所述速度峰值閾值則認定未發(fā)生出拳動作,若所述速度峰值 大于所述速度峰值閾值,則判斷所述開始點和所述結束點之間的距離是否大于距離閾值;524.若所述距離小于所述距離閾值則認定未發(fā)生出拳動作,若所述距離大于所述距離 閾值,則認定發(fā)生出拳動作。
4.根據(jù)權利要求3所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,在所述步驟 S21中,根據(jù)所述手部空間位置數(shù)據(jù)計算手部在不同時刻的運動方向及速度,若存在所述運 動方向指向操作者的前方且所述速度大于速度開始閾值的第一時刻,則將所述第一時刻的 手部空間位置數(shù)據(jù)作為所述開始點。
5.根據(jù)權利要求3或4所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,在所述步 驟S21中,在判定所述開始點后,若存在所述速度小于速度停止閾值且所述手部空間位置 數(shù)據(jù)相較于所述開始點位于操作者的更前方的第二時刻,則將所述第二時刻的手部空間位 置數(shù)據(jù)作為所述結束點。
6.根據(jù)權利要求1所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,所述步驟S2 包括525.利用所述手部空間位置數(shù)據(jù)確定操作者出拳動作的開始點和結束點,計算所述開 始點和所述結束點的連線,并計算該連線在參考平面的投影同參考軸的夾角,并將該夾角 作為所述拳法判定參量。
7.根據(jù)權利要求6所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,在所述步驟Sl中,在由X軸、Y軸和Z軸構成的三維坐標系內獲取所述頭部空間位置 數(shù)據(jù)和所述手部空間位置數(shù)據(jù),其中X軸指向操作者的右側,Y軸指向操作者的上方,Z軸指 向操作者的前側,在所述步驟S25中,計算該連線在X軸和Z軸所定義的XZ平面的投影同X軸負軸的夾 角α、以及該連線在X軸和Y軸所定義的YZ平面的投影同Y軸正軸的夾角β,并將該夾角α和夾角β作為所述拳法判定參量。
8.根據(jù)權利要求7所述的基于計算機實現(xiàn)虛擬拳擊的方法,其特征在于,所述步驟S3 包括若所述夾角α和所述夾角β不在所述預設參量中的任何一個范圍內,則分別判斷所 述夾角α和所述夾角β落在所述預設參量中每個范圍的概率。
9.一種基于計算機實現(xiàn)虛擬拳擊的系統(tǒng),其特征在于,包括位置數(shù)據(jù)獲取裝置,用于獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);出拳判定裝置,用于利用所述手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判定參量;出拳種類判斷裝置,用于將拳法判定參量與預設參量進行對比,判斷操作者的出拳動 作的種類;顯示處理裝置,用于在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)所述頭部空間位置數(shù)據(jù)控 制所述虛擬人物的顯示位置,根據(jù)所述出拳動作的種類控制所述虛擬人物的出拳動作顯示。
10.根據(jù)權利要求9所述的基于計算機實現(xiàn)虛擬拳擊的系統(tǒng),其特征在于,所述位置數(shù) 據(jù)獲取裝置包括標識操作者頭部的頭部目標件、用于標識操作者手部的手部目標件; 獲取頭部目標件和手部目標件圖像的圖像獲取單元; 根據(jù)該圖像確定頭部、手部空間位置數(shù)據(jù)的圖像分析單元。
全文摘要
本發(fā)明公開了一種基于計算機實現(xiàn)虛擬拳擊的方法和系統(tǒng),其方法包括獲取操作者不同時刻的頭部空間位置數(shù)據(jù)和手部空間位置數(shù)據(jù);利用手部空間位置數(shù)據(jù)判斷是否發(fā)生出拳動作及生成拳法判定參量;將拳法判定參量與預設參量進行對比,判斷操作者的出拳動作的種類;在顯示系統(tǒng)中顯示虛擬人物,其中根據(jù)頭部空間位置數(shù)據(jù)控制虛擬人物的顯示位置,根據(jù)出拳動作的種類控制虛擬人物的出拳動作顯示。由于該方法和系統(tǒng)是基于操作者頭部和手部的空間位置數(shù)據(jù)進行的后續(xù)處理,使得游戲中的圖像能夠跟隨操作者的手部實時移動,提高了同步性;由于采用了與預設參量進行對比,判斷頭部、手部運動軌跡的合理性和種類,使得該方法較之現(xiàn)有技術提高了真實感。
文檔編號G06F3/01GK102004840SQ20091018978
公開日2011年4月6日 申請日期2009年8月28日 優(yōu)先權日2009年8月28日
發(fā)明者劉琦, 彭立焱, 李 浩, 甘泉 申請人:深圳泰山在線科技有限公司