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.
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
- Obsługuje klasyfikację gestów dla tych języków za pomocą rozszerzeń
-x-gesture
- Obsługuje klasyfikację gestów dla tych języków za pomocą rozszerzeń
- 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.
arch:above arch:below |
|
caret:above caret:below |
|
circle |
|
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) |