「言語を超える力」の簡単な紹介はショート動画で。ざっくり話すと、FF14内の文字「エオルゼア文字」をTensorFlowの物体検知を使って「英数字」にクラス分けするアプリです。
前回の記事では、文章別に文字判定結果をGoogle検索に投げる機能の実装の話をしました。
blog.gelehrte.com
今回は、エオルゼア文字のうち、解像度が低い文字の判定を甘くすることができる機能を実装した話をします
Tensorflow Object Detectionの判定閾値を変更する
私の「言語を超える力」はこちらの記事を参考に作っています。
qiita.com
こちらの記事のスクリプトでは、判定結果を「0.6」=「60%」の物体を認識できたと判定結果に表示していました。
ただ、私の「言語を超える力」では判定する文字の種類が多すぎるのと、エオルゼア文字の「i」とかは判定しにくいので、判定の閾値を変更する仕組みが欲しいなと実装しました
エオルゼア文字の「i」などはこちらの対応表から見てください
実装
三段階で判定できるようにした
具体的には閾値を
- 標準判定:0.6
- 判定を甘くする:0.4
- 判定をもっと甘くする:0.2
としました。
UIとしてはラジオボックスで設定できるようにしました。
具体的には実装を見ていただけると幸いです。
languageecho.com
だいたい、「0.4」で判定するだけである程度きれいに判定されます。
テスト
画像用コピーライト
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
入力
標準判定:0.6
判定を甘くする:0.4
誤判定な部分もありますが、そこは学習データをもっと増やせば対応できると思われます。それよりも今まで判定できなかった文字が判定しやすくなったのがありがたいです。
将来的な目標
かすれてほぼ読めない文字を読みたい
以前から話している内容なのですが、イディルシャイアの石碑のように、わざとかすれさせて読ませないようにしている文字を読んでみたいなってのが将来目標にあります。
このあたりの文字はデータを入れるだけでは判定できないと思われるので、閾値の調節が必要だと感じて実装したわけです。
終わりに
ここ最近は主にデータ入れを中心に作業していましたが、こういう機能追加も少しずつやっていきたいですね。