■はじめに
手書き数字の認識に成功した勢いで、次は「ひらがな」を読ませてみよう!と挑戦してみました。
ただ、いきなりカナは難しそうなので、まずは研究が進んでいるアルファベットから実験開始。
今回の環境はこんな感じです:
データセット:EMNIST(フリーのアルファベット手書きデータ)
モデル:畳み込みニューラルネットワーク(CNN)
コーディング:Python(Geminiにお任せ)
実行環境:Google Colab(スマホからアクセス)
■Colab無料枠の壁
Geminiの生成したコードをColabに貼り付けて実行。
データセットを読み込み、いざ学習スタート!
……待つ。
まだ学習中。
さらに待つ。
「急いては事を仕損じる」とは言うけれど、これは長すぎる。
そのまま放置していたら、案の定 タイムアウト。
どうやら無料枠のColabでは、学習時間がネックになりそうです。
有料版ならいけるかもしれませんが、「これをひらがなや漢字でやるのは無理だな」と悟りました。
■学習済みモデルに頼る!
「せっかくだから、なんとか形にしたい…」
そう思ってChatGPTに相談すると、
> 「教育済みのTesseract OCR(日本語学習データあり)を使う方法があるよ」
との提案。
調べてみると確かにありました。GoogleはTensorFlowなどを公開してますし、OCRも整備済み。
そこでTesseractを導入して試すことに。
準備したのは、ibisPaintXで作った認識用文字(カナ文字+手書き文字混ぜ、5文字程度)。
ChatGPTにコードを書いてもらい、トライアンドエラーを繰り返しながら実行。
なんとか動くところまで行きました!
ただし精度はまだまだ…「読めてる」と言えるレベルではないですね。
コード公開も見送ります。
■まとめ
Google Colab無料枠での学習は時間的に厳しい
既存の学習済みモデル(Tesseract OCR)を使うのが現実的
ひらがなや漢字認識は研究テーマになるほど難しい
今回は「5文字のひらがな認識」を目標にしましたが、結果は「コードが動いた」程度。
それでも「学習済みOCRを活用すれば、自分の環境でも試せる」という発見は収穫でした。
次はTesseractのチューニングや前処理を工夫しながら、もう一歩精度を上げる挑戦をしたいと思います。