0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Cloud Platformの手書き入力を試した。【結論:困難】

Last updated at Posted at 2020-11-16

はじめに

iPadを使って手書き入力した文字をテキスト変換してデータ保存するアプリを作るため、無料で使えるOCRを調査していたところGoogle Cloud Pratform(Cloud Vision API)が見つかりました。
機能を確認してみたので、その結果です。(2020/11時点)
iOS14のPencilkitに手書き入力のテキスト化が導入されたのですが、英語、中国語にしか対応していないため、他の機能を調査していました。

結論

2020/11時点では、Google Cloud Pratform(Cloud Vision API)で日本語手書き文字認識は実用レベルには達していないと感じました。
その他の企業のAPIでは有料(結構高額)であれば、機能を提供していますが、個人開発者にとっては厳しいです。

テスト

こちらのサイトでお試しが可能です。
https://cloud.google.com/vision/docs/handwriting?hl=ja
実装をしなくても試せるので、とてもありがたいです。
以下のサンプルを用いました。
不特定多数の人が入力するので、多少汚い達筆であっても認識してほしいと思い、以下のサンプルを使用しました。
1.手書き日本語
手書き文字.jpg

2.テキストアルファベット
UPLOAD FOLDER.png
(GCPサイトより)

3.テキスト日本語
プロジェクト情報.png

手順

GCPのバケットにデータを保存していますが、画像のリンクを作るのが簡単なのでそのようにしています。
1.GCPのプロジェクトを作成
2.バケットを作成し、好きな画像を保存
3.以下のコードで確認

{
  "requests": [
    {
      "image": {
        "source": {
          "imageUri": "gs://バケット名/ファイル名"
        }
      },
      "features": [
        {
          "type": "DOCUMENT_TEXT_DETECTION"
        }
      ],
      "imageContext": {
        "languageHints": [
          "ja-t-i0-handwrit"
        ]
    }
  ]
}

以下の選択部分にそのままコピペして上書きできます。
EXECUTEボタンをクリックするとGoogleアカウントへのサインインを求められます。
スクリーンショット 2021-02-02 18.35.17.png

結果

1.手書き日本語
全然読み取れない。

{
  "responses": [
    {
      "textAnnotations": [
        {
          "locale": "und",
          "description": "ch n\n出\n「十\n사\n中\n",
以下省略

「"description": "ch n\n出\n「十\n사\n中\n",」のように跡形もございません。

2.テキストアルファベット
読み取れる。

{
  "responses": [
    {
      "textAnnotations": [
        {
          "locale": "en",
          "description": "UPLOAD FOLDER\n",
以下省略

「"description": "UPLOAD FOLDER\n",」となり、正しく読み取れていました。

3.テキスト日本語
読み取れる。

{
  "responses": [
    {
      "textAnnotations": [
        {
          "locale": "ja",
          "description": "プロジェクト情報\n",
以下省略

「"description": "プロジェクト情報\n",」となり、正しく読み取れていました。

まとめ

Google Platformの日本語手書き入力の認識は2020/11時点では実用的には厳しいと判断しました。
一方で、テキストであれば、十分に利用できそうです。
例えば、PDFファイルのテキスト変換には十分に利用できそうです。

その他の無料のAPIも試してみましたが、手書き入力としては満足のいく結果が得られませんでした。
https://ocr-api.hblab.ai/ocr (手書きは不能。テキスト変換は優秀)

有料APIも低額なものを試してみようと思います。
Pencilkitの日本語対応を切に望みます。。

参照記事

https://dev.classmethod.jp/articles/crop-ocr-with-lambda-using-cloud-vision-api/
https://techblog.nhn-techorus.com/archives/12925

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?