ゲレの工房

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

FF14雑記:今後の言語を超える力の開発仕様書とか試行錯誤とか

最近、Twitter・Xでは機械学習ばかりやっているようなツイートしか出来ていませんが、裏では試行錯誤していたりします。
どんなことで悩んでいるかなどを、自分なりに整理したくてブログを書きたいと思います。
要するに脳内整理です。




「言語を超える力」とは?

簡単に言うと、「FF14スクリーンショットを読み込ませると、エオルゼア文字の部分を判定して英数字に変換してくれるアプリ」です。その開発を続けています。
詳しくは過去のブログ等を読んでください。

blog.gelehrte.com

アプリ自体はAWS Lambdaで動かすことを前提にしています。サービス維持費節約の為に仕方ない処置です。

現状

スクリーンショットエオルゼア文字の部分だけ切り抜いた場合、かなりの精度で判定出来るようになった

これはこれで良いこととして残してあります。ただ、

  • 多くの利用者が切り抜き作業をやってくれない
  • UI上で切り抜き作業ができるJavaScriptを用意しましたが、スマホなどでは動かしにくく、JavaScriptで利用しているライブラリ自体が古い

などの問題を残しています。
ここで私は、スクリーンショットからエオルゼア文字の部分を自動に切り抜ける機能を追加したいと考えました。

スクリーンショットからエオルゼア文字の部分を自動に切り抜ける機能を追加

これ自体は大枠は出来ました。ただ学習データが足りず、切り抜けない場合が多くあります。
最近学習させているのはこの部分です。
逆に言えば、学習データさえ集まれば、この部分は完成していると思っています。

エオルゼア文字の部分を自動で切り抜いた後、そのままエオルゼア文字を英数字変換する機能を動かす

開発が困っているのはこの部分です。

試行錯誤「スクリーンショットを切り抜いたあと、どうやって英数字に変換する機能を追加するか」

まず最初に考えた方法は次の方法

スクリーンショットを切り抜いたAWS Lambdaインスタンス上でそのまま英数字を変換させる

この方法はAWS Lambdaの制約上、時間がかかりすぎてタイムアウト、もしくはメモリオーバーで実行不能になりました。

切り抜いたスクリーンショットを複数枚送ると、全部英数字に変換するようにする

この方法を使えばAWS Lambdaを1つだけ立ち上げて、メモリ問題も解決するかと思いました。
ただテストしたところ、2枚連続で変換は出来ましたが、3枚以上送るとメモリオーバーで実行不能となりました。

UI上で切り抜いたスクリーンショットを1枚ずつAWS Lambdaのインスタンスに投げて、1枚ずつ処理してもらう

たぶんこの方法に落ち着くと思いますが、この場合JavaScriptでUIを書くのがちょっと面倒になります。そのため、ちょっと多めに時間がとれて体力・気力がある時しかできていません。
いずれこの方法でやります。

終わりに

ほぼ文章だけのブログ記事となりました。自分のやりたいことの備忘録なのでお許しください。
上手く体調と時間を考えて対応したいと思います。


広告