LoginSignup
4
4

More than 3 years have passed since last update.

ウイイレの解析ソフトでデータベースを使えるように拡張してみた

Last updated at Posted at 2020-07-06

ウイイレのデータ解析自動化してくよ!Part7

■はじめに

  • どうも ヤジュン です。
    また、ウイイレのイベント増えてきましたね!
    イベント備忘録用に作ったツイッターBot のフォロワーも増えてきました♪(現在230名)
    • Bot利用者からの嬉しい声
      こういう声をもらうと「作ってよかった!」ってなりますね♪
      大会やイベントの主催者や企業に、利用してもらえるとこまで広まってほしいな~

■本記事の内容

  • 今回は、解析ソフトのデータ管理をCSVだけでなく、データベースでも出来るように機能拡張したので紹介します。

    本記事のソフトはpythonで作成しています。■参考URL

▼解析アプリの拡張機能一覧

  • 前回記事から以下の機能拡張されました。
    1. プレイヤー認証機能
    2. データベースからのデータ読み込み機能
    3. 試合結果画像からメトリクスデータをCSVで出力する機能
    4. CSVのメトリクスデータをデータベースへ追加する機能

■データベース管理への背景

  • 今まで、CSVファイルでデータ管理をしていました。
    CSVによる管理は、オフラインでもデータ解析できるというメリットはあります。
    しかし、今後マスターデータを育てるためには、各CSVファイルを マージ しなくてはいけません。

    めんどくさすぎる!
    

    そこでデータベース管理へ移行するのです!
    各プレイヤーの解析結果が、データベースに集約される仕組みを作ればマスターデータは、放置していても育っていきます。

■拡張機能毎の紹介

▼データべースどんな感じ?

  • 用いるのはSQL です。 MySQL環境を構築して、今までのCSVデータを移行します。

●実際に移行するとこんな感じ↓

  • HeidiSQLを使ってデータを確認してます。
    今までテスターから収集した150試合の結果を移行しました。

▼データベースからデータ読み込み

  • ユーザー認証機能を付けました。 入力したユーザ名とパスワードがデータベースで管理されているものであれば、データを読み込めるようになってます。

●ユーザ認証からデータ操作はこんな感じ

  • デモ操作なので、パスワードもデモ「Password」にしてます。
    最初に私「Yajun」のデータを読み込んだ後、次に「Masataro」さんのデータを読み込んでいます。
    ユーザが変わっているので、ゲージチャートとレーダーチャートの型が変わってます。

▼画像データからCSVファイル出力

  • 試合結果画像からメトリクスデータを抽出して、CSVに出力するようにしました。
    この機能の実現が一番難しくて工数がかかってます笑

●ユーザ認証からCSV出力までこんな感じ

  • ユーザ名とパスワードを入力して、Startボタンを押すと、フォルダ選択画面が出てきます。
    試合結果画像を入れているフォルダを選択します。
    すると、試合結果画像が表示されるので、ユーザは自分がHome側かAway側だったか確認して、表示されるラジオボタンから自チームを選択します。
    処理が完了すると、試合結果画像を入れているフォルダに「output.csv」が出力されて完了です。

●画像処理して指定しているフォルダの中身

  • 本ソフトで必要な試合結果画像が6枚(1試合3枚セットで2試合分)入っています。
    3枚セットになっていれば、「チームスタッツ」「攻撃エリア」「ボール奪取エリア」の順番はぐちゃぐちゃで大丈夫です。

▼データベースへ追加

  • CSVファイルが出力されていることを確認してから「Apped」ボタンを押すとデータベースに追加されます。

●追加後のデータベース

  • データベースを確認すると、最下段の行に「2対4」と「4対6」の試合結果が格納されています。
    上の「●画像処理して指定しているフォルダの中身」で公開している画像と見比べていただくと、6枚の画像から抽出されたデータが入っているのを確認できます。

■残課題

  • 前回記事で課題の棚卸しをしましたが、今回はそのうち2つを解消しました。
    そろそろ、テスター向けにテスト版を配布したいとは思ってます。

    めっちゃバグでるんだろうな。。
    個人の意見ですが、バグfixが一番成長する経験だと思っているので、ポジティブに捉えていきたいと思います。

■展望

  • 1000試合分くらいのデータが集まれば機械学習も始めてもいいかなと思ってます。

    今やっているのは、データビジュアライゼーションまでで、そこからの傾向は人間が考察しなくてはなりません。

    この傾向判断までもソフトにやらせたいですね♪

    pythonには、scikit-learnTensorFlowなどの優秀なライブラリが揃っているので楽しみです。

    個人的に、〇〇選手と〇〇選手を対戦させた場合どちらが勝つのか!?みたいのをソフトにやらせてみたい!笑

    そのためにはデータを集める仕組みとして、この解析ソフトが必要なのです。

■終わり

  • アプリとして最低限の機能は実装できたかなと思います。
    解析のために、画像を集めるって面倒くさいとは思うのですが、
    PS4で撮ったスクショを1つのフォルダにまとめてフォルダを指定すればいいので、
    思ったよりも面倒臭さは少なめなのかな?と思ってます。

  • 前回記事に対し、「データの収集はPS4から直接できるようにならないの?」というご質問を頂きました。
    PS4のAPIを公開されている方もいるので、技術検討してみようと思います!
    こういった声は貴重です!ご意見ありがとうございます。

    今回の記事はここまで!また次回をお楽しみに♪

■参考URL

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