Slide 1

Slide 1 text

Poke Battle Logger の紹介 2023/04/20 虎の穴ラボ LT 大会 fufufukakaka(@fukkaa1225)

Slide 2

Slide 2 text

ポケモンのランクマッチ 知っている方・やっている方 🙋🙋🙋 2/18

Slide 3

Slide 3 text

対戦を記録して振り返りたい → 動画を撮ろう 3/18 AVerMedia 2Plus <

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

… 5/18

Slide 6

Slide 6 text

動画を見返すよりも 効率よく振り返りたい 6/18 勝った試合はよく見るけど ...<

Slide 7

Slide 7 text

Poke Battle 📹 Logger

Slide 8

Slide 8 text

Poke Battle Logger の概要 ● 動画から対戦の統計を取り出す動画解析バッチ ○ 6vs6 の見せ合いでどんなポケモンを出したか ○ 実際に選んだ 3匹はなんだったのか ○ 先発は誰だったのか ○ どのポケモン同士が対面したのか ● それらを集計・表示する web application の開発 8/18

Slide 9

Slide 9 text

6vs6 の見せ合いでどんなポケモンを出したか ● swin transformer + template matching ● 6体の画像が出ている場所はいつも同じなので、そこを切り取る ● その後、classifier に通す ● スコアが低い画像は template matching で取り出す ● それまでに試していた手法 ○ template maching ○ augnet → faiss + template maching ● モデルは huggingface hub にあります ○ https://huggingface.co/fufufukakaka/pokemon_image_classifier

Slide 10

Slide 10 text

実際に選んだ 3匹はなんだったのか ● 対戦中の右上・左下に出るポケモン名が出ているウィンドウを読み取る ● tesseract(v5, best model) で読み取る ● 問題点: ポケモンは多言語対応 ● → tesseract も多言語全部使って対応する ● 誤り訂正が必要 → 多言語全部のポケモン名称を用意して、edit distance で近い 名前にする ● edit distance がしきい値を満たさなかった場合は template matching 10/18 Orthworm,ミミズズ,Ferdeter,Schlurm,꿈트렁,拖拖蚓,拖拖蚓 <

Slide 11

Slide 11 text

実際に選んだ 3匹はなんだったのか ● 対戦中の右上・左下に出るポケモン名が出ているウィンドウを読み取る ● tesseract(v5, best model) で読み取る ● 問題点: ポケモンは多言語対応 ● → tesseract も多言語全部使って対応する ● 誤り訂正が必要 → 多言語全部のポケモン名称を用意して、edit distance で近い 名前にする ● edit distance がしきい値を満たさなかった場合は template matching 11/18

Slide 12

Slide 12 text

12/18 挑発ビルドコノヨザルに負けました <

Slide 13

Slide 13 text

13/18

Slide 14

Slide 14 text

14/18

Slide 15

Slide 15 text

15/18

Slide 16

Slide 16 text

16/18 👑

Slide 17

Slide 17 text

技術スタックなど ● FastAPI + NextJS + ChakraUI ● ユーザ認証: Auth0 ● DB: MySQL ● 動画解析: OpenCV ● fufufukakaka のレートはまだ低くて 1650 くらい ○ シーズン1,2はフワライドで遊んでいた ○ 3あたりから真面目にやりはじめた ○ お気に入りはゴツゴツメット素眠りミミズズ ○ 今までのポケモンはシーズン 1だけ遊んで終わりだったけど、この アプリを作ったことでモチベが続いている 17/18

Slide 18

Slide 18 text

今後の展望 ● 技の読み取り ○ 英語ロムなら出来るが、この機能を実装すると日本語ロムが地獄になる (OCR精度の問題) ● 「似ている試合」の検索 ○ ポケモンをベクトルで表現できれば、ある試合をベクトルで表現できて vector search ができる ■ パーティ・3体の並び・行動順などから、ポケモンを word・並びを sentence に見立てて item2vec が学習できる ○ ポケ徹のパーティ情報とかを抽出して学習したいが、スクレイピングしたくない ...ので、自分でたくさん対 戦してデータをためる (現在150試合しかデータがない ) ● デプロイ ○ まだ動画からの情報抽出がそれなりにミスるので、手で直す機会がかなり多い ■ 手動で DB をいじって直している ... ○ 直すインタフェースを web上で実装して、α版リリースをしたい ○ 人に使ってもらいたい Thank You!<