DEBS2013のデータ論文
データのダウンロードページ(フラウンホーファー研究機構)
データ内の変数をプロットしようとしたら、簡単ではなかったというお話。
本記事の内容は次の通り。
- 各ファイルの時刻表示が統一されていない件
- 時刻合わせの結果
- 調べた内容
- データの誤り
各ファイルの時刻表示が統一されていない件
以下は、上記ページからダウンロードするファイル。
- トラッキングデータ(full-game.gz)
- 前半と後半の動画(*.mov)
- 選手名とセンサーID(config.txt)
- 試合の中断、ボール保持者のタイムテーブル(referee-events.tar.gz)
これらのデータの時刻表記は統一されていない。
トラッキングデータの時刻は、17桁の整数で表されている。(ピコ秒(10^-12秒)単位であり、12桁目が秒。)
論文には前後半の開始時刻と終了時刻が載っており、前半の開始時刻は、10,753,295,594,424,116 (= t0 )と定義されている。
一方、試合中断とボール保持者のタイムテーブルの時刻は、「hh:mm:ss.sss」形式で表されている。
しかし、「00:00:00.000」= t0 だと思って、トラッキングデータから得られるボールの移動速度の時間変化と、動画、試合中断とボール保持者のタイムテーブルを見比べる(プロットする)と、明らかに時間のズレがある。
時刻合わせの結果
色々と調べた結果、次の図は、前半開始時点におけるトラッキングデータと動画の流れを示している。
論文に記された前半の開始時刻と、動画中の審判による前半開始の合図の時刻がずれている事が混乱のもとである。
次の図は、この時刻合わせのもと、前半開始時刻の前後6秒間における、ボールの移動速度の時間変化と、試合の中断時間、ボール保持者の変遷を表している。
試合開始時刻前後6秒間のイベントとボールの速度変化。黒い太線は試合の中断時間を表し、赤と青の横線はボール保持者を表し、他の線はボールの移動速度を表している。青線付近の数字は、選手の左足のID番号。横軸の単位は、[minute]となっているが、[second]の誤り。横軸の時刻は、t0 を00:00:00とした。 |
表示されている時刻 00:00:00(= t0)は、センサーID4のボールが左足ID75の選手に蹴られて、その速度が大きく上昇した瞬間である。
このグラフの最初は試合開始前でボールの速度は0(動いていない)、その後、左足ID73の選手がボールに触ってボールは 2m/s で移動し、さらに次に左足ID75の選手のボール保持の時点でボールの移動速度が大きく増加する。
これを動画で見ると、キックオフの後のボールを大きく蹴り出すプレーに相当している。
この時刻調整は適切にできているだろう。
調べた内容
論文中には各データの時刻についての詳細な記述は無いため、手探りで調べる事になった。
第一に気づいた事は、「hh:mm:ss.sss」形式で表示されている動画とボール保持データと試合中断データの時刻が、一致していそうな事である。
動画を確認すると、3秒過ぎに中央の黒い服の人物(レフリー)が手を挙げ、中央の二人の選手がボールをやり取りして大きく蹴り出している。
試合の中断とボール保持者のタイムテーブルを時系列に並べると、これが動画のプレーによく一致しそうである。
第二に、トラッキングデータの速度の絶対値(|v|)をプロットすると、試合開始時刻以前には3個のボールとも速度0だったものの、ID番号4のボールだけ短い時間1.5m/s程度になり、その後、試合開始の時刻に15m/sまで速度が上がっている。
そこで、2番目にボールを蹴った選手、Leo Langhans (Left Leg: 75, Right Leg: 44)の最初のボール保持(というより蹴った)時刻「00:00:04.082」を t0 に合わせた結果が、上の図である。
レフリーが手を挙げ、試合開始の合図をしているにも関わらず、なぜ2番目のボールタッチの時刻を論文中の試合開始の時刻にしたのかは、よく分からない。
上の図を見ると、試合の中断とボール保持者のタイムテーブルを0.1秒くらい早くする(左に動かす)べきにも思えるが、これは線の幅(太さ)のせいかもしれない。
(なお、上の図では、プロットするためにID73と75のボール保持時間を0.05秒にしている。何を言っているのかわからねーと思うが、自分でプロットしようとすれば分かるだろう。)
次の図は、00:05:00 から 00:06:00 にかけてのボールの速度変化、中断時刻、ボール保持者を表している。
まぁそれっぽい図になっている。
teamBの69や、teamAの57のボール保持時間が長いのは、ドリブルだろう。
このようなボール保持者とボールの移動速度の時間変化が分かれば、次にパス(~選手間のボール移動)のデータを取り出す事ができる。
現在前半のデータのみ解析しているが、27分以降はフィールドに出ているボールのデータが欠損しているようである。
データの誤り
ボール保持のデータにミスがあった。
1st Half, Erik Engelhardt, のデータ。
> 6014;Erik Engelhardt Begin;00:07:03.613;12;empty
> 6015;Erik Engelhardt End;00:07:04.496;13;empty
> 6014;Erik Engelhardt Begin;00:20:38.673;26;empty
> 6015;Erik Engelhardt End;00:20:40.232;27;empty
> 6014;Erik Engelhardt Begin;00:27:57.437;32;empty
> 6015;Erik Engelhardt End;00:27:59.361;33;empty
左端の「empty」の隣のイベントID(2桁)が異なっている。
ファイルを実際に見れば分かるが、ここに載せたデータは、上がボール保持の開始時刻(Begin)、下が終了時刻(End)であり、イベントIDの番号は共通していなければならない。
本当は、時刻「00:00:04.082」を、「10,753,295,594,424,116」ではなく、ID4のボールが急加速した時刻(|a|が急増した時刻)に合わせる事がより丁寧だとは思うが、とりあえずこれで勘弁。
ボール保持者の時間変化は議論を要する箇所だが、今回は、データ元が手動で確認した結果を信じる。
この時刻調整によって、ボールの速度変化、中断時刻、ボール保持者の時間変化、が分かったので、次にパスの統計を調べる事ができる。
にほんブログ村
20181224、記事前半の記述の仕方を大きく変更した。
20190306, 図を追加して時刻合わせの記述を再度修正。
0 件のコメント:
コメントを投稿