Đồ án Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt

Nhận dạng chữ viết tay là một đề tài rất quan trọng. Chủ đề này đã được nghiên cứu trong vài thập kỷ qua. Ngôn ngữ được hướng đến nhiều nhất là tiếng Anh, trong đó mỗi ký tự chỉ gồm một chữ cái, do đó kết quả thường cao hơn các ngôn ngữ khác. Trong tiếng Việt ngoài ký tự đơn lẻ như tiếng Anh còn có thể chứa thêm một hoặc hai dấu. Do đó, kết quả nghiên cứu trên tiếng Việt còn hạn chế. Hiện nay có các phần mềm nhận dạng chữ Việt in rất nổi tiếng, ví dụ như: VietOCR, ABBYY, VnDOCR,

pdf9 trang | Chia sẻ: lecuong1825 | Lượt xem: 1873 | Lượt tải: 5download
Bạn đang xem nội dung tài liệu Đồ án Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
i MỤC LỤC TỔNG QUAN VỀ ĐỀ TÀI ................................................................................ 1 CHƯƠNG 1. CƠ SỞ LÝ THUYẾTERROR! BOOKMARK NOT DEFINED. 1.1. MẠNG NEURON NHÂN TẠO ...... ERROR! BOOKMARK NOT DEFINED. 1.1.1. Cấu trúc và mô hình mạng neuronError! Bookmark not defined. 1.1.2. Cấu tạo và phƣơng thức làm việc của mạng neuronError! Bookmark not defined. 1.1.3. Các luật học ............................... Error! Bookmark not defined. 1.2. MẠNG NEURON KOHONEN ...... ERROR! BOOKMARK NOT DEFINED. 1.2.1. Giới thiệu ................................... Error! Bookmark not defined. 1.2.2. Mạng neuron Kohonen .............. Error! Bookmark not defined. CHƯƠNG 2. THIẾT KẾ VÀ XÂY DỰNG CHƢƠNG TRÌNH ..................... 3 2.1. GIỚI THIỆU ............................... ERROR! BOOKMARK NOT DEFINED. 2.2. PHÁT BIỂU BÀI TOÁN ............... ERROR! BOOKMARK NOT DEFINED. 2.3. CÁC BƢỚC GIẢI QUYẾT BÀI TOÁNERROR! BOOKMARK NOT DEFINED. 2.3.1. Xây dựng mạng neuron ............. Error! Bookmark not defined. 2.3.2. Xử lý dữ liệu ............................. Error! Bookmark not defined. 2.3.3. Huấn luyện mạng neuron .......... Error! Bookmark not defined. 2.3.4. Nhận dạng ký tự ........................ Error! Bookmark not defined. 2.3.5. Hậu xử lý dữ liệu ....................... Error! Bookmark not defined. CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ............................... 3 3.1. MÔI TRƢỜNG TRIỂN KHAI .................................................................. 3 3.2. GIAO DIỆN CHƢƠNG TRÌNH ................................................................ 3 3.3. ĐÁNH GIÁ VÀ NHẬN XÉT ................................................................... 4 ii DANH MỤC HÌNH VẼ Hình 1: Một neuron sinh học ............................ Error! Bookmark not defined. Hình 2: Sự liên kết các neuron ......................... Error! Bookmark not defined. Hình 3: Mô hình một neuron nhân tạo ............. Error! Bookmark not defined. Hình 4: Đồ thị các dạng hàm truyền ................. Error! Bookmark not defined. Hình 5: Cấu trúc huấn luyện mạng neuron ....... Error! Bookmark not defined. Hình 6: Học có giám sát ................................... Error! Bookmark not defined. Hình 7: Học không giám sát ............................. Error! Bookmark not defined. Hình 8: Sơ đồ cấu trúc chung của quá trình họcError! Bookmark not defined. Hình 9: Một dạng mạng neuron Kohonen ........ Error! Bookmark not defined. Hình 10: Các bƣớc trong nhận dạng ký tự ....... Error! Bookmark not defined. Hình 11: Cấu trúc mạng neuron Kohonen ........ Error! Bookmark not defined. Hình 12: Xác định dấu thanh và dấu mũ. ......... Error! Bookmark not defined. Hình 13: Xác định ký tự có dấu thanh hay dấu mũ.Error! Bookmark not defined. Hình 14: Xác định dấu thanh ............................ Error! Bookmark not defined. Hình 15: Giao diện phần mềm nhận dạng ký tự ................................................. 3 Hình 16: Giao diện phần mềm huấn luyện ký tự ................................................ 4 Hình 17: Kết quả nhận dạng với ký tự không dấu .............................................. 4 Hình 18: Kết quả nhận dạng với ký tự có dấu mũ .............................................. 5 Hình 19: Kết quả nhận dạng với đầu vào là ảnh ................................................ 6 Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt TỔNG QUAN VỀ ĐỀ TÀI 1. Bối cảnh và lý do thực hiện đề tài Nhận dạng chữ viết tay là một đề tài rất quan trọng. Chủ đề này đã đƣợc nghiên cứu trong vài thập kỷ qua. Ngôn ngữ đƣợc hƣớng đến nhiều nhất là tiếng Anh, trong đó mỗi ký tự chỉ gồm một chữ cái, do đó kết quả thƣờng cao hơn các ngôn ngữ khác. Trong tiếng Việt ngoài ký tự đơn lẻ nhƣ tiếng Anh còn có thể chứa thêm một hoặc hai dấu. Do đó, kết quả nghiên cứu trên tiếng Việt còn hạn chế. Hiện nay có các phần mềm nhận dạng chữ Việt in rất nổi tiếng, ví dụ nhƣ: VietOCR, ABBYY, VnDOCR, Những phần mềm đƣợc nêu trên chỉ phục vụ cho việc nhận dạng chữ Việt in, chính vì vậy đề tài của em đề ra một hƣớng giải quyết đối với bài toán nhận dạng chữ viết tay tiếng Việt. 2. Phương pháp triển khai đề tài Trong đề tài này đề xuất một giải pháp nhận dạng dòng văn bản có dấu, các dấu đƣợc viết riêng lẻ không dính liền nhau. Từ ảnh ban đầu, thông qua việc phân tích ảnh để tìm ký tự, quá trình tiền xử lý ký tự, cách giải quyết bắt đầu theo lần lƣợt là việc tách từng dòng ký tự, tách từng từ trong mỗi dòng, tách từng ký tự trong mỗi từ và tách từng phần của ký tự (nếu có) trong mỗi ký tự bằng kỹ thuật gán nhãn vùng liên thông. Tiếp theo, với ký tự có nhiều phần đƣợc phân vào hai lớp: dấu đơn (ký tự có mũ hoặc dấu thanh) và dấu kép (ký tự có mũ và dấu thanh). Quá trình nhận biết mũ hay dấu thanh đƣợc thực hiện bằng phƣơng pháp tính số điểm tiếp xúc. Sau khi nhận biết đƣợc dấu thanh và dấu mũ, các ký tự và dấu đƣợc nhận dạng bằng việc sử dụng mạng neuron Kohonen. Sau đó thực hiện việc ghép các ký tự và các dấu đã đƣợc nhận dạng lại với nhau theo thứ tự nhƣ trong ảnh ban đầu. Giải pháp đề xuất đã đƣợc thử nghiệm và thu đƣợc hiệu quả khả quan. Ngôn ngữ lập trình: Java. Công cụ lập trình: Eclipse. Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt 3. Kết cấu của đồ án Kết cấu của đồ án gồm có các nội dung sau: Tổng quan về đề tài Chƣơng 1: Cơ sở lý thuyết - Giới thiệu mạng neuron nhân tạo - Tìm hiểu mạng neuron Kohonen Chƣơng 2: Thiết kế và xây dựng chƣơng trình - Giới thiệu tổng quan về chƣơng trình - Thực hiện các bƣớc giải quyết bài toán Chƣơng 3: Triển khai và đánh giá kết quả Kết luận và hƣớng phát triển Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 1.1. Môi trường triển khai Ngôn ngữ: Java IDE: Eclipse Tập dữ liệu đầu vào là những ảnh có định dạng (PNG, JPG, BMP, JPEG). 1.2. Giao diện chương trình Giao diện chƣơng trình  Recognition Thực hiện việc mở một ảnh sau đó nhấn vào button nhận dạng, kết quả nhận dạng sẽ đƣợc hiển thị ở phần bên phải (Recognized Text). - Gồm 1 TextField hiển thị kết quả nhận dạng. - Có các Button phục vụ việc nhận dạng hay mở ảnh. Hình 1: Giao diện phần mềm nhận dạng ký tự  Training Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt Có một danh sách các ký tự bên trái, các ký tự này có đƣợc sau khi mở file. Ở giữa là vùng cho phép vẽ thực hiện việc vẽ ký tự và các button ở dƣới có các chức năng nhƣ lƣu ký tự đó hay là nhận dạng ký tự vừa vẽ xong, - Gồm 1 List các ký tự trong tập huấn luyện. - Có 1 vùng cho phép vẽ bằng chuột. - Nhiều Button thực hiện các chức năng khác nhau. Hình 2: Giao diện phần mềm huấn luyện ký tự 1.3. Đánh giá và nhận xét Một số ảnh và kết quả nhận dạng đƣợc  Đối với nhận dạng ký tự Hình 3: Kết quả nhận dạng với ký tự không dấu Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt Hình 4: Kết quả nhận dạng với ký tự có dấu mũ  Đối với nhận dạng với đầu vào là ảnh Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt Hình 5: Kết quả nhận dạng với đầu vào là ảnh Ứng dụng mạng neuron nhân tạo để nhận dạng ký tự viết tay tiếng Việt KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Những kết quả đạt được Nhƣ đã trình bày ở trên đây, nội dung nghiên cứu trong đề tài của em gồm có các phần chính sau:  Tìm hiểu mạng neuron nhân tạo.  Tìm hiểu bài toán nhận dạng.  Mô tả bài toán ứng dụng mạng neuron trong nhận dạng ký tự.  Phân tích cụ thể bài toán nhận dạng.  Cài đặt và kiểm tra thực nghiệm bài toán này. Nhận dạng ký tự là một phần rất quan trọng của lĩnh vực nhận dạng nói riêng và xử lý ảnh nói chung. Cùng với việc sử dụng công cụ là mạng neuron là một lĩnh vực còn khá mới cần đƣợc phát triển hơn. 2. Những vấn đề tồn tại Chƣa thể giải quyết bài toán các ký tự và dấu dính liền nhau. Việc nhận dạng ký tự in hoa và ký tự thƣờng trong một số trƣờng hợp nhƣ o và O, v và V, chƣa thể phân biệt đƣợc. 3. Hướng phát triển Nâng cao hiệu quả và độ chính xác trong việc nhận dạng ký tự. Nhận dạng đƣợc với ký tự và dấu dính liền nhau. 4. Tự đánh giá Mặc dù em đã cố gắng hoàn thiện đề tài, nhƣng chắc chắn không thể tránh đƣợc những thiếu sót, em rất mong nhận đƣợc sự chỉ bảo và giúp đỡ của các thầy cô giáo, cùng với sự góp ý kiến của những ai quan tâm.