数字墨水识别

借助机器学习套件的数字手写识别 API,您可以识别手写文本,对数字表面上数百种语言的手势进行分类,还可以对素描进行分类。数字手写识别 API 采用的技术与 Gboard、Google 翻译和 Quick, Draw! 游戏中的手写识别功能提供支持。

借助数字手写识别功能,您可以:

  • 在屏幕上书写,不必使用虚拟键盘输入内容。这样,用户就可以绘制键盘上无法使用的字符,例如拉丁字母键盘的 Built、key 或 森。
  • 使用手势执行基本文本操作(导航、修改、选择等)。
  • 识别手绘形状和表情符号。

数字手写识别适用于用户在屏幕上绘制的笔画。如果您需要读取使用相机拍摄的图片中的文本,请使用 Text Recognition API

数字手写识别完全可以离线工作,且在 Android 和 iOS 上受支持。

iOS Android

主要功能

  • 将手写文本转换为 Unicode 字符序列
  • 在设备上近乎实时地运行
  • 用户的手写内容会保留在设备上,该识别过程无需任何网络连接即可执行
  • 支持 300 多种语言和 25 多种书写系统,请参阅所支持语言的完整列表
  • 识别表情符号和基本形状
  • 可根据需要动态下载语言包,从而节省设备上的存储空间

识别器将 Ink 对象作为输入。Ink 是用户在屏幕上所写内容的矢量表示:一系列笔触,每个笔画都是一系列坐标,其中包含时间信息,称为“接触点”。当用户松开触控笔或手指时,笔画开始,当用户抬起触控笔或手指时,笔画结束。Ink 会传递给识别器,识别器会根据置信度返回一个或多个可能的识别结果。

示例

英文手写

下面的左图显示了用户在屏幕上绘制的内容。右侧图片是相应的 Ink 对象。它包含一些笔触,红点表示每个笔画中的接触点。

    

一共分为四笔。Ink 对象中的前两个笔画如下所示:

墨水
描边 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
RecognitionCandidate 1
RecognitionCandidate 2 Handrw
候选识别 3 硬硬件
RecognitionCandidate 4 手图
RecognitionCandidate 5 Handwe

手势

手势分类器将手写笔触分类为下面列出的九种手势类别之一。

手势 示例
arch:above
arch:below
caret:above
caret:below
circle
corner:downleft
scribble
strike
verticalbar
writing

表情符号素描

下面的左图显示了用户在屏幕上绘制的内容。右侧图片是相应的 Ink 对象。它包含一些笔触,红点表示每个笔画中的接触点。

    

Ink 对象包含六笔画。

           

墨水
描边 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
RecognitionCandidate 1 😂? (U+1f62d)
RecognitionCandidate 2 😝? (U+1f605)
候选识别 3 😹? (U+1f639)
RecognitionCandidate 4 😄? (U+1f604)
RecognitionCandidate 5 😝? (U+1f606)