noharaのブログ

興味のあることについてゆる~く書きます

【Splatoon2】ディープラーニングでイカとタコを見分ける

最近機械学習の勉強をしているので練習として、スプラトゥーン2イカとタコを見分けてみたいと思います。

といってもすでに実践している方がいらしたので、さらに精度を上げる+実際に間違えた画像を表示して少しでもディープラーニングのお気持ちを理解したいと思います。

参考 tkgstrator.work

概要

↑で参考にあげているページから学習データをいただきまして、図の人工知能部分に学習させます。 最終的には、画像を与えるとイカガール・イカボーイ・タコガール・タコボーイの中からどちらに近いか判定ができるようになります。

f:id:nohararc:20190728132127p:plain

結論

テストデータ999枚に対し、989枚正解(99.9%)を達成しました。

コードはこちら github.com

誤った画像について、目視で確認していきます。 f:id:nohararc:20190701004025p:plain

3行2列目の画像はもうすこし頑張ってほしいところですが、その他の画像は人間でも判断がつきにくく、 概ねいい感じに学習できている気がします。

実装

詳細は実行環境は省きます(GCPで構築した記憶があるのですがメモを紛失しました...)。

  • フレームワーク: keras
  • モデル: EfficientNet
  • 学習方法: 転移学習(ファインチューニング)
  • 学習データの水増し: horizontal flip, random erase

おまけ

f:id:nohararc:20190728133020p:plain

【Splatoon2】Discordのbotを作った話

いつも利用させてもらっているBOTの調子が悪かったのでいい機会だと思って作ってみました。

できたもの

f:id:nohararc:20190728002814p:plain

github.com

招待リンク

諸注意: 現在お試し環境で動かしているため、予告なく停止する場合があります なにかあればTwitterまで

discordapp.com

使い方

仲間内でのプライベートマッチで利用することを想定しているため、ブキランダムしか実装していません。

/buki: ランダムで1つブキを返す
/bukia: ボイスチャンネルに参加している人数分ランダムブキを返す

自分でBOTを作りたい場合

以下のリポジトリからとってきて、my token goes hereを書き換える github.com

参考リンク

Pythonで実用Discord Bot(discordpy解説) - Qiita

Welcome to discord.py — discord.py 1.2.3 documentation