Kaggle NFL Helmet Assignment冠軍方案!

NFL Helmet Assignment冠軍(jun) 方案分享

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

賽題背景

美國國家足球聯盟(NFL)和亞(ya) 馬遜網絡服務(AWS)正在合作開發最佳的運動傷(shang) 害監測和緩解計劃。在之前的比賽中,Kaggle幫助檢測頭盔碰撞。更進一步,NFL希望為(wei) 每個(ge) 頭盔分配特定的球員,這將有助於(yu) 準確識別每個(ge) 球員在整個(ge) 足球比賽中的碰撞。

目前,NFL每年都會(hui) 手動標注一部分比賽,以確定每個(ge) 球員的碰撞樣本。要擴展此程序,當前的球員分配需要一張場地地圖來確定球員位置。NFL希望在不需要映射步驟的情況下匹配該模型的精度。聯盟呼籲kaggle發明一種更好的方法來識別每個(ge) 球員。

任務目標

基於(yu) 追蹤數據對視頻中出現的頭盔進行檢測,並為(wei) 其分配球員編號。

輸入:比賽中球員在場地內(nei) 的絕對坐標,比賽的視頻畫麵(畫麵和坐標信息都按時間對齊);

輸出:畫麵中每個(ge) 頭盔的bounding box,以及每個(ge) 頭盔對應的球員編號。

數據介紹

第一部分:

images/   補充數據,jpg圖像,用於(yu) 自行訓練頭盔檢測器。

image_label.csv   images文件夾內(nei) 圖像的頭盔bbox標簽。

第二部分:

train/   mp4文件,記錄每場比賽的視頻,每場比賽有兩(liang) 個(ge) 視角

test/    mp4文件,測試集

train_label.csv    訓練集中的頭盔bbox及球員編號的GT

比賽畫麵如下:

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

第三部分:

[train/test]_player_tracking.csv    每場比賽的NGS追蹤數據,與(yu) train/test中的視頻逐幀對應。包含每名球員肩墊中的傳(chuan) 感器搜集的球員位置信息、速度信息、加速度信息(如下圖所示的坐標係)。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

評價(jia) 指標

預測的邊界框與(yu) GT的IOU>0.35且分配了正確的球員編號即被認定為(wei) 一個(ge) 正確分配的樣本,由於(yu) 更關(guan) 注碰撞頭盔檢測,所以碰撞時刻的頭盔權重乘以1000。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

冠軍(jun) 方案

第一名的方案的pipeline如下圖所示。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

包含以下幾個(ge) 部分:

(1)Detector(目標檢測模型)檢測畫麵中出現的每個(ge) 頭盔;

(2)Classifier鑒別屬於(yu) 同隊的頭盔,對檢測出來的頭盔分到兩(liang) 隊;

(3)Converter對畫麵中的頭盔生成其在俯瞰視角下的坐標;

(4)Registration通過上一步生成的坐標,將其與(yu) NGS追蹤數據中的球員對應;

(5)Tracker集成多幀的結果,對registration信息進行再分配。

補充說明:

Converter生成的俯瞰視角坐標其坐標係是不確定的,即,這一步主要用於(yu) 確定畫麵中的頭盔在俯瞰視角下的相對位置,而不是絕對坐標。(1)~(4)步每一幀都是獨立進行的,在Tracker階段會(hui) 進行融合。

以下對各個(ge) 部分進行詳細介紹。

Dectector

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

采用了2階檢測器尋找頭盔:

第1階檢測器:用EfficientNetV2s檢測頭盔,計算被檢測出的頭盔的平均尺寸,然後基於(yu) 頭盔平均尺寸,縮放圖片讓頭盔尺寸在25*25附近。

第2階檢測器:在第1階檢測器輸出的高分辨率圖片上再檢測頭盔(作者認為(wei) 檢測相同尺寸的頭盔比檢測不同尺寸的頭盔更容易)。

Classifier

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

隊伍信息對提高Registration準確性很重要。作者使用CNN分類器對每個(ge) 預測的頭盔生成embedding,embedding之間兩(liang) 兩(liang) 計算相似度得到相似矩陣,相似矩陣的值表示每一對球員是否為(wei) 同隊。作者在這裏使用了arcface和偽(wei) 標簽來提高準確性。

Converter

此處是方案的核心部分,作用是將畫麵中的頭盔轉換為(wei) 其在鳥瞰坐標係下的坐標。注意此處的坐標其坐標係是不固定的,也就是說這一步隻確定球員在NGS坐標係下的相對位置,而不是直接生成在NGS坐標係下的坐標。作者使用如下的U-Net網絡來實現。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

U-Net在bottleneck處輸出兩(liang) 個(ge) 實數,scale_ratio及aspect_ratio,表示常數倍數和圖像的長寬比,與(yu) 圖像坐標相乘則得到全局坐標,U-Net的decoder處輸出每個(ge) 位置的殘差,最終的俯瞰坐標即為(wei) 全局坐標和殘差的和。在U-Net的decoder處同時輸出一個(ge) 16維特征圖,再與(yu) 每個(ge) bounding box的位置mask拚接得到圖像特征圖。在求解每個(ge) 頭盔的坐標時,將bounding box對應位置的俯瞰坐標圖以及特征圖裁剪出來,特征圖通過卷積得到注意力權重,再與(yu) bounding box所在位置的俯瞰坐標圖相乘則得到該頭盔的俯瞰坐標。

Registration

這一步將上一步得到的坐標與(yu) NGS坐標中的點進行一一對應(僅(jin) 在推理時,訓練時不需要注冊(ce) ,因為(wei) GT中包含每個(ge) 頭盔的注冊(ce) 信息),這裏以ICP(最近點迭代)算法為(wei) 基礎,通過最小二乘迭代擬合,求解最近鄰搜索和正規方程,得到4個(ge) 未知參數的解(xy平移距離、旋轉角度和縮放比例)。具體(ti) 過程如下圖所示。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

Tracker

在每一幀獨立的計算分配結果後,追蹤器記錄了所有幀下的球員分配結果,然後對每一幀進行重分配。作者使用了簡單的IoU追蹤器,因為(wei) 它快且足夠準確。再分配時,綜合IOU, frame distance, confidence, team feature similarity來計算權重。分配結果如果遠離目標幀,將不被給予權重。使用匈牙利算法來使代價(jia) 矩陣最小化求解二分匹配問題。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

Ensemble

WBF(Weighted Box Fusion)被用在追蹤器再分配階段中,它集成了多幀多模型的預測結果。將每個(ge) 模型的球員分配矩陣進行加權平均,然後通過匈牙利算法選擇最終分配結果(與(yu) Tracker再分配的方法相同),這比常規使用WBF集成bbox和檢測置信度更有用。最終提交中,作者集成了4個(ge) 檢測器的結果。

Kaggle NFL Helmet Assignment冠軍(jun) 方案!

【參考鏈接】

https://www.kaggle.com/competitions/nfl-health-and-safety-helmet-assignment/discussion/284975

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

2022年HIEEC哈佛經濟論文競賽報名正式啟動!

下一篇

在歐洲如何才能租到合適的房子?

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部