デジタルインク認識

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

ML Kit のデジタル インク認識 API を使用すると、デジタル サーフェス上の手書き文字を何百もの言語で認識し、スケッチを分類できます。デジタルインク認識 API は、Gboard、Google 翻訳、Quick, Draw! ゲームで手書き入力認識と同じテクノロジーを使用しています。

デジタル インク認識機能を使用すると、仮想キーボードで文字を入力する代わりに、画面に書き込むことができます。これにより、ラテン文字のアルファベット キーボードのように、キーボードで使用できない文字を描画できます。この API では、手書きのメモを文字起こしし、手書きの図形と絵文字を認識することもできます。

デジタルインク認識は、ユーザーが画面に描画するストロークで機能します。カメラで撮影した画像からテキストを読み取る必要がある場合は、Text Recognition API を使用します。

デジタル インク認識は完全にオフラインで動作するため、Android と iOS でサポートされています。

iOS Android

主な機能

  • 手書きテキストを Unicode 文字シーケンスに変換します。
  • デバイス上でほぼリアルタイムで実行されます。
  • ユーザーの手書き文字はデバイスに残ります。認識は、ネットワーク接続なしで行われます。
  • 300 以上の言語と 25 以上のライティング システムに対応しており、主要なラテン言語に加えて、中国語、日本語、韓国語、アラビア語、キリル文字にも対応しています。サポートされる言語の一覧をご覧ください。
  • 絵文字と基本的な図形を認識します。
  • 必要に応じて言語パックを動的にダウンロードすることで、デバイス上のストレージを低く抑えます。

認識機能では、Ink オブジェクトを入力として使用します。Ink は、ユーザーが画面に入力した内容のベクトル表現です。一連のストロークは、タッチポイントと呼ばれる時間情報を含む座標のリストです。ストロークは、ユーザーがタッチペンや指を下に置くと始まり、持ち上げると終了します。Ink は認識機能に渡され、認識装置は 1 つ以上の認識結果を信頼度とともに返します。

英語の手書き入力

以下の左側の画像は、ユーザーが画面に描画した内容を示しています。右側の画像は、対応する Ink オブジェクトです。これには、各ストローク内のタッチポイントを表す赤いドットを含むストロークが含まれています。

    

4 本のストロークがあります。Ink オブジェクトの最初の 2 回のストロークは次のようになります。

インク
ストローク 1 x 392、391、389、287、...
Y 52、60、76、97、...
T 0、37、56、75、...
ストローク 2 x 497、494、493、490、...
Y 167、165、165、165、...
T 694、742、751、770、...
...

この Ink を英語の認識機能に送信すると、5 文字または 6 文字を含むいくつかの音声文字変換テキストが返されます。順序は、信頼度を下げて並べます。

RecognitionResult
認識候補 #1 handsw
認識候補 #2 Handrw
認識候補 #3 Hard
認識候補 #4 Handu
認識候補 #5 Handwe

絵文字スケッチ

以下の左側の画像は、ユーザーが画面に描画した内容を示しています。右側の画像は、対応する Ink オブジェクトです。これには、各ストローク内のタッチポイントを表す赤いドットを含むストロークが含まれています。

    

Ink オブジェクトには 6 回のストロークが含まれています。

           

インク
ストローク 1 x 269、266、262、255、...
Y 40、40、40、41、...
T 0、36、56、75、...
ストローク 2 x 179、182、183、185、...
Y 157、158、159、160、...
T 2475、2522、2531、2541、...
...

この Ink を絵文字認識ツールに送信すると、いくつかの文字起こし候補を取得でき、信頼度を下げるようになっています。

RecognitionResult
認識候補 #1 🇺? (U+1f62d)
認識候補 #2 👀?(U+1f605)
認識候補 #3 😹?(U+1f639)
認識候補 #4 👋?(U+1f604)
認識候補 #5 ❗(U+1f606)