đặt vấn đề, thu thập dữ liệu cho đến khâu viết báo cáo và kiểm nghiệm. Trên cơ sở đã có đƣợc đề tài và các mục tiêu đƣợc đặt thì việc còn lại chính là tìm kiếm các phƣơng pháp hiệu quả để đạt đƣợc các mục tiêu nhƣ mong muốn.1 Phƣơng pháp tài liệu Tìm hiểu các kỹ thuật xử lý ảnh số; tìm hiểu các kỹ thuật nhận dạng đối tƣợng, nhận dạng mẫu; tìm hiểu các phƣơng pháp trích đặc trƣng hiệu quả cho chữ viết tay. HVTH: Lê Hồng Phúc Trang 6 Luan van Hệ Thống Nhúng Nhận Dạng Chữ Viết Tay Tiếng Việt CBHD: TS. Hoàng Trang Tìm hiểu công cụ lập trình Qt Creator, thƣ viện xử lý ảnh OpenCV và một số thƣ viện liên quan phục vụ cho việc huấn luyện và nhận dạng.2 Phƣơng pháp thực nghiệm Xây dựng cơ sở dữ liệu ký tự huấn luyện bằng cách thu thập mẫu viết tay của nhiều nhóm đối tƣợng khác nhau và đồng thời sử dụng lại một số tập mẫu đã đƣợc thực hiện trên các đề tài tƣơng tự trƣớc đó.
Xây dựng ứng dụng trên máy tính và đánh giá tỷ lệ nhận dạng theo các phƣơng pháp trích chọn đặc trƣng. Tối ƣu hóa chƣơng trình và thực thi ứng dụng trên trên BeagleBoard-xM.6 Bố cục của luận văn Nội dung của luận văn đƣợc chia làm 5 chƣơng: Chƣơng 1: Giới thiệu tổng quan về đề tài, tình hình nghiên cứu, mục tiêu và giới hạn của đề tài. Chƣơng 2: Phần cơ sở lý thuyết. Trình bày các bƣớc cơ bản của một hệ thống nhận dạng mẫu trong xử ly ảnh; khái niệm về phân lớp dữ liệu và chi tiết về phƣơng pháp phân lớp SVM.
Nội dung của chƣơng cũng trình bày một số nguyên lý cơ bản của một số hàm trong OpenCV. Phần cuối của chƣơng sẽ giới thiệu sơ qua về hệ điều hành Angstrom và board nhúng BeagleBoard-xM. Chƣơng 3: Mô hình nhận dạng chữ viết tay tiếng việt. Trƣớc hết trình bày về bộ ký tự tiếng việt, cách phân chia thành các nhóm ký tự dựa trên thành phần liên thông.
Phần quan trọng đƣợc đề cập chính là việc đi sâu giới thiệu và giải thích chi tiết về một số sơ đồ thuật toán trong quá trình phân tách ký tự. Chƣơng 4: Xây dựng ứng dụng trên Board nhúng BeagleBoard-xM. Nội dung chƣơng này sẽ mô tả các bƣớc xây dựng ứng dụng trên board nhúng, các phƣơng pháp cũng nhƣ các công cụ đƣợc sử dụng cho việc biên dịch ứng dụng để có thể thực thi trên một hệ điều hành nhúng. Chƣơng 5: Kết quả và kết luận.
Trình bày và đánh giá các kết quả đạt đƣợc của đề tài, đƣa ra định hƣớng nghiên cứu và phát triển của đề tài. HVTH: Lê Hồng Phúc Trang 7 Luan van Hệ Thống Nhúng Nhận Dạng Chữ Viết Tay Tiếng Việt CBHD: TS. Hoàng Trang Chƣơng 2 CƠ SỞ LÝ THUYẾT 2.1 Các bƣớc trong một hệ thống nhận dạng chữ viết [19] Nhận dạng ký tự là một nhánh của kỹ thuật xử lý ảnh số, một hệ thống nhận dạng ký tự cần có một số bƣớc cơ bản nhƣ sau: Ảnh ký tự Tiền xử lý Phân vùng ký tự Trích đặc trƣng Phân lớp Bộ huấn luyện Ký tự đƣợc Hậu xử lý nhận dạng Hình 2.1: Các bƣớc cơ bản trong nhận dạng ký tự [19] 2.1 Tiền xử lý Ảnh ban đầu có thể đƣợc thu nhận thông qua nhiều thiết bị khác nhau nhƣ máy chụp ảnh, máy quay hoặc máy scan. Chất lƣợng ảnh đƣợc xử lý thông qua các thiết bị này có chất lƣợng rất thấp và bị ảnh hƣởng bởi nhiễu.
Một số khâu trong tiền xử lý sẽ giúp ta loại bỏ bớt các thành phần nhiễu, góp phần làm tăng độ chính xác cho một hệ thống nhận dạng. Ảnh sẽ đƣợc làm trơn, HVTH: Lê Hồng Phúc Trang 8 Luan van Hệ Thống Nhúng Nhận Dạng Chữ Viết Tay Tiếng Việt CBHD: TS. Hoàng Trang tăng giảm độ sáng, tách ngƣỡng, biến đổi cấp xám hay thực hiện cân bằng histogram, v. Đối với mô hình nhận dạng chữ viết, chúng ta cần thêm một số khâu nhƣ điều chỉnh độ nghiêng hay làm mãnh chữ.
Tùy theo mục đích ta sẽ ƣu tiên để loại bỏ một số khâu nhằm tăng tốc độ nhận dạng. Kết quả của bƣớc tiền xử lý sẽ cho một ảnh nhị phân với hai phần riêng biệt: phần nền đen và phần chữ trắng hay ngƣợc lại. Với kết quả này sẽ giúp ta dễ dàng thực hiện các phép toán trên điểm ảnh và khi đó tách rời từng ký tự để đƣa vào lấy mẫu và phân lớp.2 Phân vùng ký tự Là quá trình phân tích cấu trúc vật lý của trang văn bản nhằm xác định vị trí tƣơng đối của các vùng thông tin, thông tin ta quan tâm ở đây chính là ký tự. Đây có thể coi là bƣớc quan trọng nhất trong bất kỳ một hệ thống nhận dạng nào bởi nếu không tách đƣợc ký tự sẽ đồng nghĩa với việc ký tự đó sẽ không đƣợc nhận dạng.
Hai hƣớng tiếp cận phổ biến trong phân tích trang văn bản là: Hƣớng tiếp cận từ trên xuống: toàn bộ văn bản sẽ đƣợc coi là một khối, bằng cách sử dụng phƣơng pháp chiểu biểu đồ tần suất theo cả chiều ngang và chiều dọc. Nếu chiếu theo chiều ngang ta sẽ tách đƣợc các dòng văn bản và sau đó là các thành phần cơ bản của một dòng nhƣ: baseline, ascenders, descenders. Nếu chiếu theo chiều dọc ta sẽ tách đƣợc từng chữ sau đó là từng ký tự. Hƣớng tiếp cận từ dƣới lên: quá trình phân đoạn bắt đầu bằng việc xác định những thành phần liên thông nhỏ nhất, sau đó gộp chúng lại thành những thành phần lớn hơn, cho đến khi thu đƣợc tất cả các khối trong văn bản.3 Trích chọn đặc trƣng Nhƣ chúng ta đã biết, trích chọn đặc trƣng đóng vai trò hết sức quan trọng bởi nó cung cấp tri thức huấn luyện và nhận dạng cho cả một hệ thống nhận dạng.
Những thông tin hữu ích từ ảnh đầu vào sẽ đƣợc thể hiện nhƣ một tập hợp các véc tơ đặc trƣng. Tập các đặc trƣng này có thể đƣợc sử dụng trong nhiều mô hình máy học khác nhau. Do đó việc đánh giá và lựa chọn phƣơng pháp thích hợp cho quá trình này là điều hết sức cần thiết. Một phƣơng pháp trích đặc trƣng hiệu quả phải đảm HVTH: Lê Hồng Phúc Trang 9 Luan van Hệ Thống Nhúng Nhận Dạng Chữ Viết Tay Tiếng Việt CBHD: TS.
Hoàng Trang bảo những tiêu chí nhƣ không nhạy cảm với nhiễu, kiểu chữ, kích thƣớc, độ nghiêng, độ dịch chuyển và nhiều sự thay đổi khác của chữ viết. Chúng ta có thể kết hợp nhiều phƣơng pháp trích đặc trƣng khác nhau trong một bài toán nhận dạng mẫu. Một tập các véc tơ đặc trƣng lớn sẽ góp phần nâng cao độ chính xác cho hệ thống nhƣng nó lại là một vấn đề thách thức cho bất kỳ một phƣơng pháp phân loại nào, nhất đối với phƣơng pháp sử dụng máy học, bởi nó sẽ làm tăng đáng kể thời gian huấn luyện cũng nhƣ nhận dạng. Do đó cần phải đánh giá và lựa chọn những đặc trƣng quan trọng, có thể biểu diễn tốt đặc điểm của một ký tự hay con số sẽ làm cho hệ thống hoạt động nhanh hơn.
Tổng quan về các phƣơng pháp trích chọn đặc trƣng cho nhận dạng ký tự đƣợc đề cập trong [3] [20] [21], về cơ bản có thể chia thành 3 hƣớng tiếp cận chính: Trích chọn đặc trƣng thống kê: Một số phƣơng pháp phổ biến nhƣ chia lƣới (Zoning), phƣơng pháp chiếu (Projection histograms), phƣơng pháp giao điểm (Crossing) và khoảng cách (Distance). Các phƣơng pháp này đƣợc đánh giá khá cao, cho phép giải quyết các vấn đề về nhiễu, kích cỡ và một số thay đổi nhỏ trên ảnh nhƣng lại khá nhạy cảm với độ dịch chuyển và độ nghiêng. Trích chọn đặc trƣng cấu trúc: Trích chọn đặc trƣng về mặt cấu trúc phần lớn dựa trên tính chất hình học của chữ viết nhƣ các điểm uống, điểm nút, điểm cực trị, v. Hƣớng tiếp cận này sẽ khắc phục đƣợc vấn đề về độ nghiêng, độ dịch chuyển nhƣng khó xây dựng đƣợc tập mẫu huấn luyện.
Trích chọn đặc dựa vào phép biến đổi toàn cục: Các phƣơng pháp biến đổi toàn cục thƣờng đƣợc sử dụng nhƣ biến đổi Cosine rời rạc (DCT), biến đổi Fourier, biến đổi Wavelet Haar và các phƣơng pháp moment. Đặc điểm của phƣơng pháp này là khả năng bất biến với ảnh bị xoay hay dịch chuyển nhƣng lại không giải quyết tốt các vấn đề về nhiễu. Do đó các phƣơng pháp này yêu cầu giải quyết tốt khâu tiền xử lý để gia tăng chất lƣợng ảnh đầu vào.4 Phân lớp Đây là giai đoạn quan trọng nhất, giai đoạn này quyết định độ chính xác của hệ thống nhận dạng. Trong giai đoạn này, những đặc trƣng mới đƣợc rút trích từ các HVTH: Lê Hồng Phúc Trang 10 Luan van Hệ Thống Nhúng Nhận Dạng Chữ Viết Tay Tiếng Việt CBHD: TS.
Hoàng Trang ảnh của các ký tự cần đƣợc nhận dạng sẽ đƣợc đƣa vào bộ nhận dạng đã đƣợc xây dựng từ các mẫu huấn luyện. Kết quả ta sẽ có đƣợc các quyết định đúng đắn về loại (nhãn) của các mẫu mới. Có nhiều kỹ thuật phân lớp tiên tiến đã và đang đƣợc áp dụng cho bài toán nhận dạng chữ viết tay nhƣ HMM, mạng nơ-ron, K-láng giềng gần nhất, luật quyết định Bayes, máy véc tơ hỗ trợ SVM, v. Trong số các kỹ thuật này thì SVM đƣợc đánh giá là phƣơng pháp có độ chính xác phân lớp cao và phƣơng pháp luận của nó đƣợc xây dựng dựa trên một nền tảng toán học rất chặt chẽ.
Một số khái niệm về phƣơng pháp SVM sẽ đƣợc trình bày trong phần kế tiếp.5 Hậu xử lý Một bộ nhận dạng hiếm khi chỉ để dùng đơn lẻ. Thay vào đó nó thƣờng dùng để đƣa ra thao tác tƣơng ứng, mỗi thao tác mất một chi phí tƣơng ứng. Hậu xử lý sẽ dùng đầu ra của bộ phân lớp để quyết định thao tác tƣơng ứng. Theo quan niệm, cách đơn giản nhất để đánh giá hoạt động của một bộ nhận dạng là xem tỷ lệ nhận dạng sai với các mẫu mới.
Do đó chúng ta cần phải nhận dạng với tỷ lệ lỗi thấp nhất. Tuy nhiên chúng ta cần các thao tác tƣơng ứng phải làm cho tổng chi phí là thấp nhất. Có thể phải kết hợp các tri thức đã biết về chi phí, và nó sẽ có ảnh hƣởng đến việc ra các quyết định hành động. Chúng ta cũng cần ƣớc lƣợng trƣớc chi phí để xem có thỏa mãn hay không.2 Phân lớp dữ liệu [6] [22] 2.