5

Sự cố hơi khác so với nhận dạng chữ viết tay truyền thống. Tôi có một tập dữ liệu có hàng ngàn điều sau đây. Đối với một ký tự được vẽ, tôi có một số tọa độ (x, y) tuần tự mà bút được nhấn xuống. Vì vậy, đây là một vấn đề tuần tự (thời gian).HMM có thể được sử dụng như thế nào để nhận dạng chữ viết tay?

Tôi muốn có thể phân loại các ký tự viết tay dựa trên dữ liệu này và muốn triển khai HMM cho mục đích học tập. Nhưng, đây có phải là cách tiếp cận đúng không? Làm thế nào họ có thể được sử dụng để làm điều này?

+0

Đó thực sự là một ý tưởng thú vị. Trong sự tò mò, là tọa độ thời gian của mỗi điểm được ghi lại là tốt (vì vậy tại thời điểm mili giây 1 tọa độ 30 x 45 được nhấn) hay chúng chỉ theo thứ tự tuần tự? – Turnsole

+0

Hiện tại nó chỉ là tuần tự. Đã suy nghĩ của làm một số thời gian năng động cong vênh để tài khoản cho nhân vật được rút ra chậm hơn/nhanh hơn – zebra

+0

Tôi nghĩ rằng đây là cách tiếp cận đúng. Bạn có thể bắt đầu, như thực hành, với việc nhận ra bảng chữ cái [palm graffite] (http://en.wikipedia.org/wiki/Graffiti_%28Palm_OS%29). – Maurits

Trả lời

2

Vấn đề này thực sự là một kết hợp của hai vấn đề:

  1. nhận một ký tự từ dữ liệu của bạn
  2. nhận một lời từ một (ồn ào) chuỗi các ký tự

Một HMM được sử dụng để tìm ra chuỗi có khả năng nhất của một số hữu hạn các trạng thái rời rạc ra khỏi các phép đo ồn. Đây chính xác là vấn đề 2, vì các phép đo ồn của các trạng thái rời rạc a-z, 0-9 theo sau eachother theo một trình tự.

Đối với vấn đề 1, HMM vô dụng vì bạn không quan tâm đến trình tự cơ bản. Những gì bạn muốn là để tăng thêm chữ số viết tay của bạn với thông tin về cách bạn đã viết nó.

Cá nhân, tôi sẽ bắt đầu bằng cách thực hiện thường xuyên nhận dạng chữ viết tay hiện đại, vốn đã rất tốt (với mạng nơ-ron xoắn ốc hoặc học sâu). Sau đó, bạn có thể thêm thông tin về cách nó được viết, ví dụ chiều kim đồng hồ/ngược chiều kim đồng hồ.

3

Tôi nghĩ rằng HMM có thể được sử dụng trong cả hai vấn đề được đề cập bởi @jens. Tôi đang làm việc trên chữ viết tay trực tuyến quá, và HMM được sử dụng trong nhiều bài viết. Cách tiếp cận đơn giản nhất là như sau:

  1. Chọn một đối tượng địa lý.
  2. Nếu tính năng được chọn liên tục chuyển đổi nó thành rời rạc.
  3. Chọn thông số HMM: Cấu trúc liên kết và số trạng thái.
  4. Mô hình ký tự tàu bằng HMM. một mô hình cho mỗi lớp.
  5. Thử nghiệm bằng cách sử dụng bộ thử nghiệm.

cho từng hạng mục:

  1. tính năng đơn giản nhất là góc của véc tơ nối liền điểm. Bạn có thể sử dụng các tính năng phức tạp hơn như góc của vectơ thu được bằng thuật toán Douglas & Peucker.
  2. cách đơn giản nhất để discretization là sử dụng mã Freeman, nhưng cụm thuật toán như k-means và GMM có thể được sử dụng quá.
  3. Cấu trúc liên kết HMM: Ergodic, Left-Right, Bakis và Linear. # of states có thể lấy được bằng cách dùng thử & lỗi. Thông số HMM có thể thay đổi cho mỗi mô hình . Số quan sát được xác định bằng cách cụ thể hoá. mẫu quan sát có thể có độ dài thay đổi.
  4. Tôi khuyên bạn nên dùng hộp công cụ Kevin Murphy HMM.
  5. Chúc may mắn.
Các vấn đề liên quan