디지털 잉크 인식

ML Kit의 디지털 잉크 인식 API를 사용하면 손으로 쓴 텍스트를 인식하고 수백 개의 언어로 디지털 표면에서 동작을 분류하고 스케치를 분류할 수 있습니다. 디지털 잉크 인식 API는 Gboard, Google 번역, Quick, Draw! 게임에서 필기 인식을 지원하는 것과 동일한 기술을 사용합니다.

디지털 잉크 인식으로 다음 작업을 할 수 있습니다.

  • 가상 키보드에서 입력하는 대신 화면에 작성합니다. 이를 통해 사용자는 라틴 알파벳 키보드의 ệ, À 또는 森와 같이 키보드에서 제공되지 않는 문자를 그릴 수 있습니다.
  • 동작을 사용하여 기본 텍스트 작업 (탐색, 수정, 선택 등)을 실행합니다.
  • 손으로 그린 도형과 이모티콘을 인식합니다.

디지털 잉크 인식은 사용자가 화면에 그리는 획과 함께 작동합니다. 카메라로 촬영한 이미지에서 텍스트를 읽어야 한다면 Text Recognition API를 사용합니다.

디지털 잉크 인식은 완전히 오프라인에서 작동하며 Android 및 iOS에서 지원됩니다.

iOS Android

주요 기능

  • 필기 텍스트를 일련의 유니코드 문자로 변환합니다.
  • 거의 실시간으로 기기에서 실행
  • 사용자의 필기는 기기에 유지되며 인식은 네트워크 연결 없이 실행됩니다.
  • 300개 이상의 언어 및 25개 이상의 쓰기 시스템을 지원합니다. 지원되는 언어의 전체 목록을 참고하세요.
  • 그림 이모티콘 및 기본 도형 인식
  • 필요에 따라 언어 팩을 동적으로 다운로드하여 기기 내 저장용량을 낮게 유지합니다.

인식기는 Ink 객체를 입력으로 사용합니다. Ink는 사용자가 화면에 작성한 내용을 벡터로 표현한 것으로, 의 시퀀스이며 각각 터치 포인트라는 시간 정보가 포함된 좌표 목록입니다. 획은 사용자가 스타일러스나 손가락을 내려놓으면 시작되며 손가락을 떼면 종료됩니다. Ink는 인식기에 전달되고 신뢰도가 높은 인식 결과를 하나 이상 반환합니다.

영어 필기

아래 왼쪽 이미지는 사용자가 화면에 그린 이미지를 보여줍니다. 오른쪽 이미지는 해당 Ink 객체입니다. 각 획 내의 터치 포인트를 나타내는 빨간색 점이 있는 획이 포함되어 있습니다.

    

획이 4개 있습니다. 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자가 포함된 변환 가능한 여러 스크립트가 반환됩니다. 신뢰도는 다음과 같이 정렬됩니다.

인식 결과
인식 후보 #1 Handw
인식 후보 #2 Handrw
인식 후보 #3 Harw
인식 후보 #4 한두
인식 후보 #5 핸드웨어

동작

동작 분류기는 잉크 스트로크를 아래에 나열된 9가지 동작 클래스 중 하나로 분류합니다.

동작
arch:above
arch:below
caret:above
caret:below
circle
corner:downleft
scribble
strike
verticalbar
writing

그림 이모티콘 스케치

아래 왼쪽 이미지는 사용자가 화면에 그린 이미지를 보여줍니다. 오른쪽 이미지는 해당 Ink 객체입니다. 각 획 내의 터치 포인트를 나타내는 빨간색 점이 있는 획이 포함되어 있습니다.

    

Ink 객체에는 6개의 획이 포함되어 있습니다.

           

잉크
스트로크 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 gy (U+1f62d)
인식 후보 #2 }{1+605}
인식 후보 #3 😹 (U+1f639)
인식 후보 #4 ⚠ (U+1f604)
인식 후보 #5 Id (U+1f606)