周忠岐
(寶雞職業(yè)技術(shù)學(xué)院,寶雞,721013)
基于VR的競(jìng)技體育仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
周忠岐
(寶雞職業(yè)技術(shù)學(xué)院,寶雞,721013)
虛擬現(xiàn)實(shí)技術(shù)是集計(jì)算機(jī)圖形學(xué)、仿真技術(shù)等多門綜合性學(xué)科。本文以國(guó)際比賽中的高爾夫?yàn)槔瑢?duì)高爾夫的運(yùn)動(dòng)軌跡進(jìn)行計(jì)算,同時(shí)利用三維圖形引擎Open Scene Graph和物理引擎Bullet以及海洋場(chǎng)景庫(kù)Osg Ocean技術(shù),對(duì)高爾夫場(chǎng)景進(jìn)行計(jì)算,最后將兩者進(jìn)行集成,從而得到基于VR的高爾夫仿真系統(tǒng)。
虛擬現(xiàn)實(shí)技術(shù);仿真系統(tǒng);三維圖形引擎
隨著競(jìng)技體育的發(fā)展,越來(lái)越多的國(guó)家開(kāi)始將技術(shù)的研究?jī)A向于視頻分析系統(tǒng)和仿真系統(tǒng)。而近幾年計(jì)算機(jī)圖形技術(shù)、計(jì)算機(jī)仿真技術(shù)的大力發(fā)展,從而使得虛擬現(xiàn)實(shí)技術(shù)的發(fā)展更加受到歡迎。所謂的虛擬現(xiàn)實(shí)是通過(guò)計(jì)算機(jī)系統(tǒng)模擬出來(lái)的與現(xiàn)實(shí)環(huán)境相似的虛擬環(huán)境,其最典型的特點(diǎn)是沉浸性、多感知能力以及交互性。因此,根據(jù)以上特點(diǎn),基于虛擬技術(shù)的仿真系統(tǒng)主要的功能的設(shè)計(jì)首先體現(xiàn)對(duì)虛擬場(chǎng)景的構(gòu)建;其次是對(duì)相關(guān)運(yùn)動(dòng)數(shù)據(jù)的捕捉;再次是對(duì)生理生化數(shù)據(jù)的采集;第四是動(dòng)作的重演;最后為圖形的展現(xiàn)。也和正式基于上述的功能,使得近幾年在體育領(lǐng)域?qū)Ψ抡嫦到y(tǒng)的開(kāi)發(fā)也越來(lái)也多。本文以高爾夫運(yùn)動(dòng)為例,對(duì)其進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。
與常規(guī)的仿真系統(tǒng)一樣,首先要對(duì)其進(jìn)行相關(guān)的數(shù)據(jù)進(jìn)行采集,在對(duì)其進(jìn)行建模修改。因此,結(jié)合高爾夫比賽,我們將該系統(tǒng)分為數(shù)據(jù)采集系統(tǒng)和渲染仿真系統(tǒng)兩個(gè)部分。其中數(shù)據(jù)采集系統(tǒng)主要對(duì)高爾夫球體的飛行軌跡進(jìn)行采集,而在此研究中我們提出風(fēng)力給高爾夫帶來(lái)的影響。而一般的數(shù)據(jù)采集方法包括紅外線、超聲波、光學(xué)傳感器等進(jìn)行。在此研究中我們主要采用CCD光學(xué)傳感器對(duì)數(shù)據(jù)進(jìn)行采集。實(shí)時(shí)渲染系統(tǒng)主要對(duì)采集的參數(shù)進(jìn)行數(shù)學(xué)模型或者物理模型進(jìn)行描述,從而得出高爾夫球飛行的軌跡,并通過(guò)相關(guān)技術(shù)軟件將高爾夫的飛行在實(shí)時(shí)場(chǎng)景中體現(xiàn)出來(lái)。
2.1 系統(tǒng)軟件架構(gòu)
根據(jù)高爾夫運(yùn)動(dòng)的特點(diǎn),我們將其軟件系統(tǒng)整體架構(gòu)設(shè)計(jì)如圖1所示。
其中,圖像的采集主要是對(duì)高爾夫運(yùn)動(dòng)的相關(guān)數(shù)據(jù)的采集;目標(biāo)的檢測(cè)識(shí)別和跟蹤模塊主要為通過(guò)高速的攝像機(jī)攝像機(jī)采集系統(tǒng),對(duì)目標(biāo)進(jìn)行快速的檢測(cè)。同時(shí)跟蹤的目的是為提高整個(gè)系統(tǒng)性能,以便對(duì)高爾夫球下一步的位置進(jìn)行預(yù)測(cè),并減少系統(tǒng)中ROI采集區(qū)域,大大提高采集傾的速率;立體的標(biāo)定模塊主要是對(duì)相機(jī)的相關(guān)參數(shù)進(jìn)行設(shè)置,包括內(nèi)參數(shù)、外參數(shù)、畸變參數(shù)等;運(yùn)動(dòng)軌跡參數(shù)計(jì)算模塊主要是根據(jù)采集系統(tǒng)得到的相關(guān)參數(shù)對(duì)高爾夫的運(yùn)動(dòng)軌跡進(jìn)行計(jì)算。圖像仿真模塊主要三維立體場(chǎng)景的導(dǎo)入和設(shè)計(jì),從而使得高爾夫飛行能夠在實(shí)際的場(chǎng)景中;物理仿真模塊是指根據(jù)按照高爾夫自然飛行規(guī)律而設(shè)計(jì)的模塊,通
過(guò)該模塊,可計(jì)算出基于自然規(guī)律下的飛行軌跡。
2.2 硬件系統(tǒng)架構(gòu)
仿真系統(tǒng)對(duì)計(jì)算機(jī)等硬件設(shè)施的要求比較高,因此,在進(jìn)行硬件系統(tǒng)選擇的時(shí)候,對(duì)各方面性能的考慮必須充分。而該系統(tǒng)主要采用Bumblebee雙目高速相機(jī)、圖像采集卡、高配置計(jì)算機(jī)以及相機(jī)數(shù)據(jù)線。其具體架構(gòu)如圖2所示。

圖2 硬件采集系統(tǒng)
其中Bumblebee雙目高速相機(jī)可實(shí)現(xiàn)全視場(chǎng)深度測(cè)量;實(shí)時(shí)3D數(shù)據(jù)轉(zhuǎn)換,每秒鐘可產(chǎn)生出100萬(wàn)個(gè)3D點(diǎn);高質(zhì)量的CCD光學(xué)傳感器以及無(wú)需投影儀等特點(diǎn)。
3.1 數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)
對(duì)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)我們采用OpenCV平臺(tái)。OpenCV平臺(tái)是一款開(kāi)源的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),其可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。其典型的特點(diǎn)是輕量級(jí)但高效,著主要是因?yàn)槠洳捎昧舜罅康腃函數(shù)以及一些少量的C++編程語(yǔ)言。同時(shí)該平臺(tái)可同時(shí)提供Python、Ruby、MATLAB等語(yǔ)言的接口,從而很好的實(shí)現(xiàn)對(duì)圖像處理方面的通用算法。同時(shí),采集系統(tǒng)的實(shí)現(xiàn)流程如圖3所示。通過(guò)高速相機(jī)的采集,將數(shù)據(jù)傳輸?shù)酵讲杉刂凭€程中,該模塊則主要負(fù)責(zé)對(duì)采集卡和相機(jī)的控制,同時(shí)對(duì)其相關(guān)的參數(shù)進(jìn)行設(shè)置,并將相關(guān)參數(shù)進(jìn)行封裝后存儲(chǔ)到Ring Buffer當(dāng)中;圖像多線程處理模塊可同時(shí)對(duì)多個(gè)數(shù)據(jù)進(jìn)行處理,并通過(guò)任務(wù)隊(duì)列,對(duì)數(shù)據(jù)進(jìn)行檢測(cè),如完成則Sleep.如有則讀取Ring Buffer當(dāng)中的數(shù)據(jù),并繼續(xù)進(jìn)行處理;三維計(jì)算線程主要是對(duì)高爾夫的三維坐標(biāo)進(jìn)行計(jì)算,從而得到系統(tǒng)捕獲的高爾夫球的三維坐標(biāo)。

圖3 數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)流程
3.2 實(shí)時(shí)渲染仿真系統(tǒng)實(shí)現(xiàn)
在該系統(tǒng)模塊中,對(duì)圖形仿真的實(shí)現(xiàn)采用OSG引擎,該引擎為一種高性能的、開(kāi)發(fā)速度快的三維圖像植染引擎。該平臺(tái)具有跨平臺(tái)使用的特性,可以在多個(gè)操作系統(tǒng)上進(jìn)行使用。同時(shí)其使用的抽象層的函數(shù)使得其函數(shù)接口可獨(dú)立使用。
對(duì)物理仿真系統(tǒng)模塊的實(shí)現(xiàn)則通常采用Bullet物理引擎,該引擎為開(kāi)源的,專業(yè)的碰撞檢測(cè)以及物理引擎,被稱為世界三大物理引擎之一,而被廣泛的應(yīng)用于網(wǎng)絡(luò)游戲的開(kāi)發(fā)、動(dòng)畫制作等。由于其開(kāi)源性,因此,其支持多個(gè)草組系統(tǒng),并可用于IOS、Android等移動(dòng)設(shè)備中。通過(guò)該引擎可實(shí)現(xiàn)對(duì)剛體、動(dòng)力學(xué)仿真以及軟體物理方面。
對(duì)仿真系統(tǒng)的驗(yàn)證可分為實(shí)時(shí)性、精確性等驗(yàn)證。本案例只對(duì)精確性進(jìn)行檢測(cè)。而在實(shí)際中對(duì)矢量的檢測(cè)比較難,因此,我們采用飛行時(shí)間和飛行距離作為檢驗(yàn)測(cè)試的根據(jù),其具體的檢測(cè)結(jié)果如下:

表1 系統(tǒng)誤差分析

圖1 系統(tǒng)整體架構(gòu)
基于VR的體育仿真系統(tǒng)是一個(gè)非常復(fù)雜的系統(tǒng),對(duì)該系統(tǒng)的實(shí)現(xiàn)包含很多的關(guān)鍵技術(shù),如目標(biāo)的檢測(cè)和識(shí)別技術(shù)、目標(biāo)參數(shù)計(jì)算、碰撞檢測(cè)和過(guò)濾技術(shù)、圖形引擎渲染技術(shù)等。同時(shí),隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)技術(shù)將具有更加廣闊的應(yīng)用空間。
[1] 張璐.基于虛擬現(xiàn)實(shí)技術(shù)的用戶界面設(shè)計(jì)與研究[D].東華大學(xué),2013.
[2] 程菊明,李梅蓮,劉連芳.虛擬場(chǎng)景的管理及其在OSG中的應(yīng)用[J].微計(jì)算機(jī)信息,2008,06:280-281+294.
周忠岐,(1970—)講師,寶雞職業(yè)技術(shù)學(xué)院藝術(shù)體育系,研究方向:高校體育教學(xué)
Design and implementation of competitive sports simulation system based on VR
Zhou Zhongqi
(Baoji Vocational Technology College,Baoji,721013)
The virtual reality technology is a set of multi computer graphics,simulation technology and comprehensive discipline.In this paper,the international game of golf as an example,the trajectory of the golf was calculated,and the use of 3D graphics engine OpenScene Graph and Bullet physics engine and ocean scene databaseOsg Ocean technology,the golf scene is calculated,finally theintegration,resulting in golf simulation system based on VR.
virtual reality technology;simulation system;3D graphics engine