戚 浩,高紅衛(wèi),2
(1.寶雞文理學(xué)院 機(jī)械工程學(xué)院,陜西 寶雞 721016;2.陜西省機(jī)器人關(guān)鍵零部件先進(jìn)制造與評估省市共建重點(diǎn)實(shí)驗(yàn)室,陜西 寶雞 721016)
目前,我國體育產(chǎn)業(yè)高速發(fā)展,“智慧體育”成為了體育行業(yè)發(fā)展的趨勢,已舉辦全國智能體育大賽等活動(dòng),基于體育輔助訓(xùn)練的項(xiàng)目研究也越來越多。近年來,計(jì)算機(jī)視覺應(yīng)用于運(yùn)動(dòng)訓(xùn)練監(jiān)管項(xiàng)目的研究取得了快速發(fā)展,一系列基于微軟Kinect在體育訓(xùn)練方向研究成果的發(fā)表,標(biāo)志著該項(xiàng)技術(shù)日趨成熟并具有廣闊的發(fā)展前景。本文系統(tǒng)性地回顧了基于Kinect的骨架追蹤在體育訓(xùn)練方向的研究,基本原理如圖1所示。隨著Kinect的開發(fā)應(yīng)用,應(yīng)用于體育訓(xùn)練方面的實(shí)例越來越多。本文從骨架追蹤原理過程的每個(gè)具體步驟分別進(jìn)行了歸納闡述,并基于此步驟,對實(shí)驗(yàn)室ROS機(jī)器人進(jìn)行了簡單的試驗(yàn)探究。
Kinect的外觀如圖2所示。本文主要基于Kinect進(jìn)行探究,Kinect V2由彩色相機(jī)、深度相機(jī)和紅外投影機(jī)組成。具體原理為紅外投影機(jī)發(fā)射出紅外信號,然后記錄調(diào)制光線從相機(jī)傳播到場景,從場景再返回到相機(jī)所花費(fèi)的間接時(shí)間測量值,通過處理這些測量值可以生成深度圖,獲取深度圖后,通過機(jī)器算法對人體三維坐標(biāo)進(jìn)行估算。
Kinect的核心技術(shù)就是骨架追蹤技術(shù)[1],該技術(shù)工作過程包括如下主要內(nèi)容:1)對獲取的深度圖像進(jìn)行邊緣檢測,降噪處理;2)進(jìn)行人體輪廓分割,通過標(biāo)定算法對人體各個(gè)部位進(jìn)行識別;3)采用機(jī)器學(xué)習(xí)算法對各個(gè)關(guān)節(jié)點(diǎn)進(jìn)行定位。
從研究過程分析,骨架追蹤技術(shù)的應(yīng)用流程大概是:采集骨架節(jié)點(diǎn),對節(jié)點(diǎn)進(jìn)行算法處理,運(yùn)算識別及動(dòng)作建模,運(yùn)動(dòng)行為的評估[2]。
現(xiàn)實(shí)場景中,人體的骨架節(jié)點(diǎn)通常包括頭部、頸部、左右肩、左右肘部、左右手腕、左右手、脊柱、髖部中心、左右髖、左右膝蓋、左右腳踝等20個(gè)關(guān)節(jié)點(diǎn)及其相應(yīng)的參數(shù)信息。通過計(jì)算機(jī)視覺的方法提取這些信息,需要對運(yùn)動(dòng)員的骨架節(jié)點(diǎn)進(jìn)行分層提取(見圖3),運(yùn)動(dòng)員每幀的關(guān)節(jié)位置其坐標(biāo)變量X、Y和Z構(gòu)成了一個(gè)數(shù)據(jù)流。
文獻(xiàn)[3-5]中均采用Kinect基于中間插件OpenNI來建立人體骨架模型并標(biāo)記人體主要關(guān)節(jié)的位置信息和方向信息。OpenNI的框架原理如圖4所示。硬件層包括Kinect等硬件設(shè)備;中間層是OpenNI的組件和接口,該結(jié)構(gòu)是硬件層和應(yīng)用層進(jìn)行溝通的橋梁;應(yīng)用層則是基于機(jī)器人的硬件結(jié)構(gòu)實(shí)現(xiàn)程序的模塊。文獻(xiàn)[6]中采用可穿戴傳感器的人體位姿檢測系統(tǒng)。文獻(xiàn)[7-8]中采用光編碼理論技術(shù),利用光源對三維空間進(jìn)行編碼,Kinect的紅外發(fā)射器發(fā)射光源散射到空間中形成具有唯一性的激光散斑,標(biāo)定空間坐標(biāo),獲得深度信息后進(jìn)行景深圖像處理通過機(jī)器學(xué)習(xí)、矩陣變換算法獲取到關(guān)節(jié)點(diǎn)三維坐標(biāo)。文獻(xiàn)[9]中介紹了基于視差原理的雙目立體視覺技術(shù),通過捕捉同一時(shí)刻、不同角度的2張圖像,基于視差原理對物體進(jìn)行三維輪廓重建,計(jì)算幾何信息。
基于上述理論依據(jù),對實(shí)驗(yàn)室啟智ROS機(jī)器人(見圖5)Kinect采用OpenNI插件進(jìn)行了簡單的骨架追蹤試驗(yàn),達(dá)到了預(yù)期的效果。
對于骨架信息的處理就是將Kinect捕捉到的三維坐標(biāo)信息進(jìn)行算法處理,將抽象的坐標(biāo)通過坐標(biāo)映射,矩陣變換等各種算法轉(zhuǎn)化成為直觀的骨架圖,使人們能夠清晰直觀地觀察到關(guān)節(jié)角、關(guān)節(jié)矩陣的變化。
文獻(xiàn)研究方面,主要對運(yùn)動(dòng)者的關(guān)節(jié)運(yùn)動(dòng)特征進(jìn)行分析。文獻(xiàn)[4]中將時(shí)間信息融合到提取的骨架特征中,使得機(jī)器學(xué)習(xí)方法可以直接使用,并建立了一個(gè)180維的特征表示向量,根據(jù)向量進(jìn)行骨骼節(jié)點(diǎn)的識別預(yù)測。文獻(xiàn)[3]中對于骨架節(jié)點(diǎn)采用了幀間差分法,Canny邊緣檢測法對圖像進(jìn)行了平滑處理,并通過基于水平線掃描算法完成對骨架節(jié)點(diǎn)的提取。對于獲取的節(jié)點(diǎn)有被遮擋部分存在殘缺問題,文獻(xiàn)[10]采用關(guān)節(jié)點(diǎn)修復(fù)算法,修復(fù)被遮的關(guān)節(jié)點(diǎn)。文獻(xiàn)[11]中對骨骼數(shù)據(jù)采用限幅濾波算法處理,獲得更平滑精準(zhǔn)的骨架數(shù)據(jù)。
在上述描述中,采集到骨架數(shù)據(jù)后,對骨架節(jié)點(diǎn)進(jìn)行三維重建,獲取運(yùn)動(dòng)員的三維骨架模型,并通過標(biāo)準(zhǔn)庫對運(yùn)動(dòng)行為進(jìn)行評分。
文獻(xiàn)[3]中對骨架關(guān)節(jié)角的軌跡和姿態(tài)參數(shù)進(jìn)行采集,通過對高爾夫運(yùn)動(dòng)員和教練員動(dòng)作的差異度進(jìn)行評判指導(dǎo)。文獻(xiàn)[11]中對骨骼坐標(biāo)數(shù)據(jù)采用空間向量法得到其關(guān)節(jié)點(diǎn)之間的角度等進(jìn)行分析,設(shè)計(jì)標(biāo)準(zhǔn)運(yùn)動(dòng)參數(shù),通過比對,對運(yùn)動(dòng)員進(jìn)行系統(tǒng)打分。文獻(xiàn)[12]中對基于Kinect和ROS操作系統(tǒng)的關(guān)鍵幀圖像預(yù)處理和位姿信息的獲取,并搭建云機(jī)器人平臺(tái)實(shí)現(xiàn)傳輸。文獻(xiàn)[13]中對籃球運(yùn)動(dòng)員的實(shí)時(shí)訓(xùn)練數(shù)據(jù)和基于Kinect建立的標(biāo)準(zhǔn)動(dòng)作數(shù)據(jù)庫進(jìn)行比較分析得到運(yùn)動(dòng)過程中存在的問題。文獻(xiàn)[14]中基于Kinect對羽毛球運(yùn)動(dòng)員的動(dòng)作特征、軌跡等與標(biāo)準(zhǔn)庫進(jìn)行比較,獲取運(yùn)動(dòng)數(shù)據(jù)分析。文獻(xiàn)[5]中通過Kinect結(jié)合OpenNI完成骨架檢測與跟蹤,并收集了舉重運(yùn)動(dòng)員的深度數(shù)據(jù),對運(yùn)動(dòng)員的運(yùn)動(dòng)姿態(tài)進(jìn)行分析。
系統(tǒng)的三維重建就是對骨架圖中的關(guān)節(jié)角在三維坐標(biāo)系中進(jìn)行描述,并進(jìn)行模型的建立。
文獻(xiàn)[7]中張利英采用Unity3D軟件,將Kinect采集到的太極拳運(yùn)動(dòng)者骨架數(shù)據(jù)中對關(guān)節(jié)角度用歐拉角、旋轉(zhuǎn)矩陣、四元數(shù)進(jìn)行表述,并將角度變化賦給Unity3D人物模型對應(yīng)的關(guān)節(jié)點(diǎn),在軟件中驅(qū)動(dòng)虛擬動(dòng)畫人物可以再現(xiàn)運(yùn)動(dòng)員的運(yùn)動(dòng)姿態(tài)。文獻(xiàn)[15]中采用SIFT算法對特征數(shù)目進(jìn)行提取,根據(jù)深度信息使用PnP算法求解相機(jī)姿態(tài),優(yōu)化誤差后將人體圖像轉(zhuǎn)化為人體點(diǎn)云圖。
基于智能化的運(yùn)動(dòng)訓(xùn)練的研究方向趨勢不可逆轉(zhuǎn),基于Kinect計(jì)算機(jī)視覺方向研究也越來越廣泛。本文對基于Kinect的骨架追蹤技術(shù)在體育訓(xùn)練中的研究進(jìn)行了綜述。在對骨架圖的分析中,按照不同的功能實(shí)現(xiàn)分類,將它們分為輔助教學(xué)和訓(xùn)練評估2種。輔助教學(xué)功能是指基于Kinect將教練員的骨架信息進(jìn)行識別后建立標(biāo)準(zhǔn)動(dòng)作的數(shù)據(jù)庫,將采集到的運(yùn)動(dòng)員的姿態(tài)數(shù)據(jù)進(jìn)行分析,兩者對比找到差異,從而改善并提高訓(xùn)練水平。訓(xùn)練評估是指將運(yùn)動(dòng)者的動(dòng)作采集后與固定位置進(jìn)行對比,按照達(dá)標(biāo)程度進(jìn)行評分。對本文參考文獻(xiàn)中的實(shí)驗(yàn)結(jié)論進(jìn)行分析探究,匯總表見表1。
表1 研究項(xiàng)目匯總表
本文通過基于ROS機(jī)器人的Kinect對骨架追蹤數(shù)據(jù)進(jìn)行了簡單的試驗(yàn)采集,對一系列的算法進(jìn)行了分析。通過分析研究了高爾夫、太極拳、引體向上、籃球、舉重等運(yùn)動(dòng)員的骨架節(jié)點(diǎn)采集方法,比較了不同的骨架追蹤原理、骨架信息處理和骨架節(jié)點(diǎn)的三維動(dòng)作分析,以及對運(yùn)動(dòng)動(dòng)作的三維動(dòng)畫還原。可以看出,Kinect骨架追蹤對于運(yùn)動(dòng)訓(xùn)練方面具有深遠(yuǎn)的潛力。從運(yùn)動(dòng)教學(xué)方面優(yōu)化了運(yùn)動(dòng)者的動(dòng)作規(guī)范度,甚至可以有效避免錯(cuò)誤動(dòng)作引發(fā)的運(yùn)動(dòng)損傷;從訓(xùn)練評估方向來看,可以給出運(yùn)動(dòng)員科學(xué)有效的參考標(biāo)準(zhǔn),達(dá)到良好的對照作用;從人體動(dòng)作三維建模的角度看,增加了運(yùn)動(dòng)員對后續(xù)回放的參考,提升了訓(xùn)練的愉悅性及運(yùn)動(dòng)訓(xùn)練的效率。
目前,基于Kinect和ROS的骨架追蹤在運(yùn)動(dòng)訓(xùn)練中的應(yīng)用具有較好的發(fā)展?jié)摿?,但是還存在著一定的局限性。首先,Kinect受環(huán)境因素的影響很大,在強(qiáng)光環(huán)境下,骨架節(jié)點(diǎn)難以識別;其次,對于識別的精度較低,關(guān)節(jié)部位有遮擋則穩(wěn)定性下降,傳感器捕捉距離較近,范圍比較局限;最后,研究沒有普適性,運(yùn)動(dòng)項(xiàng)目多種多樣,只有個(gè)別項(xiàng)目研究數(shù)據(jù)難以構(gòu)成理論體系。展望:可以將Kinect的數(shù)量提升到2個(gè)以上,分別采集人體正面與背面的角度數(shù)據(jù),對數(shù)據(jù)進(jìn)行配準(zhǔn)與融合后,提取更加全面完整的骨架節(jié)點(diǎn)。但這仍然需要大量的研究,是未來的發(fā)展趨勢。