4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

アメフトデータ活用 huaweiスマートウォッチから位置情報を抽出する

Last updated at Posted at 2021-04-26

こんにちは。
ノジマ相模原ライズというアメフトチームでアナライジングを担当しております冨上と申します。
アメフトでデータを活用する取り組みをいくつか行っているので、紹介して参ります。

今回はスマートウォッチを用いたトラッキングデータの収集に関してお伝えします。

また、先輩コーチも記事を投稿しております。どうぞご覧ください。

背景

近年ウェアラブル端末の発展により、GPSによるデータ取得が身近になってきました。
ラグビー日本代表や、サッカーのビッグクラブで活用されていることを知っている方も多いと思いますが思います。
GPSによる正確な位置情報を活用することで、練習の振り返りを行ったりパフォーマンスの分析を行い競技レベルの向上を目指せます。

しかしチームに導入するには多額の資金が必要になります。
私たちは豊富な資金があるわけではないので、出来るだけ安価に取り組めるデバイスを探しました。そこでたどり着いたのがHUAWEI Band2 Proでした。(3000円程度で入手可能)

使用機器と実行環境

データの取得までに使用した機器は以下の通りです。

  • HUAWEI Band2 Pro
  • iPhone8(huawei製である必要はなし)
  • GALLERIA Gr2060rgf-t(PC)
    • windows10
    • conda 4.10.1
    • python3.8.5

PCはpython環境が構築されていると活用法が広がると思いますが、データ抽出のみならgoogle colabでも問題ありません。

実装

データの収集

データを活用するためには当然データを作り出す必要があります。
まずはデバイスのセットアップです。
スマホに以下のアプリをインストールし、スマートウォッチと紐付けます。

接続が完了したらセットアップは完了です。

トラッキングデータを取得したいときにはスマホ側からスタートボタンを押す必要があります。
ここまでは説明通りです。

今回はとある練習日にデータを取得してみました。
以下が実際に得られたデータです。アプリ上で簡単に確認することができます。

以外にも正確な位置情報が取れています。
しっかりとグラウンドの入り口から入って駆け回っている様子が見て取れます。

可視化後のデータだけでは面白くないので、生のデータを抽出して活用法を考えます。

HUAWEIにデータを要求する

当然HUAWEIはすべてのデータを持っていますが、私たちはそれを要求して取得することができます。

HUAWEIヘルスアプリ内の「アカウントセンター」>「プライバシーセンター」に「自分のデータを要請」という場所があります。そこで要請を行うと数日後に自分のメールに準備完了のお知らせがやってきます。
一緒に記載されているURLからデータのダウンロードを行えます。

データの解凍

ここから少しエンジニアっぽくなります。
pythonの環境構築はこちらをご覧下さい。

次にこちらのリポジトリからファイルをダウンロードします。

zip形式なので展開します。場所はどこでも構いません。

続いて7zipというツールをダウンロード、インストールします。7zipはzipファイルの解凍や圧縮に便利なツールですが、今回はstandalone console versionの7za.exeのみを使用します。

ダウンロードしたファイルの中にある7za.exeをHitravaフォルダの中にコピーします。
また、HUAWEIからダウンロードしたzipファイルを、名前をHiZip.zipと変更してHitravaフォルダにコピーします。
Hitravaフォルダはこのような構成になります。
image.png

そして最後に以下のコードを実行するとoutputフォルダが自動的に生成され、生データを取得できます。

python Hitrava.py --zip HiZip.zip --password [HUAWEI ID作成時に設定したパスワード] --json_export

精度と使い道

出てきたデータは時間ごとに位置情報を示す形式となっています。

output.tcx
<?xml version="1.0" encoding="UTF-8"?><TrainingCenterDatabase xsi:schemaLocation="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 http://www.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd" xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2">
  <Activities>
    <Activity Sport="running">
      <Id>2021-04-04T10:55:21+09:00</Id>
      <Lap StartTime="2021-04-04T10:55:21+09:00">
        <TotalTimeSeconds>2394298678</TotalTimeSeconds>
        <DistanceMeters>465.838296</DistanceMeters>
        <Calories>29</Calories>
        <Intensity>Active</Intensity>
        <TriggerMethod>Manual</TriggerMethod>
        <Track>
          <Trackpoint>
            <Time>2021-04-04T10:55:28+09:00</Time>
            <HeartRateBpm xsi:type="HeartRateInBeatsPerMinute_t">
              <Value>120</Value>
            </HeartRateBpm>
          </Trackpoint>
          <Trackpoint>
            <Time>2021-04-04T10:55:33+09:00</Time>
            <HeartRateBpm xsi:type="HeartRateInBeatsPerMinute_t">
              <Value>115</Value>
            </HeartRateBpm>
          </Trackpoint>
          <Trackpoint>
          ・・・

ざっと眺めてみるとこのデバイスでは、5秒に1度しか位置を取得できていないようです。

5秒あれば40ヤード走ることも可能です。
当初は選手のスピード、加速度等様々なデータが取れると期待していましたが、このデバイスでは難しそうです。
0.2秒ごとに位置情報を取得できるデバイスもあるようなので現実活用を目指すにはそちらが必要そうです。(高価です)

ウェアラブル端末でのGPS情報取得は盛り上がっている分野なので、またよい製品を見つけてトラッキングデータの取得を試みたいと思います。

追記

ノジマ相模原ライズでは一緒に活動してくれるエンジニアを募集中です!

現在以下のプロジェクトが進行中です!

  • xリーグスタッツ自動集計システム(OCR、データの可視化)
  • 練習映像からのパフォーマンス測定(画像認識)
  • 試合、練習のスタッツデータベース構築

アメフト経験問わず、データを活用したい、触ってみたいという方を待っています!
スタッフ申し込みはこちらのフォームからお願いします。

参考記事

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?