牛永亮



摘 要:針對三級跳遠運動的角度指標,利用OpenCV計算機視覺開發平臺,提出了角點角度值計算的新算法,對三級跳遠視頻中運動員的著地角、起跳角和膝關節角進行定位及計算,并嘗試對中外八名運動員的角度數值進行分析。實驗結果表明,該方法可以較精確的進行角點定位,定量計算三級跳遠運動員的角度指標,并可依據數據對不同運動員的角度指標進行對比分析,對三級跳遠訓練有一定的指導意義。
關鍵詞: 三級跳遠; 角度指標;OpenCV; 檢測計算
中圖分類號: TP 317.4
文獻標志碼: A
Abstract: In view of the triple jump movement angle index, a new algorithm for calculating the angle value is proposed by using the OpenCV computer vision development platform, and the grounding angle, the take-off angle and the knee joint angle of the athletes in the triple jump video are located and calculated. This paper tries to analyze the angle values of eight Chinese and foreign athletes. The experimental results show that the method can accurately locate the corner points, quantitatively calculate the angle index of the three-level long jump athletes, and compare and analyze the angle indicators of different athletes according to the data, which has certain guiding significance for the three-level long jump training.
Key words: triple jump; angle index; OpenCV; detection and calculation
0 引言
角度指標是三級跳遠運動的重要指標,對最終成績具有很大影響[1]。通過分析,可以得出運動員采用的技術類型;可以更加細微的看出運動員的技術發揮水平。在以往的研究中,大多數文章直接引用已有測得數據或者采用瑞士開發的Dartfish訓練圖像分析軟件異或是采用德國的SIMI Motion三維錄像分析系統等進行定量分析,很少對如何獲得數值進行研究。本文利用開源的計算機視覺類庫OpenCV,對中外八名運動員三級跳遠運動的角度指標進行定量計算分析,并給出算法的實現思路和實驗結果。
1 研究目的
1.1 三級跳遠角度指標
文中重點研究著地角、起跳角、膝關節角。如圖1所示。
著地角是起跳腿著地時身體重心與起跳腳著地點間的連線與水平面之間形成的夾角,如圖1中∠ 1。著地角越小,身體重心靠后,前支撐阻力越大,此時水平速度的損失就大,不利于跳遠成績[2]。
起跳角是起跳離地時刻,支撐點與身體重心的連線與地面的夾角,如下圖1中∠3。起跳角越大,著地緩沖的時間越長,水平速度的損失越大;起跳角度越小,有利于運動員發揮腿部力量,延長作用力時間,獲得較高的水平速度[3]。
膝關節角是在運動員運動過程中,大腿與小腿之間的夾角。根據與地面接觸情況,分為擺動腿膝關節角和支撐腿膝關節角,如圖1中∠2和∠4。膝關節角可以反映運動員接地時的緩沖時間,腿部蹬伸力量的發揮情況等。
1.2 Opencv開發平臺簡介
OpenCV是一個開源的計算機視覺庫,于1999年由Intel建立,其全稱是:Open Source Computer Vision Library[4]。它采用C/C++編寫,包括了300多個函數的跨平臺API,提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法,主要應用于人機互動、物體識別、圖象分割等領域,具有開放源碼、可擴展性好、跨平臺使用和強大的圖像和矩陣運算能力等特點。
2 實驗方法
2.1 起跳角(著地角)角度指標計算
2.1.1 算法思路
2.2 膝關節角度指標計算
2.2.1 算法思路
(1) 輪廓處理。對于輸入的運動視頻,按幀獲取圖像,進行輪廓處理,并利用輪廓面積等特征排除無關區域;
(2) 角點檢測。對得到的運動員輪廓圖像進行角點檢測并按序標注編號;
(3) 定位角點。定位計算的的角點,得到具體的角點坐標值;
(4) 求角度值。以該角點為圓心作圓,并與輪廓的交點構成三角形,利用余弦定理得出所要求的角度。
2.2.2 算法實現
1.角點檢測
角點定義為二維圖像中亮度變化劇烈的點或圖像邊緣曲線上具有曲率極大值的點[7]。Moravec算子[8]角點檢測的算法思想可以歸納為:給定一個閾值,在角點的某個鄰域內(鄰域窗口大小一般為3*3),其均方誤差和一定大于給定的閾值,并且在任何一條通過該點的直線方向移動時都很大。其計算方法簡單快速,但對噪聲也比較敏感且不具有旋轉不變性,即只檢測了8個基本方向的變化情況,不能計算任意方向。
為改進Moravec算法,C.Harris和MJ.Stephens在1988年提出了Harris角點檢測算法[9]。其基本思想與Moravec算子類似,但采用了局部自相關矩陣,允許獲得所有方向上的灰度變化,使得角點檢測算子具有了旋轉不變性;同時Harris檢測算法選取高斯函數為檢測窗口,增大了中心像素點中心線上的權值,對圖像進行了平滑處理,對噪聲有一定的抑制作用。因此Harris算子比Moravec算子具有更廣泛的應用。
在OpenCV中, cvGoodFeaturesToTrack實現了Harris角點檢測算法,使二次開發變得比較容易。其流程,如圖2所示。
(1) 使用sobel算子對圖像中的每個像素進行計算,得出二階差分;
(2) 使用cvCornerMinEigenVal計算輸入圖像中每一個像素點的最小特征值,并將結果存儲到臨時變量eig_image中;
對于每個像素,函數cvCornerMinEigenVal考慮block_size*block_size大小窗口的鄰域,并給出中心像素點的自相關矩陣M,其定義,如式(3)。
2.計算角點值
經過角點檢
測并定位角點A后,以A點為圓心,做圓并與輪廓線相交于B、C 兩點。當A、B、C三點構成三角形時,計算角度θ,可以利用基本的三角公式進行計算。如圖3。
3 實驗結果與分析
3.1 著地角和起跳角分析
對三級跳視頻圖像,得到并提取運動輪廓,提取出運動員的質心和接地點坐標,最終得到起跳角。圖5是廣州亞運會哈薩克斯坦選手葉克托夫第二跳時的起跳角,得到重心坐標A(108,79),著地點坐標B(155,155),計算得到起跳角度為58.266 5度。
3.2 膝關節角分析
實驗中選取了2011年廣州亞運會三級跳遠運動員曹碩的視頻進行研究,并對其中的一幀進行了角度分析。實驗結果,如圖6所示。
圖6中a為三級跳原圖像;b為經輪廓處理后的二值圖像;c為角點檢測后,標定好的角點序號的二值圖像,計算支撐腿的膝關節角∠8的角度值為153.4349度。
為更好地分析角度指標對運動員成績的影響。下面對2010年廣州亞運會及2012年倫敦奧運會共8名三級跳遠運動員進行對比分析。表1中列出了八名運動員的著地角、起跳角、最終成績。 李延熙(中)、葉可托夫(哈薩克)、曹碩(中)分別為廣州亞運會前三名;泰勒(美)、克拉耶(美)、多納托(意)為倫敦奧運會前三名得主;孔波雷(法)在第五跳中出現“軟腳”失誤,桑茨(巴哈馬)因為傷病在第四跳中出現意外骨折。其角度指標數值,如表1所示:
為便于形象化分析,將運動員的最終成績擴大三倍顯示,如圖7所示。
對以上數據經過折線圖處理,得到以下結論:
a. 從圖7(b)中可以明顯地看出,運動員跳躍時的著地角小于跨步跳著地角,同時小于跳躍時起跳角。經過跨步跳之后,水平速度有所下降,運動員為提高成績,著地腿向前充分蹬伸,使得跳躍時的著地角偏小。雖然這樣不利于減少水平速度的損失,但可以延長與地面的緩沖時間,通過增大跳躍時的起跳角來增加騰躍高度,從而提高成績。
b. 根據角度值計算結果,可以得出運動員所采用的技術類型。兩名美國運動員跨步跳和跳躍角度值及折線圖相似,兩者采用了相同的技術類型,同時根據其跳躍時的起跳角比跨步跳時增幅明顯,用于提高第三跳的比例,可以判斷為速度型;對于多納托和葉可托夫兩者的跨步跳和跳躍時的起跳角度相對較大,可以以判斷為高跳型;對于曹碩其起躍角度較小,騰空時拋物線低,可以很好地保存水平速度,可以判斷為平跳型。
c. 比較中國與美國運動員的著地角和起跳角,可以看出在技術水平方面還存在差距。對于兩名美國隊員,其跨步跳著地角、跨步跳起跳角、跳躍著地角、跳躍起跳角平均值分別為:59.92、50.29、54.89、57.69;對應國內兩名運動員為:55.17、53.47、40.22、54.81。根據三級跳遠運動技術角度來看,在避免水平速度損失方面,中國運動員還存在差距。
d. 可以分析出運動員失誤原因。法國運動員孔波雷在跨步跳時起跳角過大,水平速度損失嚴重;跳躍時著地角過大,與地面緩沖時間短,以至于在第三跳時出現軟腿現象;而桑茨在角度指標上看不出問題,出現失誤與其先前的傷病有關。
4 總結
可以看出,利用OpenCV可以對三級跳遠運動員的角度指標進行定量計算,并根據數據進行可靠的技術分析,這為運動員進行科學訓練提供了指導和幫助。
參考文獻
[1] 尚瑞花.三級跳遠中各跳起跳時著地動作的作用分析[J].中國體育科技, 2005, 41(2):31-33.
[2] 盧剛,王宗平.中外兩名優秀三級跳遠運動員起跳技術分析[J].首都體育學院學報, 2004,16(2):57-59.
[3] 張良平.男子三級跳遠第一跳動起跳與跳遠起跳角度特征比較[J].內江師范學院學報.2010, 25(10):104-107.
[4] Gary Bradski, Adrian.Bradski G, Kaehler A.學習OpenCV [M].于仕琪,劉瑞禎,譯.清華大學出版社, 2009:1-2.
[5] 劉慧英,王小波. 基于OpenCV的車輛輪廓檢測[J].科學技術與工程, 2010,10(12):2988-2991.
[6] 劉瑞禎,于仕琪.OpenCV教程基礎篇[M].北京:北京航空航天大學出版社.2010(8):296-297.
[7] Moravec. Visual Mapping by a Robot Rover [C]. International Joint Conference on Artificial Intelligence, 1979,8(2):598-600.
[8] Moravec H P.Towards automatic visual obstacle avoidance[C].Proceedings of International Joint Conference on Artificial Intelligence,Cambridge,MA,USA,1977:584-590.
[9] Borgeofrs G. Hierarechical Chamfer Matching: A Parametric Edge Matching Algorithm[J] . IEEE Trans. on PAMI, 1988,10(6): 849-865.
(收稿日期: 2019.08.27)