ỨNG DỤNG MÔ HÌNH MẠNG NƠRON TRONG NHẬN DẠNG CHỮVIẾT TAY RỜI RẠC HẠN CHẾTRỰC TUYẾN TRÊN TABLET PC
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Ngô Xuân Bách ỨNG DỤNG MÔ HÌNH MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC HẠN CHẾ TRỰC TUYẾN TRÊN TABLET PC KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Hà nội - 2006 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Ngô Xuân Bách ỨNG DỤNG MÔ HÌNH MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC HẠN CHẾ TRỰC TUYẾN TRÊN TABLET PC KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: PGS.TS. Ngô Quốc Tạo Cán bộ đồng hướng dẫn: ThS. Phạm Văn Hùng Hà nội - 2006 Khóa luận tốt nghiệp Ngô Xuân Bách LỜI CẢM ƠN Lời đầu tiên em xin được bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS. Ngô Quốc Tạo, thầy đã tận tình dạy dỗ và hướng dẫn em trong suốt năm học vừa qua. Em xin được bày tỏ lòng biết ơn tới ThS. Phạm Văn Hùng, người đã hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp. Em xin được bày tỏ lòng biết ơn tới các thầy, cô giáo trong Khoa Công nghệ thông tin, trường Đại họ c Công nghệ - ĐHQGHN. Các thầy cô đã dạy bảo, chỉ dẫn chúng em và luôn tạo điều kiện học tập tốt nhất cho chúng em trong những năm học đại học đặc biệt là trong thời gian thực hiện khóa luận tốt nghiệp. Tôi xin cảm ơn các bạn sinh viên lớp K47CA trường Đại học Công nghệ, những người bạn luôn bên cạnh ủng hộ tôi trong suốt những năm học đại h ọc. Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu thương nhất. Hà Nội, ngày 20/5/2006 Ngô Xuân Bách ii Khóa luận tốt nghiệp Ngô Xuân Bách TÓM TẮT Nhận dạng chữ viết tay trực tuyến là bài toán thu hút được rất nhiều sự quan tâm nghiên cứu của nhiều nhà khoa học trên thế giới, đặc biệt là trong những năm gần đây với sự ra đời và phổ biến của các máy tính xách tay, máy tính bỏ túi như Tablet PC, Pocket PC… Khóa luận này trình bày về một hệ thống nhận dạng chữ cái viết tay trực tuyến trên Tablet PC sử dụng mô hình mạng nơron với thuật toán học mô men. Ph ương pháp trích chọn đặc trưng được sử dụng là phương pháp vector hóa: từ dãy điểm thu được trong nét chữ, lấy ra một dãy các điểm cách đều nhau và tạo ra dãy các vector nối các điểm này. Thông tin được rút ra sau đó bao gồm hướng của các vector và góc giữa các vector liên tiếp. Hệ thống đã được thử nghiệm trên tập các chữ số 0, 1, …, 9 và tập các chữ cái Tiếng Việt a, ă, â và cho kết quả tốt. Từ khóa: neural networks, Tablet PC, hand-writing recognition, online hand- writing recognition. iii Khóa luận tốt nghiệp Ngô Xuân Bách MỤC LỤC LỜI CẢM ƠN ii TÓM TẮT iii MỤC LỤC iv DANH MỤC HÌNH VẼ vi DANH MỤC BẢNG BIỂU vii Chương 1: GIỚI THIỆU 1 1.1 Giới thiệu về nhận dạng chữ viết tay 1 1.2 Giới thiệu về công nghệ Tablet PC 2 1.2.1 Tablet PC là gì? 2 1.2.2 Bộ công cụ phát triển ứng dụng (The Tablet PC Platform SDK Version 1.5) 3 1.3 Xác định bài toán 5 1.4 Nội dung và cấu trúc của khóa luận 6 Chương 2: TỔNG QUAN VỀ MÔ HÌNH MẠNG NƠRON 8 2.1 Giới thiệu về mạng nơron nhân tạo 8 2.1.1 Mạng nơron nhân tạo là gì? 8 2.1.2 Lịch sử phát triển mạng nơron 8 2.1.3 So sánh mạng nơron với máy tính truyền thống 10 2.2 Nơron sinh học và nơron nhân tạo 11 2.2.1 Nơron sinh học 11 2.2.2 Nơron nhân tạo 12 2.3 Mô hình mạng nơron 14 2.3.1 Các kiểu mô hình mạng nơron 14 2.3.2 Perceptron 16 2.3.3 Mạng nhiều tầng truyền thẳng (MLP) 17 2.4 Huấn luyện mạng nơron 19 2.4.1 Các phương pháp học 19 2.4.2 Học có giám sát trong các mạng nơron 20 2.4.3 Thuật toán lan truyền ngược 21 2.5 Các vấn đề trong xây dựng mạng MLP 26 2.5.1 Chuẩn bị dữ liệu 26 2.5.2 Xác định các tham số cho mạng 28 2.5.3 Hiện tượng lãng quên (catastrophic forgetting) 31 2.5.4 Vấn đề quá khớp 32 Chương 3: MỘT MÔ HÌNH MẠNG NƠRON CHO NHẬN DẠNG CHỮ CÁI VIẾT TAY TRỰC TUYẾN 34 3.1 Xây dựng mô hình mạng nơron cho bài toán phân loại mẫu 34 3.1.1 Đề xuất mô hình mạng nơron cho bài toán phân loại mẫu 34 3.1.2 Kiểm nghiệm mô hình với bài toán phân loại sinh viên 36 3.2 Trích chọn đặc trưng cho nhận dạng chữ cái viết tay trực tuyến 38 3.2.1 Tổng quan về trích chọn đặc trưng 38 3.2.2 Trích chọn đặc trưng cho nhận dạng chữ cái viết tay trực tuyến 39 3.3 Huấn luyện mạng nơron và quá trình nhận dạng 46 3.3.1 Huấn luyện mạng nơron 46 iv Khóa luận tốt nghiệp Ngô Xuân Bách 3.3.2 Quá trình nhận dạng 47 Chương 4: CÀI ĐẶT VÀ THỬ NGHIỆM CHƯƠNG TRÌNH 49 4.1 Môi trường cài đặt 49 4.2 Chuẩn bị dữ liệu 49 4.3 Cài đặt chương trình nhận dạng chữ cái viết tay trực tuyến 50 4.3.1 Giao diện chương trình 50 4.3.2 Các chức năng của chương trình 51 4.3.3 Mô tả một số hàm chính trong chương trình 53 4.4 Kết quả thử nghiệm 55 4.4.1 Thử nghiệm với tập các chữ số: 0,1,2,…, 9 55 4.4.2 Thử nghiệm với các chữ cái Tiếng Việt đại diện: a, ă, â 56 Chương 5: KẾT LUẬN 57 5.1 Các kết đã quả đạt được 57 5.1.1 Về mặt lý thuyết 57 5.1.2 Về mặt thực tiễn 57 5.2 Hướng phát triển tiếp theo 57 TÀI LIỆU THAM KHẢO 59 v Khóa luận tốt nghiệp Ngô Xuân Bách DANH MỤC HÌNH VẼ Hình 1-1: Mô hình chung trong nhận dạng chữ viết 2 Hình 1-2: Một số Tablet PC 3 Hình 1-3: Quy định về thứ tự và hướng của chữ viết. 6 Hình 2-1: Cấu trúc của một nơron sinh học điển hình 11 Hình 2-2: Nơron nhân tạo. 12 Hình 2-3: Mạng tự kết hợp 15 Hình 2-4: Mạng kết hợp khác kiểu. 15 Hình 2-5: Mạng truyền thẳng 16 Hình 2-6: Mạng phản hồi 16 Hình 2-7: Perceptron 17 Hình 2-8:Mạng MLP tổng quát 18 Hình 2-9: Mối liên hệ giữa sai số và kích thước mẫu 26 Hình 2-10: Huấn luyện luân phiên trên hai tập mẫu 31 Hình 3-1: Mô hình mạng nơron cho bài toán phân loại mẫu 34 Hình 3-2: Thiết kế mẫu 35 Hình 3-3: Thiết kế mạng nơron 36 Hình 3-4: Chữ a với một nét và chữ ă với hai nét 39 Hình 3-5: Dãy các điểm của chữ 40 Hình 3-6: Dãy các vector của chữ 42 Hình 3-7: Mặt phẳng hướng 43 Hình 3-8: Góc giữa hai vector 45 Hình 3-9: Sơ đồ huấn luyện mạng nơron 46 Hình 4-1: Định dạng tệp nhị phân .pen 49 Hình 4-2: Định dạng tệp dữ liệu .dat. 50 Hình 4-3: Giao diện chương trình nhận dạng. 50 Hình 4-4: Định dạng tệp mô hình .model. 52 Hình 4-5: Một số mẫu chuẩn về các chữ số 55 Hình 4-6: Một số mẫu xấu về các chữ số 55 vi Khóa luận tốt nghiệp Ngô Xuân Bách DANH MỤC BẢNG BIỂU Bảng 2.1: Một số hàm truyền thông dụng[3] 13 Bảng 3.1: Kết quả thử nghiệm với bài toán phân loại sinh viên 38 Bảng 4.1: Kết quả thử nghiệm với tập các chữ số 56 Bảng 4.2: Kết quả thử nghiệm trên tập các chữ cái a, ă, â 56 vii Chương 1: Giới thiệu Chương 1: GIỚI THIỆU 1.1 Giới thiệu về nhận dạng chữ viết tay Bài toán nhận dạng tuy ra đời từ thập niên 60 của thế kỷ trước nhưng vẫn luôn nhận được sự quan tâm, nghiên cứu của nhiều nhà khoa học trên thế giới. Đặc biệt là trong những thập niên gần đây, cùng với quá trình đẩy mạnh tin học hóa trong mọi lĩnh vực đời sống xã hội, nhận dạng không chỉ còn là lĩnh vực nghiên cứu lý thuyết nữa mà đã được ứng dụng rộ ng rãi trong thực tế cuộc sống. Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay bao gồm nhận dạng các mẫu hình học (vân tay, mặt người, hình khối,…), nhận dạng tiếng nói và nhận dạng chữ viết. Chúng được áp dụng vào nhiều lĩnh vự như y học, dự báo thời tiết, dự báo cháy rừng, điều khiển robot, Trong các bài toán nhận dạng này, nhận dạng chữ viết là bài toán đang được ứng dụng phổ biến nhất hiện nay. Nhận dạng chữ viết bao gồm hai kiểu chính là nhận dạng chữ in và nhận dạng chữ viết tay. Cho đến nay bài toán nhận dạng chữ in đã được giải quyết khá trọn vẹn với sự ra đời của nhiều hệ thống nhận dạng đạt tới độ chính xác gần như tuyệt đối. Tiêu biểu có hệ nh ận dạng chữ in dựa trên mô hình mạng nơron bốn lớp của J. Wang và J.S.N. Jean được giới thiệu trong [14] đạt tới tỷ lệ chính xác 99.75%. Ở Việt Nam hiện đã có sản phẩm VNDOCR của Viện Công nghệ thông tin nhận dạng chữ in tiếng Việt với độ chính xác tới 99%. Nhận dạng chữ viết tay được chia thành hai lớp bài toán lớn là nhận dạng chữ viết tay trực tuyến (online) và nhận dạng chữ viết tay ngoại tuyến (offline). Trong nhận dạng chữ viết tay ngoại tuyến, dữ liệu đầu vào được cho dưới dạng các ảnh được quét từ các giấy tờ, văn bản. Ngược lại nhận dạng chữ viết tay trực tuyến là nhận dạng các chữ trên màn hình ngay khi nó được viết. Trong hệ nhận dạng này máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết, hướng và t ốc độ của nét… Ngày nay với tốc độ phát triển chóng mặt của công nghệ, bên cạnh Desktop PC, thì Tablet PC, Palmtop, Pocket PC,…ra đời ngày càng nhiều và đang rất được ưa chuộng bởi tính tiện dụng của nó. Đặc điểm nổi bật của các thiết bị này là chúng có hỗ trợ các thao tác với bút và mực, cho phép người dùng giao tiếp bằng cách dùng bút viết trực tiếp lên màn hình. Do đó trong những năm gần đây bài toán nhận dạng chữ vi ết tay trực tuyến càng thu hút được nhiều sự quan tâm. Mặc dù vậy có rất ít hệ thống nhận dạng chữ viết tay trực tuyến thành công, đặc biệt là chưa có hệ thống nhận dạng chữ viết tay trực tuyến nào cho Tiếng Việt được công bố. Thiết nghĩ bài toán nhận dạng chữ viết tay trực tuyến, đặc biệt là cho Tiếng Việt còn cần nhiều thời gian và công sức để có th ể tạo ra được những sản phẩm tốt, có nhiều ứng dụng trong thực tế. 1 Chương 1: Giới thiệu Hình 1-1: Mô hình chung trong nhận dạng chữ viết. Trong đó: ♦ Tiền xử lý: là quá trình chuẩn hóa dữ liệu vào, gồm các công việc như xử lý nhiễu, chuẩn hóa kích thước dữ liệu, … ♦ Trích chọn đặc trưng: là quá trình tìm ra các thông tin hữu ích và đặc trưng nhất cho mẫu đầu vào để sử dụng cho quá trình nhận dạng. ♦ Nhận dạng: là quá trình sử dụng một mô hình nhận dạng cụ thể v ới một thuật toán cụ thể để trả lời mẫu đầu vào là ký tự nào. ♦ Hậu xử lý: là quá trình xử lý kết quả cho phù hợp với từng ứng dụng cụ thể. 1.2 Giới thiệu về công nghệ Tablet PC 1.2.1 Tablet PC là gì? The Microsoft Tablet PC là máy tính cá nhân có trang bị hệ điều hành Windows XP Tablet PC Edition, được thiết kế cho các ứng dụng sử dụng bút (pen-enable), mực (ink-enable) và tiếng nói (speech-enable). 2 [...]... hiện trong khóa luận Ứng dụng mô hình mạng nơron trong nhận dạng chữ viết tay rời rạc hạn chế trực tuyến trên Tablet PC », công việc chính là « xây dựng chương trình nhận dạng chữ cái viết tay Tiếng Việt trực tuyến trên Tablet PC với mục đích đưa ra một giải pháp giải quyết một lớp con các bài toán nhận dạng chữ viết tay trực tuyến Từ đó tạo cơ sở để xây dựng và phát triển một sản phẩm nhận dạng. .. cơ bản về mạng nơron và áp dụng mô hình mạng nơron vào xây dựng hệ thống nhận dạng chữ cái viết tay trực tuyến trên Tablet PC Khóa luận được tổ chức theo cấu trúc như sau: Chương 1: Giới thiệu Chương một giới thiệu bài toán nhận dạng chữ viết tay bao gồm cả chữ viết tay trực tuyến và chữ viết tay ngoại tuyến, giới thiệu Tablet PC và bộ công cụ phát triển ứng dụng cho Tablet PC – The Tablet PC Platform... 3: Một mô hình mạng nơron cho nhận dạng chữ cái viết tay trực tuyến Chương ba trình bày nội dung phần việc chính thực hiện trong khóa luận bao gồm: ♦ Mô hình mạng nơron áp dụng cho lớp bài toán phân loại mẫu và kiểm nghiệm đánh giá sự hoạt động của mô hình ♦ Phương pháp trích chọn đặc trưng áp dụng cho bài toán nhận dạng chữ cái viết tay trực tuyến ♦ Huấn luyện mạng nơron và quá trình nhận dạng Chương... các nơron khác 11 Chương 2: Tổng quan về mô hình mạng nơron Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não 2.2.2 Nơron nhân tạo Một nơron là một đơn vị xử lý thông tin và là thành phần cơ bản của một mạng nơron Cấu trúc của một nơron được mô tả trên hình 2-2 Hình 2-2: Nơron nhân tạo Các thành phần cơ bản của một nơron. .. giữa Tablet PC với PC thông thường là Tablet PC có thêm một thiết bị cảm nhận vị trí của bút trên màn hình, đó là bộ số hóa (digitizer) Không giống như Pocket PC, công nghệ số hóa trong Tablet PC không nhạy cảm với sự tiếp xúc (touch sensitive) Điều này có nghĩa là các vết xước tạo ra trên màn hình khi dùng móng tay không làm di chuyển con trỏ chuột như trong Pocket PC Thay vào đó Tablet PC sử dụng. .. 1: Giới thiệu Hình 1-2: Một số Tablet PC Nếu như các thiết bị cầm tay (chẳng hạn như Pocket PC) sử dụng một hệ điều hành mới (Windows CE) và yêu cầu ứng dụng phải được phát triển riêng cho các thiết bị này, thì với Windows XP Tablet PC Edition (một phiên bản của hệ điều hành Windows XP) Tablet PC có thể dễ dàng chạy các ứng dụng viết trên các PC thông thường (từ MS Office tới các ứng dụng được người... (MLP) Mô hình mạng nơron được sử dụng rộng rãi nhất là mô hình mạng nhiều tầng truyền thẳng (MLP: Multi Layer Perceptron) Một mạng MLP tổng quát là mạng có n (n≥2) tầng (thông thường tầng đầu vào không được tính đến): trong đó gồm một tầng đầu ra (tầng thứ n) và (n-1) tầng ẩn 17 Chương 2: Tổng quan về mô hình mạng nơron Hình 2-8 :Mạng MLP tổng quát Kiến trúc của một mạng MLP tổng quát có thể mô tả như... thực hiện trong khóa luận Xây dựng hệ thống nhận dạng chữ cái viết tay Tiếng Việt trên Tablet PC, mục đích và cả những hạn chế ràng buộc của bài toán, từ đó đưa ra những vấn đề cơ bản khóa luận cần giải quyết Cuối chương là phần bố cục trình bày của khóa luận Chương 2: Tổng quan về mô hình mạng nơron Chương này trình bày những lý thuyết cơ bản về mô hình mạng nơron mà tôi đã tổng kết được trong thời... yếu và được cảm nhận bởi bộ số hóa, do đó bút có thể được cảm nhận trước khi nó thực sự chạm vào màn hình Ngoài ra nhiều bộ số hóa có thể cảm nhận góc và sự quay của bút, những thông tin này rất hữu ích với các ứng dụng tạo ảnh ba chiều (chẳng hạn CAD)[11] 1.2.2 Bộ công cụ phát triển ứng dụng (The Tablet PC Platform SDK Version 1.5) Bộ công cụ phát triển ứng dụng của Tablet PC (Tablet PC Platform SDK)... lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiện hơn Điển hình là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu . Ngô Xuân Bách ỨNG DỤNG MÔ HÌNH MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC HẠN CHẾ TRỰC TUYẾN TRÊN TABLET PC KHÓA LUẬN. Ngô Xuân Bách ỨNG DỤNG MÔ HÌNH MẠNG NƠRON TRONG NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC HẠN CHẾ TRỰC TUYẾN TRÊN TABLET PC KHÓA LUẬN