一種基于Kinect的虛擬拳擊沙袋訓練的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于Kinect的虛擬拳擊沙袋訓練的方法和系統(tǒng),其具體方法包括:構建虛擬場景,加載虛擬拳擊手套和沙袋模型;通過Kinect攝像頭獲取操作者左右手的骨骼位置數(shù)據(jù);通過位置數(shù)據(jù)控制虛擬系統(tǒng)中的虛擬拳擊手套,并計算是否擊中虛擬沙袋;計算操作者出拳速度,由此計算沙袋擺動幅度,并利用計算機圖形接口虛擬沙袋擊打過程。本發(fā)明虛擬了拳擊訓練中最為常用的沙袋擊打練習,為受環(huán)境所限無法懸掛真實沙袋的條件下開展訓練提供了新的方法。
【專利說明】-種基于Kinect的虛擬拳擊沙袋訓練的方法和系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及計算機應用技術,尤其涉及的是一種基于Kinect的虛擬拳擊沙袋訓 練的方法和系統(tǒng)。
【背景技術】
[0002] 現(xiàn)有技術中,在計算機上虛擬拳擊運動或格斗游戲,均使用帶有加速度傳感器、陀 螺儀的體感感應裝置或手柄等來實現(xiàn),通過相應傳感器感應操作者操作信號,操作信息通 過有線或無線方式送入計算機系統(tǒng)進行交互處理。具有以下缺陷:第一、采用手柄的方式, 操作者只需通過手柄按鍵操作擊打,無法達到真實拳擊訓練的目的;第二、即使采用帶有加 速度傳感器、陀螺儀等的體感感應裝置進行模擬訓練,體感感應裝置只是感應到了操作者 運動,而不能體現(xiàn)操作者出拳姿態(tài),真實性不高。
[0003] 申請?zhí)枮?00910189787.X的《一種基于計算機實現(xiàn)虛擬拳擊的方法和系統(tǒng)》,操 作者佩戴專用帽子、手部具有跟蹤特征的主手柄和副手柄,通過雙目攝像頭獲取頭部、手部 追蹤點位置,計算機模擬操作者的出拳姿態(tài),在一定程度上解決了上述方法的問題。然而, 為了便于計算機識別,該系統(tǒng)和方法需要操作者佩戴具有跟蹤特征的帽子和主、副手柄,大 大影響了用戶的體驗效果。
【發(fā)明內容】
[0004] 本發(fā)明所要解決的技術問題是:提供一種基于Kinect的虛擬拳擊沙袋訓練的方 法和系統(tǒng),其目的是模擬拳擊沙袋的訓練過程,提高訓練的真實性。
[0005] 本發(fā)明的技術方案是:一種基于Kinect的虛擬拳擊沙袋訓練的方法,包括如下步 驟:S1、獲取操作者左右手空間位置數(shù)據(jù),所述左右手空間位置數(shù)據(jù)反映操作者的左右手位 置信息;
[0006] S2、將操作者左右手空間位置數(shù)據(jù)轉換成左右虛擬拳擊手套屏幕坐標數(shù)據(jù),利用 左右虛擬拳擊手套屏幕坐標數(shù)據(jù)控制虛擬拳擊手套在屏幕中的位置移動;
[0007] S3、根據(jù)S2中的左右虛擬拳擊手套屏幕坐標數(shù)據(jù)判斷虛擬拳擊手套是否命中虛 擬沙袋;
[0008] S4、命中虛擬沙袋后,計算虛擬沙袋中心點初始擺動速度和初始擺動角度;
[0009] S5、根據(jù)S4中的虛擬沙袋中心點初始擺動速度、初始擺動角度及衰減方法,通過 計算機圖形接口渲染虛擬沙袋擺動過程,并在顯示設備中進行顯示。
[0010] 其中,步驟Sl包括:
[0011] S11、從Kinect視頻流中獲取操作者骨骼圖像幀;
[0012] S12、從步驟Sll的骨骼圖像幀數(shù)據(jù)中,獲取操作者左右手坐標數(shù)據(jù)作為左右手空 間位置數(shù)據(jù)。
[0013] 步驟S2包括:
[0014] S21、獲取屏幕分辨率(xs,ys),將左右手空間位置數(shù)據(jù)中的左右手坐標HL(Xl,yi, Z1)、HR(xr,yr,zj轉換為左右虛擬拳擊手套屏幕坐標VL(xls,yls)、VR(x",yJ;
[0015]S22、將虛擬拳擊手套模型繪制于左右虛擬拳擊手套屏幕坐標VL(xls,yls)、VR(x", yj位置處,由此控制屏幕中虛擬拳擊手套的位置移動。
[0016] 步驟S21中左右手坐標的轉換方法為:
[0017] xls = a ^x1 yls = ^ ^y1
[0018] xrs = a *xr yrs = @ *yr其中,坐標轉換系數(shù)a = xs/320、@ = ys/240。
[0019] 步驟S3包括:
[0020] S31、將虛擬沙袋等同于矩形區(qū)域,并動態(tài)計算該矩形區(qū)域的四個頂點坐標;
[0021] S32、判斷左右虛擬拳擊手套屏幕坐標是否在S31步驟所示的矩形區(qū)域上,如果 是,則表明命中沙袋,否則,表明沒有命中沙袋。
[0022] 步驟S31的矩形區(qū)域的四個頂點坐標的計算方法為:假設虛擬沙袋 矩形區(qū)域高、寬分別為h、w,虛擬沙袋中心點與懸掛點之間的距離為1,虛擬 沙袋中心點靜止時屏幕坐標為(X(l,%),當相對于中軸線偏移角度為0時,矩 形區(qū)域左上角頂點A的坐標為:
【權利要求】
1. 一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于,包括以下步驟: 51、 獲取操作者左右手空間位置數(shù)據(jù),所述左右手空間位置數(shù)據(jù)反映操作者的左右手 位置信息; 所述步驟Sl包括: 511、 從Kinect視頻流中獲取操作者骨骼圖像幀; 512、 從步驟Sll的骨骼圖像幀數(shù)據(jù)中,獲取操作者左右手坐標數(shù)據(jù)作為左右手空間位 置數(shù)據(jù)。 52、 將操作者左右手空間位置數(shù)據(jù)轉換成左右虛擬拳擊手套屏幕坐標數(shù)據(jù),利用左右 虛擬拳擊手套屏幕坐標數(shù)據(jù)控制虛擬拳擊手套在屏幕中的位置移動; 所述步驟S2包括: 521、 獲取屏幕分辨率(xs,ys),將左右手空間位置數(shù)據(jù)中的左右手坐標HL(Xl, yi,Zl)、 HR(Xp l,zj轉換為左右虛擬拳擊手套屏幕坐標VL(xls,yls)、VR(x",yj ;左右手坐標的轉 換方法為: Xis = a ^x1 yls = ^ ^y1 xrs = a *xr yrs = @ *yr 其中,坐標轉換系數(shù) a = xs/320、@ = ys/240 ; 522、 將虛擬拳擊手套模型繪制于左右虛擬拳擊手套屏幕坐標VL(xls,yls)、VR(x",yj 位置處,由此控制屏幕中虛擬拳擊手套的位置移動。 53、 根據(jù)S2中的左右虛擬拳擊手套屏幕坐標數(shù)據(jù)判斷虛擬拳擊手套是否命中虛擬沙 袋; 54、 命中虛擬沙袋后,計算虛擬沙袋中心點初始擺動速度和初始擺動角度; 55、 根據(jù)S4中的虛擬沙袋中心點初始擺動速度、初始擺動角度及衰減方法,通過計算 機圖形接口渲染虛擬沙袋擺動過程,并在顯示設備中進行顯示。
2. 根據(jù)權利要求1所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S3包括: 531、 將虛擬沙袋等同于矩形區(qū)域,并動態(tài)計算該矩形區(qū)域的四個頂點坐標; 532、 判斷左右虛擬拳擊手套屏幕坐標是否在S31步驟所示的矩形區(qū)域上,如果是,則 表明命中沙袋,否則,表明沒有命中沙袋。
3. 根據(jù)權利要求2所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法, 其特征在于,所述步驟S31的矩形區(qū)域的四個頂點坐標的計算方法為:假設虛 擬沙袋矩形區(qū)域高、寬分別為h、w,虛擬沙袋中心點與懸掛點之間的距離為1, 虛擬沙袋中心點靜止時屏幕坐標為(?, %),當相對于中軸線偏移角度為0時,
4. 根據(jù)權利要求1所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S4包括: 541、 計算虛擬沙袋中心點初始擺動速度Vtl ; 542、 計算虛擬沙袋中心點初始擺動角度小。
5. 根據(jù)權利要求4所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S41中虛擬沙袋中心點初始擺動速度Vtl的計算方法為: 5411、 計算操作者左手或右手出拳速度V1 ; 5412、 根據(jù)步驟S411得到的出拳速度V1計算虛擬沙袋中心點初始擺動速度V。。
6. 根據(jù)權利要求5所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S411中操作者左手或右手出拳速度V1的計算方法為:以Kinect攝像頭為三維坐 標系原點,Kinect攝像頭前面板平面所在平面為XOY面,其中X軸指向操作者的右側,Y軸 指向操作者的上方,Z軸指向操作者的前側,假設從擊中虛擬沙袋的骨骼圖像幀中獲取的骨 骼坐標為P (X1,Y1,Z1),并取前一幀骨骼坐標Q (X2,Y2,Z2),那么出拳向量玲為(X1-X 2,Y1-Y2, Z1-Z2),由此可得出拳速度V1:
7. 根據(jù)權利要求5所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S412中操作者以V1的出拳速度擊打到虛擬沙袋后,虛擬沙袋中心點初始擺動速 度Vtl的計算公式為: V0 = 0? 025V
8. 根據(jù)權利要求4所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S42中虛擬沙袋中心點初始擺動角度小的計算方法為: = argcos (l-V〇2/21g) 其中:Vtl為虛擬沙袋中心點初始擺動速度,1為虛擬沙袋中心點與懸掛點之間的距離, g為重力加速度,取9. 8米/秒2。
9. 根據(jù)權利要求1所述的一種基于Kinect的虛擬拳擊沙袋訓練的方法,其特征在于, 所述步驟S5中通過圖形接口渲染虛擬沙袋擺動過程時,將虛擬沙袋擺動角度每過一次中 心線減小初始擺動角度小的25%,即按此幅度衰減,虛擬沙袋由靜止在擊打后擺動兩個周 期停止于中心線,等待下一次擊打。
10. -種基于Kinect的虛擬拳擊沙袋訓練的系統(tǒng),其特征在于,該系統(tǒng)包括Kinect攝 像頭、計算機和顯示設備;Kinect攝像頭與計算機連接,計算機與顯示設備通過視頻連接 線連接; 其中,Kinect攝像頭用于獲取操作者左右手空間位置數(shù)據(jù),所述左右手空間位置數(shù)據(jù) 反映操作者的左右手位置信息; 計算機將操作者左右手空間位置數(shù)據(jù)轉換成左右虛擬拳擊手套屏幕坐標數(shù)據(jù),利用左 右虛擬拳擊手套屏幕坐標數(shù)據(jù)控制虛擬拳擊手套在屏幕中的位置移動,然后根據(jù)左右虛擬 拳擊手套屏幕坐標數(shù)據(jù)判斷虛擬拳擊手套是否命中虛擬沙袋;在命中虛擬沙袋后,計算虛 擬沙袋中心點初始擺動速度和初始擺動角度,并根據(jù)虛擬沙袋中心點初始擺動速度、初始 擺動角度及衰減方法,通過計算機圖形接口渲染虛擬沙袋擺動過程; 顯示設備用于顯示拳擊訓練場景、虛擬沙袋、虛擬拳擊手套以及操作者擊打沙袋的過 程。
【文檔編號】G06F3/01GK104361239SQ201410657261
【公開日】2015年2月18日 申請日期:2014年11月18日 優(yōu)先權日:2014年11月18日
【發(fā)明者】趙建敏, 賈慧媛, 李琦, 朱林, 徐曉偉, 薩仁高娃 申請人:內蒙古科技大學