nfl-player-contact-detection's People
nfl-player-contact-detection's Issues
1DCNN
まずは簡単なもので対Gのモデルを作ってみる?
→K_mat CNNができたのでいらないかも
ヘルメットのアサインミスを予測するモデル(何もないところに浮いてるやつとか簡単なはず)
対G予測は前後フレームの予測値でスムージングしてみる
oof集約特徴量が効かなかったので微妙かもしれないが、対Gは数step正例が続くことが普通なので、前後フレームの予測値と平均化する後処理はできるかも。
focal loss lightgbm
groundにコンタクトがあるかどうかを何かしらのルールを探す
速度や加速度のシンクロ度合いを特徴量で表現する
contact=1 == 2人が一体となって動いていることが多いはず。手を伸ばした状態でコンタクトしていると、距離はそこそこあるけど速度や加速度などが同期していたりする?
時系列データの類似度を表現するような信号処理系の特徴量をいろいろやってみる。
前後ステップの予測値を混ぜる平滑化
easy sampleを除外して学習する
メモリ削減
開始時のフォーメーションパターンをクラスタリングする。
2選手の間に別の選手がいるかどうかを検出する
トラッキングデータ上で選手A-Bの間に別の選手Cがいる場合、A-Bが接触している可能性は低い。
(ただし、折り重なっているような状況ではその限りではなさそう)
前後のstepのCNN予測値を使う。
groundのラベルノイズがあるplayは学習対象から除く
groundがゼロだけど予測値は大きいようなplayについては、groundは学習対象から外す。
ただし、oofは計算し、閾値調整には使う。(lgb.Datasetで該当行のweightをゼロにすればよい)
bbox距離系の特徴量を画面スケールで正規化する
bboxのX方向、Y方向の隙間の距離を計算
IoUだと重なっている例が少なすぎるので、x, yの幅が負の場合でも定義できる特徴量を作る。bboxで両者がどれだけ離れているか。
ラグ特徴量(player1だけ作る?)
NFL平均身長から、helmetの高さを割って、こけたかどうか判定する
frame単位でのモデリング
過去コンペの動画・データに対してpseudo labelingする
選手がカメラのROI外に出ているかどうかを、トラッキングデータ→動画データへの座標変換で推定
ヘルメットのbboxが無いとき、
- 動画の画面内にいるけど検出できていない
- 画面外に出ている
のどちらなのかを把握したい。後者ならcontact=1になる可能性は相当低いはず。(特に、SidelineでもEndzoneでも動画外なのであれば、基本的にcontactとアノテーションできないはず)
p2p_registration_featuresの中でtrans_targets
(tracking dataの座標を動画側の座標にマッピングしたもの)が計算されているので、これが動画サイズをはみ出しているかどうかを計算すれば出来そう。※ただし、今はヘルメットが検出された選手だけ計算しているので、全選手に対して計算しないとダメっぽい
player2系の特徴量を削減する
bbox特徴量のbfill, ffill
Endzoneから見た近傍選手とのbboxのy座標の差(転んだ人を見つけたい)
左右反転したデータも学習
catboostやってみる
metricをマシューズ相関係数に変える
動画の可視化
helmetの数 (player単体、frame全体)
rolling feature効かない問題を考える
nfl-data-pyの調査
baseline_helmetsから特徴量作る
対Groundのモデルを分ける
player間はbboxの距離が一番近く、groundであればy方向が一番小さいヘルメットのデータを結合する
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.