ピクミン2チャレンジモードのリザルト画面から、スコアを取得するAIです。
ブラウザ上で実行可能です。実行するにはこちらをクリック!
なお、ステージクリア後のリザルト画面にのみ対応しており、ステージ選択画面に表示されるスコアには対応していません。 将来的に、ピクミン2以外にも対応したいと考えています。
スコアの認識には失敗することがあります。特に以下のような画像は失敗する確率が高くなります。
- 直撮り画像
- 斜めになっている画像
- 不鮮明な画像
- 過度にサイズの大きな画像(例:5504×3096)
- JPEG (.jpg, .jpeg, .jfif)
- PNG (.png)
- ビットマップ (.bmp)
以下の方々に、リザルト画面をAI学習に使用する許可を頂きました。ありがとうございます。
- こばちのうどん氏
- TEL氏
- サクレカマドフマ氏
- zukki氏
- mercysnow氏
- φ氏
- マイコー氏
- エープリル氏
sample.htmlを適切に書き換えてください。
Windows 10で動作確認済みです。他のOSでも動作するはずです。
index.htmlを直接ブラウザで開いた場合、ローカルファイルを読み込む関係で、セキュリティエラーが発生します。
そのため、ローカルサーバーを立てる必要があります。
http-serverを用いる場合を以下に示します。
# インストール
npm install --global http-server
# 実行
cd [このレポジトリのルートディレクトリ]
http-server
上記のコマンドを実行したら、ブラウザ(http://127.0.0.1:8080)を開きます。
ポートは環境によって異なる場合があります。詳しくはhttp-serverの出力を参照してください。
以下の環境で動作確認済みです。
- Google Colaboratory (Linux / Python 3.10)
- Windows 10 / Python 3.11
環境構築が不要なGoogle Colaboratoryでの実行をオススメします。
3.10よりも古いバージョンのPythonだと動作しない可能性があります。
こちらから実行できます。
Windows 10を想定していますが、他のOSでも動作するはずです。
pythonとpipは必要に応じて置き換えてください。
pip install -r training/requirements.txt
python training/train_model.py
ブラウザ版(JavaScript)のスコア抽出プログラムはC++で記述されており、C++プログラムの変更を反映させるにはemscriptenをインストールし、以下のコマンドを実行してコンパイルする必要があります。
em++ -O3 ./cpp/number_extractor.cpp -o ./cpp/number_extractor.js -DEMSCRIPTEN -s EXPORTED_FUNCTIONS="['_malloc', '_free']" -s EXPORTED_RUNTIME_METHODS="['cwrap', 'getValue']" -sINITIAL_MEMORY=128MB -sSTACK_SIZE=64MB
成功すればcpp/number_extractor.jsとcpp/number_extractor.wasmが生成されます。
