Nhận dạng phiếu điểm với SVM 43 xvii

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu một số PHƯƠNG PHÁP NHẬN DẠNG CHỮ và số VIẾT TAY TRÊN PHIẾU GHI điểm THI (Trang 68 - 77)

6. Nội dung của luận văn: gồm có 3 chương 3 xvi

2.3.Nhận dạng phiếu điểm với SVM 43 xvii

2.3.1. Đặc trưng của phiếu điểm

Điều kiện cần của việc ghi phiếu ghi điểm thi để quá trình phân đoạn cũng như nhận dạng diễn ra thuận lợi đó là:

- Viết rõ ràng, không đứt đoạn, không chồng chéo.

- Điểm được viết đúng vị trí, đúng ô, không đè lên các đường bao quanh ô, không dập xóa lên phiếu.

- Đặc trưng chung của các mẫu phiếu ghi điểm thi là phần trên cùng là tên phiếu và một số thông tin liên quan đến môn thi. Phần tiếp theo là điểm

của học viên được ghi trong một bảng gồm nhiều hàng, mỗi hàng là thông tin điểm của một học viên

Mẫu phiếu ghi điểm thi:

Phiếu ghi điểm thi gồm các cột thông tin: tên phiếu ghi điểm thi, các thông tin mô tả của phiếu gồm có: tên môn thi, số tín chỉ, lớp, nghề, kỳ thi và năm học.. Các cột mô tả số phách, số điểm bằng số và số điểm ghi bằng chữ. Giáo viên sau khi chấm bài thi sẽ ghi điểm vào các phiếu này dựa trên số phách tương ứng của bài thi.

Hình 2.9. Mẫu phiếu ghi điểm thi

Mẫu bảng điểm môn học/mô đun:

Đây là bảng điểm tổng hợp điểm theo từng môn học/mô đun tương ứng. Bảng điểm môn học/mô đun gồm các cột thông tin: số thứ tự, mã số học viên, họ tên, năm sinh, điểm kiểm tra thường xuyên, điểm kiểm tra định kỳ, điểm trung bình kiểm tra, điểm thi và điểm trung bình môn học/mô đun.

Hình 2.10. Mẫu bảng điểm môn học, mô đun

2.3.2. Nhận dạng phiếu điểm

Sau khi đã có ảnh của phiếu ghi điểm thi được quét đúng cách, việc nhận dạng phiếu điểm thực hiện lần lượt các bước như sau:

Tiền xử lý:

Ảnh của phiếu ghi điểm thi sau khi quét thường có nhiễu, một phần nhiệm vụ của bước này sẽ là lọc nhiễu. Sau đó ảnh được chuẩn hóa về kích thước 16x16, đây là kích thước vừa đủ để biểu diễn ảnh ký tự. Chuẩn hóa kích thước ảnh được thực hiện theo các bước sau:

Bước 1: Nhị phân hóa ảnh.

Bước 2: Tìm hình chữ nhật R bé nhất chứa các điểm đen trên ảnh. Bước 3: Lấy vùng ảnh I nằm trong hình chữ nhật R.

Bước 4: Chuẩn hóa ảnh I về kích thước chuẩn 16x16.

Phân đoạn và trích chọn đặc trưng:

Tách ảnh đã qua tiền xử lý thành các hàng, mỗi hàng bao gồm các cột. Sau đó từ các cột sẽ tách ra kí tự cần nhận dạng, rồi trích chọn đặc trưng.

Xây dựng các support vector nhận dạng từ các phiếu ghi điểm thi. Trước khi nhận dạng, quá trình huấn luyện được thực hiện trước dựa trên một tập mẫu có sẵn.

Hậu xử lý:

Tổng hợp các kí tự được nhận dạng riêng lẻ thành dữ liệu để cập nhật vào cơ sở dữ liệu.

2.3.2.1. Tiền xử lý

Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng, tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại. Vì vậy, tùy thuộc vào chất lượng ảnh quét vào của từng phiếu điểm cụ thể để chọn một hoặc một vài chức năng trong khối. Nếu cần ưu tiên tốc độ xử lý và chất lượng của máy quét tốt thì có thể bỏ qua giai đoạn này. Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc nhiễu, chuẩn hóa kích thước ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh chữ và xoay văn bản.

Nhị phân hóa ảnh

Nhị phân hóa ảnh là một kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân. Trong bất kỳ bài toán phân tích hoặc nâng cao chất lượng ảnh nào, nó cũng cần thiết để xác định các đối tượng quan trọng. Nhị phân hóa ảnh phân chia ảnh thành 2 phần: phần nền và phần chữ. Hầu hết các phương pháp nhị phân hóa ảnh hiện nay đều 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ụ “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 là độ tối (“đen”).

Hình 2.11. Nhị phân hóa ảnh

Lọc 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...). (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.12. Lọc nhiễu

Để khử các nhiễu đốm (các nhiễu với kích thước nhỏ), 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 (hoặc các nhiễu có kích thước lớn) thì các phương pháp lọc tỏ ra kém hiệu quả, trong trường hợp này 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.

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

Hình 2.13. Chuẩn hóa kích thước ảnh các số “4” và “6”

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ách 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 một 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 theo tỷ lệ co, giãn này. 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 biên chữ

Đôi khi do chất lượng quét ảnh quá xấu, các đường biên của chữ không còn giữ được dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa giả tạo. Trong các trường hợp này, phải dùng các thuật toán làm trơn biên để khắc phục và hạn chế các nhiễu.

(a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên. Hình 2.14. Làm tròn biên chữ

Làm đầy chữ

Chức năng này được áp dụng với các ký tự bị đứt nét một cách ngẫu nhiên. Ảnh đứt nét gây khó khăn cho việc tách chữ, dễ bị nhầm hai phần liên thông của ký tự thành hai ký tự riêng biệt, tạo nên sự nhầm lẫn trong quá trình nhận dạng.

Làm mảnh chữ

Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng cách loại bỏ dần các điểm biên ngoài của các nét. Tuy nhiên, quá trình làm mảnh chữ rất nhạy cảm với việc khử nhiễu.

Hình 2.15. Làm mảnh chữ.

Điều chỉnh độ nghiêng của văn bản

Trong quá trình quét đưa trang tài liệu và máy tính không cẩn thận hoặc do sự cố in ấn, các hàng chữ bị lệch so với lề chuẩn một góc α, điều này gây khó khăn cho công đoạn tách chữ, đôi khi không thể tách được. Trong những trường hợp như vậy, phải tính lại tọa độ điểm ảnh của các chữ bị sai lệch. Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ biến nhất dựa trên cơ sở biểu đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ thuật dựa trên cơ sở các phép biến đổi Hough và Fourier.

Hình 2.16. Hiệu chỉnh độ nghiêng của phiếu điểm. 2.3.2.2. Phân đoạn và trích chọn đặc trưng

Khối này có nhiệm vụ tách từng ký tự ra khỏi phiếu điểm. Chỉ khi nào phiếu điểm được tách và cô lập từng dòng (ứng với thông tin điểm của từng sinh viên) và cô lập đúng từng ký tự đơn ra khỏi tổng thể hệ thống mới có thể nhận dạng đúng ký tự đó.

Trích chọn đặc trưng đóng vai trò cực kỳ quan trọng trong một hệ thống nhận dạng. Trong trường hợp đơn giản nhất, ảnh đa cấp xám hoặc ảnh nhị phân được sử dụng cho việc nhận dạng. Tuy nhiên, trong hầu hết các hệ nhận dạng, để giảm độ phức tạp và tăng độ chính xác của các thuật toán phân lớp thì đòi hỏi các đặc trưng được trích chọn phải rút gọn lại càng nhỏ càng

tốt nhưng vẫn phải đảm bảo được thông tin của ký tự. Với mục tiêu này, một tập các đặc trưng được trích chọn cho mỗi lớp sao cho có thể phân biệt được với các lớp khác.

Hình 2.17. Tách thông tin phiếu ghi điểm thi 2.3.2.3. Huấn luyện và nhận dạng

Trong phần cài đặt thực nghiệm, chúng ta áp dụng thuật toán SMO để huấn luyện phân lớp SVM nhị phân, sử dụng và kế thừa một số chức năng của phần mềm mã nguồn mở LibSVM để phát triển ứng dụng nhận dạng chữ và số viết tay.

Tập dữ liệu huấn luyện sau khi qua các khâu tiền xử lý và trích chọn đặc trưng sẽ được đưa vào máy huấn luyện phân lớp SVM. Sau khi kết thúc quá trình huấn luyện, hệ thống sẽ lưu lại giá trị các tham số của hàm quyết định phân lớp để phục vụ cho việc nhận dạng sau này.

2.3.2.4. Hậu xử lý

Đây là công đoạn cuối của quá trình nhận dạng phiếu điểm. Có thể hiểu hậu xử lý là bước ghép nối các kí tự, điểm đã nhận dạng và chuyển vào cơ sở dữ liệu lưu trữ điểm của sinh viên, đồng thời phát hiện ra các lỗi nhận dạng sai bằng cách kiểm tra giá trị số báo danh, số phách, điểm số dựa trên các miền giá trị của chúng. Việc phát hiện ra các lỗi, các sai sót trong nhận dạng ở bước này góp phần đáng kể vào việc nâng cao chất lượng nhận dạng phiếu ghi điểm thi.

Cả hai chiến lược phân lớp OVO và OVR đều có thể áp dụng để phân lớp dữ liệu một cách tổng quát mà không cần phải can thiệp sâu để phân tích

các đặc trưng khác nhau giữa các lớp dữ liệu. Vì vậy hai chiến lược phân lớp này sẽ được chúng ta lựa chọn để cài đặt thử nghiệm thuật toán nhận dạng đối với dữ liệu chữ và số viết tay.

Procedure SVMClassify //Thuật toán phân lớp theo 2 chiến lược OVO và OVR (adsbygoogle = window.adsbygoogle || []).push({});

Input:

- Mẫu x; - Số lớp N;

- Chiến lược phân lớp Strategy;

- Các mô hình đã huấn luyện {OVOModel, OVRModel}

Output:

label; // Nhãn lớp của mẫu x Method

1. Case Strategy of

2. OVO:// Chiến lược một đối một 3. Khởi tạo Count[i] = 0; // i=0,..,N-1 4. LoadModel(OVOModel);

5. for (i=0; i < N-1; i++) 6. for (j=i+1; j < N; j++

7. Count[BinarySVM(x,i,j)]++; 8. Count[label]=Max(Count[i]);

9. OVR: // Chiến lược một đối phần còn lại 10. LoadModel(OVRModel);

11. label=-1;

12. for (i=0; i < N; i++)

13.{ label=BinarySVM(x,i,Rest); 14. if(label=i) break; }

15. EndCase; 16. Return label; Trong đó:

BinarySVM(x,i,j) là hàm xếp x vào một trong hai lớp i hoặc j, Count[ ] là mảng biến đếm để lưu số lần nhận diện của các lớp

Một phần của tài liệu LUẬN văn THẠC sĩ NGHIÊN cứu một số PHƯƠNG PHÁP NHẬN DẠNG CHỮ và số VIẾT TAY TRÊN PHIẾU GHI điểm THI (Trang 68 - 77)