fufufukakaka / poke_battle_logger

ポケモンSVの対戦動画から Stats を収集する

Home Page:https://poke-battle-logger.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PokeBattleLogger

ポケモンSV のランクマッチ(マスターボール以上) の youtube 配信から、対戦データを抽出します。

🚧 This app is Under Construction 🚧

Notification

  • 対応環境(2023/04/23 時点)
    • 言語選択が英語・日本語の場合のみに対応しています。
      • 日本語の場合、精度が若干下がります
    • 動画のサイズは 1080p: 1920 x 1080 のみに対応しています。
  • 動画は次のような流れになっている必要があります。
    • (スタート)バトルスタジアムを選択 → シングル・ダブルを選ぶ画面 → シングルを選択して対戦を開始 → 対戦終了 → 続ける or バトルチームを変更 でランクを表示 → ... → バトルチームを変更 を選んでランクを表示して、10秒ほど待ってから動画を終了
  • 何らかの理由で順位が変動しなかった試合についてはデータ抽出を行いません。

Setup

Pyton 3.10 +

poetry install

また Tesseract のインストールが必要です。英語だけでなくポケモンで利用できる全ての言語についての設定が必要です。

  • 日本語
  • **語(簡体字と繁体字)
  • 韓国語
  • フランス語
  • スペイン語
  • イタリア語
  • ドイツ語

インストール方法は各サイトを御覧ください。

tessdata は best を使います。

credentials

poke_battle_logger/poke_battle_logger_vis/.env.local に以下を配置

  • NEXT_PUBLIC_AUTH0_DOMAIN
  • NEXT_PUBLIC_AUTH0_CLIENT_ID

また、検出に失敗した際、そのテンプレート画像を GCS に送信しています。 GCS へのアクセス権限を持ったサービスアカウントの認証情報を json でダウンロードして以下に配備してください。

.credentials/google-cloud-credential.json

アプリケーションの起動

make run_api
make run-dashboard

For Unknown Pokemon Image

UI から「対戦データの登録」で対戦データを登録しようとした際に、次のようなエラーが出ることがあります。

Exception: Unknown pokemon exists. Stop processing. Please annotate unknown pokemons.

この場合、 template_images/unknown_pokemon_templates を見ると、検出に失敗したポケモンの画像が収録されているかと思います。 これを各ポケモンごとに最低1枚、{正しいポケモン名}.png に画像ファイル名を変更して、template_images/labeled_pokemon_templates に移動させてください。 同じ名前のファイルが既にある場合は、{正しいポケモン名}_{任意の番号}.png という名前にして被らないようにしてから移動させてください。

その後、 make train-pokemon-image-classifier を実行することで、次回のデータ登録からは反映されるようになります

About

ポケモンSVの対戦動画から Stats を収集する

https://poke-battle-logger.vercel.app

License:MIT License


Languages

Language:Jupyter Notebook 96.1%Language:Python 2.2%Language:TypeScript 1.6%Language:Makefile 0.1%Language:Dockerfile 0.0%Language:JavaScript 0.0%