Ứng dụng mạng nơ-ron nhân tạo trong nhận dạng tự động chữ số viết tay hỗ trợ giáo dục trẻ mầm non
Bạn đang xem tài liệu "Ứng dụng mạng nơ-ron nhân tạo trong nhận dạng tự động chữ số viết tay hỗ trợ giáo dục trẻ mầm non", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- ung_dung_mang_no_ron_nhan_tao_trong_nhan_dang_tu_dong_chu_so.pdf
Nội dung text: Ứng dụng mạng nơ-ron nhân tạo trong nhận dạng tự động chữ số viết tay hỗ trợ giáo dục trẻ mầm non
- 124 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Ứng dụng mạng nơ-ron nhân tạo trong nhận dạng tự động chữ số viết tay hỗ trợ giáo dục trẻ mầm non Hoàng Lê Uyên Thục1, Phan Đình Tùng2, Lê Thị Mỹ Hạnh3 Trường Đại học Bách khoa, Đại học Đà Nẵng 54 Nguyễn Lương Bằng, Liên Chiểu, Đà Nẵng 1hluthuc@dut.udn.vn,2102140165@sv.dut.udn.vn,3ltmhanh@dut.udn.vn Tóm tắt. Giáo dục mầm non đóng vai trò khởi nguồn cho sự phát triển của trẻ em về sau. Ứng dụng công nghệ thông tin vào giáo dục mầm non là một hướng đi mới, giúp đa dạng hóa phương pháp giáo dục và tạo hứng thú học tập cho trẻ. Nghiên cứu này trình bày quá trình xây dựng nền tảng kỹ thuật cho ứng dụng điện thoại thông minh dạy trẻ em tập viết chữ số. Phần lõi kỹ thuật của ứng dụng được xây dựng dựa trên trên nền mạng nơ-ron nhân tạo. Chúng tôi thực hiện ba kịch bản nhận dạng ảnh chữ số viết tay khác nhau với cùng cấu trúc mạng nơ-ron: (1) ảnh không qua xử lý, (2) ảnh qua bước trích vùng quan tâm, (3) ảnh qua bước phân tích thành phần chính. Kết quả kiểm tra trên 10.000 ảnh chữ số viết tay trên tập dữ liệu MNIST cho thấy hiệu quả rất hứa hẹn và tính khả thi của ứng dụng đề xuất. Keywords: mạng nơ-ron nhân tạo ANN (Artificial Neural Network), nhận dạng chữ số viết tay (handwritten digit recognition), vùng quan tâm ROI (Region Of Interest), phân tích thành phần chính PCA (Principle Component Analysis), giáo dục trẻ mầm non (early childhood education). 1 Đặt vấn đề Những năm đầu tiên của cuộc đời đứa trẻ là giai đoạn đặc biệt nhạy cảm trong quá trình phát triển, đặt nền móng cho thời thơ ấu và những năm tiếp theo về các chức năng nhận thức; các năng lực hành vi, xã hội và tự điều chỉnh; sức khoẻ thể chất [1]. Nhiều nghiên cứu cho thấy lợi ích của giáo dục mầm non (GDMN) đối với trẻ em thể hiện ở nhiều mặt như đạt được thành tích học tập cao, có hành vi phù hợp, giảm tỷ lệ phạm tội, thành công trong sự nghiệp [1]. Trên cơ sở lợi ích của GDMN, chương trình GDMN quốc tế IPC (International Preschool Curriculum) được thiết kế nhằm hướng đến sự phát triển toàn diện của trẻ với 6 lĩnh vực học tập cốt lõi gồm ngôn ngữ (languare art), toán và số đếm (numeracy), nghệ thuật sáng tạo (creative art), khoa học (sciences), kỹ năng vận động (motor skills), tình cảm - kỹ năng xã hội (socio-emotional) [2]. Nghiên cứu của chúng tôi tập trung vào ứng dụng công nghệ thông tin vào một trong sáu lĩnh vực giáo dục cốt lõi của IPC, đó là “toán và số đếm”. Hiện nay, có rất nhiều ứng dụng di động giúp trẻ em học về “số đếm” như Zap Zap Math [3], 123 Kids Fun Numbers [4]. Các ứng dụng này đều được thiết kế với giao diện bắt mắt, có phần thưởng khi trẻ thực hiện tốt yêu cầu, có nội dung bài học phong phú. Tuy nhiên, các ứng dụng này đều sử dụng tiếng Anh và giá thành khá cao nên chưa thực sự phù hợp với điều kiện Việt Nam. Hơn nữa, hầu hết các ứng dụng chỉ hướng dẫn trẻ nhận biết mặt con số chứ chưa thiết kế chức năng giúp trẻ học viết con số. Từ những phân tích trên đây, chúng tôi đặt mục tiêu lâu dài là xây dựng ứng dụng di động dành riêng cho giáo dục trẻ mầm non ở Việt Nam học về số đếm và đặt tên là BKNumber.
- Hoàng Lê Uyên Thục, Phan Đình Tùng, Lê Thị Mỹ Hạnh 125 So với các ứng dụng học toán hiện có, điểm mới khác biệt của ứng dụng đề xuất là chức năng dạy trẻ viết con số. Đối với trẻ nhỏ chưa biết cầm bút, hoạt động viết con số được thực hiện thông qua cách thức vẽ bằng ngón tay trên màn hình cảm ứng của điện thoại/ máy tính bảng. Hoạt động vẽ bằng ngón tay (finger painting) đã được chứng minh là mang lại nhiều lợi ích to lớn đối với sự phát triển của trẻ về não bộ, xúc giác, vận động tinh, [5]. Để dạy trẻ viết con số, trước tiên trẻ được yêu cầu vẽ con số bằng ngón tay trên màn hình điện thoại/ máy tính bảng. Sau khi trẻ vẽ xong con số thì một phần mềm nhận dạng tự động chữ số viết tay sẽ được thực thi nhằm nhận dạng con số đã viết là số nào trong các con số từ 0 đến 9. Quá trình này được thể hiện thông qua sơ đồ mô tả chức năng dạy trẻ viết con số trên điện thoại như trên Hình 1. Hình 1. Sơ đồ mô tả chức năng nhận dạng chữ số viết tay Như vậy, phần nền tảng kỹ thuật của ứng dụng chính là phần mềm thực hiện nhận dạng tự động các con số từ 0 đến 9 từ các ảnh con số viết bằng ngón tay trên màn hình điện thoại. Đây cũng là nội dung nghiên cứu chính của nghiên cứu và được trình bày tiếp theo như sau: mục 2 nêu tóm tắt các nghiên cứu liên quan, mục 3 trình bày chi tiết về các phương pháp nhận dạng chữ số viết tay sử dụng trong ứng dụng đề xuất, mục 4 mô tả các thí nghiệm kiểm tra, đánh giá các phương pháp nhận dạng được sử dụng trong hệ thống và cuối cùng là kết luận ở mục 5. 2 Các nghiên cứu liên quan đến nhận dạng chữ số viết tay Nhận dạng chữ viết tay là một công việc đầy thách thức, do kiểu viết cũng như cách di chuyển bút trên giấy của mỗi người là khác nhau. Hơn nữa, cùng một người nhưng chữ viết tay cũng thay đổi tùy thuộc thời điểm viết, tâm trạng khi viết, loại giấy, loại bút viết. Do đó, nhận dạng chữ viết tay nói chung và chữ số viết tay nói riêng vẫn chưa đạt độ chính xác tốt nhất để có thể ứng dụng rộng rãi trong thực tế. Nhìn chung, hiện nay có hai cách tiếp cận chính đối với hệ thống nhận dạng tự động chữ số viết tay. Đó là tiếp cận theo hướng truyền thống và theo hướng học sâu (deep learning). Với cách tiếp cận truyền thống, hệ thống gồm ba pha xử lý chính như sau [6]: Phân vùng ký tự: ở bước này, các ký tự được phân tách ra khỏi vùng còn lại trong ảnh để đưa đến khối xử lý tiếp theo sau. Do ảnh chữ số có thể có nhiễu, văn bản có thể bị nghiêng nên các phép tiền xử lý nhằm lọc nhiễu và ước lượng chính xác góc nghiêng có thể được thực hiện trước khi phân vùng ký tự.
- 126 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Trích đặc trưng: bước này nhằm trích ra các đặc trưng của ký tự và tạo thành một vector đặc trưng. Có nhiều loại đặc trưng khác nhau đã được nghiên cứu chẳng hạn như đặc trưng hình học, đặc trưng thống kê, Phân loại ký tự: dựa vào vector đặc trưng trích từ mỗi ký tự, các bộ phân loại được áp dụng nhằm gán mỗi bức ảnh vào một loại ký tự quan tâm. Phương pháp phân loại phổ biến nhất là phân loại thống kê dựa trên các thuật toán học máy. Sau khi phân loại, trong một số nghiên cứu, bước hậu xử lý có thể được áp dụng để kiểm tra lỗi chính tả, văn phạm, nhằm cải thiện tỷ lệ nhận dạng chính xác. Sau đây là một số công trình gần đây trong nhánh nghiên cứu theo hướng tiếp cận truyền thống: - Khi phân vùng ký tự, một số tài liệu có các dấu chấm nhỏ hoặc là đường kẻ ô nên có thể dẫn đến lỗi. Để khắc phục điều này, trước khi nhận dạng, bước tăng cường ảnh sử dụng độ sáng và màu sắc được thực thi, sau đó ảnh màu được chuyển thành ảnh xám và cắt ngưỡng [7]. Kết quả kiểm tra cho thấy tỷ lệ nhận dạng chính xác được cải thiện đáng kể sau khi khử ảnh nền như trên. - Công trình [8] tập trung vào bước trích đặc trưng. Thay vì chọn đặc trưng thủ công như trước đây, các tác giả áp dụng học máy không giám sát để học các đặc trưng một cách tự động. Kết quả kiểm tra trên 5.198 ảnh trong tập dữ liệu ICDAR cho tỷ lệ nhận dạng chính xác 85,5%. - Công trình [9] tập trung vào bước phân loại ký tự. Phương pháp sử dụng là so khớp mẫu thời gian động sinh mẫu theo cụm CSDTW (cluster generative statistical dynamic time warping). CSDTW dựa vào mô hình Markov ẩn HMM (Hidden Markov Model) kết hợp phân tích cụm và mô hình hóa chuỗi thống kê. Kết quả cho thấy tỷ lệ nhận dạng chữ viết tay cao hơn đáng kể so với các hệ thống khác. Khác với cách tiếp cận truyền thống là cần xây dựng một bộ mô tả đặc trưng sao cho chứa đựng những đặc tính riêng biệt, nổi bật và duy nhất của mỗi ký tự (gọi là hand-crafted features), cách tiếp cận học sâu không thực hiện trích đặc trưng như thế. Thay vào đó, đặc trưng của ảnh được tự động học dựa vào mạng nơ-ron, trong đó phổ biến nhất là mạng nơ-ron tích chập CNN. CNN được tổ chức bằng cách ghép nhiều lớp lại với nhau: lớp convolutional, lớp ReLU (Rectifier Linear Unit) hoặc là gộp chung lớp convolutional và lớp ReLU. Các lớp tiếp theo có thể lại là convolutional hoặc pooling. Cuối cùng là lớp fully connected để phân loại dữ liệu [10]. Cấu trúc đặc biệt gồm nhiều lớp như vậy giúp mạng CNN có ưu thế về tỷ lệ nhận dạng chính xác. Tuy nhiên, cách tiếp cận này đòi hỏi khối lượng dữ liệu huấn luyện lớn, thời gian huấn luyện lâu và tài nguyên hệ thống lớn để học một lượng cực lớn các tham số của mạng. Vì thế, trong giai đoạn đầu tiên xây dựng cốt lõi kỹ thuật cho ứng dụng nhận dạng chữ số, chúng tôi vẫn chọn cách tiếp cận truyền thống. 3 Tự động nhận dạng chữ số viết tay Như đã trình bày ở trên, trong nghiên cứu này, chúng tôi tập trung nghiên cứu phần cốt lõi kỹ thuật của ứng dụng dạy trẻ viết con số như đề xuất trên Hình 1. Đó là nhận dạng tự động chữ số viết tay từ ảnh chụp. Để có cơ sở kỹ thuật cho triển khai ứng dụng sau này, chúng tôi lần lượt xem xét cách tiếp cận truyền thống với ba phương pháp xử lý dữ liệu trước khi nhận dạng khác nhau, như thể hiện trên Hình 2.
- Hoàng Lê Uyên Thục, Phan Đình Tùng, Lê Thị Mỹ Hạnh 127 Hình 2. Các bước xử lý nhận dạng chữ số viết tay sử dụng mạng nơ-ron nhân tạo ANN 3.1 Xử lý ảnh trước khi nhận dạng Như thể hiện trên Hình 2, quá trình xử lý ảnh chữ số viết tay trước khi nhận dạng diễn ra theo ba phương pháp lần lượt là: - Giữ nguyên ảnh gốc không qua xử lý; - Từ ảnh gốc, tiến hành trích vùng quan tâm ROI và chuẩn hóa kích thước; - Từ ảnh gốc, áp dụng phép phân tích thành phần chính PCA. Ở phương pháp (i), ảnh được giữ nguyên không qua xử lý. Các ảnh trong tập huấn luyện trong cơ sở dữ liệu MNIST là dạng ảnh xám, độ phân giải 28×28. Như vậy về mặt toán học, mỗi bức ảnh được biểu diễn bằng một ma trận vuông kích thước 28×28, mỗi phần tử có giá trị từ 0 đến 255 thể hiện cường độ sáng. Ở phương pháp (ii), để giảm kích thước ảnh, thực hiện trích vùng quan tâm ROI (Region Of Convergence) là vùng chứa chữ số theo các bước sau: (1) nhị phân hóa bức ảnh, (2) tìm hình chiếu của histogram của chữ số theo chiều ngang và chiều dọc (Hình 3), (3) xác định tọa độ vùng ROI hình chữ nhật gồm biên trên, biên dưới, biên phải, biên trái dựa vào hình chiếu histogram, (3) trích lấy ảnh xám trong vùng chữ nhật này rồi chuẩn hóa kích thước về 20×20. Ở phương pháp (iii), ảnh gốc được áp dụng phép PCA [11] trước khi nhận dạng. PCA là kỹ thuật nhằm giảm độ dư trong ảnh, ở đây là giảm sự tương quan giữa các điểm ảnh trong bức ảnh, dựa trên nguyên lý chuyển đổi dữ liệu từ không gian cũ với số chiều lớn sang không gian mới với số chiều ít hơn, sao cho độ biến thiên dữ liệu trên mỗi trục mới là lớn nhất có thể [11]. Hình 3. Xác định vùng quan tâm ROI dựa vào hình chiếu histogram
- 128 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Cụ thể, trong nghiên cứu này, nếu đặt mục tiêu là sai khác giữa ảnh gốc và ảnh sau khi áp dụng PCA (chẳng hạn lỗi mse ≤ e-04) thì số lượng thành phần chính tính được là 465; nếu đặt mục tiêu là tỷ lệ nhận dạng đúng (chẳng hạn ~ 96%) thì số lượng thành phần chính tính được là 100 (lỗi lúc này là mse = 0,0057). Ở đây, lỗi mse được tính như công thức (1), là sai khác giữa ảnh gốc f(m, n) và ảnh g(m, n) sau khi áp dụng PCA rồi khôi phục lại kích thước gốc 28×28: 1 28 28 mse = åå[ f (m,n) - g(m,n)]2 (1) 28*28 m=1 n=1 Hình 4 cho thấy một số ảnh gốc và ảnh sau áp dụng PCA. Hình 4. Ảnh gốc 28×28 và ảnh sau áp dụng PCA với số thành phần chính là 100 3.2 Nhận dạng ảnh Ảnh sau khi xử lý được đưa vào nhận dạng dùng mạng nơ-ron nhân tạo ANN [12]. ANN là một mô hình toán học mô phỏng hoạt động sinh học của não người. Một mạng ANN gồm nhiều nơ-ron kết nối với nhau theo một cách nào đó. Mỗi nơ-ron có nhiều đầu vào và duy nhất một đầu ra, được xác định bằng hai hàm số đặc trưng là: hàm mạng (net function) và hàm kích hoạt (activate function). Hàm mạng xác định các đầu vào { yj , 1 j N } được kết hợp với nhau như thế nào bên trong nơ-ron [12], với wj là trọng số nhánh và q là ngưỡng kích thích: N u = åw j y j +q (2) j=1 Đầu ra của nơ-ron quan hệ với đầu vào thông qua một hàm tuyến tính hoặc phi tuyến gọi là hàm kích hoạt [12]: a = f (u) (3) Qua thực nghiệm, mạng ANN được chọn sử dụng là loại có 03 lớp: - Lớp vào có 28×8=784 nơ-ron cho trường hợp (i), có 20×20=400 nơ-ron cho trường hợp (ii) và có lần lượt 465 và 100 nơ-ron cho trường hợp (iii). - Lớp ẩn có 25 nơ-ron, làm nhiệm vụ kết nối các nơ-ron lại với nhau. Hàm kích hoạt sử dụng là hàm sigmoid. - Lớp ra có 10 nơ-ron ứng với 10 con số từ 0 9, làm nhiệm vụ xuất kết quả ra cho người sử dụng. Hàm kích hoạt được dùng là hàm tuyến tính. Hình 5 là ví dụ mạng ANN dùng trong trường hợp nhận dạng ảnh không qua xử lý.
- Hoàng Lê Uyên Thục, Phan Đình Tùng, Lê Thị Mỹ Hạnh 129 Hình 5. Cấu trúc mạng nơ-ron nhận dạng ảnh gốc 28×28 4 Thực nghiệm kiểm tra đánh giá Việc đánh giá được thực hiện trên cơ sở dữ liệu MNIST, là cơ sở dữ liệu chữ số viết tay phổ biến nhất hiện nay [13]. Cơ sở MNIST gồm có 70.000 bức ảnh chữ số viết tay, trong đó có 60.000 ảnh cho huấn luyện và 10.000 ảnh cho kiểm tra. 4.1 Tỷ lệ nhận dạng chính xác Thực hiện đánh giá hệ thống theo ba kịch bản như trình bày ở hàng (i), (ii), (iii) trên Hình 2, ta lần lượt thu được các tỷ lệ nhận dạng chính xác (%) các chữ số và tỷ lệ trung bình như thể hiện ở Bảng 1. Bảng 1. Tỷ lệ nhận dạng chính xác (%) với các phương pháp xử lý dữ liệu khác nhau Ảnh gốc Trích ROI PCA 465 PCA 100 Số 0 98,5 98,0 98,3 98,3 Số 1 99,0 99,3 98,3 98,8 Số 2 95,2 94,8 94,9 95,3 Số 3 95,9 94,5 95,9 95,4 Số 4 96,6 96,8 96,6 96,4 Số 5 93,5 91,5 93,7 93,2 Số 6 97,5 95,9 96,3 96,6 Số 7 95,4 95,8 96,0 95,6 Số 8 95,6 94,1 95,6 95,5 Số 9 95,2 93,8 93,8 94,0 Trung bình 96,24 95,45 95,94 95,91
- 130 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” 4.2 Thời gian thực thi Thí nghiệm cho thấy thời gian xử lý bao gồm thời gian huấn luyện, thời gian kiểm tra kể từ khi nhận ảnh vào đến khi ra kết quả cuối cùng như trình bày trên Bảng 2. Quá trình thí nghiệm được tiến hành trên bộ xử lý Intel Core i5-4200U@1.60GHz (4CPUs), RAM 4096MB. Bảng 2. Thời gian thực thi (giây) với các phương pháp xử lý dữ liệu khác nhau Thời gian Ảnh gốc Trích ROI PCA 100 Huấn luyện 20’19,763s 13’7,753s 7’21,764s Kiểm tra 0,276s 55,321s 0,048s Tóm lại, kết quả thí nghiệm cho thấy hiệu quả của việc ứng dụng mạng nơ-ron vào nhận dạng chữ số viết tay khá tốt, thể hiện ở tỷ lệ nhận dạng trung bình các con số khá cao (xấp xỉ 96%). So với phương pháp giữ nguyên ảnh gốc, phương pháp trích ROI bị suy giảm tỷ lệ nhận dạng một ít. Đổi lại, nhờ kích thước ảnh giảm nên thời gian huấn luyện có giảm đi. Tuy nhiên, khi xét thời gian kiểm tra thì thời gian trích ROI chiếm tỷ lệ rất cao nên dẫn đến tăng thời gian kiểm tra lên rất nhiều. So với phương pháp giữ nguyên ảnh gốc, phương pháp PCA đạt được tỷ lệ nhận dạng xấp xỉ với thời gian xử lý rất thấp. Do đó, phương pháp PCA sẽ được lựa chọn độc lập hoặc kết hợp với các phương pháp khác làm nền tảng kỹ thuật cho ứng dụng hỗ trợ trẻ em học viết chữ số trong tương lai. 5 Kết luận Tóm lại, nghiên cứu đã kiểm tra, đánh giá khả năng ứng dụng mạng nơ-ron nhân tạo nhằm nhận dạng chữ số viết tay trên tập dữ liệu kích thước lớn. Kết quả thu được có tỷ lệ nhận dạng tốt và thời gian thực thi thấp. Trong tương lai, cần bổ sung cơ sở dữ liệu chữ số viết tay của trẻ em, cải thiện các khâu xử lý và có thể xem xét kết hợp cách tiếp cận học sâu, nhằm hướng đến xây dựng một ứng dụng di động hoàn thiện hỗ trợ trẻ em học viết chữ số như đã đề xuất. Tài liệu tham khảo 1. Lynn A. Karoly, M. Rebecca Kilburn and Jill S. Cannon, “Proven benefits of early childhood interventions”, Santa Monica, CA: RAND Corporation, pp. 1-3, 2005. 2. IPC, “The IPC core content learning area,” địa chỉ [truy cập ngày 25/11/2017]. 3. Zap Zap Math app, địa chỉ: [truy cập ngày 25/11/2017]. 4. 123 Kids Fun Numbers app, địa chỉ: [truy cập ngày 25/11/2017]. 5. Benefits of finger painting for children, địa chỉ painting-for-children/ [truy cập ngày 25/11/2017]. 6. Noman Islam, Zeeshan Islam, and Nazia Noor, “A Survey on Optical Character Recognition System,” Journal of Information & Communication Technology (JICT), vol. 10(2), pp. 1-4, 2016. 7. A. Coates, B. Carpenter, C. Case, S. Satheesh, B. Suresh, T. Wang, D. Wu, and A. Ng., “Text detection and character recognition in scene images with unsupervised feature learning,” International Conference on Document Analysis and Recognition, 2011.
- Hoàng Lê Uyên Thục, Phan Đình Tùng, Lê Thị Mỹ Hạnh 131 8. Mande Shen and Hansheng Lei, “Improving OCR performance with background image elimination,” 12th International Conference Fuzzy System Knowledge Discovery, pp. 1566-1570, 2015. 9. C. Bahlmann and H. Burkhardt, “The writer independent online handwriting recognition system frog on hand and cluster generative statistical dynamic time warping,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26(3), pp. 299-310, 2014. 10. Dan Claudiu Ciresan, Ueli Meier, Luca Maria Gambardella, Jurgen Schmidhuber, “Deep Big Simple Neural Nets Excel on Hand- written Digit Recognition,” Power Point slides, un-published, 2014. 11. M. Mudrova and A. Prochazka, “Principal Component Analysis in Image Processing,” in Technical Computing Conference, Prague, Czech Republic, pp. 1-4, 2005. 12. Yu Han Hu and Jenq-Neng Hwang, “Handbook of Neural Network Signal Processing,” CRC Press, 2002. 13. Yann LeCun, Corinna Cortes, and Christopher J.C. Burges, “The MNIST Database of handwritten digits,” địa chỉ [truy cập 08/2017].