Với API nhận dạng mực kỹ thuật số của Bộ công cụ học máy, bạn có thể nhận dạng văn bản viết tay và phân loại các cử chỉ trên một bề mặt kỹ thuật số bằng hàng trăm ngôn ngữ, cũng như phân loại các bản phác thảo. API nhận dạng mực kỹ thuật số sử dụng cùng một công nghệ giúp hỗ trợ tính năng nhận dạng chữ viết tay trong Gboard, Google Dịch và trò chơi Quick, Draw!.
Tính năng nhận dạng mực kỹ thuật số cho phép bạn:
- Viết trên màn hình thay vì nhập trên bàn phím ảo. Tính năng này cho phép người dùng vẽ các ký tự không có trên bàn phím, chẳng hạn như ệ, gặp hoặc 森 cho bàn phím chữ cái Latinh.
- Thực hiện các thao tác văn bản cơ bản (thao tác, chỉnh sửa, chọn, v.v.) bằng cử chỉ.
- Nhận biết hình dạng và biểu tượng cảm xúc do vẽ tay.
Tính năng nhận dạng mực kỹ thuật số hoạt động dựa trên những nét vẽ mà người dùng vẽ trên màn hình. Nếu bạn cần đọc văn bản trong hình ảnh chụp bằng máy ảnh, hãy sử dụng API Nhận dạng văn bản.
Tính năng nhận dạng mực kỹ thuật số hoạt động hoàn toàn ngoại tuyến và được hỗ trợ trên Android và iOS.
Các chức năng chính
- Chuyển đổi văn bản viết tay thành chuỗi ký tự unicode
- Chạy trên thiết bị gần như theo thời gian thực
- Chữ viết tay của người dùng vẫn ở trên thiết bị, hoạt động nhận dạng được thực hiện mà không cần bất kỳ kết nối mạng nào
- Hỗ trợ hơn 300 ngôn ngữ và hơn 25 hệ thống chữ viết, hãy xem danh sách đầy đủ các ngôn ngữ được hỗ trợ
- Hỗ trợ phân loại cử chỉ cho các ngôn ngữ này thông qua tiện ích
-x-gesture
- Hỗ trợ phân loại cử chỉ cho các ngôn ngữ này thông qua tiện ích
- Nhận dạng biểu tượng cảm xúc và các hình dạng cơ bản
- Duy trì dung lượng lưu trữ trên thiết bị thấp bằng cách tự động tải các gói ngôn ngữ xuống khi cần
Trình nhận dạng này lấy đối tượng Ink
làm dữ liệu đầu vào. Ink
là một cách biểu diễn vectơ của nội dung người dùng đã viết trên màn hình: một chuỗi các nét, mỗi nét là một danh sách toạ độ kèm theo thông tin thời gian được gọi là điểm chạm. Nét vẽ sẽ bắt đầu khi người dùng đặt bút cảm ứng hoặc ngón tay xuống và kết thúc khi họ nhấc ngón tay lên. Ink
được chuyển đến một trình nhận dạng. Hàm này sẽ trả về một hoặc nhiều kết quả nhận dạng có thể có với mức độ tin cậy.
Ví dụ
Chữ viết tay tiếng Anh
Hình ảnh bên trái dưới đây cho thấy nội dung người dùng đã vẽ trên màn hình. Hình ảnh ở bên phải là đối tượng Ink
tương ứng. Nó chứa các nét vẽ có các chấm màu đỏ đại diện cho các điểm tiếp xúc trong mỗi nét vẽ.
Có 4 nét. 2 nét đầu tiên trong đối tượng Ink
sẽ có dạng như sau:
Mực | ||
---|---|---|
Nét 1 | x
|
392, 391, 389, 287, ... |
y
|
52, 60, 76, 97, ... | |
t
|
0, 37, 56, 75, ... | |
Nét 2 | x
|
497, 494, 493, 490, ... |
y
|
167, 165, 165, 165, ... | |
t
|
694, 742, 751, 770, ... | |
... |
Khi bạn gửi Ink
này cho một trình nhận dạng tiếng Anh, hệ thống sẽ trả về một số bản chép lời có thể có, chứa 5 hoặc 6 ký tự. Các biến này được sắp xếp theo mức độ tin cậy giảm dần:
RecognitionResult | |
---|---|
Ứng viên công nhận số 1 | thủ công |
Ứng viên công nhận số 2 | thủ công |
Ứng viên công nhận số 3 | chó cứng |
Đề xuất công nhận số 4 | thủ công |
Đề xuất công nhận số 5 | thuận tay |
Cử chỉ
Thuật toán phân loại cử chỉ phân loại một nét mực thành một trong 9 lớp cử chỉ nêu dưới đây.
arch:above arch:below |
|
caret:above caret:below |
|
circle |
|
scribble |
|
strike |
|
verticalbar |
|
writing |
Hình phác hoạ biểu tượng cảm xúc
Hình ảnh bên trái dưới đây cho thấy nội dung người dùng đã vẽ trên màn hình. Hình ảnh ở bên phải là đối tượng Ink
tương ứng. Nó chứa các nét vẽ có các chấm màu đỏ đại diện cho các điểm tiếp xúc trong mỗi nét vẽ.
Đối tượng Ink
có 6 nét vẽ.
Mực | ||
---|---|---|
Nét 1 | x
|
269, 266, 262, 255, ... |
y
|
40, 40, 40, 41, ... | |
t
|
0, 36, 56, 75, ... | |
Nét 2 | x
|
179, 182, 183, 185, ... |
y
|
157, 158, 159, 160, ... | |
t
|
2475, 2522, 2531, 2541, ... | |
... |
Khi gửi Ink
này cho trình nhận dạng biểu tượng cảm xúc, bạn sẽ nhận được một số bản chép lời có thể có, theo thứ tự giảm dần độ tin cậy:
RecognitionResult | |
---|---|
Ứng viên công nhận số 1 | 😂 (U+1f62d) |
Ứng viên công nhận số 2 | 😅 (U+1f605) |
Ứng viên công nhận số 3 | 😹 (U+1f639) |
Đề xuất công nhận số 4 | 😄 (U+1f604) |
Đề xuất công nhận số 5 | 😆 (U+1f606) |