趙 明
(陜西交通職業(yè)技術(shù)學(xué)院,西安,710018)
隨著國家對素質(zhì)教育的要求,越來越多的高校開始采用信息技術(shù)實現(xiàn)對體育教學(xué)的輔助教學(xué),同時借助仿真系統(tǒng)的開發(fā),來提升學(xué)生對體育專業(yè)技術(shù)的學(xué)習(xí)。但是,上述仿真軟件系統(tǒng),在很大程度上都都比較復(fù)雜,而且開發(fā)的成本也通常比較高。本文針對上述體育教學(xué)系統(tǒng)存在的缺點,提出一種低成本的以運動捕捉技術(shù)為基礎(chǔ)的體育訓(xùn)練系統(tǒng),并以高爾夫運動為例,對其進(jìn)行了探討。
圖1 Kinect外觀
現(xiàn)階段市場上比較流行的運動捕捉系統(tǒng)主要包括聲學(xué)運動捕捉、光學(xué)運動捕捉和電磁式運動捕捉。每種不同的運動捕捉方式都具備其自身的特點和優(yōu)勢。但是,從對運動捕捉的靈敏度來講,光學(xué)捕捉要遠(yuǎn)遠(yuǎn)高于聲學(xué)和電磁式的捕捉。因此,在本文的設(shè)計中,采用由美國微軟公司設(shè)計的Kinect。該硬件最初是被應(yīng)用在X360的游戲機上,通過將其安裝在普通的PC電腦上,通過手勢即可實現(xiàn)對計算機的控制。其具體的外觀則如圖1所示。
該硬件其工作的原理是通過紅外發(fā)射器向整體的空間中連續(xù)的發(fā)出紅外線,并給空間實現(xiàn)編碼,從而通過最為普通的CMOS芯片即可實現(xiàn)對其進(jìn)行讀取,以此得到其產(chǎn)生的空間的距離。而基于人體的捕捉則是首先將人體的圖像從深度圖當(dāng)中分離出來,并通過對像素的評估識別,與存在系統(tǒng)內(nèi)的人體模型進(jìn)行匹配,從而得出符合該身高和骨骼類型的模型,最后通過骨骼組成的虛擬角色,對動作進(jìn)行觸發(fā)。而人體運動關(guān)節(jié)信息的獲取則是通過OpenNI軟件進(jìn)行驅(qū)動,因此,在實際的運用過程中,通常安裝該驅(qū)動軟件,實現(xiàn)對人體不同部位信息的獲取。
在對上述的人體關(guān)節(jié)的運動信息的獲取之后,還必須運用Cal3D軟件實現(xiàn)對骨骼運動的渲染,也就是有了不同的關(guān)節(jié)之后,還必須實現(xiàn)對骨骼運動的3D運動畫面。而對渲染軟件的應(yīng)用非常多,本文采用 Cal3D軟件,其主要是因為該軟件在針對混合動作的渲染中更具有協(xié)調(diào)性和逼真性。
在采用Kinect作為數(shù)據(jù)采集的過程當(dāng)中,Kinect通常會采集到17個不同的關(guān)節(jié)點。但是,采集過程中,因為人體運動速度的加快,會出現(xiàn)因為人體運動而將某些關(guān)節(jié)的圖像進(jìn)行遮擋的問題。如在籃球比賽中,有包括空中旋轉(zhuǎn)投球等,使得某個關(guān)鍵不能被Kinect照射到,從而出現(xiàn)圖像的空白。因此,針對這種情況需要對采集到的圖像進(jìn)行一定的修復(fù),從而更好的為后續(xù)的訓(xùn)練比較進(jìn)行分析。
為更好的計算出其遮擋的關(guān)節(jié),采用的思路為首先對借鑒鄧小圓的研究經(jīng)驗,將人體模型分為15個不同的關(guān)節(jié)模型,并通過正面在Kinect的攝像(見圖2),計算出在正常情況下不同關(guān)節(jié)的距離。
圖2 正常情況下的而難題正常關(guān)節(jié)模型
將該圖像放到三維空間當(dāng)中,則有空間中任意兩點之間的距離,表達(dá)式為:
而人體的骨骼模型在開始運動的過程中,其不同關(guān)的長度是不變的,關(guān)節(jié)旋轉(zhuǎn)角度為α,由此使得其前一幀和后一幀在三維空間中的距離,兩者有著本質(zhì)的區(qū)別。在有其骨骼的長度不會變化,同時假設(shè)其旋轉(zhuǎn)前在三維坐標(biāo)中為a點,旋轉(zhuǎn)后為b點,因此,則有:
通過上述公式可得到關(guān)節(jié)的移動是是在以某點作為其圓心,并圍繞該圓心從而得到其不同的直線的斜率,并通過斜率求出其不同的人體關(guān)節(jié)運動變化的點,從而通過該方法可防止在運動的過程中出現(xiàn)任何的遮擋的問題,從而使得畫面出現(xiàn)黑點,以此不利于仿真動畫的模擬。
體育教學(xué)系統(tǒng)的目的就是做好對學(xué)生教學(xué)動作的糾正。而本文結(jié)合體育教學(xué)的實際,對該系統(tǒng)的應(yīng)用只適合于高校內(nèi)部比較專業(yè)的訓(xùn)練,如籃球運動員、高爾夫項目課程等。因此,結(jié)合上述的系統(tǒng)設(shè)計的使用人群,將系統(tǒng)的使用角色分為運動員、教師、管理員三個不同的部分。同時期設(shè)計的目標(biāo)包括以下幾方面:
第一,實現(xiàn)對基礎(chǔ)運動數(shù)據(jù)的采集,為后續(xù)的分析處理提供基本的數(shù)據(jù);
第二,構(gòu)建系統(tǒng)原始的人體模型數(shù)據(jù)庫,為運動員的動作分析比對提供標(biāo)準(zhǔn)的動作數(shù)據(jù)信息;
第三,簡潔、明了的操作界面,從而方便用戶對該軟件的應(yīng)用;
第四,穩(wěn)定的系統(tǒng)捕捉,為系統(tǒng)用戶的使用者提供可靠的軟、硬件保障。
結(jié)合系統(tǒng)的使用群體,將系統(tǒng)的分為以下幾個部分,其具體的示意圖如下圖所示。
其中對運動數(shù)據(jù)的采集主要包括運動員基礎(chǔ)關(guān)節(jié)運動信息的采集和高水平的訓(xùn)練者的標(biāo)準(zhǔn)數(shù)據(jù)。通過采集構(gòu)建運動員標(biāo)準(zhǔn)比對的基礎(chǔ)數(shù)據(jù)庫。而采集其基礎(chǔ)的數(shù)據(jù)其目的是為后續(xù)的必須奠定基礎(chǔ)。
數(shù)據(jù)處理則是通過上述的關(guān)節(jié)遮擋修復(fù)算法,實現(xiàn)對被遮擋關(guān)節(jié)的畫面的修復(fù),從而使得其在后續(xù)的虛擬動畫中體現(xiàn)完整的動畫。
而數(shù)據(jù)的分析則是將捕捉到的運動員運動的信息和高水平的運動館的運動數(shù)據(jù)進(jìn)行比較,從而得出其分析比較的結(jié)果,如籃球運動員在轉(zhuǎn)體投籃的時候,其手臂的力度大概為多大,使得其進(jìn)球的效率最高。而其中運動員的運動的動作則通過Cal3D文件,對其骨骼模型的驅(qū)動,實現(xiàn)人體運動的再造。
對該系統(tǒng)的開發(fā)主要分為硬件和軟件兩部分。其中硬件部分除一臺微軟的XBOX360 Kinect,同時還包括PC電腦。其中Kinect負(fù)責(zé)數(shù)據(jù)的采集,而PC負(fù)責(zé)對數(shù)據(jù)的處理。
系統(tǒng)的軟件部分的設(shè)計包括運動捕捉、數(shù)據(jù)分析、動作顯示等。其中動作的捕捉包括對數(shù)據(jù)的采集和運動信息的比對賦予不同的人體模型,同時對其中的遮擋問題進(jìn)行修復(fù)。再通過Cal3D對人體模型的驅(qū)動,實現(xiàn)人體運動畫面的實現(xiàn)。而在該系統(tǒng)中還包含了基礎(chǔ)數(shù)據(jù)庫的建設(shè)。而Kinect的采集的采用中間插件驅(qū)動,通過軟件的驅(qū)動實現(xiàn)對人體關(guān)節(jié)部位的驅(qū)動訪問。同時,為更好的實現(xiàn)本系統(tǒng)畫面的真實性,采用OSG軟件對其進(jìn)行渲染,該軟件屬于開源性的軟件,可實現(xiàn)跨平臺的開發(fā),更好的體現(xiàn)其渲染的效果。而整體的開發(fā)則利用visual studio 2010 平臺進(jìn)行搭建。
通過上述的構(gòu)建,得到不同高爾夫運動員比較的結(jié)果。其具體如圖3所示。
圖3 系統(tǒng)實現(xiàn)的對比結(jié)果
以高爾夫的訓(xùn)練為例,通過對運動員的比較,說明運動員在上桿到最高點的時候,其手關(guān)節(jié)多舉的高度還是不夠。因此,運動員在下次進(jìn)行揮桿的時候,訓(xùn)練者的上扦及收懺時手的最高點提高約300mm。
總之,信息化時代下通過采用運動捕捉技術(shù)的體育教學(xué)系統(tǒng)僅僅是對現(xiàn)代教學(xué)改革的嘗試,通過該系統(tǒng),可實現(xiàn)對學(xué)校比較專業(yè)的運動員的訓(xùn)練,從而無論在競技水平,還是在整體的專業(yè)水準(zhǔn)上與可更好的凸顯出其優(yōu)勢。同時該系統(tǒng)在設(shè)計上具有成本低和設(shè)計開發(fā)難度低的特點,并可用在高校的籃球、高爾夫教學(xué)當(dāng)中,具有很強的實用性。