肖丹丹,劉 帥,劉國正,孫 晶*,周星棟
計算機技術應用于體育比賽的技戰術分析已經屢見不鮮(趙會群 等,2004)。比如,鷹眼技術在羽毛球落點識別中的應用(蘭彤 等,2017),視頻回放技術在籃球、排球技術仲裁中的應用(王耀東 等,2010),數據庫技術在統計籃球運動員體能數據中的應用(趙述強,2015)。不僅如此,計算機技術也大量應用于比賽的技戰術分析之中。比如,SIMI Reality Motion System公司開發的Simi Scout視頻技戰術分析軟件,可以對球類項目中的運動員行為、球的運行參數等體育指標進行采集與分析(肖丹丹,2016)。Data Volley軟件在排球技戰術分析中的應用(陳貞祥 等,2017),對排球中技戰術進行了采集與分析。
中國乒乓球長盛不衰有很多制勝因素,其中科技手段的介入功不可沒。對于乒乓球項目而言,對運動員技戰術的分析與診斷是奧運科研攻關與科技服務的核心。1988年吳煥群建立的三段指標評估法是乒乓球技戰術定量分析的基礎(張曉蓬,2004)。從計算機輔助乒乓球技戰術分析的角度,由于乒乓球有速度快、旋轉強、回合多等特點,技戰術分析人員很難通過肉眼一次性記錄1分球中所有的關鍵信息,需要重復多次觀看,這為根據視頻直接分析乒乓球技戰術提出了巨大的挑戰(喬云萍,2008)。為解決這些問題,中國乒乓球隊引進了德國SIMI Reality Motion System公司的Simi Scout視頻技戰術分析軟件,并且已大量投入使用。其他運動隊所運用的軟件也多為國外軟件,如澳大利亞開發的Sports Code,瑞士的Dart fish Teampro等。這些軟件在功能上只能滿足技戰術分析的基本操作,且技戰術分析人員與開發公司也有交流不便等問題,不能及時根據我國技戰術分析人員的實際需求進行改善。近年來,國內科研人員也開始對乒乓球技戰術分析軟件進行開發,如胡水清等(2013)、虞麗娟等(2008)和王應強等(2009),他們的技戰術分析軟件可以實現基本的技戰術采集工作,并且在功能上均有創新與便捷之處,為技戰術分析系統的研究提供了寶貴的設計思路,但這些系統只是按傳統的技戰術采集需求實現了采集功能,并沒有實現靈活智能的視頻自動截取以及自動生成報告的功能。本研究旨在設計和開發一套智能化乒乓球專項技戰術視頻分析系統(“乒乓軍師”專項技戰術視頻分析系統),以滿足乒乓球運動實踐的需求。
根據國家乒乓球隊技戰術視頻分析的具體需求,查閱文獻資料,運用Visual Studio 2015開發環境,采用C++開發語言,MFC框架結合MYSQL數據庫和XML,在Windows 10系統環境下,開發“乒乓軍師”專項技戰術視頻分析系統。該系統主要由3個模塊組成:1)技戰術指標信息采集模塊;2)技戰術指標信息處理模塊;3)報告生成模塊。
技戰術信息采集設計與實現模塊由模板的設計與建立、時間信息采集、技戰術信息采集3部分組成(圖1)。

圖1 技戰術信息采集功能結構圖Figure 1. Structure of Technical and Tactical Information Collection Function
1.1.1 模板的設計與建立
在進行技戰術信息采集時,首先要根據采集需求設計技戰術模板。技戰術模板包含有針對乒乓球項目專項的多個常用的技戰術分析模板,同時也需留有開放式的應用環境,可以根據不同教練員和運動員的需求,方便自由地設立統計分析內容模型以及內容之間的邏輯關系。依據不同需求,模板可繁可簡,簡單模板可達到現場實時反饋。系統可對復雜的事件進行精確的定義和描述分析。分析內容的模型采用樹狀結構,并引入了層的概念,比賽的技戰術統計結果的邏輯層次清晰。
每一套模板都是一個技戰術體系,模板內容由局信息、比分信息、段信息、技術信息、得失分信息等詳細指標組成。乒乓球技戰術數據采集與技戰術的模板內容有直接關系。模板的設計和建立包括數據項定義、屬性定義和模板建立3部分。
1.1.1.1 數據項定義
模板數據項的具體名稱舉例如表1所示。新建模板時,可以根據需要選擇表中數據項,也可根據需要增加新的數據項。模板的數據表項是1分球的基本信息和比賽過程,基本信息就是這1分球所在的局數和比分,比賽過程是這1分球中所用的技術動作、板數信息以及得失分情況。

表1 模板數據項的名稱舉例Table 1 The Example of the Template Data Entry
1.1.1.2 屬性定義
模板數據各項的屬性是描述乒乓球的1分球技戰術的基本組成單元,是用于乒乓球技戰術建立的數據項和屬性,也是系統進行乒乓球技戰術采集的基礎。對于局數、比分、發、接項、板數、手段、落點、得失分等技戰術指標的屬性均進行了定義和說明(表2)。
1.1.1.3 乒乓球技戰術模板的建立
可以根據數據項定義和屬性定義創建新的技戰術模

表2 手段項的屬性定義Table 2 Attribute De finition for Means Items
本系統是在MFC單文檔框架下實現的,模板建立在View窗體之上,可添加各種數據項控件。首先在該文檔下定義兩個列表控件(C List Ctrl),一個列表控件加載一個數據項和該數據項的現有屬性,用于選取需要加入的技戰術數據項和屬性;另一個列表控件,定義為指針數組,用于選取屬性之間的關系。
模板信息的存儲和讀取通過XML(可擴展標記語言Extensible Markup Language)設計用來傳輸和存儲數據。其中的標記(markup)是關鍵部分,本系統采用微軟提供的MSXML組件來操作XML文件。板,模板內容既包括上述各類屬性的取值內容,還包括各類屬性之間的順序關系(圖2)。

圖2 模板建立的過程流程圖Figure 2. The Process of Template Construction
由于采集的屬性眾多,為保證采集過程中的連貫性,在設計模板時添加了屬性關系列,每一列屬性都可以任意連接到其他屬性列,當采集完一個屬性時會根據屬性關系跳到該屬性連接的下一個屬性。
由于在采集時,模板可能出現重復使用的情況,為避免重復創建相同模板,本軟件設計了模板庫來保存使用率高的模板。
在設計模板庫時,根據技戰術分析領域常用的方法總結并整理了常用模板添加到了模板庫中,如普通三段模板(圖3)和動態三段模板。

圖3 普通三段模板Figure 3. Template of Three-phase Method
1.1.2 技戰術信息采集
在技戰術模板創建完成后,軟件根據模板中的屬性列,生成一個技戰術指標點選界面(輸入表)和一個技戰術指標顯示界面(顯示表)。當選擇好輸入表中的內容后,所標記的每個球的技戰術指標會在顯示表中出現(圖4)。

圖4 技戰術信息采集界面Figure 4. Operation Interface of Technical and Tactical Information Collection
1.1.3 時間信息采集
在傳統的乒乓球技戰術采集系統中,為實現視頻的回看與定位,一般采用基于視頻時間的采集方式。原有方法只能依靠第三方視頻截取軟件進行手動截取,手動截取不但會消耗大量時間還會出現截取錯誤的情況。為解決該問題,本研究采用同時記錄開始和結束時間的方案,更加方便的截取視頻。軟件記錄了每1分球的開始時間和終止時間并和技戰術數據綁定,結合視頻非線性編輯技術,實現視頻片段的自動截取與合成。
本研究提出了同時記錄開始和結束時間的方案,可以更加方便地截取視頻,時間信息提取算法如下:
算法1:時間信息提取算法
輸入:視頻流信息
輸出:視頻時間信息

算法第(2)行判斷點擊視頻的次數若為偶數,則新添加新數據行,第(4)行獲取當前視頻時間,并添加到開始時間中,第(5)行若點擊視頻界面次數為奇數,則獲取視頻當前時間,并添加到結束時間中。
當要對時間進行刪除時,由于每行有開始時間和結束時間兩個時間信息,系統無法確定刪除的信息是該行的開始時間還是結束時間,對此,提出了針對這種情況的時間信息刪除算法,因為開始時間的信息存在StartTime數組中,結束時間存在EndTime數組中,當確定要修改的具體時間信息時,根據時間所在行數i和數組中的時間信息,判斷時間為開始時間還是結束時間,具體算法如下:
算法2:時間信息刪除算法
輸入:要修改的時間信息所在行數
輸出:視頻時間信息

算法第(2)行表示若刪除行為最后一行并且只存放了開始時間時,將開始時間置為空,時間總數減1。第(5)行表示若刪除行為最后一行并且存放了開始時間和結束時間,時間總數減2,并將開始時間和結束時間都置為空。第(8)行表示若刪除行不為最后一行時,時間總數減2,開始時間和結束時間都置為空,且(10)~(14)行表示將刪除行后面的時間信息統一向前移動一行。
采用如上兩個算法后,軟件就記錄了每1分球的開始時間和終止時間并和技戰術數據綁定,根據開始時間和結束時間結合視頻非線性編輯技術可以很容易實現視頻片段的自動截取與合成,形成新的視頻。
技戰術信息管理模塊由技戰術信息存儲和技戰術信息處理兩部分組成,技戰術信息管理功能結構如圖5所示。

圖5 技戰術信息管理模塊結構圖Figure 5. Technical and Tactical Information Management Module
1.2.1 技戰術信息存儲
為解決技戰術信息管理及保存的合理性,本軟件在設計時采用MYSQL數據庫和XML雙重存儲方法。通過使用MYSQL數據庫,將每1場比賽按技戰術分析指標進行標記后,按照每場信息、每分信息和模板信息進行存儲,增強了數據存儲的安全性。提高了最終的整體數據匯總,查詢統計的效率,使實現按不同技戰術指標有針對性的查詢、統計數據更為便捷。
為實現數據共享,本軟件使用了XML的存儲方式。在XML中保存了模板的屬性關系信息,模板信息及比賽信息,實現了不同電腦中的數據互通,彌補了本地數據庫數據不互通的缺點。
1.2.2 技戰術信息處理
隨著比賽數據采集量的增加,若處理方法不當會使龐大的數據混亂,所以,技戰術數據的處理方法就顯得尤為重要。本研究采用了多條件篩選和多條件排序的方法處理技戰術信息。
多條件篩選,為用戶提供了按不同條件篩選數據的方法,算法3如下:
算法3:數據篩選算法
輸入:技戰術數據篩選條件
輸出:篩選后的技戰術數據信息

算法第(3)行表示若該行數據與篩選條件不相等,則刪除該行,應用該算法可以將與篩選條件不符的數據行刪除條剩下的就是符合該篩選條件的行數。
多條件排序,提供了按不同技戰術指標升序排序的方法,實現了最多3個屬性的排序功能,排序算法如下:
算法4:技戰術信息排序算法
輸入:需要排序的屬性
輸出:按升序排序的技戰術信息

算法第(1)行表示若只排序一個屬性,則按該屬性進行升序排序。第(3)行表示若按2個屬性排序,則先以第1個屬性排序,再在第1個屬性排序的基礎上給第2個屬性排序。第(6)行表示若按3個屬性排序,則先以第1個屬性排序,然后在第1個屬性的基礎上排序第2個屬性,最后在已經排好的第1、2個屬性的基礎上排序第3個屬性。第(9)行,若選擇的屬性大于3個,則按最后點擊的3個屬性為條件進行排序。
為方便核對不同技戰術的統計結果,軟件根據當前篩選后的信息,統計了總球數和得失分球數并在顯示表中出現。應用以上算法,科研人員可以更加準確快速的處理技戰術數據。
在對運動員進行技戰術分析與診斷的過程中,對一場比賽技戰術的標記只是完成了數據的采集工作,要在原始數據的基礎上進一步形成技戰術分析報告。在以往的技戰術分析軟件中,沒有技戰術分析報告生成的功能,科研人員需要手動計算各項分析指標數據,并拷貝至word文檔中,再進行排版,耗時較多。為解決上述問題,本軟件添加了自動計算數據和生成報告的功能,功能結構圖如圖6所示。

圖6 報告生成功能結構圖Figure 6. Structure of Report Generation Function
根據國家乒乓球隊的實際需求,開發了常用報告模板,分為普通三段模板和動態三段模板。普通三段模板中又可分為1、3板為發搶和1、3、5板為發搶兩種類型。當科研人員選擇對應的模板后,系統根據如下算法將結果填入模板中,并自動生成分析報告。
近1年來,在多次大賽備戰的過程中,本軟件為國家乒乓球隊提供了技戰術采集分析支持。通過應用本軟件對我國運動員訓練中的比賽錄像以及主要對手的技戰術進行了采集與分析,并提供了在線交流與敏捷維護的服務。應用過程中對其中百余場比賽進行了詳細的技戰術分析。所測試功能均經過檢驗和修正,軟件整體功能正常,使用流暢、便捷。本軟件取得了較好的效果,得到了國家乒乓球隊的充分肯定。
在軟件的使用過程中,不斷找出軟件的不足之處和待完善的功能。通過在線修改與敏捷維護,結合在國家乒乓球隊中對軟件使用的反饋,第一時間修改程序,并對功能進行改進,使本軟件更加適用于乒乓球技戰術的采集與分析。并根據使用情況,完善了操作的不便之處,使軟件操作更加快捷、簡便。在與隊伍交流和敏捷維護的過程中共為本軟件添加了7項功能,調整了17項功能,修復了8個漏洞。
以2018年德國公開賽1/4決賽馬龍與波爾比賽的技戰術視頻分析過程為例,介紹本軟件的使用情況和效果。該場比賽比分為4:1(7,7,-8,9,15),馬龍勝。
2.2.1 模板的設計
根據馬龍主管教練員和馬龍本人個性化技戰術的需求,針對該場比賽設計了模板(圖7),該模板在普通三段模板的基礎上添加了新的屬性,并設置了一對多的屬性關系。結果表明,本軟件可以根據實際需求,靈活地建立不同技戰術模板。

圖7 技戰術模板Figure 7. Technical and Tactical Template
2.2.2 技戰術數據的采集與統計
根據創建的模板,自動生成了輸入表和顯示表,并采集了模板中相關指標的數據,數據采集情況如圖8所示。

圖8 采集過程圖Figure 8. Collection Process Diagram
當采集完比賽相關數據后,運用篩選功能,篩選出在相持段產生得失分的球,篩選出的總球數和得失分情況出現在顯示表的左下方,總球數38個,其中得18分,失20分。最后根據采集的數據,以局信息和比分信息為條件,計算出每局總比分,由圖8可知,這場比賽共打了5局,總得分58分,總失分49分(其中,意外球1分),應用此功能可以檢查采集結果是否正確。
2.2.3 分析報告的自動生成
當采集完一場比賽相關數據,并檢查完采集是否正確以后,根據教練員的需求,應用本軟件的數據分析與導出功能,直接生成該場比賽的馬龍普通三段數據分析報告(word文件)。分析報告中,包含了比賽信息、本分信息、三段統計局表、發搶段細節、接搶段細節、相持段細節等數據和表格(圖9)。

圖9 數據分析報告生成Figure 9. Data Analysis Report Generation Diagram
國家乒乓球隊科研團隊運用本軟件對百余場比賽進行了數據采集與分析,并以這些比賽建立了比賽信息數據庫。在采集百余場比賽的過程中,分別對模板庫、視頻自動截取和報告自動生成3個創新功能進行了效果測試。
2.3.1 模板庫應用效果
在百余場比賽數據采集的過程中,隨著比賽采集場數的增加,相同模板被多次使用。應用模板庫的功能,在采集有相同技戰術指標需求的比賽時,避免了重復建立模板。因此,在整個技戰術采集過程中模板庫的設計與使用為模板的設計提供了方便,節省了時間。
2.3.2 視頻自動截取應用效果
在應用其他技戰術軟件采集時,需要借助第三方視頻截取工具截取視頻并需要觀看每1分球比賽進行手動截取。手動截取視頻消耗的時間遠大于比賽視頻本身的總時長,同時手動截取還存在截取錯誤的可能(圖10)。本軟件添加了自動截取視頻的功能,在視頻截取時不需要科研人員手動截取,自動截取耗時明顯低于比賽視頻本身的總時長,且排除了截取錯誤的可能,提高了技戰術處理的效率。

圖10 視頻自動截取應用效果Figure 10. Technical and Tactical Information Processing
2.3.3 報告自動生成應用效果
由百余場比賽報告生成的結果來看,在自動生成報告時,因為減少了計算數據的時間,并且提前設計好了報告模板,所以降低了生成報告的時間(圖11)。

圖11 自動/人工生成報告生成所需時間對比Figure 11. Report Generation
2.3.4 軟件應用效果小結
針對以上3個創新功能的應用效果來看,在整個技戰術采集與分析的工作中消耗時間會比同類軟件有所減少,其中,視頻自動截取功能和自動生成報告功能的添加明顯減少了技戰術采集分析的耗時。
應用“乒乓軍師”專項技戰術分析系統能夠滿足對乒乓球技戰術采集、統計與分析的基本需求,在完成一些技戰術采集與分析中的基本功能以外,還完成了當前技戰術分析領域迫切需要的新功能。并根據目前國家乒乓球隊的實際需求對軟件進行了流程上的改進,使軟件操作更加連貫。
與其他的技戰術分析軟件相比,本軟件擁有如下4個優勢和特點:1)針對乒乓球專項特色,在模板建立時本軟件不但保留了開放式設計模板的方法,還添加了模板庫功能保存常用模版;2)提供了檢查采集正確與否的功能,方便了技戰術分析報告的生成;3)應用非線性編輯技術,使軟件完成了視頻自動截取的功能,提高了技戰術數據處理的效率;4)通俗易懂的中文界面,方便了我國教練員與運動員對本軟件的運用,更增強了本軟件在我國群眾層面的普及性。
“乒乓軍師”專項技戰術分析系統還存在以下6個方面的問題需繼續加強:1)截取的視頻壓縮率低,導致視頻文件體積大,需要提高壓縮率;2)使本軟件兼容更多視頻播放和保存格式;3)繼續研究技戰術自動識別技術,從而增加技戰術采集與分析效率;4)在不斷使用軟件的過程中,繼續完善代碼,改正預期外出現的錯誤;5)使本軟件產品化,推廣到基層,如乒乓球省隊和地方體育院校;6)使本軟件技戰術分析方法推廣并應用于其他球類的技戰術分析中。