Ứ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.. 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, VnD
Trang 1i
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 E RROR ! B OOKMARK 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 E RROR ! B OOKMARK 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 E RROR ! B OOKMARK NOT DEFINED 2.2 PHÁT BIỂU BÀI TOÁN E RROR ! B OOKMARK NOT DEFINED 2.3 CÁC BƯỚC GIẢI QUYẾT BÀI TOÁNERROR ! B OOKMARK 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
Trang 2ii
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
Trang 3Ứ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
Trang 43 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
Trang 5
Ứ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
Trang 6Có 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
Trang 7Ứ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
Trang 8Hình 5: Kết quả nhận dạng với đầu vào là ảnh
Trang 9Ứ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