夏永強 周元玲
(湖南人文科技學院 湖南婁底 417000)
武術是古代軍事戰爭中一種傳承的技術。習武可以強身健體,亦可以防御敵人進攻。武術競賽規則產生于中華人民共和國成立以后,是對套路表演水平的評價標準。目前各種武術競賽評分規則均采用或參考國家體育總局武術運動管理中心審定的最新《武術套路競賽規則》及有關補充規定,按照無難度組別要求的競賽項目評分方法與標準執行。武術項目走向了追求評分客觀性的競技化道路。競技武術套路的評判得分是由動作規格、演練水平和難度3項總分組成。
裁判員根據運動員現場發揮的技術水平,按照各競賽項目的動作規格要求,減去該動作規格中出現的錯誤扣分和其他錯誤扣分,即為運動員的動作規格分。但武術套路裁判員執裁的客觀性問題一直是該領域的熱門話題。
許多學者對武術套路競賽做了大量研究[1-3],對武術套路競賽的規則變化對武術套路運動發展的影響進行了討論和分析,在梳理和分析歷史沿革與演變內容的基礎上,解析了武術套路競賽規則存在的現實問題及優化策略,提到借助科學儀器進行量化評判,完善演練水平的評判指標[2]。部分學者對武術套路競賽采用電子打分制進行了分析,認為電子打分制的執行對武術套路運動員技術動作提高有明顯的影響,打分方式的改進可促進武術套路項目走向世界賽場[4]。
隨著神經網絡、深度學習等人工智能技術的發展,人體姿態識別等技術在武術套路競賽評分中開始得到關注和研究。例如,設計開發以護腕為硬件載體、結合機器學習方法的可穿戴武術動作量化評估系統,實現武術訓練的量化評估[5]。另外,利用人體姿態識別技術,剖析相關技術,并提出以人體2D 關節點進行數據分類的動作識別方案,該方案能有效識別出視頻中的武術動作[6]。為了武術考核過程和武術中考的公平性與客觀性,現已經開始嘗試使用人工智能對動作規格、勁力節奏等進行評價,有效避免評價過程的主觀因素和外部其他因素的影響,從客觀實際的角度給予真實有效的分數[7]。
GitHub開源平臺展示了一個可以檢測俯臥撐動作是否標準的程序。該程序通過檢測肘、肩和髖部角度的變化來判斷俯臥撐動作是否正確,同時完成俯臥撐動作計數。
在該文中以深度庫即Mediapipe 為基礎庫和視覺預處理的CV2庫來創建一個程序,進行人體檢測,跟蹤武術套路競賽動作,并針對特定動作,根據《武術套路競賽規則》進行客觀的評分。MediaPipe 是谷歌開源的多面體機器學習框架,里面包含了很多各種各樣的模型,其中就包括人體姿態檢測;OpenCV 是一個基于BSD許可(開源)發行的跨平臺的計算機視覺和機器學習的軟件庫,能實現圖像處理和計算機視覺方向的很多通用算法。
該項目采用Python語音集成開發環境Pycharm,安裝完Pycharm開發環境后,配置好虛擬環境,其中Python選擇3.8或者3.9版本,Mediapipe的版本0.8.4、OpenCv-python 版本4.6.0.66。MediaPipe依賴OpenCV來處理視頻。
該方案建立在MediaPipe框架之上,MediaPipe是一款由Google Research開發并開源的多媒體機器學習模型應用框架。MediaPipe 工具包包括框架和Solutions,MediaPipe解決方案構建在框架之上,目前提供了包括人體識別在內的16個解決方案。該項目的開發流程如圖1所示。
圖1 程序實現流程
導入項目所需相關庫,如項目需依賴OpenCV來處理視頻,OpenCV可以打開攝像頭或者讀取相關視頻文件,轉換為RGB 圖像并顯示每一幀的圖像。Python 的2D繪圖庫Matplotlib用來繪制圖形等。
為了武術套路競賽的方便,可以通過攝像頭直接讀取視頻,也可以采用視頻文件方式,如使用Cap=cv2.VideoCapture(0)打開攝像頭,Cap=cv2.VideoCapture('pose1.mp4')打開對應視頻文件。
如圖2 所示,利用MediaPipe 框架獲取每一幀圖片的人體關鍵點模型,執行姿勢檢測后,可以獲得33 個人體關鍵點的列表(見圖2),這些人體關鍵點代表圖像中人物的身體關節等位置。如圖3和圖4所示,為實際測試得到的運動員33關鍵點模型。
圖2 33個人體關鍵點
圖3 運動員下蹲狀態下33個關鍵點
圖4 運動員站立狀態下33個關鍵點
關節角度是由3 個關節點和2 個人體對應的支干組成的關節角度。根據33關鍵點的坐標點,通過三關節點坐標,利用算法獲取特定部位角度。每個關鍵點都有對應的坐標(x,y,z)。其中x為按圖像寬度歸一化的關鍵點x 坐標;y 為按圖像高度歸一化的關鍵點y 坐標;z 為歸一化與x 大致相同的比例的關鍵點z 坐標。它表示以臀部中點為原點的地標深度。
可見性是一個范圍為[0.0,1.0]的值,表示圖像中可見(未遮擋)的可能性。
其中,關節點P1坐標(x1,y1)、P2坐標(x2,y2)、P3坐標(x3,y3)。計算角度即為P2、P1、P3關節點的角度。
針對武術套路競賽規則,對特定的動作評分,根據評分原則,對具體動作進行關節角度等信息的測量等。例如,腿法中的前掃腿扣分內容包括支撐腿大腿高于水平、掃轉腿腳掌離地和掃轉腿彎曲。根據上述肢體部位,映射到MediaPipe 的具體關節點,如掃轉腿彎曲對應的就是關節點26、24和28的角度。支撐腿大腿高于水平也可以用關節點25、23和27的角度作為參考。
根據上述分析,導入運動員武術套路競賽視頻文件,視頻包含了腿法中的前掃腿過程。如圖5所示,前掃腿開始階段掃轉腿膝蓋部分角度為174o,掃轉腿基本未彎曲;支撐腿膝蓋部分角度為100o,運動員支撐腿大腿低于水平。如圖6所示,在前掃腿過程中,掃轉腿膝蓋部分角度為158o,掃轉腿出現了輕微彎曲;支撐腿膝蓋部分角度為118o,運動員支撐腿大腿稍微高于水平,出現了輕微的扣分現象。
圖5 運動員前掃腿開始階段
圖6 運動員前掃腿階段
該文通過MediaPipe框架實現運動員的姿態識別,并通過姿態識別的關節坐標計算得到對應關節點的角度。利用對應的關節角度對武術套路競賽規則評分標準的動作完成情況進行評分,能有效避免主觀評分對競賽結果的影響。武術套路競賽規則中還有部分關于騰空高度和距離的部分評分規則,目前還在完善之中。上述方法無法實現武術套路競賽規則所有的評分,如節奏、協調性等主觀評分標準,只能采用人工方式評分。