Nhận dạng chữ viết tay
Các nghiên cứu về nhận dạng chữ viết tay đã được phát triển từ hơn nửa thập kỷ qua và đạt được nhiều thành quả thiết thực. Ở mức khái niệm, kỹ thuật nhận dạng chữ viết tay được chia thành hai phương pháp chính : (i) nhận dạng chữ viết gián tiếp dựa trên thông tin tĩnh (off-line handwriting recognition): chương trình sẽ thông dịch các kí tự, các chữ hay các đoạn văn được viết trên các mẫu giấy hoặc các các bề mặt khác mà chúng ta có thể thu thập thông tin về chúng thông qua hình ảnh thu được từ các bề mặt bằng cách chụp lại hình ảnh.(ii) nhận dạng chữ viết trực tiếp dựa trên thông tin động (online handwriting recognition): nhận dạng ký tự hoặc chữ viết dựa trên thông tin thu được trong thời gian thực ngay lúc người dùng thực hiện hành động viết, những thông tin đó là tốc độ viết, áp lực khi viết và hướng viết.
Hướng tiếp cận của đề tài nghiên cứu này là nhận dạng dựa trên thông tin tĩnh. Mặc dù phương pháp nhận dạng trực tiếp đang được áp dụng rộng rãi trên các thiết bị di động, nhưng nhận dạng tĩnh lại có những ưu điểm khác. Phương pháp này không dừng lại ở việc ứng dụng và hoàn thiện trên các thiết bị di động, mà còn có khả năng mở rộng sang các ứng dụng khác như đọc các văn bản viết trên giấy cũng như ứng dụng vào khả năng đọc và hiểu chữ của robot.
Đầu tiên, chúng ta dùng giải thuật làm mỏng nét ký tự để giữ lại bộ khung ký tự, loại bỏ các thông tin dư thừa về hình dạng của kí tự. Sau đó, những thông tin đặc trưng được rút trích dựa trên bộ khung này bằng phương pháp rút trích thông tin theo chiều và kết hợp những véctơ đặc điểm cục bộ với các thông tin về cấu trúc toàn cục sẽ nhận dạng chữ viết. Tiếp theo, chiều của các phần đoạn thẳng tạo nên các ký tự được dò tìm, các pixel được thay thế bằng các giá trị chiều thích hợp. Cuối cùng, các đặc điểm của kí tự được huấn luyện và phân loại bởi mạng nơron.
Những nét đặc trưng của hệ thống nhận dạng chữ viết tay
Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý (preprocessing), phân mảnh (segmentation), biểu diễn (representation), huấn luyện và nhận dạng (training and recognition), hậu xử lý (postprocessing).
(i) Tiền xử lý: giảm nhiễu cho các lỗi trong quá trình quét ảnh, hoạt động viết của con người, chuẩn hóa dữ liệu và nén dữ liệu.
(ii) Phân mảnh: chia nhỏ văn bản thành những thành phần nhỏ hơn, phân mảnh các từ trong câu hay các kí tự trong từ.
(iii) Biểu diễn, rút trích đặc điểm: giai đoạn đóng vai trò quan trọng nhất trong nhận dạng chữ viết tay. Để tránh những phức tạp của chữ viết tay cũng như tăng cường độ chính xác, ta cần phải biểu diễn thông tin chữ viết dưới những dạng đặc biệt hơn và cô đọng hơn, rút trích các đặc điểm riêng nhằm phân biệt các ký tự khác nhau.
(iv) Huấn luyện và nhận dạng: phương pháp điển hình so trùng mẫu, dùng thống kê, mạng nơ-ron, trí tuệ nhân tạo hay dùng phương pháp kết hợp các phương pháp trên.
(v) Hậu xử lý: sử dụng các thông tin về ngữ cảnh để giúp tăng cường độ chính xác, dùng từ điển dữ liệu.
Mô tả quá trình trong hệ thống nhận dạng. Sơ đồ gồm hai phần chính: đường màu đỏ mô tả các bước để huấn luyện cho máy học, đường màu xanh mô tả các bước trong quá trình nhận dạng:
(i) Ban đầu các hình ảnh này đi qua giai đoạn chuyển ảnh về dạng ảnh nhị phân (giai đoạn tiền xử lý). Ảnh sẽ được lưu trữ dưới dạng ma trận điểm, vị trí pixel có nét vẽ sẽ mang giá trị 1, ngược lại có giá trị 0. Sau đó, ảnh được cắt xén để ký tự nằm trọn trong một khung chữ nhật, các vùng không gian không có nét vẽ được loại bỏ đi. Giải thuật cắt xén hiện thực đơn giản dựa trên ảnh nhị phân và thu giảm ảnh đã được cắt xén về một ảnh có kích thước chung đã được quy định trước.
(ii) Tiếp theo, ảnh đã được cắt xén và thu nhỏ được làm mỏng. Quá trình làm mỏng này giúp ta chỉ lấy những thông tin cần thiết về hình dạng của ký tự và loại bỏ các pixel dư thừa. Các chấm nhỏ trên hình biểu thị các pixel có giá trị 1 ban đầu. Sau khi làm mỏng, chỉ những pixel có ý nghĩa được giữ lại, và chúng được biểu diễn bằng các chấm to trong hình.
(iii) Ảnh sau quá trình làm mỏng chứa hầu hết các thông tin về hình dạng của ký tự. Những thông tin này sẽ được phân tích để rút trích ra các đặc điểm giúp việc phân loại các ký tự với nhau. Phương thức này dựa trên thông tin về hình dạng của ký tự như sự chuyển vị trí và sự chuyển chiều. Kết quả quá trình này là các véc-tơ đặc điểm chứa thông tin về ký tự. Các thông tin này giúp máy lấy được các đặc điểm của từng ký tự, phân loại chúng và tạo ra các thông tin cần thiết để nhận dạng các ký tự có chung ý nghĩa. Do chữ viết mỗi người mỗi khác nên ta không thể thu thập tất cả các nét chữ của từng người để máy học có thể nhận diện mà chỉ có thể dựa trên một số mẫu nào đó để nhận ra các nét chữ của những người viết khác nhau. Mạng nơ-ron nhân tạo (Artificial neural networks) có thể giải quyết vấn đề này.
(iv) Xây dựng mạng nơ-ron đồng nghĩa với việc thiết lập các thông số thích hợp trong mạng để giúp mạng có thể phân biệt được các ký tự có trong và ngoài mẫu. Các thông số của mạng nơ-ron sẽ được lưu lại và giúp cho quá trình nhận dạng. Sau một loạt các giai đoạn trên, chúng ta sẽ thu được những thông số cần thiết của mạng nơ-ron, và nó giúp hệ thống phân biệt được các kí tự viết tay. Và quá trình nhận dạng được trình bày phần sau sử dụng những kết quả từ quá trình máy học giúp hệ thống phân biệt các ký tự.
Giải thuật nhận dạng chữ viết tay
Trong khuôn khổ đề tài nghiên cứu này, thay vì sử dụng ảnh trong tập hợp mẫu cho trước, nhóm nghiên c ứu sử dụng ảnh thu được từ người dùng chương trình vẽ. Ảnh này qua các bước tiền xử lý cũng như rút trích đặc điểm trong quá trình huấn luyện. Mặt khác, thay vì các véc-tơ đặc điểm được đưa vào giai đoạn huấn luyện, các véc-tơ này sẽ được đưa vào giai đoạn nhận dạng. Giai đoạn này sử dụng các thông số của mạng nơron, các véc-tơ đặc điểm sẽ được đưa qua mạng nơ-ron và trả về véc-tơ xuất. Véc-tơ xuất chỉ ra bit ký tự vừa vẽ có ý nghĩa gì. Trong phương pháp này, họ chia cấu trúc của giải thuật thành hai quá trình với các giai đoạn theo trình tự sau:
- Quá trình huấn luyện: ảnh mẫu, ảnh nhị phân, cắt xét và thu nhỏ, làm mỏng ảnh, rút trích đặc điểm, xây dựng mạng nơ-ron.
- Quá trình nhận dạng: ảnh kí tự, ảnh nhị phân, cắt xét và thu nhỏ, làm mỏng ảnh, rút trích đặc điểm, nhận dạng.
Sử dụng mạng nơ-ron đề huấn luyện và nhận dạng
Mạng nơ-ron cung cấp một hướng tiếp cận mạnh cho các giá trị thực xấp xỉ, giá trị rời rạc hay các véc-tơ giá trị. Trong nhiều dạng của vấn đề, mạng nơ-ron nhân tạo là một trong những phương pháp máy học hiểu quả hiện nay. Trong phần nghiên cứu của mình, kỹ thuật mạng nơron truyền ngược (backpropagation), một trong những phương pháp hiểu quả trong trong nhiều bài toán, thích hợp bài toán nhận dạng chữ viết tay của chúng ta.
Mạng nơ-ron giúp xây dựng một tập cơ sở dữ liệu từ việc huấn luyện các tập mẫu có sẵn. Cơ sở dữ liệu này được dùng trong nhận dạng ký tự từ các đặc điểm phân tích được.
Kết quả nghiên cứu
Nhóm nghiên cứu đã phát triển một kỹ thuật nhận dạng ký tự viết tay dùng phương pháp nhận dạng dựa trên thông tin tĩnh. Phương pháp gồm hai bước: làm mỏng nét ký tự để giữ lại bộ khung của chúng và những thông tin đặc trưng được rút trích dựa trên bộ khung này bằng phương pháp rút trích thông tin theo chiều. Mặt khác, họ xây dựng mạng nơ-ron nhân tạo nhằm tạo ra cơ sở dữ liệu tri thức cho quá trình nhận dạng. Không giống như những phương pháp khác, phương pháp họ đề xuất sử dụng bộ khung, kết quả của quá trình làm mỏng, thay cho đường biên. Ưu điểm của sự cải tiến này không những làm giảm thời gian thi hành của giải thuật mà còn đưa ra các đặc điểm chính xác hơn. Mặt khác, thay vì các véc-tơ đặc điểm được đưa vào giai đoạn huấn luyện, các véc-tơ này sẽ được đưa vào giai đoạn nhận dạng.
Bên cạnh những ưu điểm trên, giải thuật làm mỏng không phù hợp chữ viết chữ quá nhỏ, các nét viết có thể dính từ nét này qua nét khác. Do đó, giải thuật có thể làm mất thông tin của ảnh. Khi chuẩn hóa các giá trị về chiều, một số trường hợp chuẩn hóa không trả về các giá trị mong muốn, làm sai lệch thông tin thực về nét vẽ. Chương trình phải huấn luyện trên hàng ngàn mẫu ký tự khác nhau. Do số mẫu được huấn luyện quá ít, không thể đánh giá xác thực được độ chính xác của chương trình một cách tuyệt đối.
Màu sắc của chữ sẽ không ảnh hưởng tới giải thuật trong trường hợp áp dụng trên các thiết bị di động. Nhưng nếu sử dụng trong trường hợp nhận dạng một trang giấy hay một bức thư thì cần áp dụng giải thuật phân mảnh và phân ngưỡng thích hợp để truy xuất vị trí các kí tự trong mặt giấy viết. Đây cũng là một phần ứng dụng trong hướng phát triển hỗ trợ khả năng đọc hiểu đoạn văn bản cho robot trong các nghiên cứu xa hơn.
Hướng phát triển sắp tới của nhóm nghiên cứu là tăng cường và bổ sung thêm một số các đặc điểm khác cần phải rút trích để tăng độ tin cậy và lưu những thông tin chính xác hơn về đặc trưng của ký tự. Mặt khác, nhóm áp dụng một số phương pháp cải tiến trong mạng nơ-ron để tăng độ tin cậy cho mạng. Đồng thời không dừng lai ở mức chỉ nhận dạng một kí tự đơn thuần, sắp tới họ sẽ cố gắng áp dụng các giải thuật phân mảnh để ứng dụng có khả năng đọc một từ gồm nhiều kí tự viết dính liền nhau, dẫn tới khả năng có thể đọc được cả một đoạn văn bản.