前天,C羅的球迷們傷心慘了。
12月11日的卡達世界盃上,葡萄牙不敵摩洛哥止步八強,C羅的世界盃之旅,就這樣畫上了遺憾的句點。
#C羅說夢想結束了#的這個熱搜下,集結了不知多少心碎的球迷。
葡萄牙對摩洛哥的這場比賽,出現了0:1的爆冷結果。羅納多哭了,內馬爾哭了,下一個會是誰?
不過,還沒來得及從為C羅傷心中走出來,今晚又要迎來梅西和莫德里奇的對決了!
怕心臟受不了?
現在,有了這麼一個模型,沒能準能讓你在比賽開始的5分鐘內,就提前知道這場球會不會爆冷。
#國外的這位機器學習工程師,一直希望把電腦視覺(CV)和自己熱愛的足球結合。
在三年前,他就曾嘗試用YOLOv3來把籃球場上的運動員進行檢測和分類。
而眼下的FIFA世界杯,讓他重新撿起了這個想法。
這次,他使用的是YOLOv5和ByteTRACK的組合,來追蹤球場上的足球員。
#最初,Skalski希望能跳過自訂模型訓練。
他希望從開始到結束只花幾個小時,速戰速決。
因為用於訓練YOLOv5和YOLOv7模型的流行COCO資料集包含他最感興趣的兩個類別— person和sports ball,這就讓他非常樂觀,認為可以從COCO檢查點進行訓練。
他從Kaggle的德甲數據大戰中快速下載了幾十個簡短的足球比賽視頻,並將預訓練模型用於測試。
在嘗試了iou_threshold,confidence_threshold,input_resolution等各種配置後,他得到的結果令人失望。
在這個模型上,僅僅在幾個視訊畫面上能偵測到球,因為數量太少,模型無法可靠地追蹤如此小且快速移動的物體。
另一方面,這個模型會偵測到場外的許多冗餘物件-教練、球迷、維修人員、攝影人員等。為了這些冗餘對象,需要寫額外的偵測過濾邏輯,太過麻煩。
可見,即使資料集包含所需的類,但用於推理的影片肯定與用於訓練的影像有很大不同。
在這種情況下,Skalski只能建立自己的資料集,並訓練自訂模型。
而訓練自訂模型,就需要付出很多努力。
最主要的原因是,為了註解影像,必須完成大量的手動工作。
由於時間匆忙,需要盡可能的簡化流程。
Skalski從前面提到的Kaggle資料集中選擇了幾十個視頻,並使用FFmpeg從每個視頻中提取10幀——每3秒一個。
接下來,就是對影像執行自動初步註釋,並將偵測到的物件儲存到txt文件,來利用預先訓練的YOLOv5 模型。
接下來,第2階段就是要完善資料了。
雖然電腦已經完成了90%的工作,但人工修正仍花了Skalski將近5個小時的時間。
同時,他也引進了兩個額外的物件類別-裁判和守門員。他的工作成果,在Roboflow Universe上可見。該資料集是開源的,任何人都可以免費使用。
預先訓練vs自訂足球員偵測器
#自訂訓練的結果讓Skalski對於解決上述兩個問題充滿自信。
但不幸的是,可能是由於分類不平衡,模型在檢測goalkeeper類別時仍然存在問題。
於是,在接下來,Skalski將每個守門員視為一名普通的足球員。
Skalski的模型和他的資料集一樣,在Roboflow Universe上都是可用的。只需拖放測試圖像即可。
Skalski使用的是ByteTRACK(SOTA多物件追蹤器之一)來追蹤影片中的物件。
ByteTRACK在內部並沒有使用任何神經網路。這個模型的強大功能完全來自於簡單的數學計算:比較各個幀上的邊界框位置。
最重要的是,ByteTRACK不負責偵測,只負責追蹤。因此,它不需要像其他一些追蹤器那樣進行單獨訓練。
因而,ByteTRACK讓我們可以輕鬆地更換偵測器,而無需重新設計整個程式碼的架構。
以下是一段簡化的程式碼片段,在自己的專案中,您需要利用ByteTRACK的起始程式碼。
在ByteTRACK專案中,框架上的每個物件都有一個唯一的ID。
這是模型的結果:
ByteTRACK單幀結果
可以看到,每個玩家都被分配了一個唯一的編號,並在幀之間進行追蹤。
當然,偵測和追蹤只是個開始。
#有了這些,我們就可以更上一層樓了!
例如,現在可以快速分析動作的過程,了解球是如何在球員之間移動的,計算球員移動的距離,或者定位他們最常出現的場地區域。
#有網友表示:既然你掌握了這麼多訊息,不去賭球真的虧了。
對此,有激動的網友表示:「這也太夢幻了!我一直就想做出這樣一個東西賣給賭球的人。」
「你可以呈現出每個進攻球員的每一秒的傳球狀態和準備狀態。甚至可以對從未被傳球的球員進行360 度的表現評估,這比估計的賠率準確多了!」
也有網友表示:dream一個足球比賽的即時小地圖。
有嚴謹的網友詢問道:「這個腳本是否只適用於一個固定的攝影機角度,例如從覆蓋整個地面的一側?可不可以用在其他攝影角度上,例如對3-4位球員進行對焦拍攝。」
對此帖主回覆:「我認為我們可以添加來自其他角度的用例的數據,重新訓練模型,它應該表現得一樣好。」
而該網友表示:「我感覺換個角度的訓練數據是行不通的。我的想法是,繼續在全攝影機角度拍攝時運行腳本,但要記下球的位置和球周圍的球員,並在任何其他提要上標記資料。」
#以上是今晚,為梅西和莫德里奇熬夜!這個CV模型,讓你猜球必贏的詳細內容。更多資訊請關注PHP中文網其他相關文章!