Tải bản đầy đủ (.pdf) (55 trang)

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT PHẦN MỀM: NHẬN DẠNG PHIẾU TRẢ LỜI TRẮC NGHIỆM (có slide và phần mềm)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.01 MB, 55 trang )

TRƢỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
_____________________________

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
NGÀNH: KỸ THUẬT PHẦN MỀM
Đề tài:

NHẬN DẠNG PHIẾU TRẢ LỜI TRẮC NGHIỆM
Sinh viên thực hiện:
Giảng viên hƣớng dẫn:

MAI NGÂN SƠN
Lớp KTPM1 K7
Th.S. LÊ THỊ THỦY

Hà Nội, 05/2016


LỜI NÓI ĐẦU
Xử lý ảnh là một khoa học còn tƣơng đối mới mẻ so với nhiều ngành khoa
học khác, nhất là trên quy mô công nghiệp, song trong xử lý ảnh đã bắt đầu xuất
hiện những máy tính chuyên dụng. Nhận dạng là một trong những bộ phận quan
trọng của xử lý ảnh và đã đƣợc ứng dụng rất hiệu quả trong nhiều lĩnh vực khác
nhau nhƣ y tế, quốc phòng, nghiên cứu vũ trụ.
Mục đích của đồ án này là nghiên cứu và áp dụng xử lý ảnh vào việc nhận
dạng tự động phiếu trắc nghiệm. Từ đó làm nền tảng cho việc xây dựng và phát
triển hệ thống tổ chức thi và chấm trắc nghiệm tự động.
Trong các kỳ thi trắc nghiệm, em nhận thấy rằng: việc xử lý kết quả thi một


cách thủ công thì rất tốn công sức, khả năng nhầm lẫn cao, đặc biệt là trong các kỳ
thi quy mô lớn. Nếu công việc xử lý kết thi đƣợc tự động hóa thì hiệu quả hơn rất
nhiều.
Do đó em có ý tƣởng xây dựng một hệ thống nhận dạng tự động phiếu thi
trắc nghiệm nhằm mục tiêu có đƣợc một hệ thống nhận dạng dễ áp dụng, dùng
chung, tốc độ nhanh, với độ chính xác cao.
Mặc dù em đã hết sức cố gắng trong việc thu thập và nghiên cứu tài liệu, tìm
hiểu ngôn ngữ cài đặt nhƣng thời gian không cho phép và trình độ còn hạn chế, bên
cạnh đó thì tài liệu hết sức nghèo nàn nên sẽ không tránh khỏi sai sót. Vì vậy, em rất
mong nhận đƣợc sự đánh giá đóng góp, bổ sung và khuyến khích của cô giáo hƣớng
dẫn, các thầy cô giáo trong khoa Công Nghệ Thông Tin cùng các bạn để em có thể
hoàn thành tốt đồ án tốt nghiệp của mình.
Cuối cùng em xin bày tỏ lòng biết ơn chân thành tới sự hƣớng dẫn và chỉ bảo
tận tình của cô giáo Lê Thị Thủy và các thầy cô trong khoa Công nghệ thông tin đã
giúp đỡ trong quá trình thực hiện đồ án tốt nghiệp này.
Hà Nội, tháng 5 năm 2016.
Sinh viên thực hiện:
Mai Ngân Sơn

2


TÓM TẮT ĐỒ ÁN
Xử lý ảnh là một trong những lĩnh vực có nhiều ứng dụng thiết thực trong
thực tế. Báo cáo này trình bày một ứng dụng của xử lý ảnh vào tự động nhận dạng
phiếu trả lời trong các bài thi trắc nghiệm. Em nhận thấy đây là một hệ thống có
nhiều ý nghĩa thực tiễn và có khả năng ứng dụng cao.
Đồ án tốt nghiệp này trình bày về hệ thống xử lý tự động phiếu thi, bao gồm
các nội dung sau:
Chƣơng 1. Các vấn đề trong xử lý ảnh.

Chƣơng 2. Nhận dạng phiếu trắc nghiệm.
Chƣơng 3. Xây dựng chƣơng trình.

3


MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................................2
TÓM TẮT ĐỒ ÁN......................................................................................................3
DANH SÁCH HÌNH VẼ ............................................................................................6
DANH SÁCH CÁC BẢNG BIỂU ..............................................................................7
CHƢƠNG 1. CÁC VẤN ĐỀ TRONG XỬ LÝ ẢNH ................................................8
1.1. Tổng quan về một hệ thống xử lý ảnh ...........................................................8
1.2 Các vấn đề cơ bản trong xử lý ảnh ....................................................................9
1.2.1. Một số khái niệm .......................................................................................9
1.2.2. Biểu diễn ảnh...........................................................................................10
1.2.3. Tăng cƣờng ảnh – khôi phục ảnh ............................................................10
1.2.4. Nhận dạng ảnh.........................................................................................11
1.3. Thu nhận ảnh ..................................................................................................11
1.3.1. Thiết bị thu nhận ảnh ..............................................................................11
1.3.2. Biểu diễn màu .........................................................................................12
1.3.3. Hệ tọa độ màu .........................................................................................13
1.4. Các kỹ thuật xử lý ảnh cơ bản ........................................................................13
1.4.1. Nhị phân hóa ...........................................................................................13
1.4.2. Khử nhiễu ................................................................................................ 14
1.4.3. Làm trơn biên, lấp đầy chỗ trống ............................................................14
1.4.4. Đƣờng thẳng Hough ................................................................................15
1.4.5. Chỉnh độ nghiêng của ảnh .......................................................................17
CHƢƠNG 2. NHẬN DẠNG PHIẾU TRẮC NGHIỆM ...........................................18
2.1. Mô tả bài toán .................................................................................................18

2.2. Các mẫu phiếu thi trắc nghiệm thƣờng gặp ...................................................18
2.3. Kỹ thuật nhận dạng chung phiếu trắc nghiệm................................................24
2.3.1. Các tham số cần thiết ..............................................................................24
2.3.2. Nhận dạng đƣờng thẳng dày ...................................................................24
2.3.3. Chỉnh độ nghiêng ....................................................................................25
2.3.4. Nhận dạng gai .........................................................................................27
2.3.5. Tách ô ......................................................................................................29
2.3.6. Nhận dạng ô đƣợc chọn ..........................................................................29
CHƢƠNG 3. XÂY DỰNG CHƢƠNG TRÌNH .......................................................31
3.1 Tìm hiểu yêu cầu bài toán ...............................................................................31
3.2 Phân tích hệ thống ...........................................................................................31
3.2.1 Biểu đồ ca sử dụng ...................................................................................31
3.2.2 Sơ đồ lớp lĩnh vực ....................................................................................32
3.2.3 Đặc tả hiện thực hóa user case .................................................................33
3.3 Thiết kế giao diện ............................................................................................44
3.3.1 Giao diện đăng nhập................................................................................44
3.3.2 Giao diện quét phiếu trắc nghiệm ...........................................................45
3.3.3 Giao diện hiển thị phiếu thi ......................................................................46
3.3.4 Giao diện đọc ghi đáp án ..........................................................................47
3.3.5 Giao diện cài đặt hệ thống ........................................................................48
3.4 Thiết kế cơ sở dữ liệu ......................................................................................49
3.5 Thực nghiệm kết quả .......................................................................................50
4


3.5.1 Thực nghiệm góc nghiêng ........................................................................50
3.5.2 Thực nghiệm tách dòng ............................................................................51
3.5.3 Thực nghiệm tách ô ..................................................................................51
3.5.4 Thực nghiệm ô đƣợc tích .........................................................................52
3.5.5 Kết quả thực nghiệm ................................................................................53

KẾT LUẬN ...............................................................................................................54
TÀI LIỆU THAM KHẢO .........................................................................................55

5


DANH SÁCH HÌNH VẼ
Hình 1.1 Các giai đoạn trong xử lý ảnh ......................................................................8
Hình 1.2 Hình với các độ phân giải khác nhau ...........................................................9
Hình 1.3 Hệ tọa độ màu RGB ...................................................................................12
Hình 1.4 Hệ tọa độ màu RGB ...................................................................................13
Hình 1.5 Đƣờng thằng Hough trên trục tọa độ .........................................................16
Hình 2.1 Phiếu trắc nghiệm 50 câu bị nghiêng khi scan ..........................................19
Hình 2.2 Phiếu trắc nghiệm 100 câu .........................................................................20
Hình 2.3 Phiếu trắc nghiệm 50 câu không có khung ................................................21
Hình 2.4 Phiếu trắc nghiệm 100 câu không có khung .............................................22
Hình 2.5 Phiếu trắc nghiệm 80 câu không có gai .....................................................23
Hình 2.6 Phiếu trả lời đƣợc quét đúng chiều ............................................................26
Hình 2.7 Phiếu trả lời đƣợc quét ngƣợc chiều ..........................................................27
Hình 2.8 Các gai đƣợc đặt thẳng hàng với các ô trắc nghiệm ..................................27
Hình 2.9 Hình chiếu của các dòng lên trục Oy .........................................................29
Hình 2.10 Khoanh vùng các ô ...................................................................................29
Hình 3.1 Biểu đồ ca sử dụng nhận dạng phiếu trắc nghiệm. ....................................31
Hình 3.2 Sơ đồ lớp lĩnh vực. .....................................................................................32
Hình 3.3 Biểu đồ hoạt động ca sử dụng quét ảnh. ....................................................34
Hình 3.4 Sơ đồ trình tự quét phiếu trắc nghiệm ........................................................35
Hình 3.5 Biểu đồ hoạt động ca sử dụng đọc ghi đáp án ...........................................37
Hình 3.6 Sơ đồ trình tự ca sử dụng đọc ghi đáp án ...................................................38
Hình 3.7 Biểu đồ hoạt động chấm điểm....................................................................40
Hình 3.8 Biểu đồ hoạt động cài đặt hệ thống ............................................................42

Hình 3.9 Sơ đồ trình tự cài đặt hệ thống ...................................................................43
Hình 3.10 Giao diện đăng nhập.................................................................................44
Hình 3.11 Giao diện xử lý phiếu thi ..........................................................................45
Hình 3.12 Giao diện hiển thị phiếu thi ......................................................................46
Hình 3.13 Giao diện đọc ghi file đáp án ...................................................................47
Hình 3.14 Giao diện cài đặt hệ thống ........................................................................48
Hình 3.15 Phiếu có góc nghiêng 5 độ .......................................................................50
Hình 3.16 Tách dòng .................................................................................................51
Hình 3.17 Tách ô .......................................................................................................51
Hình 3.18 Thực nghiệm xác định ô trắc nghiệm .......................................................52

6


DANH SÁCH CÁC BẢNG BIỂU
Bảng 4.1 Bảng mô tả thiết kế dữ liệu phiếu thi .........................................................49
Bảng 4.2. Bảng mô tả thiết kế dữ liệu đáp án. ..........................................................49
Bảng 4.3 Bảng mô tả thiết kế dữ liệu cài đặt. ...........................................................49

7


CHƢƠNG 1. CÁC VẤN ĐỀ TRONG XỬ LÝ ẢNH
1.1.

Tổng quan về một hệ thống xử lý ảnh

Để có thể hình dung cấu hình một hệ thống xử lý ảnh chuyên dụng hay một
hệ thống xử lý ảnh dùng trong nghiên cứu, đào tạo, trƣớc hết chúng ta sẽ xem xét
các bƣớc cần thiết trong xử lý ảnh.


Hình 1.1 Các giai đoạn trong xử lý ảnh

Trƣớc hết là quá trình thu nhận ảnh. Ảnh có thể thu nhận qua camera.
Thƣờng ảnh thu nhận qua camera là tín hiệu tƣơng tự (loại camera ống kiểu CCIR),
nhƣng cũng có thể là tín hiệu số hóa (loại CCD – Charge Coupled Devide).
Ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay ảnh,
tranh đƣợc quét trên scanner. Chi tiết về quá trình thu nhận ảnh sẽ đƣợc mô tả trong
mục 1.3. Tiếp theo là quá trình số hóa (Digitalizer) để biến đổi tín hiệu tƣơng tự
sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lƣợng hóa, trƣớc khi chuyển sang giai
đoạn xử lý, phân tích hay lƣu trữ lại.
Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ. Trƣớc hết
là công việc tăng cƣờng ảnh để nâng cao chất lƣợng ảnh. Do những nguyên nhân
khác nhau: có thể do chất lƣợng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu,
ảnh có thể bị suy biến. Do vậy cần phải tăng cƣờng và khôi phục lại ảnh để làm nổi
bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái
gốc – trạng thái trƣớc khi ảnh bị biến dạng. Giai đoạn tiếp theo là phát hiện các đặc
tính nhƣ biên, phân vùng ảnh, trích chọn các đặc tính, v.v…

8


Cuối cùng, tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phân
lớp hay các quyết định khác. Các giai đoạn chính của các quá trình xử lý ảnh có thể
mô tả nhƣ hình trên.
1.2 Các vấn đề cơ bản trong xử lý ảnh
Nhƣ đã đề cập trong phần giới thiệu, chúng ta đã thấy đƣợc một cách khái
quát các vấn đề chính trong xử lý ảnh. Để hiểu chi tiết hơn, trƣớc tiên ta xem xét hai
khái niệm (thuật ngữ) thƣờng dùng trong xử lý ảnh, đó là Pixel (phần tử ảnh) và
Grey level (mức xám), tiếp theo là tóm tắt các vấn đề chính.

1.2.1. Một số khái niệm
 Pixel (Picture Element): phần tử ảnh
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để
có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hóa ảnh. Trong quá trình
số hóa, ngƣời ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình
lấy mẫu (rời rạc hóa về không gian) và lƣợng hóa thành phần giá trị mà về nguyên
tắc bằng mắt thƣờng không phân biệt đƣợc hai điểm kề nhau. Trong quá trình này,
ngƣời ta sử dụng khái niệm Picture element mà ta quen gọi hay viết là Pixel – phần
tử ảnh. Nhƣ vậy, một ảnh là một tập hợp các pixel. Ở đây cũng cần phân biệt khái
niệm pixel hay đề cập đến trong các hệ thống đồ họa máy tính. Để tránh nhầm lẫn ta
tạm gọi khái niệm pixel này là pixel thiết bị. Khái niệm pixel thiết bị có thể xem xét
nhƣ sau: khi ta quan sát màn hình (trong chế độ đồ họa), màn hình không liên tục
mà gồm nhiều điểm nhỏ, gọi là pixel. Mỗi pixel gồm một cặp tọa độ (x, y) và màu.

Hình 1.2 Hình với các độ phân giải khác nhau

9


Cặp tọa độ (x, y) tạo nên độ phân giải (resolution). Nhƣ màn hình máy tính
có nhiều loại với độ phân giải khác nhau: màn hình CGA có độ phân giải là 320 x
320; màn hình VGA là 640 x 350,…
Nhƣ vậy, một ảnh là một tập hợp các điểm ảnh. Khi đƣợc số hóa, nó thƣờng
đƣợc biểu diễn bởi bảng hai chiều I(n, p): n dòng và p cột. Ta nói ảnh gồm n x p
pixels. Ngƣời ta thƣờng ký hiệu I(x, y) để chỉ một pixel. Hình 1.2 cho ta thấy việc
biểu diễn một ảnh với độ phân giải khác nhau. Một pixel có thể lƣu trữ trên 1, 4, 8
hay 24 bit.
 Gray level: Mức xám
Mức xám là kết quả sự mã hóa tƣơng ứng một cƣờng độ sáng của mỗi điểm
ảnh với một giá trị số - kết quả của quá trình lƣợng hóa. Cách mã hóa kinh điển

thƣờng dùng 16, 32 hay 64 mức. Mã hóa 256 mức là phổ dụng nhất do lý do kỹ
thuật. Vì 2^8 = 256 (0, 1, …, 255), nên với 256 mức, mỗi pixel sẽ đƣợc mã hóa bởi
8 bit.
1.2.2. Biểu diễn ảnh
Trong biểu diễn ảnh, ngƣời ta thƣờng dùng các phần tử đặc trƣng của ảnh là
pixel. Nhìn chung có thể xem một hàm hai biến chứa các thông tin nhƣ biểu diễn
của một ảnh. Các mô hình biểu diễn ảnh cho ta một mô tả logic hay định lƣợng các
tính chất của hàm này. Trong biểu diễn ảnh cần chú ý tính trung thực của ảnh hoặc
các tiêu chuẩn “thông minh” để đo chất lƣợng ảnh hoặc tính hiệu quả của các kỹ
thuật xử lý.
Việc xử lý ảnh số yêu cầu ảnh phải đƣợc mẫu hóa và lƣợng tử hóa. Thí dụ
một ảnh ma trận 512 dòng gồm khoảng 512 x 512 pixel. Việc lƣợng tử hóa ảnh là
chuyển đổi tín hiệu tƣơng tự sang tín hiệu số (Analog Digital Convert) của một ảnh
đã lấy mẫu sang một số hữu hạn các mức xám.
Một số mô hình thƣờng đƣợc dùng trong biểu diễn ảnh: mô hình toán, mô
hình thống kê. Trong mô hình toán, ảnh hai chiều đƣợc biểu diễn nhờ các hàm hai
biến trực giao gọi là các hàm cơ sở. Với mô hình thống kê, một ảnh đƣợc coi nhƣ
một phần tử của một tập hợp đặc trƣng bởi các đại lƣợng nhƣ: kỳ vọng toán học,
hiệp biến, phƣơng sai, moment.
1.2.3. Tăng cƣờng ảnh – khôi phục ảnh
Tăng cƣờng ảnh là bƣớc quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồm một
loạt các kỹ thuật nhƣ: lọc độ tƣơng phản, khử nhiễu, nổi màu, v.v…

10


1.2.4. Nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tƣợng mà ngƣời ta
muốn đặc tả nó. Quá trình nhận dạng thƣờng đi sau quá trình trích chọn các đặc tính
chủ yếu của đối tƣợng. Có hai kiểu mô tả đối tƣợng:

- Mô tả tham số (nhận dạng theo tham số).
- Mô tả theo cấu trúc (nhận dạng theo cấu trúc).
Trên thực tế, ngƣời ta đã áp dụng kỹ thuật nhận dạng khá thành công với
nhiều đối tƣợng khác nhau nhƣ: nhận dạng ảnh vân tay, nhận dạng chữ (chữ cái,
chữ số, chữ có dấu).
Ngoài ra, hiện nay một kỹ thuật nhận dạng mới dựa vào kỹ thuật mạng nơron
đang đƣợc áp dụng và cho kết quả khả quan.
1.3. Thu nhận ảnh
1.3.1. Thiết bị thu nhận ảnh
Các thiết bị thu nhận ảnh có thể cho ảnh trắng đen B/W (Black & White) với
mật độ từ 400 đến 1600 dpi (dot per inch) hoặc ảnh màu 600 dpi. Với ảnh B/W mức
màu là 0 hoặc 1. Với ảnh đa cấp xám, mức xám biến thiên từ 0 đến 255. Ảnh màu,
mỗi điểm ảnh lƣu trữ trong 3 bytes và do đó ta có 2 8 x 3 màu (cỡ 16,7 triệu màu).
Khi dùng scanner, một dòng photodiot sẽ quét ngang ảnh (quét theo hàng) và
cho ảnh với độ phân giải ngang khá tốt. Đầu ra của scanner là ảnh ma trận số mà ta
quen gọi là bản đồ ảnh (ảnh Bitmap), bộ số hóa (digitalizer) sẽ tạo ảnh vectơ có
hƣớng.
Trong xử lý ảnh bằng máy tính, ta không thể không nói đến thiết bị monitor
(màn hình) để hiện ảnh. Monitor có nhiều loại khác nhau:
-

CGA: 640 x 320 x 16 màu,

-

EGA: 640 x 350 x 16 màu,

-

VGA: 640 x 480 x 16 màu,


-

SVGA: 1024 x 768 x 256 màu.

Với ảnh màu, có nhiều cách tổ hợp màu khác nhau. Theo lý thuyết màu do
Thomas đƣa ra từ năm 1802, mọi màu đều có thể tổ hợp từ 3 màu cơ bản: Red (đỏ),
Green (lục) và Blue (lơ).
Thiết bị ra ảnh có thể là máy đen trắng, máy in màu hay máy vẽ (ploter).
Máy vẽ cũng có nhiều loại: loại dùng bút, loại phun mực.
11


Nhìn chung, các hệ thống thu nhận ảnh thực hiện hai quá trình:
-

Cảm biến: biến đổi năng lƣợng quang học (ánh sáng) thành năng lƣợng điện.

-

Tổng hợp năng lƣợng điện thành ảnh.

1.3.2. Biểu diễn màu
Ánh sáng màu là tổ hợp của ánh sáng đơn sắc. Mắt ngƣời chỉ có thể cảm
nhận đƣợc vài chục màu, song lại có thể phân biệt đƣợc hàng ngàn màu. Có 3 thuộc
tính chủ yếu trong cảm nhận màu:
-

Brighness: sắc màu, còn gọi là độ chói.


-

Hue: sắc lƣợng, còn gọi là sắc thái màu.

-

Saturation: độ bão hòa.

Với nguồn sáng đơn sắc, độ hue tƣơng ứng với bƣớc sóng . Độ bão hòa
thay đổi nhanh nếu ta thêm lƣợng ánh sáng trắng. Hình 2.3 mô tả mối liên quan giữa
những các đại lƣợng trên và 3 màu chủ yếu R, G và B.

Hình 1.3 Hệ tọa độ màu RGB

Với điểm W* cố định, các ký hiệu G, R, B chỉ vị trí tƣơng đối của các phổ
màu đỏ, lục và lơ. Do sự tán sắc ánh sáng mà ta nhìn rõ màu. Theo Maxwell, trong
võng mạc có 3 loại tế bào hình nón cảm thụ 3 màu cơ bản ứng với 3 phổ hấp thụ
S1(  ), S2(  ) và S3(  );  min = 380 nm;  max = 780 nm.
-

Một màu bất kỳ sẽ là một điểm trên vòng tròn.

-

Nếu White và Black là nhƣ nhau thì đƣờng tròn là lớn nhất và R là điểm bão
hòa.

-

S thay đổi theo bán kính


-

H thay đổi theo góc  .
12


-

W* là sắc màu.

1.3.3. Hệ tọa độ màu
Tổ chức y tế về chuẩn hóa màu CIE (Commision Internationalé d’Eclairage)
đƣa ra một số các chuẩn để biểu diễn màu. Các hệ này có các chuẩn riêng. Ở đây
chỉ đề cập đến chuẩn mầu CIE-RGB (hệ tọa độ dùng 3 màu cơ bản). Nhƣ đã nêu
trên, một màu là tổ hợp của các màu cơ bản theo một tỉ lệ nào đấy. Ngƣời ta dùng
hệ tọa độ ba màu R-G-B (tƣơng ứng với hệ tọa độ x-y-z) để biểu diễn màu nhƣ sau:

Hình 1.4 Hệ tọa độ màu RGB

Trong cách biểu diễn này ta có công thức: đỏ + lục + lơ = 1. Công thức này
gọi là công thức Maxwell. Ta cũng có thể chuyển từ hệ tọa độ 3 màu về hệ tọa độ xy-z.
1.4. Các kỹ thuật xử lý ảnh cơ bản
Trên đây đã nói các khái niệm cơ bản trong xử lý ảnh, chúng ta sẽ tìm hiểu
một số kỹ thuật xử lý ảnh sẽ đƣợc dùng trong nhận dạng phiếu thi trắc nghiệm.
1.4.1. Nhị phân hóa
Nhị phân hóa là thực hiện phép biến đổi ảnh từ ảnh đa cấp xám về ảnh nhị
phân (có 2 cấp xám). Do các kỹ thuật nhận dạng chỉ cẩn ảnh đầu vào là ảnh nhị
phân nên bƣớc này cần thực hiện khi ảnh đầu vào là ảnh đa cấp xám.
Phƣơng pháp đơn giản là dùng một hàm cắt với giá trị ngƣỡng .


0 :
f (u )  
1 :

u
u
13


Trong đó u là mức xám của một điểm ảnh.
Ngƣỡng  có thể đƣợc chọn trƣớc hoặc thực hiện chọn tự động bằng cách
tính toán các đại lƣợng thống kê trên lƣợc đồ tần xuất histogram của ảnh, của vùng
ảnh.
1.4.2. Khử nhiễu
Khử nhiễu đƣợc tiến hành bằng cách sử dụng các bộ lọc tuyến tính (lọc trung
bình) hoặc phi tuyến (lọc trung vị).
Khử nhiễu bằng các bộ lọc tuyến tính phổ biến là các bộ lọc sau:
1 1 1
1
1 1 1

9
1 1 1

1
2
1 
4
100 

2
1

1 1 1
1 
1 1 1

16
1 1 1

2 4 2 1
4 8 4 2 
8 16 8 4

4 8 4 2
2 4 2 1 

Các bộ lọc trên đƣợc kết hợp với ảnh bằng phép nhân chập (phép cuộn) và
cho ra ảnh kết quả có độ nhiễu nhỏ hơn ảnh ban đầu.
1.4.3. Làm trơn biên, lấp đầy chỗ trống
Trên thực tế, sau khi khử nhiễu, đƣờng biên chữ không đƣợc trơn tru nhƣ ban
đầu mà hình thành các đƣờng cong có răng cƣa. Khi đó ta phải tiến hành lấp đầy
chỗ trống, xóa đi các điểm giả trên biên chữ. Hai kỹ thuật hay đƣợc sử dụng là
Unger và Dineen.
Kỹ thuật Dineen dùng một mặt nạ n x n di chuyển trên tất cả các vị trí trong
ảnh. Một ảnh mới đƣợc tạo ra trên đó mỗi phần tử tại tâm cửa sổ đƣợc tính lại theo
các phần tử lân cận. Nếu tổng các phần tử trong cửa sổ lớn hơn một ngƣỡng  nào
đó thì vị trí tƣơng ứng trong ảnh mới sẽ là 1, ngƣợc lại là 0. Kích thƣớc cửa sổ
thƣờng chọn là 3 x 3 hoặc 4 x 4.
Kỹ thuật Unger dùng một tập luật để lấp đầy chỗ trống. Giả sử P là điểm

đang xét, ta có các điểm lân cận của P nhƣ sau:

P3

P2

P9

P4

P

P8

P5

P6

P7

14


Điểm P trên ảnh mới là đen khi và chỉ khi thỏa mãn 1 trong 2 điều kiện sau:
1. P là điểm đen
2. Có ít nhất 3 trong 4 láng giềng P 2 , P 3 , P 6 , P 8 là đen
Để loại bỏ các điểm cô lập sau khi lấp đầy chỗ trống, Unger lại dùng một tập
luật khác:
1. Có ít nhất 1 trong 3 láng giềng P 2 , P 3 , P 4 là đen
2. Có ít nhất 1 trong 3 láng giềng P 6 , P 7 , P 8 là đen

hay
1. Có ít nhất 1 trong 3 láng giềng P 4 , P 5 , P 6 là đen
2. Có ít nhất 1 trong 3 láng giềng P 2 , P 8 , P 9 là đen
1.4.4. Đƣờng thẳng Hough
Chúng ta sẽ dùng biến đổi Hough để tìm các đƣờng thẳng trên ảnh. Kĩ thuật
tìm đƣờng thẳng theo biến đổi Hough sẽ đƣợc ứng dụng vào tìm góc nghiêng của
phiếu trả lời.
Ta có phƣơng trình đƣờng thẳng:

x  x1
y - y1

x 2  x 1 y 2 - y1

Ta sẽ biến đổi phƣơng trình trên thành phƣơng trình tham số của đƣờng
thẳng theo tọa độ cực.
r là khoảng cách từ gốc đến đƣờng thẳng,  là góc giữa véc tơ pháp tuyến
của đƣờng thẳng và trục Ox
Với x 1 = 0 => y 1 =
Với y 2 = 0 => x 2 =

r
sin 
r
cos 

r
x0
sin 



r
r
0 0
cos 
sin 
y



 x.r
y.r
r2

sin  cos  sin.cos

15




y
r
x


cos sin cos

 r = x.cos  + y.sin 


Hình 1.5 Đƣờng thằng Hough trên trục tọa độ

Phƣơng trình này đƣợc gọi là phƣơng trình đƣờng thẳng Hough.
Tƣ tƣởng của nhận dạng đƣờng thẳng Hough là: với mỗi giá trị của các tham
số r và  , ta tính số tọa độ (x, y) thỏa mãn phƣơng trình đƣờng thẳng Hough và là
điểm đen. Nếu số này lớn hơn một ngƣỡng th thì tập hợp các điểm đó có thể tạo nên
một đƣờng thẳng.
Thuật toán tìm đƣờng thẳng dựa trên phƣơng trình đƣờng thẳng Hough đƣợc
mô tả dƣới dạng giả ngôn ngữ nhƣ sau:
for r = 0 to

width 2  height 2 do

for  = 0 to 360  do
{
count = 0;
for x = 0 to width do
{
Tính y;
if (x, y) là điểm đen then
count = count + 1;
}
if count > th then
thông báo có một đƣờng thẳng;

16


}


Trong đó, width và height là độ rộng và chiều cao của ảnh. Biến count dùng
để đếm số điểm đen ứng với mỗi r và  . Nếu count lớn hơn một ngƣỡng th cho
trƣớc thì có một đƣờng thẳng.
Ƣu điểm của thuật toán này là có thể tìm đƣợc các đƣờng thẳng không liền
nét (các điểm trên đƣờng thẳng rời rạc nhau) với độ chính xác cao. Điều này phù
hợp với thực tế rằng, một ảnh khi quét vào có thể bị nhiễu hoặc đứt nét. Với thuật
toán này, ta cũng có thể tính ngay đƣợc góc nghiêng của đƣờng thẳng. Từ đó dễ
dàng chuyển sang bƣớc chỉnh độ nghiêng.
1.4.5. Chỉnh độ nghiêng của ảnh
Trong trƣờng hợp ngƣời quét ảnh không cẩn thận, ảnh đầu vào có thể bị
nghiêng đi một góc nào đó so với phƣơng ngang. Khi đó cần xác định góc nghiêng
của văn bản và quay về vị trí 0  . Để xoay ảnh một góc  , ta dùng biến đổi tọa độ
nhƣ sau:
 cos
( x ' , y ' )  (x, y).
  sin 

sin 

cos 

Trong đó (x ' , y ' ) là tọa độ mới sau khi quay.

17


CHƢƠNG 2. NHẬN DẠNG PHIẾU TRẮC NGHIỆM
2.1. Mô tả bài toán
Bài toán bao gồm các công đoạn:
-


Đọc phiếu tự động

-

Nhận dạng kết quả tự động

-

Thực hiện chấm điểm

-

Lƣu trữ thông tin

Để hệ thống có thể nhận dạng đƣợc phiếu trả lời, các phiếu này phải có một
khuôn mẫu cố định, sau đó ta áp dụng các kỹ thuật nhận dạng để đọc kết quả trả lời
từ phiếu. Dƣới đây sẽ trình bày chi tiết về thiết kế mẫu phiếu trả lời và các kỹ thuật
nhận dạng phiếu.
2.2. Các mẫu phiếu thi trắc nghiệm thƣờng gặp
Để hệ thống có thể nhận dạng đƣợc các phiếu thi trắc nghiệm, các phiếu này
đều phải tuân theo một mẫu chuẩn. Mẫu này đƣợc thiết kế sao cho quá trình nhận
dạng đƣợc thực hiện một cách nhanh chóng và chính xác.
Khi nhận dạng, phiếu thi trắc nghiệm đƣợc quét bởi scanner, do vậy không
thể tránh khỏi tờ phiếu bị xoay nghiêng. Việc điều chỉnh lại tờ phiếu là rất quan
trọng, vì nó có ảnh hƣởng đến quá trình nhận dạng về sau. Để có thể nhận biết độ
nghiêng của phiếu, chúng ta sẽ thiết kế một đƣờng thẳng nằm ngang song song với
mép trên của phiếu. Ảnh của phiếu trả lời khi đƣợc quét qua scanner sẽ có nhiễu và
có thể mất nét vì nhiều lý do (tờ phiếu bị nhàu nát, hoặc đã đƣợc phô tô lại,…) nên
đƣờng thẳng này phải đƣợc để độ dày một cách phù hợp.

Để nhận dạng phiếu thi có độ chính xác cao và nhanh, ta cần biết vị trí tƣơng
đối của các ô trắc nghiệm. Ở đây chúng ta dùng các khung để khoanh vùng các ô
trắc nghiệm.
Phần dành cho trắc nghiệm phải đƣợc thiết kế đậm để có thể nhận dạng chính
xác.
Ngoài ra mẫu thi trắc nghiệm phải có tính thẩm mỹ cao và thuận tiện đối với
ngƣời chấm điểm. Ở đây, em dùng hai mẫu trắc nghiệm, sẽ đƣợc nói chi tiết ở dƣới
đây. Vùng nhận dạng cần nằm gọn trong tờ giấy, không đƣợc gần mép giấy quá để
tránh khi đƣa vào máy scanner, vùng nhận dạng không đƣợc quét hết.

18


Trong phiếu thi, có thể có các câu hỏi mở, vì vậy ngoài vùng nhận dạng phải
có phần dành cho các câu hỏi mở nếu có.
Ở cuối tờ phiếu, nên có những hƣớng dẫn cần thiết về quy cách trắc nghiệm
để tránh những lỗi không hợp lệ gây ra bởi ngƣời trắc nghiệm.
Các mẫu phiếu trả lời dƣới đây:

Hình 2.1 Phiếu trắc nghiệm 50 câu bị nghiêng khi scan

19


Hình 2.2 Phiếu trắc nghiệm 100 câu

20


Hình 2.3 Phiếu trắc nghiệm 50 câu không có khung


21


Hình 2.4 Phiếu trắc nghiệm 100 câu không có khung

22


Hình 2.5 Phiếu trắc nghiệm 80 câu không có gai

23


2.3. Kỹ thuật nhận dạng chung phiếu trắc nghiệm
Trong phần này, chúng ta lần lƣợt xem xét các thuật toán chung trong nhận
dạng phiếu trắc nghiệm.
2.3.1. Các tham số cần thiết
Để có thể nhận dạng đƣợc định dạng chung của phiếu trả lời, ta cần biết một
số các tham số. Các tham số này đƣợc tạo khi hệ thống sinh phiếu trả lời dƣới dạng
Word. Dƣới đây là các tham số cần thiết:
- Độ phân giải của ảnh (thƣờng là 100 dpi hoặc 150 dpi)
- Kích cỡ ảnh (chiều rộng và chiều cao)
- Độ dài, độ dày của đƣờng thẳng dày
- Độ rộng, cao của khung
- Khoảng cách giữa khung và đƣờng thẳng dày
- Khoảng cách giữa các dòng (chứa các ô trả lời)
- Khoảng cách giữa các ô
- Số khung
- Số câu hỏi mỗi khung

- Số tùy chọn mỗi câu hỏi
2.3.2. Nhận dạng đƣờng thẳng dày
Nhƣ đã nói ở trên để điều chỉnh độ nghiêng của phiếu trả lời, trên phiếu có
một đƣờng thẳng song song với mép trên của phiếu và có một độ dày nhất định để
tránh đƣờng thẳng bị mất nét. Chúng ta sẽ nhận dạng đƣờng thẳng này và độ
nghiêng của nó dựa trên thuật toán Hough.
Một vấn đề dễ nhận thấy là thuật toán Hough chỉ tìm những đƣờng thẳng
mảnh (có độ dày 1 điểm ảnh). Do vậy nếu áp dụng ngay thuật toán Hough thì sẽ đi
đến kết quả không nhƣ mong muốn, vì thuật toán này sẽ tìm đƣợc rất nhiều đƣờng
thẳng trên đƣờng thẳng dày này với các độ nghiêng không giống nhau.
Để áp dụng đƣợc thuật toán Hough, chúng ta quan niệm đƣờng thẳng dày là
tập hợp các đƣờng thẳng mảnh song song và kề cận nhau hợp thành. Thay vì nhận
dạng đƣờng thẳng dày, chúng ta sẽ nhận dạng tập hợp các đƣờng thẳng đó.

24


Trƣớc tiên, ta có một phát biểu sau: trong vùng của đường thẳng dày, xét tất
cả tập hợp của các đường thẳng mảnh song song với nhau và có độ dài bằng độ dài
đường thẳng dày, khi đó tập hợp mà có các đường thẳng song song với đường
thẳng dày sẽ có số lượng các đường thẳng là lớn nhất.
Ta có thể chứng minh phát biểu này một cách đơn giản nhƣ sau:
Giả sử đƣờng thẳng dày có độ dày là a và độ dài là b, ta dễ dàng nhận ra một
tập hợp bao gồm a đƣờng thẳng mảnh song song nhau có độ dài b và song song với
đƣờng thẳng dày, tập hợp các đƣờng thẳng này cũng tạo nên đƣờng thẳng dày. Ta sẽ
chứng minh tập hợp này có số lƣợng đƣờng thẳng là lớn nhất.
Giả sử có một tập hợp khác bao gồm a’ đƣờng thẳng song song nhau có độ
dài b với a’ > a. Khi đó tổng diện tích các đƣờng thẳng trong tập hợp đó là a’.b > a.b
là diện tích của đƣờng thẳng dày. Điều này vô lý.
Nhƣ vậy phát biểu đã đƣợc chứng minh.

Từ đó, em đề xuất phƣơng pháp nhận đƣờng thẳng dày nhƣ sau:
- Tìm tất cả các đƣờng thẳng trên ảnh phiếu có ngƣỡng lớn hơn hoặc bằng
ngƣỡng của đƣờng thẳng dày.
- Xác định tập hợp các đƣờng thẳng song song (cùng nghiêng một góc giống
nhau) và kề nhau trong các đƣờng thẳng trên.
- Trong các tập hợp trên, tìm tập hợp có số lƣợng đƣờng thẳng là lớn nhất.
Đó chính là tập hợp tạo nên đƣờng thẳng dày.
Qua thực nghiệm, ngƣỡng của đƣờng thẳng dày nên chọn bằng 0.9 độ dài
thực tế của đƣờng thẳng vì lý do chất lƣợng của ảnh. Thực tế cho thấy tìm đƣờng
thẳng dày bằng phƣơng pháp này cho độ chính xác rất cao cả về vị trí và góc
nghiêng của đƣờng thẳng, đạt 99%.
2.3.3. Chỉnh độ nghiêng
Sau khi tìm đƣợc góc nghiêng của đƣờng thẳng dày, ta đến bƣớc điều chỉnh
lại ảnh. Trong bƣớc này ta chỉ thuần túy áp dụng phép quay. Ta cần xét đến trƣờng
hợp, khi đƣa phiếu vào quét, giấy bị lộn ngƣợc chiều, tức là đƣờng thẳng dày sẽ
đƣợc tìm thấy ở gần mép dƣới của ảnh. Để nhận biết đƣợc trƣờng hợp này, ta có thể
kiểm tra xem vị trí của đƣờng thẳng dày ở nửa trên hay nửa dƣới của ảnh. Nếu
đƣờng thẳng dày ở nửa trên của ảnh, ta quay ảnh với góc nghiêng của đƣờng thẳng
dày. Trong trƣờng hợp ngƣợc lại, ta quay ảnh một góc bằng góc nghiêng của đƣờng
thẳng dày cộng với  .

25


×