Teachable Machineで武器を一瞬で判定してくれるAIを作りたい！


## 味方と相手の武器がわからん！
はじめまして。スプラトゥーン超初心者です。

スプラトゥーン（以下スプラ）は、超簡単に説明すると、4対4のチームに分かれて行うオンラインの対戦ゲームで、ステージをインクで塗り広げたり敵を倒したりして勝利を目指すゲームです。
公式サイト　[スプラトゥーンって？](https://www.nintendo.co.jp/switch/aab6a/about/index.html)
~~もうすぐ3作目が発売なので興味ある方はぜひ始めましょう！~~

スプラ始めたばかりの悩みの1つに、見た目が似てる武器が判断できないってものがあります。（自分だけかもですが、、、）
試合開始直前に自分チームと相手チームの見た目が一瞬表示されるのですが、区別できずに、「どっちだ？」ってなることばかり、、、
（試合開始後も相手の武器は画面に表示されてますがそっちも区別が難しい、、、）
具体例としてスプラシューター（以下スシ）とスプラシューターコラボ（以下スシコラ）で比較してみると

### スシ
試合開始直前
![S__180969476.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/693a2120-b44c-9885-fcf6-388d7ff41697.jpeg)
試合開始後
![S__180969474.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/9669f482-42f0-dff6-07cb-255b171e894e.jpeg)

### スシコラ
試合開始直前
![S__180969478.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/0a86963c-a783-08af-cf53-950520019c1a.jpeg)
スシと比べて真ん中に白のラインが入ってます。

試合開始後
![S__180969477.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/2d7df0a9-4eca-3abf-2064-4ac34db4ba02.jpeg)
こっちも白いラインが入っているのと、右下にロゴがついてますが、小さくて見づらい、、、、

試合開始直前の画像を比べると、ちょっと見ればすぐ区別できますが、この画面は一瞬しか表示されず、自分以外の7人の武器を一瞬で完全に判別するのはかなり大変、、、（スシとスシコラ以外にも似てる武器の組み合わせはたくさんあるので、、、）


そこで、試合開始直前の、上で載せた4人で並んでる画像を見て武器を判定してくれるシステムがあったらいいなって思い、
その第一歩として、Teachable Machineを用いてスシとスシコラ（とスプラシューターベッチュー、通称スシべ）を判別してくれるAIを作ろうと試みました。

## 使用ツール（？）
[スプラトゥーン](https://www.nintendo.co.jp/switch/av5ja/index.html)
素晴らしい神ゲー。~~[もうすぐ新作出ます。](https://store-jp.nintendo.com/list/software/70010000046394.html)（大切なことなので2回言いました）~~
[Teachable Machine](https://teachablemachine.withgoogle.com/)
[Node-RED](https://nodered.jp/)



## 試作品～判別できてない、、、～
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ゲーム画面を観てスシかスシコラか区別しようとしてくれる誰得AI作りました（）<br>AIでも区別できないなら自分も試合中に見間違えるの仕方ないね（スプラ初心者の言い訳）<br> <a href="https://twitter.com/hashtag/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://twitter.com/hashtag/Splatoon?src=hash&amp;ref_src=twsrc%5Etfw">#Splatoon</a> <a href="https://t.co/kGtvzdv1iu">pic.twitter.com/kGtvzdv1iu</a></p>&mdash; やまかず (@nobita_gkb) <a href="https://twitter.com/nobita_gkb/status/1550797161008226305?ref_src=twsrc%5Etfw">July 23, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

スシもスシコラもスシコラって判定されてる、、、、
突貫作業で作ったから学習用の素材の画像が足りてないのが大きそう、、、、
もう1つのスプラシューターベッチュー（以下スシべ）は判定できてる（色が明らかに違うから判定しやすかった説）

Node-REDの流れはこちら
![完成品.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/953fcaa9-5dde-540b-840e-5a71ea3b9603.png)
### Teachable Machine
![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/427ac459-8419-3569-9491-e94d8055a5a8.png)
### template
![タイトルなし2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2728254/36191ce1-d3c8-5d17-685f-79b31c9fca55.png)


### ここで問題発生、、、

### Teachable MachineのAIモデルのプロジェクトを保存し忘れた、、、
URLは残ってたので、試作したAIを使うことはできても、学習した画像を確認したり、新たに学習する事ができない、、、
また素材を集めて作り直し、、、

## 課題は山盛り
### ・そもそもAIの精度が悪すぎる
学習用の素材をしっかり再考する必要があり
試合開始直前の画像を各武器で大量に用意する（各武器100試合分くらいあれば精度上がる？？）
### ・全武器の画像で学習する必要がある
今回はスシとスシコラとスシべだけで作ったけど、現在武器は全部で、なんと139種、、、
学習素材集めがとんでもない事になりそう。
### ・判定したい画像の読み込み方を考える
少なくともゲーム画面をPCにキャプチャする設備は必要になりそう
キャプチャした画面をNode-REDに読み込む方法も調べなければ

## 懸念点～そもそもこれ実装できても使って大丈夫？？～
文章書いてる途中で思った事ですが、諸々の課題をクリアして、試合開始前に武器を教えてくれるAIができても、これを使った場合、自分だけに有利な情報が入ってくることになります。（試合画面見れば分かる情報だけですが、、、）これってチート使ってるのと変わらんのでは、、、？
ウデマエっていう、レーティングシステムがあるガチマッチだとまずアウトだと思う、、、。

## あとがき
画像や音声を学習してものを判断してくれるTeachable Machineというものがあると知って、何か便利で面白いもの作れないかと思って、ぱっと思いついた武器を判定してくれるAIを作ってみましたが、全く実用性・有用性のあるものが作れず、アイデアを出し、実現する事の大変さを実感しました。課題解決のアイデアを出すって難しい、、、
ここまで読んでいただき、ありがとうございました。