Распознавание цифровых чернил

С помощью API распознавания цифровых рукописных данных ML Kit вы можете распознавать рукописный текст и классифицировать жесты на цифровой поверхности на сотнях языков, а также классифицировать эскизы. API распознавания цифровых рукописных данных использует ту же технологию, которая обеспечивает распознавание рукописного ввода в Gboard, Google Translate и Quick, Draw! игра.

Распознавание цифровых чернил позволяет:

  • Пишите на экране, а не на виртуальной клавиатуре. Это позволяет пользователям рисовать символы, которых нет на их клавиатуре, например ệ, अ или 森 для клавиатур с латинским алфавитом.
  • Выполняйте основные операции с текстом (навигацию, редактирование, выделение и т. д.) с помощью жестов.
  • Распознавайте нарисованные от руки фигуры и смайлы.

Распознавание цифровых чернил работает с штрихами, которые пользователь рисует на экране. Если вам нужно прочитать текст с изображений, снятых камерой, используйте API распознавания текста .

Распознавание цифровых чернил работает полностью в автономном режиме и поддерживается на Android и iOS.

iOS Android

Ключевые возможности

  • Преобразует рукописный текст в последовательности символов Юникода.
  • Запускается на устройстве почти в реальном времени
  • Почерк пользователя остается на устройстве, распознавание осуществляется без подключения к сети.
  • Поддерживает более 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 в распознаватель английского языка, он возвращает несколько возможных транскрипций, содержащих пять или шесть символов. Они упорядочены по убыванию достоверности:

Результат распознавания
ПризнаниеКандидат №1 рука
ПризнаниеКандидат №2 Handrw
ПризнаниеКандидат №3 трудно
ПризнаниеКандидат №4 Ханду
ПризнаниеКандидат №5 руки мы

Жесты

Классификаторы жестов относят рукописный штрих к одному из девяти классов жестов, перечисленных ниже.

Жест Пример
arch:above
arch:below
caret:above
caret:below
circle
угол: нижний левый
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 в распознаватель смайлов, вы получаете несколько возможных транскрипций, упорядоченных по убыванию достоверности:

Результат распознавания
ПризнаниеКандидат №1 😂 (U+1f62d)
ПризнаниеКандидат №2 😅 (U+1f605)
ПризнаниеКандидат №3 😹 (U+1f639)
ПризнаниеКандидат №4 😄 (U+1f604)
ПризнаниеКандидат №5 😆 (U+1f606)