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

С 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 рука
ПризнаниеКандидат №3 хардв
Признание Кандидат #4 Ханду
Признание Кандидат #5 handwe

Жесты

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

Жест Пример
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)