Cloud Vision APIで絵本の文字を読み取る

絵本をAI(人工知能)に読んでもらいたい。今回はGoogleが提供するCloud Vision APIを使い、OCR(文字認識)を行ってみます。最終的には絵本読み聞かせWebアプリを作ります。

前段、絵本の読み聞かせがつらい

お母さんが長期入院中です。そんな状況もお構いなしで、三男と四男は図書館から40冊くらい絵本を借りてきます。読み聞かせ3冊目くらいで、もう嫌になりました。GoogleのAIに助けてもらいましょう。

絵本読み聞かせアプリの全体設計

Webの技術、HTML・CSS・JavaScriptで開発します。

処理の流れは、

  1. ブラウザでカメラを起動する
  2. 撮影ボタンが押して、絵本のページを写真で取り込む
  3. 写真をCloud Vison APIに渡す
  4. OCRの結果が、Cloud Vison APIから返ってくる
  5. OCRの結果をブラウザ上に表示する
  6. Cloud Text-to-SpeechでOCRの結果を読み上げる

Cloud Vison APIを使いこなせるか?OCRの精度はどれほどか?この2点を先に知りたかったため、3. 4. 5.を先行して開発します。

Cloud Vision APIのOCR準備

Googleの画像認識系AIが使えるサービス「Cloud Vision API」。私の場合は登録を昔行っていたため、すぐに使える状況でした。

Cloud Vision APIの導入部分の仕方は、Cloud Vision APIの使い方まとめ (サンプルコード付き)が分かりやすそうです。

最低限、APIキーを作成できればOKです。

念のためAPI キーを使えるWebサイトを制限します。

認証情報>APIキーの制限と名前変更>ウェブサイトの制限に「localhost/*」と自分のドメインを登録して、大量課金のリスクを減らします。

なお、利用料金はOCR(テキスト検出)だけなら1,000回/月まで無料。次の1,000回から1.5ドルとなります。

写真をアップしてOCRの結果を表示するコード

Cloud Vision APIを使って、まずはOCRの精度を確かめます。

下記のHTMLをlocalhostで動作させます。

このHTMLは、JavaScriptもCSSも1ページに含まれているため、単体で動作します。・・・旧時代のJavaScriptで書いており、IEでも動きます。

ブラウザでOCRのテスト

絵本の表紙を撮影して、動作を確認します。

現段階では、カメラ撮影機能は付けず、絵本の写真をアップロードして使う仕様です。

写真をアップすると、結果が返ってきました。

OCRの結果は、誤字なし。

文字を認識したところに、緑色の四角を描画しています。HTML5のcanvasを利用しています。

他のが写真でもいくつか試すと、誤認するパターンが見えてきました。

手書き文字の認識は、やっぱり難しそうです。

また、クモの絵を「美」と誤認しているため、出来るだけ文字だけを写真で撮ったほうが良さそうです。

それでは引き続き、Cloud Text-to-Speechで絵本を読み上げる機能を開発します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)