最近可謂是足球的一場狂歡盛宴,大家不知道是走上了天台,還是足球反買,別墅靠海。其中也有幾場比賽引起了全球範圍的討論,例如阿根廷爆冷輸給沙特的比賽,其中對於阿根廷幾次越位的判罰引起了很大爭議。而日本隊上演了一出電影都不敢這麼拍的劇情,在小組賽中依次戰勝德國和西班牙並以小組第一的身份成功在死亡之組突圍,並在對陣西班牙時一例界外球的判斷引發了網路熱議。另一場葡萄牙2比0戰勝烏拉圭的比賽中,C羅到底有沒有頂到球也引發了網友的討論。雖然人工智慧技術已經滲透到了生活的方方面面,但提到足球與AI的時候,大部分人的第一反應仍然是這兩者有什麼關係嗎,AI是怎麼應用到足球中的呢?但其實在足球場景中科技前沿一直致力於對運動員行為的智慧分析與自主判定,AI與足球已經進行了深度結合,最近比賽中出現的半自動越位技術的使用,足球內嵌感測器等等。在國外用AI進行足球智慧分析或者輔助球隊訓練的訓練已經非常成熟,甚至達到了商用級別。例如Pixellot,是一家基於AI技術提供體育完整解決方案的公司,其與巴塞羅那足球俱樂部達成了合作協議,在訓練場內佈置四臺相機矩陣來捕獲場地全景,並自動追蹤足球和球員的動作,提供生成訓練影片等功能。下面就讓我們淺談下那些足球中的智慧分析技術。 首先,要回答為什麼進行足球影片智慧分析,以及分析影片中的什麼內容呢?技術的快速發展促進了影片記錄和媒體儲存裝置的擴充套件和生產。如今,每分鐘約有 500 小時的影片內容上傳到 YouTube 等網站,全球不同使用者每天觀看約 50 億個影片。在這些影片中,體育影片特別是足球比賽影片非常受歡迎,因為足球是世界上最具吸引力的運動之一。足球比賽的吸引力和流行度引起了球迷的關注,足球影片通常是是被使用者觀看次數最多的影片類目之一。足球比賽的持續時間長被視為其特點之一,這在某些情況下可以被視為優勢,而在其他情況下則可以視為劣勢。如此長的持續時間導致許多人不會完整觀看 90 分鐘的足球比賽,然而另一方面,他們打算至少觀看最重要和最激動人心的比賽時刻。因此,透過影像/幀或影片處理對足球影片進行分析的綜合研究變得尤為重要。如今,深度學習方法在影像和影片分析中展現出了卓越的效果,足球影片智慧分析是指使用計算機視覺技術等檢測並跟蹤足球、球員等,並智慧識別比賽中任意球、射門、進球等關鍵時刻,對於分析比賽統計資料、預測足球比賽結果、總結足球比賽影片等有重要作用。那麼足球影片智慧分析都在做什麼呢?要進行足球影片智慧分析,首先要找到足球影片中我們所關注的目標,有足球、球員、守門員、裁判、球場、球門、紅黃牌,我們會在下文簡要介紹足球與球員的檢測與跟蹤。找到這些目標之後,需要將足球與球員的座標投影到球場平面上,我們才能判斷各種互動關係。最後,我們基於足球、球員的位置可以進行任意球、射門、進球等關鍵事件的識別,這一部分會在下文關鍵事件識別部分介紹。 正如上文提到,足球影片智慧分析,首先要找到一段足球影片裡我們所關注的目標,只有檢測到這些基本目標後才能進行更智慧的分析。對於基礎目標檢測可以拆解為以下幾個問題:參考系統和球員位置對映(如何將球員位置從攝像機檢視投影到2D平面);物體檢測(球員/球/裁判是什麼以及在哪裡);物件跟蹤(也就是如何跨幀跟蹤實體);球員識別(也就是如何跨幀識別球員);球員身份識別(如何確定一名球員屬於哪支球隊)。其具體流程為,給一定一段待處理的影片,我們使用目標檢測(足球、球員檢測)順序處理每一幀,球場和球門的檢測只需要在影片開始階段處理;一旦我們有了一系列幾乎連續的檢測結果,我們就可以開始跟蹤每位球員並識別其所屬的隊伍。同時,我們透過攝像機估計足球場的位置,並將每個球員的位置從影像座標系投影到球場俯視平面。接下來我們對其中涉及的部分技術進行介紹。 2.1.1 足球與球員檢測
2.1.1.1 足球檢測難點:
準確高效的足球和球員檢測是足球影片智慧分析的關鍵要素。從足球比賽的長鏡頭影片片段中檢測球是一個具有挑戰性的問題,使球定位變得困難的因素有以下幾點。首先,與場景中可見的其他物體相比,球非常小,而且它的大小根據位置的不同而有很大的不同,在足球比賽的長鏡頭記錄中,當球位於球場的遠端,與攝像機相對時,球可能看起來小至8個畫素,當它在場地的近側時,球會大到20個畫素。在如此小的尺寸下,很難將足球與球員身體的某些部位(例如頭部或白襪子)或雜亂的背景區分開來(例如球場上的小垃圾或體育場廣告的一部分)。足球的形狀也會發生變化,當它高速移動的時候會變得模糊,變成橢圓形而不是圓形,而且由於陰影和光照變化會導致我們看到球的顏色出現變化。當球員控球或足球被球員部分擋住的情況下檢測也會變得困難,在這種情況下,基於運動背景減法的簡單球檢測方法會失敗。下圖說明了足球外觀的變化和足球檢測任務的難度。2.1.1.2 球員檢測難點:
球員比球的尺寸要大,通常更容易被發現。但在某些情況下,球員的檢測也可能會出現問題。球員有時會彼此緊密接觸導致球員部分肢體被遮擋。由於在球場上絆倒和摔倒,他們也可能會擺出不尋常的姿勢。下圖展示了有關球員檢測任務難度的示例影像。2.1.1.3 足球與球員檢測方案:
我們使用一個檢測網路同時檢測足球和球員,在模型結構設計上,採用雙backbone的架構,並使用RepVGG的重引數化卷積模組,訓練時學習多路特徵,推理時合併為單路,加快推理速度。為了解決足球目標過小的問題,在網路Neck部分使用FPN(Feature Pyramid Network ),可以更有效地將高解析度但low level的特徵圖與編碼high level特徵具有更大感受野的低解析度特徵圖結合起來。這一操作透過更大的視覺語境可以將球與球員身體的部分和背景部分割槽分開來,提高了在困難場景下足球的定位和檢測精度。具體來說,使用PAN,同時使用自頂向下和自下而上兩條路徑來融合特徵。為了解決足球發生形變、模糊、遮擋導致的檢測失敗問題,使用FairMOT的跟蹤演算法來建立足球的運動軌跡,即使目標丟失時也能結合歷史幀的軌跡預測目標所在的位置。為了解決球員相互遮擋的問題,我們在grid的劃分策略上做了處理。通用的單階段目標檢測方法通常將影像劃分為相對粗略的網格(例如 YOLO 中的 7x7 網格),並且每個網格單元檢測不超過一個具有特定縱橫比的感興趣目標。當兩個球員彼此靠近時,檢測結果就會發生錯誤。因此我們使用更密集的網格,對於 1920x1080 畫素的輸入影像,我們使用 480x270 網格(輸入影像尺寸縮小 4 倍)進行足球檢測,使用 120x68 網格(輸入影像尺寸縮小 16 倍)進行球員檢測,這樣就可以將兩個靠近的球員檢測為兩個獨立的物件。為了解決球員摔倒或其他奇怪姿勢時的球員檢測問題,我們還另外加入了瑜伽資料集進行訓練,這個資料集裡存在各種各樣的瑜伽姿勢,可以有效提升奇怪姿勢下球員檢測的精度。同時在訓練時,我們使用了Mosaic增強、RandAugment的資料增廣方式,正則化使用Label Smoothing,標籤匹配策略上採用SimO他的動態匹配策略,來最佳化檢測的效果。2.1.1.4 足球與球員檢測效果:
2.1.1.5 足球與球員的跟蹤:
目前為止我們只是對每一幀執行相同操作,並沒有建立時間維度的聯絡。但是如果我們想透過檢測結果建立每個球員的運動軌跡,同時想應對檢測失敗的情況,就需要一個精準的多目標跟蹤器,並配以卡爾曼濾波來完成我們的目標。跟蹤器是完全基於位置的,並從球員檢測器接收一系列檢測框作為觀測結果,這些觀測結果與跟蹤物件(卡爾曼濾波預測的結果)透過二分圖匹配,將分配問題公式化為最小權重匹配問題進行求解。然後,使用一個簡單的跟蹤邏輯定義被跟蹤物件的生命週期(活動/非活動),並確保透過觀察更新卡爾曼狀態。2.1.2 球員所屬隊伍、裁判、守門員
足球隊伍都是兩支由在球場上穿著相同球衣的球員(加上裁判和守門員)組成的球隊,可以使用K-means 演算法對球員進行聚類。具體為使用球員檢測框在HSV顏色空間上將兩個球隊聚類,並使用tf-idf權重過濾掉每個檢測框中的綠色草地。裁判和守門員可以檢測為一類特殊的“離群值”,離球門更近的為守門員,同時還要根據進攻方向確定守門員的歸屬。這項任務需要將球員位置從2D圖片中投影到球場的俯視平面上。具體來說我們首先選取幾個關鍵點,球場禁區線的四個點,中場線的點,然後就可以構造仿射變換矩陣。在我們從影像中得到球員的座標後,就可以利用仿射變換矩陣將球員座標變換到球場平面上了。關鍵事件識別主要是指對足球比賽中的一些關鍵時刻,例如射門、任意球、角球、進球等的識別。上文提到的足球和球員等目標的檢測完成了對足球比賽中客觀存在物件的分析,而關鍵事件識別則上升到了事件的維度,這裡的事件是指行為或者狀態,射門、任意球、角球是行為,進球是狀態。足球、球員等目標的檢測,與關鍵事件識別這兩者的關係就好比於識字和讀書,識字意味著我們知道一句話中的每個字怎麼讀,但並不理解這句話所表達的意思,但讀書就意味著不僅識字還能理解這句話所表達的意思,因此關鍵事件識別是一種更高階、更富含語義的行為。關鍵事件的識別一般是對某個時序片段的識別,如果使用LSTM對時序序列進行分類的方式,資料的獲取與標註都是極大的問題,因此我們更多采用狀態判斷的方式對時序片段分析,如果達到了所有我們所要求的狀態,則該事件被成功識別,這種方式無需資料的依賴以及模型的訓練。2.3.1 射門識別
這一步需要用到足球檢測,球員檢測以及球門檢測。對於待分析的影片片段,射門識別是透過以下流程檢測得到的:
足球的運動特徵,主要包括足球運動過程中速度、加速度、與球門位置關係的計算。首先可以對基礎目標檢測到的足球進行跟蹤,得到足球的運動軌跡,然後根據軌跡計算運動特徵,並將運動特徵與預設射門條件匹配。預設的射門條件是指足球的運動狀態突然改變,向球門的方向做加速運動。匹配主要為對速度、加速度與位置向量的夾角是否滿足閾值進行判斷,速度方向是向量,加速度方向也是向量,位置向量是足球位置指向球門位置的向量,因此分別判斷速度方向向量與位置向量,加速度方向向量與位置向量的夾角是否小於設定的閾值,這樣確保了球是朝著球門做加速運動的,因此我們可以挑選出候選射門片段。有了候選射門片段後,需要確定有哪些人可能發生了射門行為。具體確定候選射門者的方法為,對於候選射門片段,計算每一名球員與足球的距離,如果距離小於設定閾值,則作為候選射門者,畫面裡沒出現球員的幀會被忽略。有了射門候選者後,我們仍不能確定一定是發生了射門,例如球員在傳球時,足球碰到了某名球員從而發生反彈,彈向球門。因此我們需要進一步確定候選射門者,透過對候選射門者的身體姿態分析,我們可以確定是不是發生了射門行為。像剛才提到的球反彈到其他球員身上滿足射門條件的,此時候選射門者的身體姿勢是不符合射門姿勢的,因此該射門候選片段會被判斷為無效射門。2.3.2 進球識別
進球是一場足球比賽中最重要的時刻,因此對於進球的自動檢測對於足球影片智慧分析有重大意義。進球識別需要足球檢測、球門檢測。進球識別主要有以下流程:
基於當前幀以及幾幀歷史幀的軌跡,確定與球門線是否相交,如果未相交,則不是進球。相交之後,還要根據軌跡的運動狀態進一步確定是否發生了進球。當軌跡的角度發生了較大的變化,例如超過90度,此時球員有可能從球門區域以外的地方發生了射門,然後足球轉向球門進球。另外足球在進球並且落地後,受到守門員的撲救或者球網的阻力,速度肯定會逐漸慢下來衰減到0,因此透過這兩點可以進一步確定是不是發生了進球。檢測、追蹤、識別等技術的發展也促進了足球影片智慧分析精度的提升,但在檢測追蹤等領域面臨的問題在足球智慧分析中會被進一步放大,足球畫素過小、足球的高速移動、球員的相互遮擋、球員跌倒等都對檢測與追蹤提出了很大的挑戰,未來這些問題的解決仍依賴於檢測和跟蹤技術的發展。同時人體分析與理解,Transformer、多模態等技術也有可能引入到足球影片智慧分析中來,讓足球的智慧分析手段變得更豐富多彩,後續我們也會引入籃球領域的智慧分析、舞蹈領域的智慧分析,謝謝大家。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024923/viewspace-2928564/,如需轉載,請註明出處,否則將追究法律責任。