ゲレの工房

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

FF14雑記:言語を超える力:物体検出の判定を甘くして、解像度が低いエオルゼア文字を判定できるようにした備忘録

「言語を超える力」の簡単な紹介はショート動画で。ざっくり話すと、FF14内の文字「エオルゼア文字」をTensorFlowの物体検知を使って「英数字」にクラス分けするアプリです。

前回の記事では、文章別に文字判定結果をGoogle検索に投げる機能の実装の話をしました。
blog.gelehrte.com

今回は、エオルゼア文字のうち、解像度が低い文字の判定を甘くすることができる機能を実装した話をします

Tensorflow Object Detectionの判定閾値を変更する

私の「言語を超える力」はこちらの記事を参考に作っています。
qiita.com

こちらの記事のスクリプトでは、判定結果を「0.6」=「60%」の物体を認識できたと判定結果に表示していました。
ただ、私の「言語を超える力」では判定する文字の種類が多すぎるのと、エオルゼア文字の「i」とかは判定しにくいので、判定の閾値を変更する仕組みが欲しいなと実装しました

エオルゼア文字の「i」などはこちらの対応表から見てください

blog.gelehrte.com

実装

三段階で判定できるようにした

具体的には閾値

  • 標準判定:0.6
  • 判定を甘くする:0.4
  • 判定をもっと甘くする:0.2

としました。
UIとしてはラジオボックスで設定できるようにしました。

言語を超える力:閾値

具体的には実装を見ていただけると幸いです。
languageecho.com


だいたい、「0.4」で判定するだけである程度きれいに判定されます。

テスト

画像用コピーライト
(C) SQUARE ENIX CO., LTD. All Rights Reserved.

入力


標準判定:0.6


判定を甘くする:0.4

誤判定な部分もありますが、そこは学習データをもっと増やせば対応できると思われます。それよりも今まで判定できなかった文字が判定しやすくなったのがありがたいです。

将来的な目標

かすれてほぼ読めない文字を読みたい

以前から話している内容なのですが、イディルシャイアの石碑のように、わざとかすれさせて読ませないようにしている文字を読んでみたいなってのが将来目標にあります。
FF14 イディルシャイア 石碑

このあたりの文字はデータを入れるだけでは判定できないと思われるので、閾値の調節が必要だと感じて実装したわけです。

終わりに

ここ最近は主にデータ入れを中心に作業していましたが、こういう機能追加も少しずつやっていきたいですね。


広告