Đồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tayĐồ án tốt nghiệp: Thiết kế hệ thống nhận diện chữ viết tay
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ HỆ THỐNG NHẬN DIỆN CHỮ VIẾT TAY SVTH MSSV SVTH MSSV Khoá Ngành GVHD : : : : : : : DƯƠNG NGỌC ANH 16141002 NGUYỄN THỊ THÙY TRANG 16141085 2016 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ VIỄN THƠNG THS LÊ MINH THÀNH Tp Hồ Chí Minh, tháng năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ HỆ THỐNG NHẬN DIỆN CHỮ VIẾT TAY SVTH MSSV SVTH MSSV Khoá Ngành GVHD : : : : : : : DƯƠNG NGỌC ANH 16141002 NGUYỄN THỊ THÙY TRANG 16141085 2016 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ VIỄN THÔNG THS LÊ MINH THÀNH Tp Hồ Chí Minh, tháng năm 2020 LỜI CẢM ƠN Đầu tiên chúng em xin gửi lời cảm ơn chân thành đến gia đình, bố mẹ tin tưởng ủng hộ cho chúng em theo học trường Đại học Sư Phạm Kỹ Thuật TP.HCM đến ngày hôm Chúng em xin gửi lời cảm ơn sâu sắc đến Ban Giám Hiệu nhà trường Khoa Đào Tạo Chất Lượng Cao tạo điều kiện hội cho chúng em học tập kiến thức thực tế chuyên ngành Em xin gửi lời tri ân sâu sắc đến thầy cô môn khoa Điện – Điện Tử, khoa Đào Tạo Chất Lượng Cao, đặc biệt thầy Lê Minh Thành – giảng viên hướng dẫn định hướng dẫn tận tình để chúng em hồn thành báo cáo cách trọn vẹn Lời cuối, chúng em xin gửi lời cảm ơn đến bạn học, anh chị ngành Điện tử – Viễn thơng khóa chúng em trao đổi, thảo luận đưa ý kiến, nhận xét tích cực trình thực đề tài Chúng em xin chân thành cảm ơn Tp Hồ Chí Minh, ngày tháng năm 2020 Sinh viên thực Dương Ngọc Anh i Nguyễn Thị Thùy Trang TÓM TẮT Hiện nay, hãng công nghệ đưa ứng dụng phục vụ riêng cho việc ghi ghép số thay cho ghi chép giấy truyền thống Dữ liệu viết tay lưu trữ, chỉnh sửa chuyển đổi sang nhiều định dạng theo ý muốn, tăng tính tiện lợi giảm chi phí bảo quản Với kiến thức tảng lập trình mạng nơ-ron, nhóm lựa chọn thực đề tài “Thiết kế hệ thống nhận diện chữ viết tay” với mong muốn có ứng dụng giao diện thân thiện tương tự Paint Microsoft, chức nhận diện chữ viết tay tiếng Anh người dùng Đây ứng dụng đơn giản, dễ dàng cài đặt tảng hệ điều hành Window Hệ thống thực phần mềm Microsoft Visual C# 2010 với kiến trúc mạng nơ-ron tích chập đa tầng Ngõ vào viết tay giao diện hệ thống, qua tiền xử lý, trích đặc trưng phân loại mạng nơ-ron huấn luyện trước Kết phân loại mạng nơ-ron đưa qua mô-đun nhận diện từ với giải thuật kiểm tra tả kết hiển thị giao diện hệ thống Trong báo cáo nhóm trình bày sơ đồ khối hệ thống, phân tích chức khối đưa phương án cụ thể với lưu đồ giải thuật tổng quát Từ kết thu được, nhóm đưa đánh giá cụ thể hệ thống có phương hướng cải thiện tương lai ii MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii MỤC LỤC iii DANH MỤC TỪ VIẾT TẮT v DANH MỤC HÌNH vi DANH MỤC BẢNG vii Chương 1: TỔNG QUAN 1.1 Tình hình nghiên cứu .1 1.2 Mục tiêu 1.3 Giới hạn đề tài .2 1.4 Bố cục đồ án Chương 2: CỞ SỞ LÝ THUYẾT 2.1 Tổng quan máy học 2.2 Phương pháp tiền xử lý 2.3 Phương pháp phân đoạn 2.4 Trích đặc trưng 2.4.1 Trích đặc trưng dựa hình thái học 2.4.2 Trích đặc trưng Gradient 2.5 Tổng quan mạng nơ-ron tích chập 2.6 Tổng quan tập liệu UNIPEN .11 Chương 3: THIẾT KẾ HỆ THỐNG NHẬN DIỆN CHỮ VIẾT TAY 14 3.1 Yêu cầu thiết kế 14 iii 3.2 Sơ đồ khối chức .14 3.3 Thiết kế khối 15 3.3.1 Tập liệu 15 3.3.2 Khối ngõ vào 17 3.3.3 Tiền xử lý 17 3.3.4 Khối trích đặc trưng khối phân loại 18 3.3.5 Khối kiểm tra tả hiển thị 27 3.4 Chương trình lưu đồ giải thuật 29 Chương 4: KẾT QUẢ NHẬN DIỆN CHỮ VIẾT TAY 35 4.1 Giao diện chương trình kết nhận diện 35 4.2 Đánh giá kết thực tế 43 Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44 5.1 Kết luận 44 5.2 Hướng phát triển 44 DANH MỤC TÀI LIỆU THAM KHẢO 45 PHỤ LỤC 47 iv DANH MỤC TỪ VIẾT TẮT CNN: Convolutional Neural Network KNN: K-Nearest Neighbors SVM: Support Vector Machine MLP: Multilayer Perceptron LSTM: Long Short-Term Memory v DANH MỤC HÌNH Hình 1.1: Ví dụ giới hạn phong cách chữ viết tay .2 Hình 1.2: Ví dụ phong cách viết tay không nhận diện Hình 2.1: Các giai đoạn xây dựng mơ hình máy học Hình 2.2: Cấu trúc nơ-ron Hình 2.3: Kiến trúc mạng LeNet5 chi tiết 11 Hình 2.4: Ví dụ ghi chép liệu UNIPEN HP .13 Hình 3.1: Sơ đồ khối hệ thống: a) Huấn luyện mạng nơ-ron b) Nhận diện 14 Hình 3.2: Một mẫu chữ số thu thập khối ngõ vào kích thước 1006x533 .17 Hình 3.3: Quá trình tạo đường bao tách đối tượng 18 Hình 3.4: Các ví dụ khác cho thuật tốn phân đoạn .18 Hình 3.5: Kiến trúc mạng nơ-ron tích chập đa tầng 19 Hình 3.6: Kiến trúc hình học cho mạng phân loại số .19 Hình 3.7: Lưu đồ giải thuật khối ngõ vào 29 Hình 3.8: Lưu đồ giải thuật chuyển đổi ảnh xám .30 Hình 3.9: Lưu đồ giải thuật tạo đường bao tách kí tự 32 Hình 3.10: Lưu đồ huấn luyện mạng nơ-ron tích chập 33 Hình 3.11: Lưu đồ nhận diện 34 Hình 4.1: Giao diện giới thiệu 35 Hình 4.2: Giao diện nhận diện hệ thống 35 Hình 4.3: Mẫu số – Chữ số 37 Hình 4.4: Mẫu số – Chữ thường số hỗn hợp 38 Hình 4.5: Mẫu số – Chữ in hoa .39 Hình 4.6: Mẫu số – Chữ in hoa chữ thường hỗn hợp .40 Hình 4.7: Mẫu số – Chữ in hoa chữ thường hỗn hợp .41 Hình 4.8: Mẫu số – Chữ số 41 Hình 4.9: Mẫu số – Chữ số 42 Hình 4.10: Mẫu số – Chữ in hoa chữ thường hỗn hợp .42 vi DANH MỤC BẢNG Bảng 2.1: Một số hàm truyền thông dụng Bảng 2.2: Số lượng mẫu tập UNIPEN Train-R01/V07 12 Bảng 3.1: Kế hoạch sử dụng tập liệu 15 Bảng 3.2: Ví dụ kiểu viết chữ số tập mẫu .16 Bảng 3.3: Ví dụ kiểu viết chữ thường tập mẫu .16 Bảng 3.4: Ví dụ kiểu viết chữ in hoa tập mẫu 16 Bảng 3.5: Bảng thông số kiến trúc mạng phân loại số .20 Bảng 3.6: Bảng thông số kiến trúc mạng phân loại chữ thường in hoa 21 Bảng 3.7: Tổng hợp độ xác kết kiểm thử 21 Bảng 3.8: Ma trận tương quan kiểm thử số 22 Bảng 3.9: Tỉ lệ nhận diện kiểm thử số 22 Bảng 3.10: Ma trận tương quan kiểm thử chữ in hoa .23 Bảng 3.11: Tỉ lệ nhận diện kiểm thử chữ in hoa 24 Bảng 3.12: Ma trận tương quan kiểm thử kí tự chữ thường 25 Bảng 3.13: Tỉ lệ nhận diện kiểm thử chữ thường .26 Bảng 3.14: Các kí tự dán nhãn cho kết nhận diện sai 26 Bảng 3.15: Ví dụ kết nhận diện từ khối hiển thị 27 Bảng 4.1: Các nút chức giao diện ngõ vào .36 Bảng 4.2: Thống kê kết nhận diện hệ thống .43 Bảng 4.3: Bảng kiểm định độ xác 43 vii Chương 1: TỔNG QUAN 1.1 Tình hình nghiên cứu Thế giới hướng tự động số hoá để hỗ trợ người nhiều lĩnh vực sống Trong lĩnh vực giáo dục, hệ thống dạy học điện tử dần thử nghiệm với mong muốn tăng hứng thú khả tiếp thu học sinh, sinh viên Để thay dần kiểu ghi chép giấy truyền thống, hãng công nghệ đưa ứng dụng phục vụ riêng cho việc ghi ghép số Dữ liệu lưu trữ, chỉnh sửa chuyển đổi sang nhiều định dạng theo ý muốn, giảm chi phí bảo quản Các ứng dụng ghi chép số cịn tích hợp thêm chức đọc văn nhiều ngôn ngữ, phục vụ cho việc dịch thuật, phát âm hỗ trợ người khiếm thị Dựa mô hệ thống thần kinh người, phương pháp nhận diện chữ viết tay đời khái niệm máy học mạng nơ-ron nhân tạo Gần nhất, nhóm nghiên cứu Felipe Petroski từ Mỹ giới thiệu thuật toán nhận diện chữ viết tay sử dụng mạng tích chập kết nối đầy đủ cho ngôn ngữ hệ la tinh[1] Đồng thời, nhóm nghiên cứu Haoran Liu từ Trung Quốc thực tạo liệu văn dạng hình ảnh tổng hợp cho tập liệu huấn luyện mạng nơ-ron[2] Bằng việc sử dụng số lượng lớn ảnh tổng hợp giảm bớt q trình q mẫu cải thiện độ xác nhận diện văn từ hình ảnh Lĩnh vực máy học học sâu không ngừng phát triển 60 năm qua Nhóm có mong muốn thiết kế hệ thống nhận diện chữ viết tay tiếng Anh giao diện đơn giản Paint Microsoft, dễ dàng cài đặt nhiều tảng, ứng dụng cho trẻ em người lớn với mục đích học ngoại ngữ chi phí thấp nhà mà khơng lo bị nhãng hay phân tâm từ Internet Với bước đầu tiếp cận với mơ hình mạng nơ-ron, nhóm có sử dụng nghiên cứu “Ứng dụng mạng nơ-ron đa tầng cho hệ thống nhận diện chữ viết tay on-line” tác giả Phạm Việt Dũng[3] kết hợp kiến thức tự tìm hiểu để thực đề tài “Thiết kế hệ thống nhận diện chữ viết tay” Hệ thống có mơ hình mạng nơ-ron tích chập, lập trình mơ phần mềm Microsoft Visual C# 2010 DANH MỤC TÀI LIỆU THAM KHẢO [1] F P Such, D Peri, F Brockler, H Paul, and R Ptucha (2018), “Fully convolutional networks for handwriting recognition”, Proc Int Conf Front Handwrit Recognition, ICFHR, vol 2018-Augus, pp 86–91 [2] H Liu and A Zhu (2019), “Synthesizing Scene Text Images for Recognition with Style Transfer”, 2019 Int Conf Doc Anal Recognit Work., vol 5, pp 8–13 [3] Phạm Việt Dũng (2014), “Multiple Convolution Neural Networks for an Online Handwriting Recognition System”, SIMUL 2014, vol 5, no.c, pp 108– 112 [4] S M Chelly, and C Denis (2016), “Getting Started with Machine Learning 2”, The MathWorks Inc., Mach Learn with MATLAB, Section [5] T Mathworks and MATLAB (2016), “Applying supervised learning”, The MathWorks Inc., vol 33, no 2, pp 326–333 [6] N Assiwal and N Sharma (2016), “A Geometric Feature Extraction Technique for Hindi Handwritten Character Recognition”, Int J Sci Technol Eng (IJSTE ), vol 2, no 12, pp 295–302 [7] Chris Nicholson (2019), “A Beginner’s Guide to Neural Networks and Deep Learning”, Journal of Chemical Information and Modeling, vol 53, no pp 1689–1699 [8] Y LeCun (1998), “Gradient-Based Learning Applied to Document Recognition”, pp 6–7 [9] Trần Cao Đệ (2011), “Chỉ mục ngữ nghĩa tiềm ẩn ứng dụng”, Đại học Cần Thơ, p 54 [10] I Guyon and R M Haralick (1996), “Data Sets For OCR And Document Image Understanding Research”, Handb Character Recognit Doc Image Anal., pp 779–799 [11] P Y Simard, D Steinkraus, and J C Platt (2013), “Best Practices for 45 Convolutional Neural Networks Applied to Visual Document Analysis Patrice”, Microsoft Res., no Icdar, pp 1–6 46 PHỤ LỤC (Chương trình C#) Chuyển đổi ảnh bitmap tiền xử lý bitmap = new Bitmap(drawArea.Width, drawArea.Height); drawArea.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); Tiền xử lý tạo đường bao kí tự public static Rectangle PatternRectangeBoundary(Bitmap original, int colorIndex, int hStep, int vStep, bool bTopStart) { if (hStep 1) { for (int i = 0; i < this.CurrentWord.Length; i++) { StringBuilder tempWord = new StringBuilder(this.CurrentWord); 56 tempWord.Remove(i, 1); if (this.TestWord(tempWord.ToString())) { result = tempWord.ToString(); isFoundWord = true; break; }}} return isFoundWord; } • Khối chèn từ: //Thử chèn kí tự trước kí tự mảng nhận dạng xem có tạo nên từ có nghĩa khơng private bool ForgotChar(out String result) { result = ""; bool isFoundWord = false; char[] tryme = this.Dictionary.TryCharacters.ToCharArray(); for (int i = 0; i -1) { string tempWord = this.CurrentWord.Substring(0, pos); tempWord += replacement; tempWord += this.CurrentWord.Substring(pos + key.Length); if (this.TestWord(tempWord)) { result = tempWord.ToString(); isFoundWord = true; return isFoundWord; } pos=this.CurrentWord.IndexOf(key,pos+ 1); }} return isFoundWord; 58 S K L 0 ... 13 Chương 3: THIẾT KẾ HỆ THỐNG NHẬN DIỆN CHỮ VIẾT TAY 3.1 Yêu cầu thiết kế Hệ thống nhận diện chữ viết tay có ngõ vào chữ viết thu thập trực tiếp từ cửa sổ giao diện hệ thống, nhận diện thơng... dựng hệ thống nhận diện chữ viết tay Trong phần có đề cập đến khái niệm lý thuyết ứng dụng hệ thống Chương 3: Thiết kế hệ thống nhận diện chữ viết tay Chương trình bày sơ đồ khối hoạt động hệ thống, ... nơ-ron đa tầng cho hệ thống nhận diện chữ viết tay on-line” tác giả Phạm Việt Dũng[3] kết hợp kiến thức tự tìm hiểu để thực đề tài ? ?Thiết kế hệ thống nhận diện chữ viết tay” Hệ thống có mơ hình