intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM - 4

Chia sẻ: Cao Tt | Ngày: | Loại File: PDF | Số trang:13

164
lượt xem
36
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Hình 2-15 trong đó: A là số độ của góc đuợc tạo bởi đường thẳng và trục hoành, giá trị kiểu số thực. B là khoảng cách từ đường thẳng đó đến gốc toạ độ (áp dụng trong đề tài là góc trên trái của ảnh), kiểu số thực. Công thức này cũng có thể biễu diễn mọi đường thẳng bất kỳ trong không gian 2 chiều như công thức y = mx + b nhưng 2 tham số A và B của nó có giới hạn trong...

Chủ đề:
Lưu

Nội dung Text: PHẦN MỀM THIẾT KẾ VÀ CHẤM ĐIỂM TỰ ĐỘNG BIỂU MẪU THI TRẮC NGHIỆM - 4

  1. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Hình 2-15 trong đó: - A là số độ của góc đuợc tạo bởi đường thẳng và trục hoành, giá trị kiểu số thực. - B là khoảng cách từ đường thẳng đó đến gốc toạ độ (áp dụng trong đề tài là góc trên trái của ảnh), kiểu số thực. Công thức này cũng có thể biễu diễn mọi đường thẳng bất kỳ trong không gian 2 chiều như công thức y = mx + b nhưng 2 tham số A và B của nó có giới hạn trong ảnh 2 chiều: - A nằm trong khoảng từ -89 độ -> 90 độ. - Vì thuật toán được áp dụng cho ảnh 2 chiều, nên B được giới hạn từ 0 -> chiều dài đường chéo của ảnh. Để dùng mảng 2 chiều mô tả không gian (A,B) tương tự như không gian (m,b), bắt buộc A và B phải đựơc làm tròn đến một đơn vị nào đó, dẫn đến sai số trong việc xác định chính xác đường thẳng. Tuỳ theo độ chính xác đựơc yêu cầu mà A sẽ đựơc tính làm tròn tới 1 đơn vị hay nữa đơn vị, thậm chí thấp hơn nữa. Ví dụ, đối với đường thẳng mà tham số A chỉ cần chính xác ở 1 đơn vị, thì mảng 2 chiều ta cần tạo sẽ có chiều dài chiều A là 180. Nhưng nếu tham số A cần chính xác đến nữa đơn vị (0,5) thì mảng 2 chiều cần tạo sẽ phải có chiều dài là 180/0,5=360. Tương tự, với độ chính xác n thì chiều dài chiều A sẽ là 180/n. Ngoài ra, do mảng có chỉ số không được âm, nên thay vì A có giá trị từ -89 đến 90 độ, ta chuyển sang giá trị tương ứng từ 0 -> 179 (với 0 thực chất tương ứng cho -89, 90 tương ứng cho 179...) - 35 -
  2. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Như vậy, ta sẽ áp dụng thuật toán Hough Transform để nhận dạng đường thẳng tương tự như phần đã trình bày ở trên, chỉ thay công thức: y = mx + b bằng x*cosA + y*sinA = B cũng như thay các tham số m, b bằng A và B. Ví dụ minh họa: Hình 2-16 Ta có 5 điểm 1, 2, 3, 4, 5 với vị trí trong không gian x, y như trên. - 36 -
  3. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Hình 2-17 Trong không gian (A,B), tập hợp các đường thẳng đi qua mỗi điểm sẽ hình thành nên một đường hình sin tương ứng. Hình 2-18 Ta thấy, giao điểm có tên là dòng 1 chính là giao điểm của 3 đường sin của 3 điểm 1, 3, 5. Cho nên, giao điểm dòng 1 chính là nơi mang giá trị cặp (A,B) hình thành nên đường thẳng đi qua 3 điểm 1, 3 và 5 trong không gian (x,y). Tương tự, giao điểm tên dòng 2 chính là nơi mang cặp giá trị (A,B) tạo nên đường thẳng đi qua 3 điểm 2, 3, 4 trong không gian (x,y). - 37 -
  4. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Áp dụng cho đề tài, ý nghĩa: Thuật toán Hough Transform trong đề tài được áp dụng cho các vùng ảnh trích ra từ bốn góc của bài thi (bốn vùng ảnh này được lấy ra bằng thuật toán cắt ảnh - crop). Thuật toán giúp nhận dạng 4 vị trí đánh dấu ở 4 góc của bài thi, từ đó xác định vùng chấm thi phù hợp với mẫu chấm thi. - 38 -
  5. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm 2.2.2.2.2 Kiểm tra vùng tô Định nghĩa: Vùng tô là phần được giới hạn trong một ô tròn (các ô tròn này có rất nhiều trên bài làm của thí sinh). Tùy theo cách làm bài của từng thí sinh mà mỗi ô tròn có được tô hay không. Công việc kiểm tra vùng tô là xét xem trong một ô tròn nào đó có được tô đen hay không. Tùy theo quy định của người lập trình mà số phần trăm được tô đen trong vùng tô là bao nhiêu thì ô tròn được xem là đã tô. Hình 2-19: khi chưa được tô Hình 2-20: các dạng sau khi đã tô Cách thực hiện: Do vùng tô cần xét chỉ là một vòng tròn nhỏ trong ảnh bitmap, và khi xem xét một ảnh bitmap thì ảnh đó luôn là hình chữ nhật. Cho nên đầu vào của vùng tô cần kiểm tra là một hình vuông (được lấy ra từ ảnh bài thi) có đường tròn nội tiếp chính là ô tròn đang xét. Khi đó, ta có 2 cách để kiểm tra vùng tô xem có được tô hay chưa: Cách thứ nhất: - 39 -
  6. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Ta sẽ quét tòan bộ vùng ảnh vuông đầu vào từ trái qua phải và từ trên xuống dưới, xét xem số pixel đen chiếm bao nhiêu phần trăm trong tổng số pixel của vùng ảnh đầu vào. Theo quy định như trong đề tài này, nếu số pixel đen này chiếm hơn 60%, thì vùng tô đó đã đựơc tô đen, còn ngược lại là chưa được tô. Cách kiểm tra này độ chính xác không cao, vì xét cả những phần nằm ngoài vùng tô. Tuy nhiên, do cài đặt dễ dàng và xử lý ít phức tạp (chỉ quét một lần và theo thứ tự), tốc độ thực hiện nhanh hơn nên được áp dụng trong đề tài. Cách thứ hai: Ta sẽ quét từ tâm hình vuông (còn là tâm của vòng tròn) dần lan ra đến cạnh của hình vuông theo các đường tròn đồng tâm là tâm hình vuông. Ta sẽ phân các vòng tròn thành 3 loại: các vòng tròn nhỏ bên trong (ta quy định là các vòng tròn có đường kính bằng nữa cạnh hình vuông trở xuống) gọi là T1. các vòng tròn lớn bên trong (ta quy định là các vòng tròn có đuờng kính lớn hơn nữa cạnh hình vuông đến bằng cạnh hình vuông) gọi là T2. các vòng tròn bên ngòai (có đường kính lớn hơn cả cạnh hình vuông) gọi là T3. Hình 2-21: ảnh cần kiểm tra tô được phân thành 3 vùng - 40 -
  7. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Trong một điều kiện tối ưu, vùng ảnh vuông đầu vào sẽ có vòng tròn cần xét tô nội tiếp với ảnh vuông đó. Nhưng trong thực tế thì vòng tròn tô trong vùng ảnh vuông đầu vào sẽ bị lệch, do đó các vòng tròn nhỏ T1 sẽ có khả năng nằm trong vùng cần tô nhiều hơn là T2, và các vòng tròn T2 lại có khả năng nhiều hơn T3. Do đó, pixel thuộc vòng tròn T1 sẽ góp phần nhiều hơn so với các pixel thuộc T2 vào việc quyết định xem vùng tô có được tô hay không. Điều này cũng tương tự cho các pixel thuộc vòng tròn T2 so với T3. Vì vậy, độ ưu tiên của các pixel thuộc các vòng tròn sẽ được quy định theo thứ tự lần lượt như sau: T1, T2, T3. Ta có công thức sau: Giá trị của vùng tô = ( Tổng số pixel T1 đen * độ ưu tiên của T1 ) + ( Tổng số pixel T2 đen * độ ưu tiên của T2 ) + ( Tổng số pixel T3 đen * độ ưu tiên T3 ) (1) Như vậy, khi vùng tô được tô hoàn toàn trong điều kiện tối ưu (tức ảnh đầu vào hình vuông chứa ô tròn cần tô nội tiếp ảnh), ta có: Giá trị cho thấy vùng tô được tô hoàn toàn = ( Tổng số pixel T1 * độ ưu tiên của T1 ) + ( Tổng số pixel T2 * độ ưu tiên của T2) Do đó, chỉ gần đúng, ta đưa ra được thuật toán cho phép quyết định xem vùng tô có được tô hay không bằng cách: • Tính giá trị vùng tô áp dụng công thức (1). • Nếu giá trị vùng tô > (60% * Giá trị vùng tô được tô hoàn toàn) thì o ô tròn đã được tô đen • ngược lại o ô tròn chưa đựơc tô. Phương pháp này có độ chính xác cao hơn trong các trường hợp ảnh vuông đầu vào có vùng tô bị lệch, tuy nhiên do cài đặt phức tạp, xử lý tính toán nhiều hơn (phải tính từ tâm của hình tròn rồi lan dần sang xung quanh) - 41 -
  8. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm có thể làm ảnh hưởng đến tốc độ chung của chương trình nên không được áp dụng cho đề tài. 2.2.2.2.3 Mạng nơ ron và ứng dụng vào nhận dạng chữ viết tay in Giới thiệu về mạng nơ ron: Mạng nơron là công cụ dùng để tìm gần đúng nhất bài giải của một vấn đề bất kỳ mà không cần quan tâm đến nội dung chi tiết bên trong của bài toán. Để làm được điều này, mạng nơron cần phải trải qua một quá trình, gọi là quá trình học được thực hiện lặp đi lặp lại trên tập mẫu có sẵn. Sau khi được học xong, mạng nơron có thể giải quyết các vấn đề liên quan đến bài toán đã cho cũng như các bài toán cùng loại tương tự với độ chính xác chấp nhận được. Mạng nơron được ứng dụng trong các bài toán nhận dạng, phân lớp như nhận dạng mặt người, nhận dạng ký tự... Lý thuyết về mạng nơron được bàn đến trong phần Phụ Lục. Áp dụng: Đối với đề tài luận văn này, việc áp dụng mạng nơron [1] để nhận dạng ký tự được thực hiện như sau: Thông thường, mạng nơron dùng để nhận dạng ký tự sẽ cho biết ký tự đang xét là ký tự gì. Tuy nhiên, do ở đây, ký tự được xác định song song bằng nhận dạng đi kèm với việc kiểm tra vị trí tô của ký tự tương ứng trong bài làm của thí sinh. Cho nên, để đơn giản vấn đề, ta sẽ: xác định ký tự được chọn bằng cách dựa vào vị trí tô của ký tự trong bài thi trước; rồi từ đó xác định xem ký tự viết tay có đúng là ký tự đó hay không. Như vậy, giờ đây vấn đề đã đơn giản hơn. Ta sẽ tạo ra tổng cộng là 36 mạng nơron, mỗi mạng được áp dụng riêng cho từng chữ cái hoặc chữ số. Với mỗi mạng nơron này, chỉ cần một nút xuất duy nhất để cho biết đúng ký tự đó hay không. - 42 -
  9. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Cấu tạo của dạng mạng nơ ron: Như đã phân tích ở trên, các mạng nơ ron này được sử dụng để xét xem một ký tự có phải là ký tự cần tìm hay không. Do đó, các mạng nơ ron này sẽ có cấu tạo tương tự nhau. Mỗi mạng sẽ gồm 3 lớp: lớp nút nhập, lớp nút ẩn và lớp nút xuất. Mạng sẽ không có đường nối trực tiếp từ lớp nhập đến lớp xuất. Đầu vào của mạng sẽ là vùng ảnh chứa ký tự đã được biến đổi theo tỉ lệ chuẩn 16x16, đầu ra duy nhất cho biết giá trị là đúng hay sai (đúng khi lớn hơn 0,5, sai khi ngược lại). Vì vậy, mạng có 256 nút nhập, 1 nút xuất. Số nút ẩn được chọn là 3. Sơ đồ cấu tạo của mạng như sau: Hình 2-22: cấu tạo của mạng nơ ron được áp dụng cho đề tài Thực nghiệm: Mỗi mạng nơ ron được học trên 4644 mẫu (bao gồm tất cả các ký tự), trong đó số mẫu đúng (chứa ký tự áp dụng cho từng mạng) là 129, còn lại là các mẫu sai. Mỗi mạng được học trong khoảng thời gian hơn 4 tiếng. Kết quả: - 43 -
  10. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Một số mạng có tỉ lệ nhận dạng đúng là 80%. Tuy nhiên, đa số chỉ đạt được 70%. Đánh giá: Mạng cần phải được học trên nhiều mẫu hơn nữa để có thể áp dụng thực tế. - 44 -
  11. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Chương 3: THIẾT KẾ CHƯƠNG TRÌNH 3.1 PHÂN TÍCH: Ta đã phân tích các thành phần của một biểu mẫu thi ở trên nên ở đây chỉ nói đến phần chấm điểm tự động. Đây là phần chính yếu của đề tài. Chương trình sẽ nhận vào một bản scan của một bài thì sau đó sẽ đọc ra thông tin của thí sinh cùng với kết quả bài làm của thí sinh đó. Sau đó tùy vào cách tính điểm mà sẽ cho điểm thí sinh đó. Đối với từng loại đối tượng mà ta sẽ có cách đọc thông tin khác nhau: TextField: đối với đối tượng này ta có 2 việc cần làm là xác định thí sinh đã viết ký tự gì, và đã tô ký tự gì. Sau đó sẽ kiểm tra xem chúng có khớp với nhau hay không. Choice: ta xác định xem thí sinh đã tô phần lựa chọn nào. AnswerSheet: ta cũng xác định thí sinh đã tô những câu trả lời nào. Tóm lại ta sẽ có các công việc chính là: Xác định vị trí chính xác của từng đối tượng. Kiểm tra xem một vùng có được tô hay không. Nhận dạng một ký tự viết tay. Hiện nay có 2 cách tính điểm phổ biến như sau: Tính điểm theo câu: theo cách này thì mỗi câu đúng sẽ được số điểm nào đó và kết quả điểm của bài làm chính là tổng số điểm của tất cả các câu chọn đúng. - 45 -
  12. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm Tính điểm theo khoảng: theo cách tính này thì người ta sẽ đếm số câu trả lời đúng của thí sinh sau đó dựa vào bảng điểm đã quy định trước mà cho điểm thích hợp cho thí sinh. Ví dụ: số câu đúng từ 35 – 40: 10 điểm; từ 30 – 34: 9 điểm… 3.2 XÁC ĐỊNH YÊU CẦU: Xây dựng hệ thống “Thiết kế và chấm điểm tự động bài thi trắc nghiệm” phải hộ trợ các tính năng sau: Thiết kế biểu mẫu: Có đầy đủ các đối tượng cơ bản để tạo thành một đề thi: text, textfield, choice, answersheet (bảng trả lời). Có các đối tượng đồ hoạ. In ấn. Kết xuất thành file. Soạn đáp án: Soạn đáp án cho từng câu trả lời. Soạn cách thức chấm điểm. Chấm điểm biểu mẫu: Điều khiển máy scan, và nhận bài làm từ máy scan. Đọc thông tin thí sinh. Kiểm tra và chấm điểm bài làm của thí sinh. Quản lý các kỳ thi: Quản lý thông tin kỳ thi, môn thi Quản lý thí sinh. Quản lý bài làm thí sinh - 46 -
  13. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm 3.3 XÂY DỰNG MÔ HÌNH USE-CASE: [7] 3.3.1 Xác định Actor và Use-Case: • Actor: NGUOIDUNG: (người dùng) thiết kế biểu mẫu và soạn đáp án. o • Use-case: THIETKEBIEUMAU: thiết kế biểu mẫu. o SOANDAPAN: soạn đáp án o CHAMDIEM: chấm điểm cho bài thi. o QUANLYKYTHI: quản lý thông tin kỳ thi o QUANLYMONHOC: quản lý thông tin môn học o QUANLYTHISINH: quản lý thông tin thí sinh. o QUANLYBAILAM: quản lý bài làm của thí sinh. o 3.3.2 Mô hình Use-case: - 47 -
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2