1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra

74 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 1.1 Lý do chọn đề tài (13)
  • 1.2 Mục tiêu nghiên cứu (13)
  • 1.3 Giới hạn và đối tượng nghiên cứu (14)
  • 1.4 Phương pháp nghiên cứu (14)
  • 1.5 Cấu trúc của luận văn (15)
  • 2.1 Tiền xử lý ảnh (16)
    • 2.1.1 Nhị phân hóa ảnh (16)
    • 2.1.2 Phép co giãn ảnh (19)
    • 2.1.3 Khử nhiễu (19)
    • 2.1.4 Chuẩn hóa kích thước ảnh (19)
    • 2.1.5 Làm trơn ảnh (20)
    • 2.1.6 Phép biến đổi ảnh (20)
  • 2.2 Mạng nơron tích chập (Convolution neuron networks - CNNs) (21)
    • 2.2.1 Tích chập (convolution) là gì? (21)
    • 2.2.2 Mạng nơron tích chập là gì? (22)
    • 2.2.3 Mô hình mạng nơron tích chập (22)
  • 2.3 Ứng dụng xử lý ảnh và mạng Nơron trong nhận dạng chữ số viết tay (23)
    • 2.3.1 Lấy mẫu chữ số viết tay (24)
    • 2.3.2 Tiền xử lý và trích chọn đặc trưng (24)
    • 2.3.3 Xây dựng mạng Nơron (25)
    • 2.3.4 Huấn luyện mạng Nơron (26)
    • 2.3.5 Nhận dạng (26)
  • 3.1 Thiết kế phiếu chấm điểm bài kiểm tra (27)
    • 3.1.1 Xem xét cấu trúc mẫu phiếu trắc nghiệm hiện tại (27)
    • 3.1.2 Thiết kế một số mẫu phiếu chấm điểm trắc nghiệm và tự luận (29)
    • 3.1.3 Khảo sát lấy ý kiến giảng viên (33)
  • 3.2 Thiết kế phiếu lấy mẫu chữ số viết tay (34)
  • 3.3 Các giải pháp thiết kế để hỗ trợ hệ thống nhận dạng (35)
    • 3.3.1 Dùng các ký hiệu hình học (36)
    • 3.3.2 Bố cục trình bày (38)
    • 3.3.3 Dùng mã QR để chứa thông tin mã hóa (38)
  • 4.1 Hiện thực hệ thống nhận dạng chữ số viết tay (40)
    • 4.1.1 Xây dựng mạng nơron tích chập (40)
    • 4.1.2 Huấn luyện mạng nơron tích chập (42)
    • 4.1.3 Kết quả thử nghiệm (43)
  • 4.2 Hiện thực hệ thống thu thập mẫu chữ số viết tay từ phiếu lấy mẫu (43)
    • 4.2.1 Nhận dạng phiếu lấy mẫu trong tập tin ảnh (44)
    • 4.2.2 Trích xuất mẫu chữ số viết tay trong phiếu lấy mẫu (49)
    • 4.2.3 Lưu các mẫu chữ số viết tay xuống tập tin (51)
  • 4.3 Hiện thực hệ thống nhận dạng phiếu chấm điểm (52)
    • 4.3.1 Nhận dạng phiếu chấm điểm trong tập tin ảnh (53)
    • 4.3.2 Nhận dạng các đối tượng trong phiếu chấm điểm (54)
    • 4.3.3 Trích xuất thông tin từ các đối tượng đã được nhận dạng (61)
    • 4.3.4 Xuất kết quả nhận dạng phiếu chấm điểm ra định dạng nhất định (64)
    • 4.3.5 Kết quả thử nghiệm (64)
  • 5.1 Phân tích các kết quả đạt được (68)
  • 5.2 Thảo luận (69)
  • 5.3 Hướng phát triển (70)
  • 2.1 Ảnh gốc (0)
  • 2.5 Minh họa biến đổi trang giấy về dạng chuẩn (0)
  • 2.6 Minh họa phép toán tích chập (0)
  • 2.7 Ví dụ mô hình một mạng nơron tích chập (0)
  • 2.8 Mô hình huấn luyện mạng nơron (0)
  • 2.9 Mô hình nhận dạng dùng mạng nơron (0)
  • 3.1 Mẫu phiếu trắc nghiệm hiện tại (0)
  • 3.2 Mẫu phiếu chấm điểm 1 (0)
  • 3.3 Mẫu phiếu chấm điểm 2 (0)
  • 3.4 Mẫu phiếu chấm điểm 3 (0)
  • 3.5 Phiếu lẫy mẫu chữ số viết tay (0)
  • 3.6 Vị trí bố trí các ký hiệu nhận dạng trang giấy (0)
  • 3.7 Mã số sinh viên được nhận dạng là 14326750 (0)
  • 3.8 Câu trả lời trắc nghiệm của sinh viên (0)
  • 3.9 Ô nhập điểm câu hỏi tự luận trên phiếu chấm điểm (0)
  • 3.10 Mã QR (0)
  • 4.1 Mô hình mạng nơron tích chập (0)
  • 4.2 Ảnh chụp phiếu lẫy mẫu chữ số viết tay (0)
  • 4.3 Ảnh phiếu lẫy mẫu sau khi được nhận dạng (0)
  • 4.4 Ảnh chụp phiếu chấm điểm bài kiểm tra (0)
  • 4.5 Ảnh phiếu chấm điểm sau khi được nhận dạng (0)
  • 4.6 Định dạng tập tin kết quả nhận dạng phiếu chấm điểm (0)
  • 4.7 Ví dụ minh họa ảnh chụp phiếu chấm điểm gây ra lỗi (0)

Nội dung

Cụthể trong đề tài này chúng tôi sẽ thiết kế một số mẫu phiếu chấm điểm bài kiểm tra kết hợp hìnhthức trắc nghiệm, tự luận và có phần đánh giá theo tiêu chí, từ đó ứng dụng các kỹ thuật

Mục tiêu nghiên cứu

Với mục tiêu xây dựng hệ thống hỗ trợ quản lý và xử lý chấm điểm tự động bài kiểm tra,xa hơn nữa là thu thập được nhiều thông tin hơn về kết quả đánh giá sinh viên dùng để phục vụ các phân tích và đánh giá sinh viên cũng như chất lượng đào tạo của nhà trường, luận văn cần tập trung vào các vấn đề sau:

• Tìm hiểu các kiến thức về xử lý ảnh dùng trong nhận dạng ảnh số.

• Tìm hiểu mạng nơron tích chập và ứng dụng của nó trong nhận dạng chữ số viết tay.

• Thiết kế mẫu phiếu chấm điểm bài kiểm tra kết hợp trắc nghiệm và tự luận.

• Hiện thực hệ thống xử lý chấm điểm tự động bài kiểm tra, chúng tôi cần giải quyết các vấn đề sau:

– Hiện thực hệ thống nhận dạng chữ số viết tay.

– Thu thập dữ liệu chữ số viết tay và huấn luyện bộ nhận dạng chữ số viết tay.

– Trích xuất được các thông tin có ý nghĩa trên phiếu chấm điểm bài kiểm tra như: thông tin môn thi, thông tin sinh viên, đáp án trắc nghiệm sinh viên lựa chọn, điểm số câu hỏi tự luận, các đánh giá theo tiêu chí mềm, ).

– Thử nghiệm và đánh giá hệ thống.

Giới hạn và đối tượng nghiên cứu

Trong phạm vi của luận văn, chúng tôi tập trung nghiên cứu các kỹ thuật xử lý ảnh và mô hình học máy dùng trong nhận dạng chữ số viết tay Từ đó xây dựng hệ thống xử lý chấm điểm tự động bài kiểm tra để thu thập dữ liệu đánh giá sinh viên.

Vì lý do trong đề tài có thiết kế các mẫu phiếu chấm điểm bài kiểm tra nên bước đầu đề tài sẽ giới hạn trong phạm vi khoa Khoa Học và Kỹ Thuật Máy Tính, trường Đại Học BáchKhoa thành phố Hồ Chí Minh Sau nay có thể mở rộng ra phạm vi toàn trường hoặc rộng hơn ra các trường Đại Học khác.

Phương pháp nghiên cứu

Việc đầu tiên, chúng tôi sẽ tập trung tìm hiểu những kiến thức nền tảng về xử lý ảnh số, mô hình học máy cụ thể là mạng neuron nhân tạo dùng để giải quyết bài toán nhận dạng chữ số viết tay.

Bên cạnh đó, chúng tôi cũng thiết kế một số mẫu phiếu chấm điểm bài kiểm tra và làm một khảo sát để lấy ý kiến từ giảng viên Từ đó lựa chọn và chỉnh sửa để đưa ra mẫu phiếu chấm điểm phù hợp nhất Sau đó vận dụng những kiến thức đã nghiên cứu chúng tôi sẽ tiến hành hiện thực và kiểm thử hệ thống xử lý chấm điểm tự động dựa trên mẫu phiếu chấm điểm được lựa chọn.

Và cuối cùng là đánh giá kết quả đạt được, từ đó đưa ra những đề xuất mở rộng, cải tiến hệ thống để có thể đưa hệ thống vào ứng dụng trong thực tế.

Cấu trúc của luận văn

Phần còn lại của luân văn này được tổ chức theo cấu trúc sau:

• Chương 2: Giới thiệu một số kỹ thuật được dùng trong nhận dạng ảnh số bao gồm các kỹ thuật tiền xử lý ảnh và ứng dụng của mô hình học máy trong nhận dạng chữ số viết tay.

• Chương 3: Trình bày các giải pháp thiết kế mẫu để hỗ trợ hệ thống nhận dạng Bên cạnh đó, luận văn sẽ trình bày phương pháp thiết kế một số mẫu phiếu chấm điểm bài kiểm tra và mẫu phiếu thu thập chữ số viết tay.

• Chương 4: Trong chương này chúng tôi sẽ trình bày phương pháp hiện thực hệ thống thu thập dữ liệu chữ số viết tay và hệ thống xử lý chấm điểm tự động bài kiểm tra cùng với các kết quả thử nghiệm trên các dữ liệu mẫu.

• Chương 5: Thảo luận về các vấn đề trong luận văn, các cách tiếp cận, kết quả đạt được và các hướng phát triển trong tương lai của đề tài.

• Cuối cùng là danh mục tài liệu tham khảo.

Các kỹ thuật xử lý ảnh dùng trong nhận dạng ảnh

Tiền xử lý ảnh

Nhị phân hóa ảnh

Nhị phân hóa ảnh là một kỹ thuật dùng để chuyển ảnh đa mức xám sang ảnh nhị phân Ý tưởng của phương pháp nhị phân hóa ảnh là lựa chọn một ngưỡng thích hợp theo cường độ sáng của ảnh và sau đó chuyển tất cả các giá trị độ sáng lớn hơn ngưỡng đó thành một giá trị độ sáng (ví dụ màu trắng) và tất cả các giá trị bé hơn ngưỡng thành một giá trị độ sáng khác (ví dụ màu đen) Ta có thể biểu diễn bằng công thức dưới đây: dst(x,y) ( maxVal src(x,y)>threshold

- dst(x,y) là giá trị độ sáng tại tọa độ (x,y) sau khi biến đổi.

- src(x,y) là giá trị độ sáng tại tọa độ (x,y) trước khi biến đổi.

- threshold là giá trị ngưỡng.

- maxVal là giá trị độ sáng tối đa được chọn trước, thông thường maxVal được chọn là 255 tương ứng với màu trắng.

Có hai phương pháp chính dùng để nhị phân hóa ảnh là nhị phân hóa ảnh với ngưỡng tĩnh và nhị phân hóa ảnh với ngưỡng động.

Nhị phân hóa ảnh với ngưỡng tĩnh. Ý tưởng của nhị phân hóa ảnh với ngưỡng tĩnh đó là ta sẽ so sánh giá trị cường độ sáng của điểm ảnh với một ngưỡng cho trước, và ta chỉ dùng duy nhất một giá trị ngưỡng để so sánh với toàn bộ các điểm ảnh trong ảnh Do đó nhược điểm của phương pháp này là đối với những ảnh có nhiều cường độ sáng khác nhau trên những vùng khác nhau, thì sau khi nhị phân hóa, ảnh sẽ bị mất thông tin Ví dụ hình minh họa 2.2a cho thấy kết quả nhị phân hóa ảnh theo ngưỡng tĩnh của một ảnh phiếu chấm điểm Bên trong ảnh có một vệt đen làm che mất nội dung kết quả bài làm của thí sinh và có một vùng hình ảnh bị mờ đi, không thể nhận dạng được đâu là lựa chọn cho câu trả lời trắc nghiệm.

Nhị phân hóa ảnh với ngưỡng động. Ý tưởng của phương pháp này là chia ảnh thành nhiều khu vực, cửa sổ khác nhau Sau đó dùng một thuật toán tìm một giá trị ngưỡng thích hợp cho khu vực đó Cuối cùng là áp dụng nhị phân hóa ảnh tương tự như phương pháp nhị phân hóa ảnh với ngưỡng tĩnh cho từng khu vực, cửa sổ với giá trị ngưỡng vừa tìm được Do đó, phương pháp này đã khắc phục được nhược điểm của phương pháp nhị phân hóa với ngưỡng tĩnh và thông tin trong ảnh được bảo toàn sau khi nhị phân hóa Trong hình minh họa 2.2b ta có thể thấy được sau khi nhị phân hóa ảnh với ngưỡng động cho ra kết quả rất tốt, hầu như các thông tin trên ảnh đều được bảo toàn.

Hình 2.2: (a) Ảnh nhị phân với ngưỡng tĩnh, (b) Ảnh nhị phân với ngưỡng động.

Phép co giãn ảnh

Là một trong các hoạt động cơ bản trong hình thái toán học bao gồm hai phép toán: phép giãn nở và phép co Phép giãn nở có tác dụng làm cho đối tượng ban đầu trong ảnh tăng lên về kích thước (giãn nở ra) qua đó làm nổi rõ các đối tượng trên ảnh Ngược lại phép co có tác dụng trong việc làm giảm kích thước của đối tượng, tách rời các đối tượng gần nhau, làm mảnh và tìm xương của đối tượng, ngoài ra ta cũng có thể dùng phép co để làm mờ các nhiễu trong ảnh.

Khử nhiễu

Nhiễu là một tập các điểm sáng thừa trên ảnh Khữ nhiễu là một vấn đề thường gặp trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu đứt nét, ) Để khử các nhiễu đốm (các nhiễu với kích thước nhỏ) ta có thể sử dụng các phương pháp lọc (lọc trung bình, lọc trung vị, ) Tuy nhiên với các nhiễu vệt thì các phương pháp lọc tỏ ra kém hiệu quả, trong trường hợp này việc sử dụng phương pháp khử các vùng liên thông nhỏ tỏ ra có hiệu quả hơn.

Hình 2.3: (a) Nhiễu đốm, (b) Nhiễu vệt.

Chuẩn hóa kích thước ảnh

Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau đó xác định khoảng cánh lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ nhật bao quanh ảnh Thông qua khoảng cách lớn nhất đó, có thể xác định được tỷ lệ co giãn của ảnh gốc so với kích thước đã xác định, từ đó hiệu chỉnh kích thước ảnh dựa trên tỷ lệ đó Như vậy thuật toán chuẩn hóa kích thước ảnh luôn luôn đảm bảo được tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch.

Làm trơn ảnh

Đôi khi do chất lượng ảnh quá xấu, các đường biên của chữ số không còn giữ được sự trơn tru như ban đầu mà hình thành các đường răng cưa Trong trường hợp này ta phải dùng các thuật toán làm trơn biên để khắc phục Hình 2.4 là ví dụ cho thấy ảnh trước và sau khi được làm trơn.

Hình 2.4: (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn.

Phép biến đổi ảnh

Phép biến đổi ảnh (Transformation) là phép ánh xạ tọa độ điểm hay vector (x, y) thành tọa độ hay vector khác (x’, y’) với công thức sau:x 0 =x+t x ;y 0 =y+t y hay có thể biểu diễn dưới dạng ma trận như sau:

Phép biến đổi ảnh được dùng khá nhiều trong các ứng dụng xử lý ảnh số như: xoay ảnh, làm biến dạng ảnh, dịch chuyển ảnh so với vị trí ban đầu, Trong hình 2.5 là một ví dụ về phép biến đổi ảnh, ảnh ban đầu là một hình bình hành, sau khi thực hiện phép biến đổi ảnh thì ta có được kết quả là một ảnh có hình chữ nhật.

Hình 2.5: Minh họa biến đổi trang giấy về dạng chuẩn.

Mạng nơron tích chập (Convolution neuron networks - CNNs)

Tích chập (convolution) là gì?

Tích chập là một phép toán quan trọng biểu diễn cho các hệ thống rời rạc tuyến tính Tín hiệu sau khi qua hệ thống xử lý bằng các phép tích chập với ma trận nhân (kernel) nào đó sẽ cho ra kết quả là tín hiệu đầu ra Việc triển khai một cách chính xác phép tính này sẽ trợ giúp đắc lực trong quá trình xử tín hiệu số, ảnh, video, Để dễ hình dung, ta có thể xem tích chập như một phép toán khi áp đặt cửa sổ trượt (sliding window) lên một ma trận, ta lặp lại phép toán đó sau mỗi bước trượt cho đến hết ma trận đầu vào (xem hình 2.6).

Hình 2.6: Minh họa phép toán tích chập.

Ma trận đầu vào là một bức ảnh đen trắng Mỗi giá trị của ma trận tương đương với một điểm ảnh, giá trị 0 là màu đen, giá trị 1 là màu trắng (nếu là ảnh đa mức xám thì giá trị sẽ biến thiên từ 0 đến 255).

Cửa sổ trượt còn có tên gọi là kernel, filter hay feature detector Ở đây, ta dùng một ma trận kernel 3x3 nhân từng thành phần tương ứng với ma trận ảnh đầu vào Giá trị đầu ra sẽ bằng tích của các thành phần này cộng lại Kết quả của tích chập là một ma trận sinh ra từ việc trượt ma trận kernel và thực hiện tích chập cùng lúc lên toàn bộ ma trận ảnh đầu vào.

Mạng nơron tích chập là gì?

Mạng nơron tích chập (Convolution Neuron Networks - CNNs) là một trong nhưng mô hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay CNNs chỉ đơn giản gồm một vài tầng tích chập (convolution layer) kết hợp với các hàm kích hoạt phi tuyến như hàm ReLU hay hàm tanh để tạo thông tin trừu tượng hơn cho các tầng tiếp theo.

Mô hình mạng nơron tích chập

Trong mô hình mạng nơron truyền thẳng (Feed-forward Neural Network), các tầng trong mạng được kết nối trực tiếp với nhau thông qua một trọng số w (weight) Các tầng này còn được gọi là có kết nối đầy đủ (fully connected layer).

Trong mô hình CNNs thì ngược lại, các tầng trong mạng liên kết với nhau thông qua cơ chế tích chập Đầu vào của tầng tiếp theo là kết quả tích chập từ tầng trước đó, nhờ vậy mà ta có được các kết nối cục bộ giữa các nơron Nghĩa là mỗi nơron ở tầng tiếp theo được sinh ra từ kernel áp đặt lên một vùng ảnh cục bộ của nơron tầng trước đó.

Mỗi tầng như vậy được áp đặt các kernel khác nhau, thông thường có vài trăm đến vài nghìn kernel như vậy Một số tầng khác như pooling/subsampling dùng để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu) Tuy nhiên, ta sẽ không đi sâu vào khái niệm của các tầng này.

Trong suốt quá trình huấn luyện, CNNs sẽ tự động học được các thông số cho các kernel.

Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thông số tối ưu cho các kernel tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level features Tầng cuối cùng được dùng để phân lớp ảnh.

Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua tích chập từ các kernel Đó là lý do tại sao CNNs cho ra mô hình với độ chính xác rất cao Cũng giống như cách chúng nhận biết các vật thể trong tự nhiên.

Ví dụ ta có thể phân biệt được các chữ số nhờ vào các đặc trưng về nét viết (nét cong, nét thẳng) và sự kết hợp giữa chúng Hình 2.7 là một ví dụ về mô hình mạng nơron tích chập dùng trong nhận dạng ảnh chữ số viết tay.

Hình 2.7: Ví dụ mô hình một mạng nơron tích chập.

Ứng dụng xử lý ảnh và mạng Nơron trong nhận dạng chữ số viết tay

Lấy mẫu chữ số viết tay

Việc lấy mẫu chữ số viết tay từ nhiều người khác nhau được bắt đầu bằng việc thiết kế phiếu lấy mẫu Phiếu lấy mẫu được thiết kế với định dạng gồm 10 dòng, mỗi dòng có 10 ô vuông cho phép người dùng viết vào các chữ số từ 0 đến 9, như vậy trên mỗi phiếu sẽ có 100 mẫu chữ số viết tay Sau đó phiếu lấy mẫu sẽ được đưa cho 100 người khác nhau để điền các con số vào,cuối cùng các phiếu lấy mẫu sẽ được quét vào máy tính và được lưu lại thành các tập tin định dạng hình ảnh.

Tiền xử lý và trích chọn đặc trưng

Từ các tập tin hình ảnh có được từ bước trước, họ dùng các kỹ thuật xữ lý ảnh để cắt và chuẩn hóa mỗi chữ số thành ảnh nhị phân có kích thước 16x16 pixel, màu của mỗi pixel có 2 giá trị: giá trị 0 biểu diễn cho màu trắng, giá trị 1 biểu diễn cho màu đen Sau khi ảnh đã được chuẩn hóa, sẽ tiến hành bước trích chọn các đặc trưng sau: Horizontal Histogram, Vertical Histogram,

Left Diagonal Histogram và Right Diagonal Histogram

• Horizontal Histogram (HH): là mảng chứa 16 phần tử chứa giá trị tổng của các bit 1 từ trái qua phải.

• Vertical Histogram (VH): là mảng chứa 16 phần tử chứa giá trị tổng của các bit 1 từ trên xuống dưới.

• Left Diagonal Histogram (LDH): là mảng chứa16∗2−11phần tử chứa giá trị tổng của các bit 1 theo đường chéo từ góc trái trên xuống góc phải dưới.

• Right Diagonal Histogram (RDH): là mảng chứa16∗2−11phần tử chứa giá trị tổng của các bit 1 theo đường chéo từ góc phải trên xuống góc trái dưới.

• Global Histogram (GH): được tổng hợp từ các mảng ở trên với công thức:GH=HH+ V H+LDH+RDH, do đó mảng GH có16+16+31+31phần tử.

Kết quả cuối cùng của bước trích chọn đặc trưng là dữ liệu ảnh đã được số hóa, mỗi chữ số là một mảng gồm 95 phần tử: 1 phần tử lưu giá trị chữ số (từ 0 đến 9), 94 phần tử chứa giá trị của mảng GH.

Xây dựng mạng Nơron

Trong bài báo này, họ đã xây dựng một mạng Nơron lan truyền thẳng có 3 lớp: lớp nhập nhận 94 giá trị là các phần tử trong mảng GH ở trên, lớp ẩn có 15 nơron và lớp xuất có 10 nơron tương ứng với giá trị từ 0 đến 9.

Mỗi nơron sẽ lưu các giá trị sau:

• Layer: chỉ ra nơron thuộc lớp nào (lớp nhập, lớp xuất hay lớp ẩn).

• Index: số thứ tự của nơron trong lớp mà nó thuộc về.

• Input data: dữ liệu đầu vào.

• Output data: dữ liệu đầu ra

• Expected output: dữ liệu đầu ra mong muốn.

• Weights: trọng số kết nối giữa các nơron.

• Bias: là giá trị hệ số góc.

• Error: sai số giữa dữ liệu đầu ra và dữ liệu mong muốn.

Huấn luyện mạng Nơron

Dữ liệu dùng để huấn luyện mạng nơ ron sau khi trải qua bước tiền xử lý và trích chọn đặc trưng sẽ được đưa vào huấn luyện mạng nơron vừa được xây dựng ở bước trên Dữ liệu bao gồm 10000 mẫu, mỗi mẫu được gán nhãn từ 0 đến 9 là giá trị mong muốn ở đầu ra Ngoài vector đặc trưng là mảng 94 phần tử tương ứng với với 94 nơron đầu vào, để có thể đưa vào huấn luyện mạng, nhãn của mỗi mẫu cũng cần được mã hóa thành mảng 10 phần tử tương ứng với 10 nơron ngõ ra Cụ thể khi một mẫu tương ứng với nhãn 0 thì phần tử thứ 0 trong mảng sẽ có giá trị là 1, các phần tử còn lại sẽ có giá trị là 0, khi đó ta có 1 mảng [1,0,0,0,0,0,0,0,0,0] biểu diễn cho nhãn 0, thực hiện tương tự với tất cả các mẫu còn lại. Đầu tiên, các giá trị trọng số và bias sẽ được khởi tạo ngẫu nhiên có giá trị trong khoảng[-0.5, 0.5] Từng mẫu sẽ được đưa vào huấn luyện mạng, kết quả ở đầu ra sẽ được so sánh với giá trị mong muốn, từ đó tính được giá trị lỗi và điều chỉnh lại trọng số và bias Quá trình huấn luyện được lặp cho đến khi tỉ lệ lỗi thấp hơn ngưỡng cho trước hoặc số lần lặp vượt quá một số cho trước Kết thúc quá trình huấn luyện, giá trị trọng số và bias sẽ được lưu lại ra file để sử dụng trong bước nhận dạng.

Nhận dạng

Với một chữ số viết tay dưới định dạng hình ảnh, thông qua bước tiền xử lý và trích chọn đặc trưng để có được vector đặc trưng Global Histogram (GH), nó sẽ được đưa vào bộ nhận dạng để thực hiện nhận dạng Bộ nhận dạng sẽ sử dụng các giá trị trọng số và bias trong file đã lưa trước đó để tính toán giá trị đầu ra là chữ số cần nhận dạng tương ứng với dữ liệu đưa vào.

Tổng kết Qua việc tìm hiểu các kiến thức nền tảng về xử lý ảnh và mô hình học máy, cụ thể là mạng nơron nhân tạo cùng với việc tham khảo một công trình nghiên cứu ứng dụng xử lý ảnh và mạng nơron nhân tạo trong nhận dạng chữ số viết tay, chúng tôi đã có được kiến thức cơ bản để có thể tiến hành tìm hiểu sâu hơn và đi đến xây dựng một hệ thống nhận dạng chữ số viết tay,nhằm đạt được mục tiêu cuối cùng là xây dựng được hệ thống xử lý chấm điểm tự động bài kiểm tra.

Chương 3 Thiết kế các mẫu form

Nhắc lại mục tiêu của đề tài là xây dựng hệ thống hỗ trợ xử lý chấm tự động bài kiểm tra kết hợp hình thức trắc nghiệm và tự luận, có hỗ trợ ánh xạ các tiêu chí đánh giá trên từng câu hỏi Do đó cần thiết phải có một mẫu phiếu chấm điểm bài kiểm tra phù hợp để hỗ trợ hệ thống xử lý chấm điểm tự động được dễ dàng và chính xác Trong phần này chúng tôi sẽ trình bày phương pháp thực hiện để có được mẫu phiếu chấm điểm bài kiểm tra.

Thiết kế phiếu chấm điểm bài kiểm tra

Xem xét cấu trúc mẫu phiếu trắc nghiệm hiện tại

Phiếu trắc nghiệm hiện tại đang được dùng trong các bài kiểm tra bao gồm các phần sau (xem hình 3.1):

- Thông tin sinh viên: họ tên, mã số sinh viên.

- Thông tin môn thi: tên môn thi, mã môn thi, mã đề thi, học kỳ, ngày thi, phòng thi.

- Phần tô kết quả trắc nghiệm tối đa 100 câu.

Mẫu phiếu trắc nghiệm hiện tại chỉ phù hợp với các môn học được tổ chức thi trắc nghiệm hoàn toàn Đối với các môn học tổ chức thi dưới hình thức vừa trắc nghiệm, vừa tự luận thì phần điểm tự luận sẽ được nhập riêng vào hệ thống một cách thủ công rất mất thời gian.

Do đó chúng tôi đề xuất giải pháp thiết kế một mẫu phiếu chấm điểm mới bao gồm: phần trắc nghiệm dành cho sinh viên và phần chấm điểm tự luận dành cho giảng viên Mục đích của mẫu phiếu chấm điểm mới là để hỗ trợ giảng viên trong việc thu thập kết quả tổng kết môn học được đầy đủ và dễ dàng hơn, ngoài ra nó còn hướng đến mục tiêu hỗ trợ việc xây dựng hệ thống xử lý chấm điểm tự động dễ dàng và chính xác hơn.

Hình 3.1: Mẫu phiếu trắc nghiệm hiện tại.

Thiết kế một số mẫu phiếu chấm điểm trắc nghiệm và tự luận

Với yêu cầu thiết kế mẫu phiếu chấm điểm mới để hỗ trợ cho việc xây dựng hệ thống chấm điểm tự động, mẫu chấm điểm mới có thể chứa những thông tin sau:

- Thông tin sinh viên: họ tên, mã số sinh viên.

- Thông tin môn thi: tên môn thi, mã môn thi, mã đề thi (có thể được mã hóa nhằm tránh sinh viên gian lận trong lúc thi), học kỳ, ngày thi, phòng thi.

- Phần tô kết quả trắc nghiệm tối đa 90 câu.

- Phần nhập điểm cho câu hỏi tự luận tối đa 30 câu Mỗi câu hỏi sẽ có 3 ô để nhập điểm thành phần, ví dụ: điểm của câu hỏi số 1 sinh viên đạt được là 2.75 thì giảng viên sẽ ghi vào 3 ô theo thứ tự từ trái sang phải lần lượt là 2, 7, 5.

Dựa vào các yêu cầu trên, một số mẫu phiếu chấm điểm mới đã được thiết kế: mẫu 1(hình 3.2), mẫu 2 (hình 3.3), mẫu 3 (hình 3.4).

Hình 3.2: Mẫu phiếu chấm điểm 1.

Hình 3.3: Mẫu phiếu chấm điểm 2.

Hình 3.4: Mẫu phiếu chấm điểm 3.

Khảo sát lấy ý kiến giảng viên

Sau khi có được một số mẫu phiếu chấm điểm, chúng tôi tiến hành làm một khảo sát để lấy ý kiến của giảng viên Dựa vào kết quả khảo sát đó chúng tôi sẽ điều chỉnh lại mẫu phiếu chấm điểm sao cho phù hợp nhất, đáp ứng tốt nhất yêu cầu của giảng viên cũng như hỗ trợ tốt nhất cho hệ thống chấm điểm tự động Sau đây là một số câu hỏi sẽ được khảo sát:

1 Thầy cô có từng ra bài kiểm tra vừa trắc nghiệm vừa tự luận không?

2 Số câu trắc nghiệm trong bài kiểm tra đã từng ra tối đa là bao nhiêu?

3 Số câu tự luận trong bài kiểm tra đã từng ra tối đa là bao nhiêu? (ví dụ chọn là 5 nếu đề thì có các câu: 1a, 1b, 1c, 2a, 2b.)

4 Các thầy cô có cảm thấy khó khăn và mất thời gian khi phải làm nhiều tổng kết cho bài kiểm tra không? (tổng kết điểm, tổng kết đánh giá các tiêu chí của môn học trong bài làm của sinh viên không)

5 Các thầy cô có nhu cầu về việc hỗ trợ thu thập tổng kết các kết quả chấm bài và chất lượng giảng dạy liên quan đến các tiêu chí môn học?

6 Số đề trong một bài kiểm tra đã từng ra tối đa là bao nhiêu?

7 Thầy cô có nhu cầu về việc mã hóa đề không?

8 Nếu có, theo ý kiến của thầy cô, mục đích mã hóa đề là để (tránh gian lận, ) 9 Với các mẫu đề xuất, thầy cô chọn các mẫu nào?

10 Vì sao thầy cô lại chọn mẫu như trên?

11 Nhờ thầy cô góp ý bổ sung thêm cho các mẫu đánh giá đã tham khảo.

Các câu hỏi số 1, 2 và 3 là nhằm mục đích khảo sát nhu cầu thực tế của giảng viên về việc sử dụng các hình thức kiểm tra hiện tại Dựa vào đó ta có thể thảo luận để đề xuất các thay đổi trên phiếu chấm điểm sao cho phù hợp với đa số nhu cầu của giảng viên.

Câu hỏi 4 và 5 sẽ cho chúng ta thấy được thực sự có hay không nhu cầu của giảng viên về tự động hóa việc tổng kết điểm, tổng kết đánh giá các tiêu chí của môn học trên bài làm của sinh viên Từ đó ta sẽ hiểu rõ về tính cấp thiết và động lực nghiên cứu của đề tài này.

Các câu hỏi 6, 7 và 8 là để khảo sát ý kiến của giảng viên về nhu cầu và các phương pháp bảo mật tránh gian lận trong thi cử hiện đang được sử dụng trong khâu tổ chức thi Bên cạnh đó khảo sát còn mong muốn nhận được các ý kiến đề xuất từ giảng viên để nâng cao tính bảo mật cho thiết kế phiếu chấm điểm mới.

Các câu hỏi còn lại gồm câu 9, 10 và 11 sẽ khảo sát ý kiến của giảng viên về các mẫu phiếu chấm điểm bài kiểm tra mới mà chúng tôi đã đề xuất để lựa chọn được mẫu thiết kế phù hợp nhất Sau đó chúng tôi sẽ tiếp tục chỉnh sửa trên mẫu đó dựa vào các thông tin khảo sát từ các câu hỏi trước để đưa ra được mẫu phiếu chấm điểm cuối cùng Đây là mẫu phiếu chấm điểm chúng tôi sẽ dùng để hiện thực và thử nghiệm hệ thống xử lý chấm điểm tự động trong chương tiếp theo.

Thiết kế phiếu lấy mẫu chữ số viết tay

Để tiến hành hiện thực hệ thống nhận dạng chữ số viết tay, việc thu thập dữ liệu để huấn luyện bộ nhận dạng là thực sự cần thiết, đóng vai trò rất quan trọng trong quá trình huấn luyện.

Ngoài bộ dữ liệu về chữ số viết tay MNIST, để dữ liệu huấn luyện sát với thực tế ứng dụng, chúng tôi đề xuất thu thập thêm dữ liệu chữ số viết tay từ một số tình nguyện viên Để thực hiện việc thu thập dữ liệu trước hết chúng tôi sẽ thiết kế phiếu lấy mẫu chữ số viết tay Mẫu chữ số sẽ được viết trong một điều kiện tương tự với chữ số được viết trong phiếu chấm điểm bài kiểm tra, việc này nhằm mục đích làm tăng độ chính xác của bộ nhận dạng sau khi được huấn luyện.

Phiếu lấy mẫu được thiết kế với cấu trúc như sau:

• Phiếu lấy mẫu bao gồm 16 hàng, trong đó hàng đầu tiên là hàng chứa những con số mẫu, 15 hàng còn lại để trống để tình nguyện viên điền mẫu.

• Mỗi hàng có 10 ô vuông để trống, kích thước của ô trống bằng với kích thước của ô ghi điểm trong phiếu chấm điểm được thiết kế trong mục trước.

• Trên mỗi hàng, tình nguyện viên sẽ điền vào mỗi ô trống một chữ số từ 0 đến 9 theo thứ tự từ trái sang phải tương tự như hàng mẫu đầu tiên.

Dưới đây là mẫu phiếu lấy mẫu chữ số viết tay mà chúng tôi đã thiết kế (hình 3.5).

Hình 3.5: Phiếu lẫy mẫu chữ số viết tay.

Các giải pháp thiết kế để hỗ trợ hệ thống nhận dạng

Dùng các ký hiệu hình học

Dùng ký hiệu hình vuông để hỗ trợ nhận dạng trang giấy trong ảnh chụp

Thông thường, để nhận dạng trang giấy trong một ảnh chụp mà cụ thể trong luận văn này là nhận dạng phiếu chấm điểm, ta có thể dùng các kỹ thuật nhận dạng đối tượng hình học (hình chữ nhật) trong ảnh kết hợp với biết trước khoảng kích thước của đối tượng cần nhận dạng.

Tuy nhiên với cách đó thì thời gian nhận dạng chậm và độ chính xác không cao, ngoài ra điều quan trọng nhất là đối với các ảnh chụp phiếu chấm điểm bị xoay ngang hoặc ngược thì ta hoàn toàn không thể dùng ảnh đó để nhận dạng các đối tượng trên phiếu chấm điểm Do đó chúng tôi đề xuất sử dụng các ký hiệu hình học đặt tại vị trí các góc của phiếu chấm điểm Các ký hiệu này có các tính chất dễ phân biệt với các đối tượng khác như: có dạng hình vuông, được tô đen hoàn toàn, có kích thước xác định Ngoài ra để có thể hỗ trợ việc xác định được góc quay của phiếu chấm điểm trong trường hợp ảnh chụp bị xoay, ta sẽ đặt tại góc trái trên cùng hai ký hiệu kề nhau như trong hình minh họa 3.6.

Hình 3.6: Vị trí bố trí các ký hiệu nhận dạng trang giấy.

Dùng ký hiệu hình tròn để nhận dạng mã số sinh viên

Hiện tại mẫu phiếu chấm trắc nghiệm đang được dùng trong các bài kiểm tra dùng các ký hiệu hình tròn chứa các con số để lấy thông tin mã số sinh viên mà sinh viên điền vào phiếu.

Quy ước các ký hiệu hình tròn được tô đen hoàn toàn sẽ tương ứng với một con số trong mã số sinh viên Trong hình 3.7 là một ví dụ sinh viên tô đen các ô tròn để nhập mã số sinh viên là 14326750.

Hình 3.7: Mã số sinh viên được nhận dạng là 14326750.

Dùng ký hiệu hình tròn để nhận dạng câu trả lời trắc nghiệm

Cũng tương tự việc dùng ký hiệu hình tròn tô đen để nhận dạng mã số sinh viên nhập vào, chúng tôi cũng dùng ký hiệu đó để nhận dạng câu trả lời trắc nghiệm mà sinh viên lựa chọn.

Các ô tròn trong phần trả lời trắc nghiệm sẽ có tính chất tương tự như các ô tròn trong phần tô mã số sinh viên Ví dụ trong hình 3.8, kết quả nhận dạng câu trả lời của sinh viên sẽ như sau: câu 1-C, câu 2-A, câu 3-B, câu 4-E, câu 5-C, câu 6-D.

Hình 3.8: Câu trả lời trắc nghiệm của sinh viên.

Dùng ký hiệu hình vuông để nhận dạng vùng nhập điểm câu hỏi tự luận Để hỗ trợ việc chấm điểm các câu hỏi tự luận và việc nhận dạng điểm số, chúng tôi đề xuất sử dụng hình vuông để định vị vị trí các ô điểm mà giảng viên sẽ nhập vào cho mỗi câu hỏi Mỗi ô vuông sẽ có kích thước xác định và được để trống Ví dụ trong hình 3.9, mỗi câu hỏi tự luận sẽ có 3 ô vuông để nhập điểm số.

Hình 3.9: Ô nhập điểm câu hỏi tự luận trên phiếu chấm điểm.

Bố cục trình bày

Để hỗ trợ cho hệ thống nhận dạng phiếu chấm điểm nhanh và chính xác, các đối tượng trong mỗi phần cần phải được bố trí với một khoảng cách đều nhau theo chiều dọc và ngang Cụ thể, trong phần tô mã số sinh viên, các ô tròn được bố trí thành một ma trận các ô số với khoảng cách đều nhau theo chiều dọc và chiều ngang Phần câu trả lời trắc nghiệm, các câu hỏi được bố trí thành 6 cột và 15 hàng với khoảng cách giữa hàng và cột đều nhau, trong mỗi câu hỏi các lựa chọn cũng được bố trí theo hàng ngang với khoảng cách đều nhau Phần câu hỏi tự luận cũng được bố trí thành hàng và cột, các ô vuông điểm số được bố trí liền nhau Như vậy, các thông tin về kích thước, vị trí và khoảng cách giữa các đối tượng trên phiếu chấm điểm là xác định và có thể được lưu lại dưới dạng tập tin cấu hình để sử dụng trong hệ thống nhận dạng sau này Ngoài ra, khi mẫu phiếu chấm điểm được chỉnh sửa, ta chỉ cần cập nhật lại tập tin cấu hình các thông tin về kích thước, khoảng cách giữa các đối tượng để hệ thống nhận dạng thay đổi tương ứng.

Dùng mã QR để chứa thông tin mã hóa

Đối với các thông tin như: mã đề thi, thông tin môn thi, ngày thi, ta có thể mã hóa dưới dạng QR và in trên phiếu chấm điểm Hệ thống nhận dạng sẽ đọc lại các thông tin đó trong quá trình trích xuất thông tin từ phiếu chấm điểm và lưu vào hệ thống dễ dàng hơn Bởi vì mã QR là dạng mã thông dụng hỗ trợ các hệ thống quét dữ liệu nên thí sinh hoàn toàn có thể truy xuất được thông tin chứa bên trong mã dễ dàng bằng các thiết bị điện thoại thông minh hiện nay.

Do đó, để nâng cao tính bảo mật thông tin mã đề thi, ta có thể mã hóa chúng trước khi mã hóa dưới dạng mã QR.

Tổng kết Trong chương này, ngoài kết quả chính là các mẫu phiếu chấm điểm bài kiểm tra kết hợp hình thức trắc nghiệm và tự luận có hỗ trợ ánh xạ các tiêu chí đánh giá, ta còn có thêm mẫu phiếu thu thập dữ liệu chữ số viết tay dùng cho hệ thống nhận dạng chữ số viết tay Ngoài ra chúng tôi cũng đã tìm hiểu và đề xuất một số giải pháp thiết kế cho phiếu chấm điểm và phiếu thu thập mẫu chữ số viết tay để hỗ trợ hệ thống nhận dạng nhanh và chính xác hơn Dựa vào mẫu phiếu chấm điểm và mẫu phiếu thu thập dữ liệu chữ số viết tay, chúng tôi sẽ tiến hành xây dựng hệ thống thu thập dữ liệu chữ số viết tay và hệ thống xử lý chấm điểm tự động bài kiểm tra trong chương tiếp theo.

Chương 4 Hiện thực và thử nghiệm

Trong chương này, chúng tôi sẽ trình bày về phương pháp hiện thực hệ thống hỗ trợ xử lý chấm điểm tự động bài kiểm tra và các hệ thống liên quan như hệ thống nhận dạng chữ số viết tay và hệ thống thu thập mẫu chữ số viết tay từ phiếu lấy mẫu.

Hiện thực hệ thống nhận dạng chữ số viết tay

Xây dựng mạng nơron tích chập

Trong quá trình xây dựng một CNNs, để có được một kiến trúc phù hợp nhất cho một ứng dụng cụ thể của CNNs thì cần thiết phải có nhiều kinh nghiệm trong thiết kế kiến trúc, và phải thay đổi không ngừng các thông số của mô hình tùy vào ứng dụng thực tế Cụ thể mô hìnhCNNs ứng dụng trong nhận dạng chữ số viết tay trong luận văn này sẽ được huấn luyện trên tập dữ liệu MNIST, do đó để thuận tiện cho việc thiết kế mô hình và hiện thực, CNNs sẽ nhận đầu vào là một ảnh xám có kích thước 28 x 28 và cho kết quả đầu ra là một mảng có kích thước 10 phần tử đại diện cho 10 chữ số từ 0 đến 9 (ví dụ: kết quả đầu ra là [0,0,0,1,0,0,0,0,0,0] sẽ tương đương kết quả nhận dạng là số 3) Mô hình CNNs sẽ được thiết kế gồm 7 lớp : lớp đầu vào I(input layer), lớp tích chập C1 (convolution layer), lớp thu giảm chiều P1 (pooling layer), lớp tích chập C2, lớp thu giảm chiều P2, lớp tích chập C3, lớp kết nối đầy đủ F (fully connection layer và lớp đầu ra O (output layer) (xem hình 4.1).

Hình 4.1: Mô hình mạng nơron tích chập.

Lớp C1 là lớp tích chập chứa 10 bộ lọc hay nhân (còn gọi là filter hay kernel), mỗi bộ lọc có kích thước5×5, sau khi tích chập với dữ liệu đầu vào là ảnh có kích thước28×28sẽ tạo ra 10 bản đồ đặc trưng (feature map) khác nhau, mỗi bản đồ đặc trưng chứa(28−5+1)× (28−5+1) $×24W6nơron Như vậy ta có tổng cộng10×(5×5+1) &0trọng số cần được huấn luyện Trong mô hình này, để cho đơn giản chúng tôi chọn hàm kích hoạt Relu (Rectified Linear Unit) cho đầu ra của lớp tích chập được biểu diễn bằng công thức toán học f(x) =max(0,x), tức là giá trị đầu ra của lớp C1 sẽ luôn có giá trị dương.

Lớp P1 là lớp thu giảm chiều sẽ nhận dữ liệu đầu vào chính là kết quả của lớp C1 gồm 10 bản đồ đặc trưng Lớp P1 sử dụng một cửa sổ trượt có kích thước2×2với bước trượt là 2 đơn vị tương đương 2 pixel Do đó lớp này sẽ cho ra 10 bản đồ đặc trưng khác nhau, mỗi bản đồ đặc trưng có kích thước12×124nơron kết nối với các nơron đầu vào thông qua một trọng số và một độ lệch Như vậy ta sẽ có tổng cộng 20 trọng số và độ lệch cần được huấn luyện trong lớp này.

Lớp C2 sẽ chứa 20 bộ lọc, mỗi bộ lọc có kích thước5×5×10, sau khi tích chập với dữ liệu đầu vào là kết quả đầu ra từ lớp P1 sẽ tạo ra 20 bản đồ đặc trưng khác nhau, mỗi bản đồ đặc trưng chứa(12−5+1)×(12−5+1) =8×8V nơron Với đầu vào là 10 bản đồ đặc trưng, mỗi bộ lọc sẽ có5×5×10%0trọng số và 1 độ lệch Như vậy lớp C2 sẽ có tổng cộng 20×(250+1) =5,020trọng số và độ lệch cần được huấn luyện Tương tự lớp C1, ta cũng sử dụng hàm kích hoạt Relu để tính toán giá trị đầu ra cho lớp C2.

Lớp P2 nhận dữ liệu đầu vào là kết quả của lớp C2 Tương tự như lớp P1, lớp này cũng sẽ dụng một cửa sổ trượt có kích thước2×2với bước trượt là 2 đơn vị tương đương 2 pixel Do đó lớp này sẽ cho ra 20 bản đồ đặc trưng khác nhau, mỗi bản đồ đặc trưng có kích thước4×4 nơron kết nối với các nơron đầu vào thông qua một trọng số và một độ lệch, tổng cộng lớp P2 có20×16= 320 nơron Như vậy ta sẽ có tổng cộng 40 trọng số và độ lệch cần được huấn luyện trong lớp này.

Lớp C3 nhận dữ liệu đầu vào từ lớp P2 gồm 20 bản đồ đặc trưng, mỗi bản đồ đặc trưng có kích thước4×4 Trong lớp này sẽ chứa 320 bộ lọc, mỗi bộ lọc có kích thước4×4×2020 tương đương 320 trọng số và 1 độ lệch Như vậy lớp C3 sẽ có tổng cộng 320×(320+1) 102,720trọng số và độ lệch cần được huấn luyện Tương tự lớp C1, ta cũng sử dụng hàm kích hoạt Relu để tính toán giá trị đầu ra cho lớp C3.

Lớp kết nối đầy đủ F sẽ nhận dữ liệu đầu vào từ lớp C3 và 10 nơron tương ứng với dữ liệu đầu ra là 10 chữ số từ 0 đến 9 Tất cả nơron đầu vào sẽ được kết nối với 10 nơron đầu ra, do đó sẽ có320×(10+1) =3,520trọng số và độ lệch cần huấn luyện trong lớp này Hàm kích hoạt được sử dụng trong lớp này là hàm softmax.

Kết thúc bước xậy dựng mô hình mạng nơron tích chập, ta có được một mô hình học máy sẵn sàng cho việc huấn luyện ở bước tiếp theo.

Huấn luyện mạng nơron tích chập

Sau khi xây dựng xong mô hình CNNs ở bước trước, bước tiếp theo ta sẽ tiến hành huấn luyện mô hình trên một tập dữ liệu cụ thể, ở đây chúng tôi sẽ dùng tập dữ liệu MNIST để huấn luyện mô hình trên.

Tập dữ liệu MNIST là một tập dữ liệu về chữ số viết tay, nó là một phần trong một tập dữ liệu lớn được cung cấp bởi Viện Tiêu chuẩn và Kỹ thuật quốc gia Hoa Kỳ (tên tiếng anh là National Institute of Standards and Technology - NIST) Tập dữ liệu này bào gồm 60,000 mẫu ảnh chữ số viết tay dùng đề huấn luyện và 10,000 mẫu dùng để kiểm thử Các mẫu trong tập dữ liệu là ảnh xám và đã được chuẩn hóa về kích thước28×28pixel Đây là tập dữ liệu mẫu đã được rất nhiều nhóm nghiên cứu sử dụng để thử nghiệm và đánh giá các hệ thống nhận dạng chữ số viết tay trong lĩnh vực học máy.

Với 60,000 mẫu ảnh chữ số viết tay, quá trình huấn luyện mạng được thực hiện qua một số bước lặp xác định với một ngưỡng lỗi cho trước Trong mỗi bước lặp, ta tiến hành lấy mẫu từ tập mẫu theo phương pháp lấy mẫu ngẫu nhiên không hoàn lại cho đến khi lấy hết tập mẫu, mỗi lần ta lấy 100 mẫu để đưa vào huấn luyện Sau khi kết thúc một bước lặp, ta sẽ tính toán độ lỗi của mô hình và so sánh với ngưỡng lỗi cho trước, nếu độ lỗi của mô hình nhỏ hơn ngưỡng lỗi cho trước, ta sẽ dừng quá trình huấn luyện, ngược lại ta sẽ tiếp tục vòng lặp khác cho đến khi số lần lặp lớn hơn số lần lặp cho trước.

Kết quả thử nghiệm

Kết thúc quá trình huấn luyện ở trên, ta sẽ sử dụng 10,000 mẫu chữ số viết tay trong tập dữ liệu MNIST để đánh giá mô hình CNNs mà ta vừa huấn luyện xong Quá trình huấn luyện được thực hiện trên một máy tính có cấu hình như sau: CPU Intel Core i7 3.4 Ghz , RAM 16Gb; tại vòng lặp thứ 48 với thời gian huấn luyện khoảng 4 tiếng, mô hình trên cho kết quả nhận dạng đúng 9911 mẫu trên 10000 mẫu tương đương 99,11% Ngoài ra, để tăng độ chính xác của bộ nhận dạng khi ứng dụng trong thực tế, chúng tôi đã thu thập thêm 888 mẫu chữ số viết tay thực tế phục vụ cho việc huấn luyện Tuy nhiên số lượng dữ liệu thực tế còn quá ít Do đó chúng tôi đã dùng các kỹ thuật xử lý ảnh như: xoay ảnh và co giản ảnh đề giả lập thành 35220 mẫu chữ số viết tay thực tế Sau đó chúng tôi kết hợp dữ liệu vừa giả lập với tập dữ liệu MNIST (viết tắt là MNIST+) để tiếp tục huấn luyện mạng nơron tích chập Sau đó, chúng tôi thực hiện kiểm thử bộ nhận dạng trên tập dữ liệu 1440 mẫu chữ số viết tay thực tế trên 2 mô hình đã được huấn luyện với 2 bộ dữ liệu khác nhau và kết quả được thống kê trong bảng 4.1

Dữ liệu kiểm thửDữ liệu huấn luyện MNIST MNIST+

Bảng 4.1: Kết quả thử nghiệm bộ nhận dạng chữ số viết tay

Như vậy với việc huấn luyện thành công mô hình CNNs với tập dữ liệu MNIST và tập dữ liệu thực tế, ta có thể sử dụng hệ thống nhận dạng chữ số viết tay này tích hợp vào hệ thống xử lý chẩm điểm tự động bài kiểm tra để trích xuất thông tin điểm cho các câu hỏi tự luận trên phiếu chấm điểm.

Hiện thực hệ thống thu thập mẫu chữ số viết tay từ phiếu lấy mẫu

Nhận dạng phiếu lấy mẫu trong tập tin ảnh

Bước đầu tiên ta cần nhận dạng được phiếu lấy mẫu trong tập tin ảnh để có thể cắt ra phần ảnh chỉ chứa phiếu lấy mẫu Có hai phương pháp nhận dạng phiếu lấy mẫu trong tập tin ảnh: nhận dạng trực tiếp khổ giấy A4, nhận dạng bằng các ký hiệu (marker) trên phiếu lấy mẫu.

Cả hai phương pháp trên đều sử dụng phương pháp tìm biên ảnh kết hợp phương pháp xấp xỉ đa giác để tìm các đối tượng hình chữ nhật hoặc hình vuông có trong ảnh Các đối tượng cần nhận dạng như phiếu lấy mẫu tương đương khổ giấy A4 hay marker đều có kích thước xác định và biết trước, tuy nhiên trong tâp tin ảnh ta không thể biết trước được kích thước của các đối tượng đó nên việc nhận dạng tốn nhiều thời gian và độ chính xác không cao Để giải quyết vấn đề này, ta sẽ quy định đối với ảnh chụp, diện tích phiếu lấy mẫu phải chiếm khoảng trên 80% diện tích ảnh (xem ví dụ hình 4.2)

Về kết quả, cả hai phương pháp nhận dạng phiếu lấy mẫu trong tập tin ảnh đều là một ảnh chỉ chứa phần nội dung phiếu lấy mẫu Tuy nhiên đối với phương pháp nhận dạng trực tiếp khổ giấy A4, ta không có thông tin về chiều của phiếu lấy mẫu, do đó ta không thể xoay ảnh về đúng vị trí mong muốn trước khi tiến hành các bước xử lý tiếp theo Ngược lại, phương pháp nhận dạng bằng các marker có ưu điểm là ta có thêm thông tin chiều của phiếu lấy mẫu nhờ vào vị trị của các marker mà ta đã thiết kế trước đó Dựa vào vị trí của các marker, ta hoàn toàn có thể xác định được góc xoay của ảnh và xoay ảnh về đúng vị trí mong muốn Ngoài ra việc nhận

Hình 4.2: Ảnh chụp phiếu lẫy mẫu chữ số viết tay. dạng các marker cũng dễ dàng nhờ vào các đặc tính như: kích thước, hình dạng (vuông), mật độ bao phủ của các pixel màu đen (100%) Dựa vào các ưu nhược điểm của hai phương pháp, chúng tôi đã chọn phương pháp nhận dạng phiếu lấy mẫu thông qua các marker để tiến hành hiện thực.

Sau đây là một số giải thuật chính dùng để hiện thực hệ thống theo phương pháp đã chọn.

Giải thuật nhận dạng phiếu lấy mẫu trong ảnh

Giải thuật nhận đầu vào là một ảnh chụp phiếu lấy mẫuI thỏa điều kiện đã được nêu ở trên cùng với thông tin cấu hình của phiếu lấy mẫuϒ; và đầu ra là ảnh phiếu lấy mẫu đã được cắt và xoay về đúng chiều mong muốnI o Đầu tiên ảnh đầu vào sẽ được chuyển về kích thước chuẩn cho trước được lưu trong tập tin cấu hình Mục đích của việc chuyển về kích thước chuẩn là đề đồng bộ giữa tất cả các ảnh đầu vào có kích thước khác nhau, khi đó các đối tượng trong ảnh sẽ quy về một kích thước xác định mà ta sẽ dùng để nhận dạng chúng trong quá trình nhận dạng Sau đó ảnh này sẽ trải qua bước tiền xử lý trước khi được dùng để nhận dạng các marker có trong ảnh Từ tập các markerM vừa nhận dạng được, ta sẽ cắt được phần ảnh chứa phiếu lấy mẫu trong ảnh chụp, ngoài ra ta cũng tính được góc xoayαcủa ảnh để xoay ảnh về đúng vị trí mong muốn (xem giải thuật 1) Thông tin cấu hình dùng để nhận dạng phiếu lấy mẫu gồm những thông tin sau:

– Kích thước ảnh chuẩn cần thay đổi trước khi tiến hành quá trình xử lý nhận dạng.

– Kích thước marker dùng để nhận dạng phiếu lấy mẫu.

Algorithm 1Giải thuật nhận dạng phiếu lấy mẫu trong ảnh

Input: Original imageI, Configuration information of sample formϒ

Giải thuật nhận dạng các marker

Giải thuật nhận đầu vào là ảnh chụp phiếu lấy mẫu đã được tiền xử lýI p cùng với thông tin kích thước của marker được lưu trong cấu hình của phiếu lấy mẫuϒ; và kết quả đầu ra là danh sách các markerMcó trong ảnh thỏa điều kiện cho trước như: có hình dạng là hình vuông, chứa hoàn toàn các pixel màu đen và có kích thước xác định Trong giải thuật này, chúng tôi dùng kỹ thuật xử lý ảnh tìm các biênCcủa các đối tượng trong ảnh, sau đó sẽ tìm các xấp xỉ đa giác dựa trên các biên vừa tìm được, cuối cùng giải thuật sẽ lặp trên tất cả các đa giác và kiểm tra từng đa giác có thỏa điều kiện là một marker hay không để đưa vào tập kết quả trả về (xem chi tiết trong giải thuật 2).

Algorithm 2Giải thuật nhận dạng các marker

Input: Preprocessed imageI p , Configuration information of sample formϒ

1: M:=∅ Khởi tạo mảng chứa các marker

5: if pis a valid marker withϒthen

Giải thuật xác định góc xoay của phiếu lấy mẫu

Giải thuật nhận đầu vào là danh sách các markerM đã được nhận dạng ở bước trên và đầu ra là góc cần xoay αđối với ảnh phiếu lấy mẫu Theo thiết kế mà ta đã chọn, tức là dùng hai marker đặt cạnh nhau tại góc trên bên trái phiếu lấy mẫu để quy định vị trí mong muốn của ảnh phiếu lấy mẫu Do đó trong giải thuật mày đầu tiên ta sẽ tìm hai markerm 1 vàm 2 trong các marker đầu vào sao cho khoảng cách giữa chúng là gần nhất và nhỏ hơn một khoảng xác định cho trước Từ đó ta sẽ so sánh vị trí giữa chúng với các marker còn lại để tính được gócα cần phải quay trên ảnh phiếu lấy mẫu (chi tiết xem giải thuật 3).

Algorithm 3Giải thuật xác định góc xoay của ảnh

2: iflength of M’ equal to 2then

Kết thúc bước nhận dạng phiếu lấy mẫu trong ảnh chụp, ta có được kết quả là một ảnh có kích thước tương đương khổ giấy A4 chỉ chứa nội dung của phiếu lấy mẫu (xem hình 4.3).

Hình 4.3: Ảnh phiếu lẫy mẫu sau khi được nhận dạng.

Trích xuất mẫu chữ số viết tay trong phiếu lấy mẫu

Trong bước này, ta tiếp tục xử lý trên ảnh phiếu lấy mẫu mà ta đã nhận dạng được ở bước trước để trích xuất mẫu chữ số viết tay chứa trong các ô vuông có trong phiếu Để làm được điều đó, ta phải xác định được vị trí của các ô vuông chứa mẫu trên phiếu lấy mẫu Có hai phương pháp như sau:

- Phương pháp 1: Sử dụng các kỹ thuật xử lý ảnh để nhận dạng các đối tượng hình học trong ảnh (ở đây là hình vuông) Đối với phương pháp này ta có thể nhận dạng chính xác vị trí của ô vuông chứa chữ số Tuy nhiên vì phương pháp này sử dụng nhiều các kỹ thuật xử lý ảnh nên thời gian thực thi tương đối lâu.

- Phương pháp 2: Dựa vào các thông số cấu hình của phiếu lấy mẫu như kích thước ô vuông, các ô vuông được bố trí theo hàng và cột, khoảng cách giữa các hàng và cột xác định, ta sẽ tạo ra thông tin về vị trí của từng ô vuông chứa chữ số Với phương pháp này, vị trí các ô vuông sẽ có độ sai lệch nhất định tuy nhiên không đáng kể, vẫn có thể bao trọn mẫu chữ số nhưng ta sẽ có được thời gian thực thi nhanh hơn rất nhiều so với phương pháp thứ nhất Do đó ta sẽ chọn phương pháp thứ hai để tiến hành hiện thực.

Sau khi áp dụng phương pháp thứ hai để xác định vị trí của các ô vuông chứa chữ số, ta sẽ tiến hành cắt mẫu chữ số từ ảnh phiếu lấy mẫu Mỗi ảnh được cắt ra chỉ chứa một chữ số sẽ được gán nhãn tương ứng có giá trị từ 0 đến 9 Sau đó ta sẽ áp dụng các phương pháp tiền xử lý ảnh: nhị phân hóa, khử nhiễu, chuẩn hóa kích thước, làm trơn ảnh, trên mỗi ảnh trước khi lưu ảnh xuống tập tin.

Giải thuật trích xuất mẫu chữ số viết tay trong phiếu lấy mẫu

Giải thuật nhận đầu vào là ảnh phiếu lấy mẫuI và thông tin cấu hình của phiếu lấy mẫu ϒ; đầu ra là tập N chứa các ảnh chữ số viết tay và nhãn tương ứng Giải thuật sẽ lặp trên tập S chứa danh sách các ô vuông được sinh ra từ thông tin cấu hìnhϒcủa phiếu lấy mẫu Trên mỗi ô vuôngs, giải thuật sẽ tính toán giá trị nhãnltương ứng và cắt phần ảnh chữ số trên ảnhI Sau đó ảnh cắt đượci c sẽ được xử lý qua các bước: khử nhiễu, cắt biên và chuẩn hóa kích thước để cho ra ảnh chữ sối s và đưa ảnh này cùng với nhãn vào trong tập đầu raN (xem giải thuật 4).

Algorithm 4Giải thuật trích xuất mẫu chữ số viết tay trong phiếu lấy mẫu

Input: Sample form imageI, Configuration information of sample formϒ

Output: List of hand written number images with labelsN

1: N:=∅ Khởi tạo mảng chứa ảnh chữ số viết tay và nhãn tương ứng

Giải thuật sinh các ô vuông chứa các mẫu chữ số trên phiếu lấy mẫu

Giải thuật nhận đầu vào là thông tin cấu hình ϒ của phiếu lấy mẫu và đầu ra là tập S chứa danh sách các phần tử ô vuông tại vị trí các mẫu chữ số viết tay trên phiếu lấy mẫu Đầu tiên giải thuật sẽ đọc thông tin cấu hình bao gồm các thông tin sau:

• (p x ,p y )là tọa độ vị trí bắt đầu của hàng mẫu chữ số đầu tiên.

• hlà chiều cao của một hàng mẫu chữ số.

• w c là chiều rộng của một cột mẫu chữ số.

• w s là chiều rộng của ô vuông chứa mẫu chữ số.

Bởi vì một phiếu lấy mẫu có 15 hàng, mỗi hàng có 10 ô vuông tương ứng với các chữ số từ 0 đến 9 Do đó giải thuật sẽ duyệt qua 15 hàng và 10 cột để tính được tọa độ (x,y) của mỗi ô vuông, sau đó thông tin của mỗi ô vuông sẽ được đưa vào tập đầu raS(xem giải thuật 5).

Algorithm 5Giải thuật sinh các ô vuông chứa các mẫu chữ số trên phiếu lấy mẫu

Input: Configuration information of sample formϒ

1: S:=∅ Khởi tạo mảng chứa thông tin các ô vuông

4: y=p y + (r−1)×h Tính toán tọa độ y của ô vuông

6: x=p x + (c−1)×w c Tính toán tọa độ x của ô vuông

Lưu các mẫu chữ số viết tay xuống tập tin

Sau khi trích xuất được dữ liệu mẫu chữ số viết tay dưới dạng ảnh, ta sẽ lưu tất cả các mẫu xuống tập tin nhị phân theo định dạng tương tự như định dạng của tập tin MNIST Sẽ có hai tập tin được lưu bao gồm một tập tin lưu dữ liệu ảnh các mẫu chữ số viết tay và một tập tin lưu giá trị nhãn tương ứng với ảnh mẫu, thứ tự các ảnh mẫu và nhãn tương ứng trong hai tập tin sẽ giống nhau.

Hiện thực hệ thống nhận dạng phiếu chấm điểm

Nhận dạng phiếu chấm điểm trong tập tin ảnh

Phiếu chấm điểm bài kiểm tra cũng được thiết kế dùng các marker ở các góc để hỗ trợ hệ thống nhận dạng phiếu chấm điểm trong ảnh chụp Do đó ciệc nhận dạng phiếu chấm điểm trong tập tin ảnh cũng tương tự việc nhận dạng phiếu lấy mẫu mà chúng tôi đã trình bày trong mục 4.2.1 Kết quả của bước này là ảnh chỉ chứa phần nội dung phiếu chấm điểm (ví dụ hình minh họa 4.5).

Hình 4.5: Ảnh phiếu chấm điểm sau khi được nhận dạng.

Nhận dạng các đối tượng trong phiếu chấm điểm

Sau khi nhận dạng được phiếu chấm điểm trong ảnh chụp, ta sẽ tiến hành nhận dạng các đối tượng có trong phiếu chấm điểm như: mã số sinh viên, mã QR chứa thông tin đề thi, các câu trả lời trắc nghiệm, điểm số của các câu hỏi tự luận, điểm đánh giá theo tiêu chí cho câu hỏi tự luận Các đối tượng trong phiếu chấm điểm có đặc điểm hình học xác định như sau:

- Mã số sinh viên và câu trả lời trắc nghiệm là hình tròn, trong đó hình tròn tô đen là đáp án sinh viên lựa chọn.

- Mã QR được đặt trong một khung hình vuông.

- Điểm số câu hỏi tự luận là chữ số được viết vào trong khung hình vuông.

- Điểm đánh giá tiêu chí cho câu hỏi tự luận được đặt trong khung hình vuông.

Như vậy việc nhận dạng các đối tượng trên phiếu chấm điểm cũng có thể được thực hiện bằng hai phương pháp sau:

- Phương pháp 1: sử dụng các kỹ thuật xử lý ảnh để tìm biên và nhận dạng các đối tượng hình học có trong ảnh (ở đây là hình tròn và hình vuông).

- Phương pháp 2: các đối tượng cần nhận dạng có trên phiếu chấm điểm sẽ được tái tạo dựa vào các thông tin đã biết về phiếu chấm điểm như: bố cục trình bày, hình dạng, vị trí và kích thước của các đối tượng. Ưu nhược điểm của hai phương pháp Đối với phương pháp 1, vị trí và kích thước của các đối tượng sẽ được nhận dạng chính xác, tuy nhiên trong trường hợp sinh viên tô đen câu trả lời bị lem ra bên ngoài ô tròn làm biến dạng đối tượng, thì việc nhận dạng các đối tượng đó gặp nhiều khó khăn, thậm chí không thể nhận dạng được, dẫn đến kết quả trích xuất không chính xác Ngoài ta việc sử dụng nhiều kỹ thuật xử lý ảnh để nhận dạng các đối tượng sẽ tốn nhiều thời gian thực thi hơn.

Trong phương pháp 2, thông tin của các đối tượng trên phiếu chấm điểm như vị trí, hình dạng và kích thước sẽ được tạo ra từ thông tin cấu hình của phiếu chấm điểm, do đó thời gian thực thi sẽ nhanh hơn rất nhiều đối với phương pháp 1 Tuy nhiên, khi đặt các đối tượng vừa được sinh ra lên trên ảnh phiếu chấm điểm sẽ có phần sai lệch, không chính xác hoàn toàn nhưng độ sai lệch không nhiều Để giảm độ sai lệch đó, ta quy định việc chụp ảnh phiếu chẩm điểm phải được chụp chính diện, như vậy sẽ giúp việc nhận diện đối tượng chính xác hơn (xem hình minh họa 4.4).

Qua so sánh hai phương pháp trên, ta thấy cả hai phương pháp đều có ưu nhược điểm riêng, tuy nhiên xét về tổng thể, phương pháp 2 có nhiều ưu điểm hơn như: thời gian thực thi, độ chính xác cũng như các giải pháp khắc phục nhược điểm khả thi hơn so với phương pháp thứ nhất Do đo chúng tôi sẽ chọn phương pháp thứ hai để hiện thực chương trình thử nghiệm Trong phương pháp này, chúng tôi sẽ sử dụng các giải thuật sau đây:

Giải thuật nhận dạng mã số sinh viên trong phiếu chấm điểm

Giải thuật nhận đầu vào là một ảnh phiếu chấm điểmIđã được nhận dạng từ ảnh chụp ở giải thuật trước và thông tin cấu hìnhϒcủa phiếu chấm điểm; đầu ra của giải thuật là một chuỗi mã sốScủa sinh viên tô vào phiếu Giải thuật bao gồm các bước chính sau:

• Tạo ra tất cả các ô tròn trong phần tô mã số sinh viên dựa vào thông tin cấu hình của phiếu chấm điểm (xem giải thuật 7).

• Nhận dạng các ô tròn được tô đen trong tập các ô tròn Cđược tạo ra ở bước trước (xem giải thuật 8).

• Tạo chuỗi mã số sinh viên từ tập các ô tròn tô đenC s

Algorithm 6Giải thuật nhận dạng mã số sinh viên trong phiếu chấm điểm

Input: Test form imageI, Configuration information of test formϒ

Output: A string of student codeS

1: Generate all circles for student code base onϒ

3: Create student code from solid circles

Giải thuật sinh các ô tròn trong phần tô mã số sinh viên

Giải thuật nhận đầu vào là thông tin cấu hìnhϒcủa phiếu chấm điểm và đầu ra là tậpC chứa danh sách các đối tượng hình tròn trong phần mã số sinh viên và thông tin vị trí của nó trên phiếu chấm điểm Phần tô mã số sinh viên gồm 10 hàng và 8 cột, do đó cấu hình gồm các thông tin sau:

• (p x ,p y )là tọa độ vị trí bắt đầu của hàng đầu tiên.

• h là chiều cao của một hàng.

• w c là chiều rộng của một cột.

• r c là bán kính của ô tròn.

• l s là chiều dài của mã số sinh viên.

Giải thuật sẽ duyệt qua các hàng và cột trong phần mã số sinh viên để tính được tọa độ(x,y) của mỗi ô tròn, sau đó thông tin của mỗi ô tròn sẽ được đưa vào tập đầu raC (xem giải thuât 7).

Algorithm 7Giải thuật sinh các ô tròn trong phần tô mã số sinh viên

Input: Configuration information of test formϒ

4: y=p y + (i−1)×h Tính toán tọa độ y của ô tròn

6: x=p x + (j−1)×w c Tính toán tọa độ x của ô tròn

Giải thuật nhận dạng ô tròn được tô đen trong phiếu chấm điểm

Algorithm 8Giải thuật nhận dạng ô tròn được tô đen trong phiếu chấm điểm

Input: Test form imageI, List of circlesC

Output: List of solid circlesC s

Giải thuật nhận đầu vào là ảnh phiếu chấm điểmI cùng với các ô trònCcần được nhận dạng là được tô đen hay không và đầu ra là các ô tròn được tô đen Để xác định một ô tròn là được tô đen hay không, ta quy định tỷ lệ số pixel đen p b trên tổng số pixelp c trong ô tròn phải lớn hơn hoặc bằng một giá trị nhất định, ví dụ ta lấy tỷ lệ này là 70% Giải thuật này được dùng để nhận dạng các ô tròn được tô đen cho cả phần tô mã số sinh viên và phần tô câu trả lời trắc nghiệm (xem giải thuật 8).

Giải thuật nhận dạng câu trả lời trắc nghiệm trong phiếu chấm điểm

Giải thuật nhận đầu vào là một ảnh phiếu chấm điểmIđã được nhận dạng từ ảnh chụp ở giải thuật trước và thông tin cấu hìnhϒcủa phiếu chấm điểm; đầu ra của giải thuật là danh sách các câu trả lời trắc nghiệmQ c của sinh viên tô vào phiếu Giải thuật bao gồm các bước chính sau:

• Tạo ra tất cả các ô tròn trong phần tô câu trả lời trắc nghiệm dựa vào thông tin cấu hìnhϒ của phiếu chấm điểm (xem giải thuật 10).

• Nhận dạng các ô tròn được tô đen trong tập các ô tròn được tạo ra ở bước trước (xem giải thuật 8).

• Tạo danh sách các câu trả lời trắc nghiệm của sinh viên từ tập các ô tròn được tô đen (xem giải thuật 14).

Algorithm 9Giải thuật nhận dạng câu trả lời trắc nghiệm trong phiếu chấm điểm

Input: Test form imageI, Configuration information of test formϒ

Output: List of choice question with resultQ c

1: Generate all circles for choice questions base onϒ

3: Create choice question result from solid circles

Giải thuật sinh các ô tròn trong phần câu hỏi trắc nghiệm

Giải thuật nhận đầu vào là thông tin cấu hình của phiếu chấm điểmϒvà đầu ra là tậpC chứa danh sách các đối tượng hình tròn trong phần tô câu trả lời trắc nghiệm và thông tin vị trí của nó trên phiếu chấm điểm (xem giải thuật 10) Thông tin cấu hình phần câu hỏi trắc nghiệm bao gồm các thông tin sau:

• (p x ,p y )là tọa độ vị trí bắt đầu của hàng câu hỏi trắc nghiệm đầu tiên.

• h là chiều cao của một hàng câu trả lời trắc nghiệm.

• w qc là chiều rộng của một cột câu trả lời trắc nghiệm.

• w cc là chiều rộng của một cột lựa chọn trong câu trả lời trắc nghiệm.

• r c là bán kính của ô tròn đáp án trắc nghiệm.

• mlà số cột câu hỏi trắc nghiệm được bố trí trên phiếu chấm điểm (trong mẫu phiếu chấm điểm các câu hỏi được bố trí thành 6 cột).

• nlà tổng số câu hỏi trắc nghiệm có trong phiếu chấm điểm (trong mẫu phiếu chấm điểm có tất cả 90 câu hỏi trắc nghiệm).

• olà số lựa chọn có trong một câu hỏi trắc nghiệm.

Algorithm 10Giải thuật sinh các ô tròn trong phần câu hỏi trắc nghiệm

Input: Configuration information of test formϒ

5: y=p y + (i−1)×h Tính toán tọa độ y của ô tròn

7: q x =p x + (j−1)×w qc Tính toán tọa độ x của câu trả lời trắc nghiệm

9: x=q x + (k−1)×w cc Tính toán tọa độ x của ô tròn

Giải thuật nhận dạng điểm số câu trả lời tự luận trong phiếu chấm điểm

Giải thuật nhận đầu vào là một ảnh phiếu chấm điểmI đã được nhận dạng từ ảnh chụp và thông tin cấu hìnhϒcủa phiếu chấm điểm; đầu ra của giải thuật là danh sách các câu trả hỏi tự luậnQ w cùng với điểm số mà giảng viên nhập vào Giải thuật bao gồm các bước chính sau:

• Tạo ra tất cả các ô vuông trong phần nhập điểm câu hỏi tự luận dựa vào thông tin cấu hình ϒcủa phiếu chấm điểm (xem giải thuật 12).

• Cắt các ảnh ô vuông điểm số dựa vào thông tin vừa tạo ra ở bước trên.

• Tạo danh sách các câu trả lời tự luận chứa thông tin điểm số trong từng câu hỏi từ các ảnh điểm số (xem giải thuật 15).

Algorithm 11Giải thuật nhận dạng điểm số câu trả lời tự luận trong phiếu chấm điểm

Input: Test form imageI, Configuration information of test formϒ

Output: List of written question with resultQ w

1: Generate all squaresScontain mark of writren questions base onϒ

2: Crop all mark squares from imageIbase onS

Giải thuật sinh các đối tượng ô vuông trong phần điểm câu hỏi tự luận

Giải thuật nhận đầu vào là thông tin cấu hình của phiếu chấm điểmϒvà đầu ra là tậpS chứa danh sách các đối tượng hình vuông trong phần nhập điểm câu hỏi tự luận và thông tin vị trí của nó trên phiếu chấm điểm (xem giải thuật 12) Thông tin cấu hình phần điểm câu hỏi tự luận bao gồm các thông tin sau:

– (p x ,p y ) là tọa độ vị trí bắt đầu hàng đâu tiên trong phần nhập điểm câu hỏi tự luận.

– h là chiều cao của một hàng điểm cho câu hỏi tự luận.

– w qc là chiều rộng của một cột câu hỏi tự luận.

– w s là kích thước của ô vuông chứa điểm số.

– nlà tổng số câu hỏi tự luận có trên phiếu chấm điểm.

– mlà số cột câu hỏi tự luận được bố trí trên phiếu chấm điểm.

– o: số ô điểm cho một câu hỏi tự luận.

Algorithm 12Giải thuật sinh các đối tượng ô vuông trong phần điểm câu hỏi tự luận

Input: Configuration information of test formϒ

5: y=p y + (i−1)×h Tính toán tọa độ y của ô vuông

7: q x =p x + (j−1)×w qc Tính toán tọa độ x của câu hỏi tự luận

9: x=q x + (k−1)×w s Tính toán tọa độ x của ô vuông

Trích xuất thông tin từ các đối tượng đã được nhận dạng

Trích xuất thông tin đề thi

Thông tin đề thi được mã hóa dưới dạng mã QR và được đặt trong một ô vuông có vị trí và kích thước xác định trên phiếu chấm điểm Từ các giá trị thông số trong tập tin cấu hình có được ở giai đoạn thiết kế, ta dễ dàng cắt được phần ảnh chứa mã QR Sau đó ảnh này sẽ đưa qua bộ xử lý nhận dạng mã QR để trích xuất thông tin đề thi Trong thử nghiệm này, chúng tôi đã dùng thư viện ZXing để đọc thông tin chứa trong mã QR.

Trích xuất mã số sinh viên

Sau khi nhận dạng được các ô tròn được tô đen trong phần tô mã số sinh viên, ta tiến hành trích xuất mã số sinh viên bằng giải thuật 13, giải thuật nhận đầu vào là các ô tròn được tô đenC s và đầu ra là một mã số sinh viên gồm các chữ số từ 0 đến 9 Đầu tiên, các ô tròn sẽ được sắp xếp dựa trên tọa độ x theo thứ từ tăng dần Sau đó dựa vào thông tin vị trí của ô tròn ta sẽ tính được giá trị chữ số tương ứng.

Algorithm 13Giải thuật trích xuất mã số sinh viên

Input: List of solid circlesC s

Output: String of student codeS

Trích xuất câu trả lời cho câu hỏi trắc nghiệm

Algorithm 14Giải thuật trích xuất câu trả lời cho câu hỏi trắc nghiệm

Input: List of solid circlesC s

Output: List of choice question with resultQ c

3: l:=n/m Số hàng câu trắc nghiệm được bố trí trên phiếu chấm điểm

8: q n =q c ∗l+r Tính số thự tự của câu hỏi

9: Convert choice columnc c to question answerq a

Tương tự việc trích xuất thông tin mã số sinh viên, phần câu trả lời trắc nghiệm cũng được tiến hành trích xuất sau khi nhận dạng được các ô tròn tô đen trong phần câu hỏi trắc nghiệm bằng giải thuật 14 Giải thuật nhận đầu vào là các ô tròn được tô đenC s cùng với thông tin cấu hình phần câu hỏi trắc nghiệmϒvà đầu ra là kết quả trả lời các câu hỏi trắc nghiệm Giải thuật sẽ lặp trên tất cả các ô tròn trong tậpC s Dựa vào thông tin cấu hình phiếu chấm điểm gồm: nlà tổng số câu hỏi trắc nghiệm vàmlà số cột câu hỏi trắc nghiệm được bố trí trên phiếu chấm điểm, ứng với mỗi ô tròn ta sẽ tính được vị trí hàngr, cộtq c , và kết quả trả lờiq a cho một câu hỏi Cuối cùng, kết quả trả lời của từng câu trắc nghiệm sẽ được đưa vào tập đầu raQ c của giải thuật.

Trích xuất điểm số và kết quả đánh giá cho câu hỏi tự luận

Algorithm 15Giải thuật trích xuất điểm số cho câu hỏi tự luận

Input: Test form imageI, List of squaresS, Configuration information of test formϒ

Output: List of written question with resultQ w

3: l:=n/m Số hàng câu hỏi tự luận được bố trí trên phiếu chấm điểm

9: Remove noise on mark imageI m

10: Normalize size of mark imageI m

11: q n =q c ∗l+r Tính số thứ tự của câu hỏi

12: q m =RecognizeNumber(I m ).Sử dụng bộ nhận dạng chữ số viết tay để nhận ảnh chữ số

Sau khi có được vị trí và kích thước các đối tượng hình vuông tương ứng với từng ô chữ số trong phần điểm cho câu hỏi tự luận Dựa vào các thông tin đó ta dễ dàng cắt được các ảnh chữ số trong ảnh phiếu chấm điểm, các ảnh này sau đó sẽ được tiền xử lý và chuẩn hóa trước khi đưa vào bộ nhận dạng chữ số viết tay mà ta đã hiện thực ở phần trước để nhận dạng Giải thuật nhận thông số đầu vào gồm: ảnh phiếu chấm điểmI, danh sách các ô vuông chứa điểm số Svà thông tin cấu hình phần câu hỏi tự luậnϒ; đầu ra của giải thuật sẽ là kết quả điểm số cho từng câu hỏi tự luậnQ w Thông tin cấu hình phần câu hỏi tự luận mà giải thuật sử dụng gồm:n là tổng số câu hỏi tự luận vàmlà số cột câu hỏi tự luận được bố trí trên phiếu chấm điểm Giải thuật sẽ lặp trên tất cả các ô vuông chứa điểm số và tính toán vị trí hàngr, vị trí cộtq c của câu hỏi mà ô vuông thuộc về và vị trí của ô vuôngm c trong câu hỏi Tiếp theo, dựa vào thông tin vị trí của ô vuông trên ảnh phiếu chấm điểm, ta sẽ cắt được phần ảnh chứa điểm số, sau đó ảnh này sẽ được khử nhiễu và chuẩn hóa kích thước trước khi đưa vào bộ nhận dạng chữ số viết tay để nhận dạng Kết quả nhận dạng là điểm số của câu hỏi tự luận và sẽ được đưa vào tập kết quả đầu ra của giải thuật (xem giải thuật 15).

Xuất kết quả nhận dạng phiếu chấm điểm ra định dạng nhất định

Kết quả cuối cùng sau quá trình xử lý chấm điểm bài kiểm tra là các thông tin về thí sinh, thông tin môn thi, đề thi, ngày thi, các câu trả lời trắc nghiệm, điểm số các câu hỏi tự luận, Các thông tin này sẽ được xuất ra một định dạng tập tin xác định Trong thử nghiệm này, chúng tôi chọn xuất kết quả ra tập tin định dạng CSV với hàng đầu tiên là thông tin dữ liệu gồm các cột như: mã số sinh viên, mã môn học, mã đề thi, các câu trả lời trắc nghiệm, các câu trả lời tự luận và các ánh xạ đánh giá tiêu chí trên mỗi câu hỏi tự luận Mỗi hàng dữ liệu sẽ là kết quả chấm điểm bài kiểm tra của một sinh viên tương ứng với các cột trong hàng đầu tiên (trong hình minh họa 4.6 cho thấy định dạng tập tin kết quả).

Hình 4.6: Định dạng tập tin kết quả nhận dạng phiếu chấm điểm.

Kết quả thử nghiệm

Trong thử nghiệm này, chúng tôi sẽ sử dụng 30 mẫu phiếu chấm điểm đã được nhập đầy đủ thông tin như một bài thi của sinh viên bao gồm tô mã số sinh viên, tô câu trả lời trắc nghiệm và ghi điểm số trong phần câu hỏi tự luận Mỗi phiếu chấm điểm sẽ được chụp thành 100 tấm ảnh khác nhau, như vậy ta sẽ có 3000 ảnh chụp phiếu chấm điểm Sau đó các tập tin ảnh chụp phiếu chấm điểm bài kiểm tra sẽ được đưa vào hệ thống xử lý chấm điểm tự động để trích xuất kết quả Thử nghiệm được tiến hành trên một máy tính có cấu hình CPU Intel Core i-7 3.6Ghz, Ram 16Gb và chạy hệ điều hành windows 10 Kết thúc quá trình xử lý, hệ thống xuất ra kết quả là tập tin có định dạng CSV chứa 3000 kết quả bài kiểm tra Dựa vào kết quả trên chúng tôi có được một số thống kê như sau:

• Tổng thời gian thực thi chương trình là 5128 giây cho 3000 bài kiểm tra, tương đương hệ thống mất trung bình 1.71 giây để xử lý một phiếu bài kiểm tra.

• Tỷ lệ nhận dạng thành công phần phiếu chấm điểm trong ảnh chụp là 2902 trên 3000 ảnh, đạt tỷ lệ 96,73%.

• Tỷ lệ nhận dạng đúng phần tô mã số sinh viên và câu trả lời trắc nghiệm đạt trên 99,8%.

• Về hiệu suất phần nhận dạng điểm số câu hỏi tự luận chúng tôi sẽ không đề cập đến trong thử nghiệm này bởi vì nó phụ thuộc chủ yếu vào hệ thống nhận dạng chữ số viết tay mà ta sẽ dùng.

Sau khi xem xét và phân tích các lỗi xảy ra trong quá trình nhận dạng, chúng tôi nhận thấy rằng kết quả của chương trình bị ảnh hưởng bởi một số nguyên nhân sau:

• Trong quá trình chụp ảnh phiếu chấm điểm bằng điện thoại thì hướng chụp, trạng thái của phiếu chấm điểm (đặt trên một mặt phẳng hay cong) và tỷ lệ phiếu chấm điểm trên toàn bộ khung hình sẽ ảnh hưởng rất nhiều đến kết quả nhận dạng Ví dụ hình minh họa 4.7 ta thấy phần phiếu chấm điểm trong ảnh bị biến dạng, các cạnh bị cong dẫn đến khi cắt phần ảnh của phiếu chấm điểm và biến đối về kích thước khổ giấy A4 thì các đối tượng trong ảnh cũng bị biến dạng và thay đổi vị trí.

• Chất lượng ảnh chụp không đảm bảo yêu cầu sẽ dẫn đến tỷ lệ vị trí của các đối tượng trên phiếu chấm điểm bị sai lệch làm cho kết quả nhận dạng cuối cùng không chính xác Ví dụ trong hình 4.8 a có một ô tròn số 3 và trong hình 4.8 b đáp án C của câu hỏi 16 không được nhận dạng.

• Và một số nguyên nhân khác cũng ảnh hưởng đến kết quả nhận dạng như là: thí sinh tô đáp án không bao hết ô tròn, độ phân giải của ảnh kém,

Hình 4.7: Ví dụ minh họa ảnh chụp phiếu chấm điểm gây ra lỗi.

Hình 4.8: Ví dụ minh họa lỗi trong nhận dạng các ô tròn tô đen.

Dựa vào các ràng buộc vừa xem xét ở trên, chúng tôi tiến hành thêm một thử nghiệm trên tập dữ liệu gồm 500 ảnh phiếu chấm điểm được thu thập đáp ứng các ràng buộc đã đề xuất.

Sau khi đưa qua hệ thống xử lý chấm điểm tự động và thu được kết quả, chúng tôi đã thống kê và so sánh với kết quả thử nghiệm trước đó Thử nghiệm cho thấy rằng với các ràng buộc được áp dụng khi sinh viên làm bài và giảng viên chấm điểm, cùng với các ràng buộc khi chụp ảnh phiếu chẩm điểm, kết quả xử lý của hệ thống rất tốt (xem bảng so sánh 4.2).

Tuy nhiên các kết quả thử nghiệm và đánh giá bên trên cũng chỉ phản ánh phần nào chất lượng cũng như độ tin cậy của hệ thống bởi vì số lượng mẫu thử vẫn còn ít và chưa sát với thực tế Để có thể đánh giá chính xác và khách quan hơn, chúng ta cần thử nghiệm hệ thống nhiều hơn với số lượng dữ liệu lớn hơn nữa.

500 mẫu (có ràng buộc đk)

Nhận dạng phiếu chấm điểm 96,73% 100%

Nhận dạng ô tròn tô đen 99,8% 100% Đọc thông tin trong mã QR 100% 100%

Bảng 4.2: Kết quả thử nghiệm hệ thống xử lý chấm điểm tự động

Tổng kết Trong chương này chúng tôi đã trình bày cụ thể các phương pháp và quá trình hiện thực hệ thống nhận dạng phiếu chấm điểm bài kiểm tra cùng với việc hiện thực các hệ thống liên quan như hệ thống lấy mẫu chữ số viết tay và hệ thống nhận dạng chữ số viết tay Ngoài ra, các thử nghiệm cũng được thực hiện để kiểm tra độ tin cậy và thời gian thực thi của hệ thống.

Qua kết quả thử nghiệm, chúng tôi cũng thấy được các hướng tiếp cận và giải pháp mà chúng tôi đang sử dụng có độ tin cậy và hiệu quả khá tốt Bên cạnh đó chúng tôi cũng đã phân tích và tìm ra những nguyên nhân chính làm ảnh hưởng đến chất lượng của hệ thống, trên cơ sở đó chúng tôi sẽ tiếp tục đề xuất các giải pháp để cải tiến cho hệ thống tốt hơn, và cuối cùng là có thể đánh giá được hiệu quả cũng như tính khả thi của hệ thống khi áp dụng trong thực tế.

Phân tích các kết quả đạt được

Công tác thu thập kết quả đánh giá sinh viên là một việc không thể thiếu trong quá trình đào tạo tại các trường đại học Để giúp cho việc đánh giá được chính xác và khách quan hơn, ta cần có nhiều dữ liệu về kết quả học tập của sinh viên Ngoài các dữ liệu về điểm số của bài kiểm tra thì thông tin về các đánh giá dựa trên các tiêu chí cũng cần được thu thập và lưu trữ Do đó việc có một hệ thống hỗ trợ thu thập dữ liệu một cách tự động đối với các bài kiểm tra dưới hình thức kết hợp trắc nghiệm và tự luận (có hỗ trợ ánh xạ các tiêu chí đánh giá) sẽ giúp ích rất nhiều cho giảng viên trong việc tổng kết đánh giá sinh viên trong môn học.

Dựa trên các ý tưởng của hệ thống xử lý chấm điểm tự động bài kiểm tra bằng hình thức trắc nghiệm hoàn toàn đã và đang vận hành, và nền tảng công nghệ trong lĩnh vực xử lý ảnh số và trí tuệ nhân tạo Trong luận văn này chúng tôi đã tiến hành các nghiên cứu và khảo sát để đưa ra các đề xuất và giải pháp cho việc xây dựng hệ thống xử lý chấm điểm tự động bài kiểm tra dưới hình thức kết hợp trắc nghiệm và tự luận, có hỗ trợ ánh xạ các tiêu chí đánh giá.

Vì là một hệ thống chấm điểm ảnh hưởng trực tiếp đến kết quả đánh giá sinh viên, điều đầu tiên quan trọng nhất mà chúng tôi đặt lên hàng đầu chính là độ chính xác của hệ thống Do đó chúng tôi đã tìm hiểu các giải pháp tối ưu như ứng dụng mạng nơron tích chập trong nhận dạng chữ số viết tay để nhận dạng điểm số cho câu hỏi tự luận Ngoài ra một số vấn đề nữa mà chúng tôi cũng quan tâm trong quá trình nghiên cứu đó là: hiệu suất của hệ thống, khả năng linh hoạt của hệ thống khi ứng dụng thực tế và khả năng tích hợp với hệ thống khác cũng như tính bảo mật chống gian lận trong thi cử, Dựa trên những vấn đề đó, chúng tôi đã đề xuất một số giải pháp như: dùng mã QR để mã hóa và lưu thông tin đề thi, thiết kế một số mẫu phiếu chấm điểm và khảo sát ý kiến của giảng viên, lưu thông tin cấu hình của phiếu chấm điểm để tăng độ linh hoạt của hệ thống và hỗ trợ khả năng nhận dạng nhanh phần mã số sinh viên và phần trả lời câu hỏi trắc nghiệm,

Thảo luận

Trong quá trình hiện thực và thử nghiệm hệ thống, chúng tôi đã thực hiện các phân tích và đánh giá dựa trên kết quả đạt được Bên cạnh những kết quả khá khả quan, chúng tôi cũng gặp một số vấn đề mà chúng tôi sẽ thảo luận sau đây. Đối với kết quả nhận dạng phần trả lời câu hỏi trắc nghiệm, tỷ lệ nhận dạng đúng khá tốt 99,8% Qua phân tích các nguyên nhân dẫn đến lỗi nhận dạng, chúng tôi thấy rằng nguyên nhân chủ yếu xuất phát từ giai đoạn chụp ảnh phiếu chấm điểm như: góc chụp ảnh, phiếu chấm điểm không nằm trên một mặt phẳng, thiết bị rung khi chụp, Với mong muốn tỷ lệ nhận dạng đúng phần trắc nghiệm trong phiếu chấm điểm là 100% như trên hệ thống chấm điểm tự động bài thi trắc nghiệm bằng máy quét công nghiệp Đối với hệ thống máy quét công nghiệp, để đạt được tỷ lệ chính xác gần như 100% thì các phiếu bài làm trắc nghiệm được quét với một số ràng buộc nhất định như: các phiếu trắc nghiệm được đặt trên một mặt phẳng và trong một vị trí nhất định, máy quét có độ phân giải cao, Do đó để hỗ trợ hệ thống xử lý chấm điểm bài kiểm tra trong luận văn này được chính xác hơn, chúng tôi đề xuất một số ràng buộc khi chụp ảnh phiếu chấm điểm như sau: các phiếu chấm điểm phải được đặt trên một mặt phẳng, góc chụp thẳng đứng so với phiếu chấm điểm, khi chụp không bị rung làm ảnh biến dạng Đối với phần nhận dạng điểm trong phần câu hỏi tự luận, độ chính xác của hệ thống phụ thuộc vào độ chính xác của bộ nhận dạng chữ số viết tay Trong luận văn này, do hạn chế về thời gian nên chúng tôi đã không thể tập trung hoàn toàn vào xây dựng một hệ thống nhận dạng với độ chính xác tối ưu, ngoài ra việc thu thập dữ liệu chữ số viết tay phục vụ quá trình huấn luyện hệ thống nhận dạng chưa được thực hiện một cách đầy đủ Để khắc phục được những vấn đề trên, chúng ta cần nhiều thời gian hơn để xây dựng một hệ thống nhận dạng tối ưu hơn cùng với việc thu thập dữ liệu chữ số viết tay nhiều hơn nữa để hỗ trợ quá trình huấn luyện bộ nhận dạng.

Ngoài ra, chúng ta cũng cần quan tâm đến một số vần đề như cần hoàn thiện những gì để đưa hệ thống vào sử dụng trong thực tế cũng như khả năng tích hợp hệ thống của chúng ta với các hệ thống khác như: hệ thống ra đề thi, hệ thống tổng kết điểm môn học, hệ thống tổng kết đánh giá theo chuẩn ABET Ví dụ: trong phần nhận dạng điểm số câu hỏi tự luận, dù hệ thống nhận dạng chữ số viết tay có tốt đến mấy cũng không thể đạt tỷ lệ 100%, cho nên hệ thống cần hỗ trợ chức năng cho phép giảng viên có thể thấy được kết quả nhận dạng phiếu chấm điểm bằng ứng dụng trên điện thoại thông minh và có thể so sánh nhanh với phiếu chấm điểm, nếu chữ số nhận dạng bị sai thì giảng viên có thể chỉnh sửa trực tiếp trên điện thoại và lưu lại kết quả cuối cùng của phiếu chấm điểm vào cơ sở dữ liệu.

Hướng phát triển

Trong luận văn này, chúng tôi đã xây dựng được hệ thống hỗ trợ xử lý chấm điểm tự động bài kiểm tra bằng hình thức kết hợp trắc nghiệm và tự luận có hỗ trợ ánh xạ các tiêu chí đánh giá Tuy nhiên để có thể đưa hệ thống vào sử dụng thực tế thì chúng ta cần phải thử nghiệm hệ thống nhiều hơn trên dữ liệu thực tế Ngoài ra để cải thiện hướng nghiên cứu này chúng ta cần bổ sung các hướng tiếp cận nghiên cứu mới trong tương lai như sau:

• Nghiên cứu các hướng tiếp cận và thiết kế mới cho mẫu phiếu chấm điểm bài kiểm tra sao cho nâng cao tính bảo mật của đề thi, hỗ trợ tốt trong quá trình tổ chức thi và quá trình chấm điểm tự động.

• Nghiên cứu hiện thực hệ thống hỗ trợ xử lý chấm điểm và nhập điểm tự động cho phép giảng viên thực hiện trực tiếp trên điện thoại thông minh.

• Đề xuất các giải pháp mới nhằm nâng cao hiệu suất của hệ thống hiện tại.

• Thu thập nhiều hơn dữ liệu chữ số viết tay để huấn luyện bộ nhận dạng chính xác hơn cũng như số lượng lớn dữ liệu bài kiểm tra để có thể đánh giá hiệu suất hệ thống chính xác và khách quan hơn.

[1] Cao Hoàng Trụ, “Bài giảng môn Cơ sở tri thức,” Khoa Khoa Học và Kỹ Thuật Máy Tính, Đại Học Bách Khoa TPHCM, Hồ Chí Minh, 2014.

[2] Dương Tuấn Anh, “Bài giảng môn Nhận dạng mẫu và học máy,” Khoa Khoa Học và Kỹ Thuật Máy Tính, Đại Học Bách Khoa TPHCM, Hồ Chí Minh, 2015.

[3] Faisal Tehseen Shah, Kamran Yousaf, “Handwritten Digit Recognition Using Image Pro- cessing and Neural Networks,” Proceedings of the World Congress on Engineering 2007

[4] Lương Mạnh Bá, Nguyễn Thanh Thủy, “Nhập môn xử lý ảnh số,” Nxb Khoa Học và Kỹ Thuật, Hà Nội, 2006.

[5] Stuart J Russell, Peter Norvig, “Artificial Intelligence A Modern Approach Second Edi- tion,” Pearson Education, Inc., Upper Saddle River, New Jersey 07458, pp 736 - 548,

[6] Tianyi Liu, Shuangsang Fang, Yuehui Zhao, Peng Wang, Jun Zhang, “Implementation of

Training Convolutional Neural Networks,” University of Chinese Academy of Sciences,

[7] Theano Development Team, “Deep Learning Tutorial Release 0.1,” LISA lab, University of Montreal, 2015.

Họ và tên: Nguyễn Thiện Khánh Ngày, tháng, năm sinh: 01/11/1986 Nơi sinh: Quảng Nam Địa chỉ liên lạc: 35/3, đường Tam Bình, phường Tam Phú, quận Thủ Đức, Tp Hồ Chí MinhEmail: ntkhanhbkit@yahoo.com

Thời gian Trường đào tạo Chuyên ngành Trình độ đào tạo

2004 - 2009 Trường đại học Bách Khoa Tp HCM Khoa học máy tính Kỹ sư2014 - 2017 Trường đại học Bách Khoa Tp HCM Khoa học máy tính Thạc sĩ

Ngày đăng: 09/09/2024, 02:02

HÌNH ẢNH LIÊN QUAN

Hình 2.2: (a) Ảnh nhị phân với ngưỡng tĩnh, (b) Ảnh nhị phân với ngưỡng động. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.2 (a) Ảnh nhị phân với ngưỡng tĩnh, (b) Ảnh nhị phân với ngưỡng động (Trang 18)
Hình 2.1: Ảnh gốc. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.1 Ảnh gốc (Trang 18)
Hình 2.3: (a) Nhiễu đốm, (b) Nhiễu vệt. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.3 (a) Nhiễu đốm, (b) Nhiễu vệt (Trang 19)
Hình 2.4: (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.4 (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn (Trang 20)
Hình 2.5: Minh họa biến đổi trang giấy về dạng chuẩn. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.5 Minh họa biến đổi trang giấy về dạng chuẩn (Trang 21)
Hình 2.6: Minh họa phép toán tích chập. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.6 Minh họa phép toán tích chập (Trang 21)
Hình 2.7: Ví dụ mô hình một mạng nơron tích chập. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.7 Ví dụ mô hình một mạng nơron tích chập (Trang 23)
Hình 2.8: Mô hình huấn luyện mạng nơron. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 2.8 Mô hình huấn luyện mạng nơron (Trang 24)
Hình 3.1: Mẫu phiếu trắc nghiệm hiện tại. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.1 Mẫu phiếu trắc nghiệm hiện tại (Trang 28)
Hình 3.2: Mẫu phiếu chấm điểm 1. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.2 Mẫu phiếu chấm điểm 1 (Trang 30)
Hình 3.3: Mẫu phiếu chấm điểm 2. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.3 Mẫu phiếu chấm điểm 2 (Trang 31)
Hình 3.4: Mẫu phiếu chấm điểm 3. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.4 Mẫu phiếu chấm điểm 3 (Trang 32)
Hình 3.5: Phiếu lẫy mẫu chữ số viết tay. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.5 Phiếu lẫy mẫu chữ số viết tay (Trang 35)
Hình 3.6: Vị trí bố trí các ký hiệu nhận dạng trang giấy. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.6 Vị trí bố trí các ký hiệu nhận dạng trang giấy (Trang 36)
Hình 3.7: Mã số sinh viên được nhận dạng là 14326750. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.7 Mã số sinh viên được nhận dạng là 14326750 (Trang 37)
Hình 3.8: Câu trả lời trắc nghiệm của sinh viên. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.8 Câu trả lời trắc nghiệm của sinh viên (Trang 37)
Hình 3.9: Ô nhập điểm câu hỏi tự luận trên phiếu chấm điểm. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 3.9 Ô nhập điểm câu hỏi tự luận trên phiếu chấm điểm (Trang 38)
Bảng 4.1: Kết quả thử nghiệm bộ nhận dạng chữ số viết tay - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Bảng 4.1 Kết quả thử nghiệm bộ nhận dạng chữ số viết tay (Trang 43)
Hình 4.3: Ảnh phiếu lẫy mẫu sau khi được nhận dạng. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.3 Ảnh phiếu lẫy mẫu sau khi được nhận dạng (Trang 49)
Hình 4.4: Ảnh chụp phiếu chấm điểm bài kiểm tra. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.4 Ảnh chụp phiếu chấm điểm bài kiểm tra (Trang 53)
Hình 4.5: Ảnh phiếu chấm điểm sau khi được nhận dạng. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.5 Ảnh phiếu chấm điểm sau khi được nhận dạng (Trang 54)
Hình 4.6: Định dạng tập tin kết quả nhận dạng phiếu chấm điểm. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.6 Định dạng tập tin kết quả nhận dạng phiếu chấm điểm (Trang 64)
Hình 4.7: Ví dụ minh họa ảnh chụp phiếu chấm điểm gây ra lỗi. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.7 Ví dụ minh họa ảnh chụp phiếu chấm điểm gây ra lỗi (Trang 66)
Hình 4.8: Ví dụ minh họa lỗi trong nhận dạng các ô tròn tô đen. - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Hình 4.8 Ví dụ minh họa lỗi trong nhận dạng các ô tròn tô đen (Trang 66)
Bảng 4.2: Kết quả thử nghiệm hệ thống xử lý chấm điểm tự động - Luận văn thạc sĩ Khoa học máy tính: Tìm hiểu và phát triển hệ thống quản lý và xử lý chấm điểm tự động bài kiểm tra
Bảng 4.2 Kết quả thử nghiệm hệ thống xử lý chấm điểm tự động (Trang 67)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w