ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

FF14雑記:「Object Detection API」で物体検出を用い、エオルゼア文字を翻訳するアプリ「言語を超える力」を作り直すための備忘録

今回の記事はほぼ私の作業メモとなります。もうしわけありません。

やりたいこと

2020年、こんなツイートしていました。

それから色々なサービスなどを試しましたが、あまりうまくいかず挫折していました。

『「Object Detection API」で物体検出の自前データを学習する方法(TensorFlow 2.x版)』を読んで

qiita.com

この記事を見つけたことと、PCを少し前に新しくして自宅PCで機械学習できるほどのパワーができてきたので、自宅のPCで環境を整えよとしました。

現在の作業ログ

アノテーション

こんな感じで行います。とりあえずジャンボくじテンダーのドラムロールに対して、数字のタグ付け(アノテーション)をこれから進めていきたいと思います。幸い、2年間に渡ってドラムロールを撮り続けた私なので、画像データだけはあるのです。

作業環境はWindows 11

参考にしたサイトはMacですが、我が家のMacPCはMac bookで、どちらかというと仕事用。プライベートで作業できるWindowsに環境を整えたかったのです。FF14Windowsで動かしていますしね。いくつかPATHが通りにくかったりレジストリをいじったりする必要がありましたが、参考記事の中のTensorBoardで学習状況をみれるところまで進みました。

コマンド備忘録

これは完全に私用の備忘録です。

作業環境はvenvを使いました

python -m venv env

でインストール

.\env\Scripts\activate

で起動

cd .\models\research\
python object_detection/model_main_tf2.py --pipeline_config_path="./object_detection_tools/config/efficientdet_d0_coco17_tpu-32.config" --model_dir="./saved_model_01" --num_train_steps=10000 --alsologtostderr

で学習

TensorBoardは

python -m tensorboard.main --logdir='saved_model_01'

で起動できます。

学習終わったら、モデルを使える形にエクスポートして、ラベルのリストもコピー

python object_detection/exporter_main_v2.py --input_type image_tensor --pipeline_config_path ./object_detection_tools/config/efficientdet_d0_coco17_tpu-32.config --trained_checkpoint_dir ./saved_model_01 --output_directory ./exported_graphs
python convert_pbtxt_label.py -l='object_detection_tools/data/tf_label_map.pbtxt' > ./exported_graphs/labels.txt

テスト用スクリプトを起動

cd .\object_detection_tools\
python scripts/object_detection_tf2.py -l='../exported_graphs/labels.txt' -m='../exported_graphs/saved_model/' -d='video' -i='../../../test.mp4'

実際にテストしてみた

以前FF14のドラムロールを動画撮影していたので、それに対して物体検知のテストしてみました。

かなり良い精度だと思います。

今後の予定

アノテーション作業を地道に行う

まだまだ学習データが足りないので、アノテーション作業をします。

静止画でInputし、推論・エオルゼア文字を英字にした状態を静止画で保存したい

参考URLでは動画・Webカメラを使うことを想定していますが、私はFF14スクリーンショットを想定しているので静止画で作業をやりたいです。

AWS Lambda + ECR + S3を使って公開したい

コレは遠い目標になるかもしれませんが、誰でも使える環境を整えたいです。想定ではスマホのカメラでゲーム画面を写真撮ると、英字が付いた静止画を保存できるようにしたいですね。まぁ、サービス維持費のために広告付きのサイトにはするとは思いますが。

終わりに

久しぶりに「言語を超える力」アプリの作業を再開しました。なにか早く、作業状況・更新情報をお伝えできれば嬉しいです。

追記:色々「Object Detection API」での学習方法を修正してみた

続きの記事はこちらで。
blog.gelehrte.com


広告