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