Rozpoznawanie cyfrowych atramentów

Interfejs API rozpoznawania pisma cyfrowego w ML Kit umożliwia rozpoznawanie odręcznego tekstu i klasyfikowanie gestów na platformie cyfrowej w setkach języków, a także klasyfikowanie szkiców. Interfejs ten korzysta z tej samej technologii, która jest używana w Gboard, w Tłumaczu Google i w grze Quick, Draw!.

Rozpoznawanie pisma cyfrowego umożliwia:

  • Pisz po ekranie, zamiast pisać na klawiaturze wirtualnej. Dzięki temu użytkownicy mogą rysować znaki, które nie są dostępne na klawiaturze, np. ệ, अ lub 森 na klawiaturze z alfabetem łacińskim.
  • Wykonywanie podstawowych operacji na tekście (nawigacja, edytowanie, zaznaczanie itp.) za pomocą gestów.
  • Rozpoznawaj odręczne kształty i emotikony.

Cyfrowe rozpoznawanie atramentu obsługuje pociągnięcia rysowane przez użytkownika na ekranie. Jeśli chcesz odczytać tekst z obrazów zrobionych aparatem, użyj interfejsu Text Recognition API.

Rozpoznawanie pisma cyfrowego działa w pełni offline i jest obsługiwane na urządzeniach z Androidem oraz iOS.

iOS Android

Kluczowe funkcje

  • Konwertuje tekst odręczny na sekwencje znaków Unicode
  • Działa na urządzeniu w czasie zbliżonym do rzeczywistego
  • Pismo odręczne użytkownika pozostaje na urządzeniu, a rozpoznawanie odbywa się bez połączenia z siecią
  • Obsługuje ponad 300 języków i ponad 25 systemów pisania – zobacz pełną listę obsługiwanych języków
  • Rozpoznaje emotikony i podstawowe kształty
  • Utrzymuje mało miejsca na urządzeniu dzięki dynamicznemu pobieraniu pakietów językowych

Moduł rozpoznawania pobiera obiekt Ink jako dane wejściowe. Ink to wektorowa reprezentacja tego, co użytkownik napisał na ekranie: sekwencja kresek, z których każdy jest listą współrzędnych z informacjami o czasie nazywanymi punktami styczności z klientem. Kreska rozpoczyna się, gdy użytkownik przyłoży rysik lub palec, a kończy, gdy uniesie rysik. Wartość Ink jest przekazywana do modułu rozpoznawania, który zwraca co najmniej 1 możliwy wynik rozpoznawania z pewnymi poziomami ufności.

Przykłady

Angielskie pismo odręczne

Poniższa ilustracja po lewej stronie przedstawia, co użytkownik narysował na ekranie. Obraz po prawej stronie to odpowiedni obiekt Ink. Zawiera kreski z czerwonymi punktami, które reprezentują punkty styczności z klientem.

    

Są 4 styki. Pierwsze 2 kreski w obiekcie Ink wyglądają tak:

Atrament
Styl 1 x 392, 391, 389, 287, ...
y 52, 60, 76, 97...
t 0, 37, 56, 75, ...
Styl 2 x 497, 494, 493, 490...
y 167, 165, 165, 165...
t 694, 742, 751, 770, ...
...

Gdy wyślesz ten obiekt Ink do modułu rozpoznawania języka angielskiego, wyświetli się kilka możliwych transkrypcji zawierających 5 lub 6 znaków. Są one uporządkowane według malejącej ufności:

RecognitionResult
Kandydat nr 1 Handw
Kandydat nr 2 Handrw
Kandydat nr 3 twarde
Kandydat nr 4 Handu
Kandydat nr 5 Handwe

Gesty

Klasyfikatory gestów klasyfikują kreskę atramentem w jednej z 9 klas gestów wymienionych poniżej.

Gest Przykład
arch:above
arch:below
caret:above
caret:below
circle
corner:downleft
scribble
strike
verticalbar
writing

Szkice emotikonów

Poniższa ilustracja po lewej stronie przedstawia, co użytkownik narysował na ekranie. Obraz po prawej stronie to odpowiedni obiekt Ink. Zawiera kreski z czerwonymi punktami, które reprezentują punkty styczności z klientem.

    

Obiekt Ink zawiera 6 kresek.

           

Atrament
Styl 1 x 269, 266, 262, 255...
y 40, 40, 40, 41...
t 0, 36, 56, 75, ...
Styl 2 x 179, 182, 183, 185...
y 157, 158, 159, 160...
t 2475, 2522, 2531, 2541, ...
...

Gdy wyślesz ten kod Ink do modułu rozpoznawania emotikonów, otrzymasz kilka możliwych transkrypcji uporządkowanych według malejącej pewności siebie:

RecognitionResult
Kandydat nr 1 😂 (U+1F62D)
Kandydat nr 2 😃 (U+1F605)
Kandydat nr 3 😹 (U+1F639)
Kandydat nr 4 😄 (U+1F604)
Kandydat nr 5 😆 (U+1F606)