Thế kỷ XXI với những thay đổi to lớn mở đầu cho một kỷ nguyên mới- kỷ nguyên của một nền kinh tế tri thức, một xã hội thông tin. Chính vì thế, giáo dục đào tạo được coi là yếu tố quyết định thúc đẩy đất nước đi nhanh vào nền kinh tế tri thức - một xu hướng phát triển mới của thế giới. Hiện nay, nhiều hình thức kiểm tra được áp dụng từ kiểm tra miệng, kiểm tra vấn đáp, kiểm tra viết, kiểm tra trắc nghiệm, bài tập lớn, tiểu luận, luận văn... Trong đó hình thức kiểm tra trắc nghiệm khách quan đang được sử dụng rất rộng rãi do những nguyên nhân sau :
Trang 1MỞ ĐẦU
1 Thực tiễn của đề tài
Thế kỷ XXI với những thay đổi to lớn mở đầu cho một kỷnguyên mới- kỷ nguyên của một nền kinh tế tri thức, một xã hộithông tin Chính vì thế, giáo dục đào tạo được coi là yếu tốquyết định thúc đẩy đất nước đi nhanh vào nền kinh tế tri thức -một xu hướng phát triển mới của thế giới
Hiện nay, nhiều hình thức kiểm tra được áp dụng từ kiểmtra miệng, kiểm tra vấn đáp, kiểm tra viết, kiểm tra trắc nghiệm,bài tập lớn, tiểu luận, luận văn Trong đó hình thức kiểm tratrắc nghiệm khách quan đang được sử dụng rất rộng rãi donhững nguyên nhân sau :
Có thể tiến hành kiểm tra đánh giá trên diện rộng trongmột khoảng thời gian ngắn
Chấm bài nhanh, chính xác và khách quan
Bài kiểm tra có rất nhiều câu hỏi nên có thể kiểm tra đượcmột cách hệ thống và toàn diện kiến thức và kĩ năng củathí sinh, tránh được tình trạng học tủ, dạy tủ
Sự phân phối điểm trải trên một phổ rất rộng nên có thểphân biệt được rõ ràng các trình độ của thí sinh
Tháng 06/2007, Bộ Giáo dục và Đào tạo đã chính thứcchuyển một số môn thi của các kỳ thi cấp Quốc gia như thi tốtnghiệp Trung học phổ thông và thi tuyển sinh vào các trườngCao đẳng, Đại học từ hình thức tự luận sang trắc nghiệm Tuy
Trang 2nhiên, việc áp dụng các phương tiện kỹ thuật hiện đại cũng gây
ra nhiều khó khăn, thách thức Đối với thí sinh, không nhữngphải tô đậm, chính xác điểm cần tô mà còn phải giữ giấy thiphẳng, ngay ngắn và sạch sẽ Chỉ một vài thay đổi nhỏ như giấy
bị nhàu nát cũng có thể gây ra sự không chính xác trong việcđánh giá kết quả Bên cạnh đó, các hệ thống tự động chấm thitrắc nghiệm chủ yếu được nhập từ nước ngoài với giá thành rấtcao, có cấu trúc cồng kềnh nên việc di chuyển kém linh hoạt vàgặp nhiều khó khăn Hơn nữa, các máy chấm tự động chỉ được
sử dụng trong các kỳ thi lớn Còn ở các kỳ thi nhỏ hơn như thihọc kỳ, các bài kiểm tra 1 tiết ở các cấp bậc khác như phổ thôngthì đa số vẫn dùng hình thức chấm bằng tay hoặc dùng bằng bìađục lỗ; nếu chấm bài với một số lượng lớn thì người chấm sẽ tốnnhiều thời gian, dễ xảy ra nhầm lẫn sai sót
Trước thực tiễn đó, tôi đã quyết định chọn đề tài: “Xâydựng hệ thống chấm điểm trắc nghiệm sử dụng camera” với yêucầu đặt ra là cấu trúc phần cứng nhỏ gọn, xử lý nhanh, chi phíthấp mà vẫn có khả năng đạt được hiệu quảnhư mong muốn Hệthống này phảicó khả năng ứng dụng cao trong các kỳ thi ở mọicấp bậc, kỳ thi tuyển sinh đại học, các kỳ thi tiếng Anh quốc tế,giảm thiểu đáng kể những chi phí không cần thiết cho việc chấmthi thủ công hoặc sử dụng những thiết bị được nhập về như hiệnnay
2 Những hệ thống chấm thi trắc nghiệm trên giấy hiện nay 2.1 Máy OMR
Trang 3Máy chấm thi trắc nghiệm chuyên dụng, hay còn gọi làOptical Mark Recognition (OMR) Machine là một loại máyđược thiết kế ra để chấm điểm thi trắc nghiệm một cách nhanh
và chính xác Máy OMR thường được sử dụng để đánh giá kếtquả thi thông qua hình thức trắc nghiệm với số lượng lớn
Phương thức mà máy OMR dùng để nhận dạng và xácđịnh nội dung của phiếu thi là sử dụng hàng loạt cảm biến đểnhận dạng vùng tô bằng chì của sinh viên (ô tròn được quy định
tô bằng bút chì 2B trở lên Thường thì cảm biến này là cảm biếnhồng ngoại loại phản chiếu, dựa trên tính chất phản xạ hay hấpthụ ánh sáng của vật thể Tuỳ theo mức độ phản xạ của vật thể
mà chùm tia phản xạ có thể mạnh hay yếu, từ đó xác định đượcvùng nào là phần thí sinh tô đen, phần nào là phần nền giấy thi
Ưu điểm của loại máy này là tính ổn định, độ chính xác, độ tincậy cao Tuy nhiên lại có nhiều nhược điểm:
Giá thành cao, thường chỉ được sử dụng ở những tổ chứcgiáo dục lớn
Giấy làm bài thi trắc nghiệm phải là giấy trắng tiêuchuẩn
Bài thi trắc nghiệm phải làm trên mẫu giấy thống nhất,tuân thủ nghiêm ngặt những quy định khi in ấn
Tính ổn định và độ chính xác cao của hệ thống làm cho máyOMR có được độ tin cậy cao và thường được sử dụng ở những
tổ chức giáo dục và đánh giá lớn Nhưng những tính năng nàycũng tạo nên giá thành cao của hệ thống và cản trở việc phổ
Trang 4biến máy OMR trên thị trường Không những giá thành củachúng rất đắt mà chi phí vận hành phải đi đôi với việc tiêu thụrất nhiều giấy chuyên dụng Do đó, những tổ chức giáo dục vừa
và nhỏ, những trường học muốn tổ chức những kỳ thi trắcnghiệm riêng của họ để tiến hành đánh giá học sinh, sinh viênđịnh kỳ lại không đủ chi phí mua cũng như duy trì những chiếcmáy như thế này
2.2 Phần mềm OMR
Trong khi những chiếc máy OMR làm chủ công nghệ vàthị trường phục vụ nhu cầu đánh giá kỳ thi trắc nghiệm thì vẫntồn tại những nhu cầu về một thiết bị nhỏ gọn hơn mà thỏa mãnđược những yêu cầu về độ ổn định và độ chính xác cao
Phần mềm OMR được phát triển nhanh chóng nhằm lấpđầy những nhu cầu trên Sự ra đời của phần mềm OMR kết hợpvới máy scan thực sự đã là một giải pháp thay thế cho việc chấmthi trắc nghiệm tự động Đây là một giải pháp phần mềm, đểthực hiện chấm thi được cần phải kết hợp với một hệ thống máytính và máy scan
Máy scan là một loại thiết bị văn phòng phổ biến và sẵn cóvới đa dạng chủng loại cùng giá thành trên thị trường Có hailoại máy scan cơ bản mà chúng ta cần chú ý khi kết hợp vớiphần mềm OMR
Máy scan ép phẳng (flatbed scanner) dùng để quét những
tài liệu nhỏ lẻ hoặc những mẫu đơn rời Nhược điểm của loạimáy scan này là người sử dụng phải thao tác bằng tay khi họ
Trang 5muốn scan tài liệu Điều này đồng nghĩa với tính tự động và tốc
độ của hệ thống chấm thi sử dụng máy scan ép phẳng sẽ rấtthấp
Máy scan tời giấy tự động (automatic document feeder –
ADF) là dòng máy scan chuyên nghiệp hơn Máy ADF có thêmkhay tời giấy tự động có thể đựng đuợc 50 tới 200 tờ giấy vàscan lần lượt theo thời gian định sẵn Khi kết hợp ADF với phầnmềm OMR sẽ tạo nên một hệ thống chấm thi khá khả quan Tuynhiên giá thành cho cả hệ thống bao gồm phần mềm OMR, máytính, và máy scan ADF rất đắt Chính vì vậy nên rất nhiềutrường trung học phổ thông, đại học và các tổ chức giáo dục vừa
và nhỏ đã không chọn phần mềm OMR kết hợp với máy scanlàm công cụ chấm thi trắc nghiệm tự động
3 Mục tiêu và nội dung thực hiện của đề tài
Với những hạn chế của các loại máy chấm trắc nghiệm trên,mục tiêu của đề tài “Xây dựng hệ thống chấm điểm trắc nghiệm
sử dụng camera” là đề xuất xây dựng hệ thống chấm điểm trắcnghiệm khắc phục được những hạn chế nói trên:
Tốc độ lấy mẫu thông qua máy tời giấy nhanh, tính tựđộng cao, giá thành rẻ
Thuật toán xử lý, nhận dạng nội dung phiếu thi phảinhanh,đảm bảo được độ chính xác, tin cậy cao Thuậttoán này phải nhận dạng được cả các phiếu thi in trên cácloại giấy thông dụng, yêu cầu về độ chính xác khi in ấnkhông cần quá cao
Trang 6Do hạn chế về mặt thời gian nên đề tài này tập trung giảiquyết các vấn đề sau:
Thực hiện giao tiếp giữa máy tính và camera, hiển thịhình ảnh ghi được từ camera lên máy tính
Nghiên cứu, đề xuất hệ thống, thuật toán nhận dạng vùngảnhvà xử lý thông tin của phiếu thi
Thiết kế, xây dựng dữ liệu quản lý tham số bài thi phục
vụ công tác chuẩn bị trước khi chấm thi và lưu trữ thôngtin sau khi chấm thi
Dựa trên các nội dung đó, luận văn này được chia thành 3chương với các nội dụng chính như sau:
Chương 1: Cơ sở lý thuyết
Giới thiệu tổng quan các khái niệm cơ bản về ảnh số, các thuật toán xử lý ảnh số sẽ áp dụng để thực hiện đề tài.
Chương 2: Phân tích và thiết kế hệ thống chấm thi trắcnghiệm bằng camera
Đề xuất và thiết kế hệ thống chấm thi trắc nghiệm bằng camera Phân tích thuật toán chấm thi trắc nghiệm đã đề xuất.
Chương 3: Đánh giá kết quả thực hiện
Thực nghiệm và đánh giá kết quả đạt được với thuật toán
đã đề xuất bằng phần mềm được lập trình theo thiết kế ở chương 2.
4 Kết quả đạt được
Trang 7Bằng phương pháp thực nghiệm, phần mềm chấm điểm trắcnghiệm bằng camera đã hoàn thành và đáp ứng các các yêu cầuđặt ra:
Module quản lý kỳ thi nhỏ, gọn, trực quan
Hiển thị hình ảnh từ camera và chấm điểm
Chấm điểm với nhiều file ảnh phiếu thi chụp từ trước
Thực nghiệm cho thấy thuật toán đã đề ra đạt độ chínhxác 100% với các mẫu phiếu thi đã chuẩn bị, thời gianchấm thi nhanh
Để có thể thực hiện và hoàn thành đề tài này, tôi xin đượcchân thành cảm ơn PGS.TS Nguyễn Tiến Dũng đã tận tìnhhướng dẫn và giúp đỡ trong suốt quá trình thực hiện đề tài
Mặc dù đã cố gắng và nỗ lực hết mình để hoàn thành luậnvăn, song chắc chắn không thể tránh khỏi những sai sót và hạnchế Vì vậy, tôi rất mong sẽ nhận được sự đóng góp ý kiến để đềtài này được hoàn thiện hơn Xin chân thành cảm ơn
Học viênTRẦN NGUYỄN MINHTOÀN
Trang 8Chương 1 CƠ SỞ LÝ THUYẾT
1.1 Những khái niệm cơ bản về ảnh số 1.1.1 Pixel
Một bức ảnh hay một bức tranh ta nhìn thấy bằng mắtthường là một sự liên tục về không gian cũng như độ sáng Khi
kỹ thuật số được ứng dụng vào lĩnh vực nhiếp ảnh, rất nhiềukhái niệm mới đã được ra đời
Kỹ thuật số là một kỹ thuật xử lý rời rạc trên máy tính, kỹthuật này chỉ áp dụng đối với các bit (các con số), chính về vậycác bức ảnh liên tục về không gian và độ sáng cần phải được “sốhóa” Số hoá ảnh thực chất là sự biến đổi gần đúng một ảnh liêntục thành một tập điểm rời rạc phù hợp với ảnh thật về vị trí(không gian) và độ sáng (mức xám) Khoảng cách giữa cácđiểm ảnh đó được thiết lập sao cho mắt người không thể phânbiệt được ranh giới giữa chúng Chính vì vậy, khi chúng ta nhìnmột bức tranh là tập hợp của rất nhiều điểm rời rạc, chúng ta sẽ
có cảm giác đó là một bức ảnh liên tục Mỗi một điểm như vậygọi là một điểm ảnh (Picture Element hay gọi tắt là pixel).Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x,y)
Điểm ảnh là một phần tử của ảnh số tại toạ độ (x, y) với độxám hoặc màu nhất định Kích thước và khoảng cách giữa cácđiểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận
sự liên tục về không gian và mức xám (hoặc màu) của ảnh sốgần như ảnh thật
Trang 91.1.1 Độ xám
Mỗi một điểm ảnh sẽ được đặc trưng bởi hai tham số chính
về không gian và độ xám Trong khuôn khổ ảnh hai chiều, tham
số không gian được xác định bởi tọa độ Descartes (x,y) củađiểm ảnh đó Tham số độ xám được xác định là giá trị cường độsáng tại điểm đó Máy tính thường sử dụng đơn vị byte (8bit) đểbiểu diễn giá trị số Chính vì vậy, giá trị lớn nhất của độ xámthường được sử dụng rộng rãi nhất là 28 = 256 tương đương vớiviệc cường độ sáng của các điểm sẽ nằm trong dải từ 0 đến 255,khi đó, máy tính sẽ dùng 8bit = 1byte để biểu diễn giá trị cường
độ sáng Ngoài ra, còn có các giá trị cường độ sáng lớn nhấtkhác: 16, 32, 64, 128,…
Thông thường, ta sẽ làm quen với 3 loại ảnh sau dựa vàocấu trúc cũng như độ xám điểm ảnh:
Ảnh màu: là ảnh mà màu của các điểm ảnh được tạo nênbởi sự pha trộn 3 màu cơ bản (hệ màu RBG: Red BlueGreen) với các tỉ lệ cường độ sáng khác nhau Với mỗimột màu cơ bản, người ta sẽ sử dụng một byte để biểudiễn cường độ sáng, chính vì vậy cần 3byte (24bit) đểbiểu diễn một điểm ảnh Khi đó giá trị màu sẽ nhận giá trị
từ 0 cho đến 224 (vào khoảng ≈16,7 triệu màu)
Ảnh đen trắng (ảnh xám): là ảnh mà mỗi điểm ảnh chỉ cóhai màu đen, trắng (không chứa màu khác) với cường độsáng (mức xám) ở các điểm ảnh có thể sử dụng nhiều bit
để biểu diễn các giá trị khác nhau
Trang 10 Ảnh nhị phân: là ảnh chỉ có hai màu đen, trắng (khôngchứa màu khác) với cường độ sáng chỉ có 2 giá trị duynhất 0 và 255 Người ta dùng duy nhất 2 bit để biểu diễn
độ xám, bit “1” tương ứng điểm ảnh đen (0), bit “0”tương ứng điểm ảnh trắng (255)
1.1.2 Nhiễu ảnh
Trước khi xem xét chi tiết các kỹ thuật xử lý ảnh cơ bản,chúng ta cần phân biệt các loại nhiễu hay can thiệp trong quátrình xử lý ảnh Trên thực tế tồn tại nhiều loại nhiễu, tuy nhiênngười ta thường xem xét 3 loại nhiễu chính: nhiễu cộng, nhiễunhân và nhiễu xung:
Xqs = Xgốc * η (1.2)
1.1.2.2 Nhiễu xung
Khác với nhiễu nhân và nhiễu cộng, nhiễu xung thường chỉgây đột biến tại một số điểm ảnh Nhiễu xung là một loại nhiễukhá đặc biệt có thể sinh ra bởi nhiều lý do khác nhau chẳng hạn:lỗi truyền tín hiệu, lỗi bộ nhớ, hay lỗi định thời trong quá trìnhlượng tử hóa
Trang 111.2 Những kỹ thuật xử lý ảnh cơ bản 1.2.1 Lấy mẫu và lượng tử hóa
1.2.1.1 Lấy mẫu
Lấy mẫu (sampling) là một quá trình, qua đó ảnh được tạonên trên một vùng có tính liên tục được chuyển thành các giá trịrời rạc theo tọa độ nguyên Quá trình này gồm 2 lựa chọn:
Một là: khoảng lấy mẫu
Hai là: cách thể hiện dạng mẫu
Lựa chọn thứ nhất được đảm bảo nhờ lý thuyết lấy mẫu củaShannon Lựa chọn thứ hai liên quan đến độ đo (Metric) đượcdùng trong miền rời rạc
Khoảng lấy mẫu (Sampling Interval)
Ảnh lấy mẫu có thể được mô tả như việc lựa chọn một tậpcác vị trí lấy mẫu trong không gian hai chiều liên tục Đầu tiên
mô tả qua quá trình lấy mẫu một chiều với việc sử dụng hàm
Tiếp theo chúng ta định nghĩa hàm răng lược với các
khoảng Δx như sau:
Comb ( x )=∑
r =−∞
∞
với r là số nguyên, Δx : khoảng lấy mẫu
Như vậy, hàm răng lược là chuỗi các xung răng lược từ (-∞
đến +∞) Giả sử hàm một chiều g(x) được mô tả (gần đúng) bằng g(r Δx ) tức là:
Trang 12g( x ) ≈ g ( r Δ x ) (1.6)Khi đó tín hiệu lấy mẫu được mô hình hoá
g s ( x )=g ( x )Comb ( x )=g ( x) ∑
r=−∞
∞
δ ( x−r ∆ x ) (1.7)hoặc tương đương
g(x) ≈ {g(0), g(Δx), g(2Δx), , g((N
Chú ý 1: Khoảng lấy mẫu (Sampling Interval) Δx là một
tham số cần phải được chọn đủ nhỏ, thích hợp, nếu không tínhiệu thật không thể khôi phục lại được từ tín hiệu lấy mẫu
Chú ý 2: Từ lý thuyết về xử lý tín hiệu số [1], (2-6) là tích
chập trong miền không gian x.Mặt khác, phương trình trên tương đương với tích chập trong miền tần số ω tức là biến đổi Fourier của g s(x) là
Điều kiện khôi phục ảnh lấy mẫu về ảnh thật được phát biểu
từ định lý lẫy mẫu của Shannon
Định lý lấy mẫu của Shannon[2]
Trang 13Giả sử g(x) là một hàm giới hạn dải (Band Limited Function) và biến đổi Fourier của nó là G(ω x) = 0 đối với các giá
trị ωx>W x Khi đó g(x) có thể được khôi phục lại từ các mẫu được tạo tại các khoảng Δx đều đặn Tức là:
và Δx, Δy được chọn thoả mãn các điều kiện tương ứng
theo định lý lấy mẫu của Shannon khi đó:
∆ x ≤ 1
∆ y ≤ 1
Tương tự như không gian một chiều, một tín hiệu ảnh hai
chiều g(x,y) có thể xấp xỉ trong khoảng [N, M] có thể được ước
lượng như sau :
g(x,y)≈g(n∆x,m∆y)
={g(0,0),g(0,1),…,g(0,M-1),g(1,0),g(1,1),
Các dạng lấy mẫu (Tesselation)
Dạng lẫy mẫu (Tesselation) điểm ảnh là cách bài trí cácđiểm mẫu trong không gian hai chiều Một số dạng mẫu điểmảnh được cho là dạng chữ nhật, tam giác, lục giác Mỗi một
Trang 14mẫu, ngoài việc thể hiện hình dáng còn cho biết đặc điểm liênthông của chúng Ví dụ, mẫu chữ nhật có liên thông 4 hoặc 8(nói về các mẫu liền kề); mẫu lục giác có liên thông 6; mẫu tamgiác có liên thông 3 hoặc 6.
Hình 1.1 Các dạng mẫu điểm ảnh
1.2.1.2 Lượng tử hóa
Lượng tử hoá (quantization) là một quá trình lượng hoá tínhiệu thật dùng chung cho các loại xử lý tín hiệu trên cơ sở máytính Vấn đề này đã được nghiên cứu kỹ lưỡng và có nhiều lờigiải lý thuyết dưới nhiều giả định của các nhà nghiên cứu nhưPanter và Dite (1951), Max (1960), Panter (1965)
Các giá trị lấy mẫu Z là một tập các số thực từ giá trị
Zmin đến lớn nhất Z max Mỗi một số trong các giá trị mẫu Z cần
phải biến đổi thành một tập hữu hạn số bit để máy tính lưu trữhoặc xử lý
Trang 15Định nghĩa: Lượng tử hoá là ánh xạ từ các số thực mô tả
giá trị lấy mẫu thành một giải hữu hạn các số thực Nói cáchkhác, đó là quá trình số hoá biên độ
Hình 1.3 Khuông lượng tử theo L mức xám
Giả sử Z là một giá trị lấy mẫu (số thực) tại vị trí nào đó của mặt phẳng ảnh, và Z min<=Z’<=Zmaxvà giả sử chúng ta muốn
lượng hoá giá trị đó thành một trong các mức rời rạc: l 1, l2,…ln
tương ứng với Z min đến Zmax (hình 1.3) Khi đó, quá trình lượng
hoá có thể thực hiện bằng cách chia toàn bộ miền vào (Z max Zmin) thành L khoảng, mỗi khoảng là Δl và khoảng thứ i được đặt
-tại điểm giữa các khoảng liền kề l i họ các giá trị z được thực hiện và mô tả bằng l i theo quá trình trên đây, khi đó sai số củaquá trình lấy mẫu có thể được xác định theo:
Trang 16Hình 1.4 Lấy mẫu và lượng tử hóa
1.2.2 Xứ lý và nâng cao chất lượng ảnh
Nâng cao chất lượng ảnh là một bước quan trọng, tạo tiền
đề cho xử lý ảnh Mục đích chính là nhằm làm nổi bật một sốđặc tính của ảnh như thay đổi độ tương phản, lọc nhiễu, nổibiên, làm trơn biên ảnh, khuếch đại ảnh… Tăng cường ảnh vàkhôi phục ảnh là hai quá trình khác nhau về mục đích Tăngcường ảnh bao gồm một loạt các phương pháp nhằm hoàn thiệntrạng thái quan sát của một ảnh Tập hợp các kỹ thuật này tạonên giai đoạn tiền xử lý ảnh Trong khi đó, khôi phục ảnh nhằmkhôi phục ảnh gần với ảnh thực nhất trước khi nó bị biến dạng
do nhiều nguyên nhân khác nhau Sau đây ta tìm hiểu một số kỹthuật tăng cường ảnh
1.2.2.1 Tăng độ tương phản
Trước tiên cần làm rõ khái niệm độ tương phản; ảnh số làtập hợp các điểm, mà mỗi điểm có giá trị độ sáng khác nhau Ởđây, độ sáng để mắt người dễ cảm nhận ảnh song không phải làquyết định Thực tế chỉ ra rằng hai đối tượng có cùng độ sáng
Trang 17nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận khác nhau.Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đốitượng so với nền Với định nghĩa này, nếu ảnh của ta có độtương phản kém, ta có thể thay đổi tuỳ ý theo ý muốn
Ảnh với độ tương phản thấp có thể do điều kiện sáng không
đủ hay không đều, hoặc do tính không tuyến tính hay biến độngnhỏ của bộ cảm nhận ảnh Để điều chỉnh lại độ tương phản củaảnh, ta điều chỉnh lại biên độ trên toàn dải hay trên dải có giớihạn bằng cách biến đổi tuyến tính biên độ đầu vào (dùng hàmbiến đổi là hàm tuyến tính) hay phi tuyến (hàm mũ hay hàmlôgarít)
Hình 1.5 Kéo dãn độ tương phảnHàm mũ thường được dùng để dãn độ tương phản Hàm códạng:
Với p là bậc thay đổi, thường chọn bằng 2
1.2.2.2 Tách nhiễu và phân ngưỡng
Trang 18Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản
khi có hệ số góc α = γ = 0 Tách nhiễu được ứng dụng có hiệu quả để giảm nhiễu khi biết tín hiệu vào trên khoảng [a,b].
Phân ngưỡng là trường hợp đặc biệt của tách nhiễu khi a =
b = const Trong trường hợp này ảnh đầu vào là ảnh nhị phân.
Hình 1.6 Tách nhiễu và phân ngưỡng
1.2.2.3 Trừ ảnh
Trừ ảnh được dùng để tách nhiễu khỏi nền Người ta quansát ở hai thời điểm khác nhau, so sánh chúng để tìm ra sự khácnhau Người ta dóng thẳng hai ảnh rồi trừ đi và thu được ảnhmới Ảnh mới này chính là sự khác nhau Kỹ thuật này hay đượcdùng trong dự báo thời tiết và trong y học
1.2.3 Lấy ngưỡng
Lấy ngưỡng là một kỹ thuật xử lý ảnh cơ bản dùng đểnchuyển từ ảnh mức xám hoặc ảnh màu sang ảnh nhị phân khi sosánh cường độ điểm ảnh với giá trị ngưỡng cho trước Lẫyngưỡng thực sự là một công cụ mạnh để giữ lại những phần cónghĩa của bức ảnh mà bỏ đi những phần ít có ý nghĩa hoặcnhiễu Hình 2.1 thể hiện quá trình biến đổi ảnh mức xám sangảnh nhị phân bằng cách lấy mẫu qua biểu đồ cường độ mứcxám
Trang 19Hình 1.7 Lấy ngưỡng
Có rất nhiều phương pháp lấy ngưỡng được áp dụng giúpviệc lấy ngưỡng hiệu quả.Trong đó, thuật toán Otsu được sửdụng rộng rãi nhất do sự chính xác, hiệu quả do thuật toán tínhngưỡng T một cách tự động (adaptive) dựa vào giá trị điểm ảnhcủa ảnh đầu vào, nhằm thay thế cho việc sử dụng ngưỡng cốđịnh:
Chọn một ngưỡng ước đoán ban đầu T
Phân đoạn ảnh sử dụng T Quá trình này tạo ra 2 nhómpixel:
o N1bao gồm tất cả pixel có giá trị độ xám nhỏ hơn T
o N2 bao gồm tất cả pixel có giá trị độ xám lớn hơn T
Tổng xác suất xuất hiện của mỗi giá trị độ xám (xác suấttích lũy) trong mỗi nhóm điểm ảnh được tính toán bởicông thức:
Trang 20T là mức ngưỡng của giá trị độ xám
P(i) là xác suất xuất hiện của giá trị độ xám i
The weighted within-class variance (tạm dịch: phương sai
có trọng số trong nhóm điểm ảnh) được xác định bởi tổng củacác tích số xác suất tích lũy với phương sai riêng của từng nhómđiểm ảnh:
mức ngưỡng tối ưu nhất là mức ngưỡng cho giá trị The
Trang 21weighted within-class variance σw 2(T) nhỏ nhất, hay giá trị The
between-class variance σb 2 (T) lớn nhất.
1.2.4 Những bộ lọc không gian
Cải thiện ảnh là làm cho ảnh có chất lượng tốt hơn theo ý
đồ sử dụng Thường là ảnh thu nhận có nhiễu cần phải loại bỏnhiễu hay ảnh không sắc nét bị mờ hoặc cần làm tõ các chi tiếtnhư đường biên ảnh Để làm trơn nhiễu hay tách nhiễu, người ta
sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) haylọc phi tuyến (trung vị, giả trung vị, lọc đồng hình) Từ bản chấtcủa nhiễu (thường tương ứng với tần số cao) và từ cơ sở lýthuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua
do đó, để lọc nhiễu người ta thường dùng lọc thông thấp (theoquan điểm tần số không gian), lọc thông thấp làm suy giảm hoặcloại trừ các thành phần tần số cao trong miền Fourier và cho cáctần số thấp đi qua Các thành phần tần số cao đặc trưng cho cácbiên, các chi tiết làm nét trong ảnh, do đó hiệu quả của bộ lọcthông thấp là làm nhòe ảnh Hoặc lấy tổ hợp tuyến tính để sanbằng (lọc trung bình) Trong khi đó, bộ lọc thông cao làm suygiảm các thành phần tần số thấp Các thành phần này thể hiệnqua các đặc trưng thay đổi chậm của ảnh như độ tương phản vàcường độ sánh trung bình Hiệu quả chung của các bộ lọc thôngcao là làm rõ các biên và chi tiết
1.2.4.1 Lọc tuyến tính: lọc trung bình, lọc thông thấp
Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnhnên cần có nhiều bộ lọc thích hợp Với nhiễu cộng và nhiễu
Trang 22nhân ta dùng các bộ lọc thông thấp (Low Pass Filter), bộ lọctrung bình (Mean Filter).
a Lọc trung bình (Mean Filter)
Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trungbình trọng số của các điểm lân cận và được định nghĩa như sau:
N W là số điểm ảnh trong cửa sổ lọc W
Lọc trung bình có trọng số chính là thực hiện việc nhân tích
chập ảnh đầu vào với hàm truyền đạt H có dạng:
Trang 23đường biên của các đối tượng bên trong ảnh, làm mất tín hiệucận nhiễu và không lọc được nhiễu xung.
Vì thế trong lọc trung bình, thường người ta phải ưu tiêncho các hướng để bảo vệ biên của ảnh khỏi bị mờ khi làm trơnảnh Các kiểu mặt nạ được sử dụng tùy theo các trường hợpkhác nhau Bộ lọc trên có thể hiểu là bộ lọc tuyến tính theonghĩa là điểm ảnh ở tâm cửa số sẽ được thay bởi tổ hợp cácđiểm lân cận chập với mặt nạ Một bộ lọc trung bình không giankhác cũng hay được sử dụng Phương trình của bộ lọc đó códạng:
Y[m, n] = 1
2[X[m , n] + 1
4{X[m−1, n]+X[m , n]+X[m+1, n]++X[m ,n−1]+(1.32)X[m, n+1]}]
Ở đây, nhân chập H có kích thuớc 2x2 và mỗi điểm ảnh kết
quả có giá trị bằng trung bình cộng của nó với trung bình cộngcủa 4 lân cận gần nhất Lọc trung bình trọng số là một trườnghợp riêng của lọc thông thấp
b Lọc thông thấp (Low Pass Filter)
Lọc thông thấp thường được sử dụng để làm trơn nhiễu.Vềnguyên lý của bộ lọc thông thấp tương tự như đã trình bày ở bộlọc Mean Trong kỹ thuật này người ta hay dùng một số nhânchập có dạng sau:
H b = (b+2)1 2[1 b 1 b b2 b
Dễ dàng nhận thấy khi b=1, H b chính là hàm truyền đạt củamạch lọc trung bình Để hiểu rõ hơn bản chất khử nhiễu cộng
Trang 24của các bộ lọc này, ta viết lại phương trình thu nhận ảnh dướidạng:
X qs[m, n]=X g[m , n]+η[m ,n] (1.34)Trong đó
Như vậy nhiễu cộng trong ảnh đã giảm đi N w lần
1.2.4.2 Lọc phi tuyến: lọc trung vị và lọc ngoài
Các bộ lọc phi tuyến cũng hay được dùng trong kỹ thuậttăng cường ảnh Trong kỹ thuật này, người ta dùng bộ lọc trung
vị (Median Filter) và bộ lọc ngoài (Outlier) đối với trường hợpnhiễu xung
a Lọc trung vị (Median Filter)
Để thực hiện lọc Median trong lân cận của một pixel chúng
ta sắp xếp các giá trị của pixel và các lân cận, xác định trung vịMedian và định giá trị pixel Với dãy x1, x2,…,xn đơn điệu tăng(giảm), trung vị được xác định theo công thức sau:
med={x[n2+1]nếu x lẻ
x[n
Trang 25Đó là trung vị của một dãy Ta có công thức lọc của phươngpháp như sau:
v (m , n)=med(y(m−k , n−l))với{k ,l}∈W (1.38)
Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phảixếp theo thứ tự tăng hay giảm dần so với giá trị trung vị Kíchthước cửa sổ thường được chọn sao cho số điểm ảnh trong cửa
sổ là lẻ Các cửa sổ hay dùng là cửa sổ kích thước 3x3, 5x5 hay7x7
Hình 1.8 Ảnh trước và sau bộ lọc Median
Do đó về nguyên lý thì mạch Median có thể tách được cácđiểm có cường độ sáng lớn như nhiễu xung và lọc các điểm cócường độ sáng tức thì (xung) hay còn gọi là các nhiễu muối tiêu.Lọc trung vị có lợi cho việc loại bỏ các điểm ảnh hay các hàng
mà vẫn bảo toàn độ phân giải Hiệu quả giảm khi số điểm trongcửa sổ lớn hay bằng một nửa số điểm trong cửa sổ Điều này dễ
giải thích vì trung vị là (N w+1)/2 giá trị lớn nhất nếu Nw-số điểm
ảnh trong cửa sổ lọc W là lẻ Lọc trung vị cho trường hợp 2
chiều coi như lọc trung vị tách được theo từng chiều
b Lọc ngoài (Outlier Filter)
Giả thiết có ngưỡng nào đó cho các mức nhiễu (có thể dựavào lược đồ xám) Tiến hành so sánh giá trị độ xám của một
Trang 26lớn hơn ngưỡng, điểm ảnh này được coi như nhiễu Trongtrường hợp đó, thay thế giá trị của điểm ảnh bằng giá trị trungbình 8 lân cận vừa tính được Bộ lọc ngoài có thể diễn tả bằngcông thức sau:
Y (m, n )={u ( m, n) khi∧Y (m ,n )−α ( w) ≤ δ α (w )khi∧Y (m , n)−α (w )>δ (1.39)trong đó:
α(w) là trung bình cộng các điểm trong lân cận W
δ là ngưỡng ngoài
Các cửa sổ tính toán thường chọn là 3x3 Tuy nhiên, cửa sổ
có thể mở rộng đến 5x5 hay 7x7 để đảm bảo tính tương quangiữa các điểm ảnh Vấn đề quan trọng là xác định ngưỡng đểloại nhiễu mà vẫn không làm mất thông tin của ảnh
1.3 Kỹ thuật xử lý ảnh nhị phân
Với ảnh nhị phân, mức xám chỉ có hai giá trị là 0 và 1 Dovậy, ta xét một phần tử ảnh như một phần tử logic và có thể ápdụng các phép toán hình học (Morphology Operators) dựa trênkhái niệm biến đổi hình học của một ảnh bởi một phần tử cấutrúc (Structural Element) Phép toán này được định nghĩa nhưsau: Giả thiết ta có đối tượng X và phần tử cấu trúc B trongkhông gian Euclide hai chiều Kí hiệu Bx là dịch chuyển của Btới vị trí x
Hai kỹ thuật cơ bản của phép toán hình học là: Điền đầy(Dilation) và ăn mòn (Erosion)
1.3.1 Điền đầy
Nhằm loại bỏ điểm đen bị vây bởi các điểm trắng Phép
Trang 27X ⨁ B=¿x ∈ X B x (1.40)
Hình 1.9 Phép điền đầy
1.3.2 Ăn mòn
Là thao tác ngược lại của dãn ảnh, nhằm loại bỏ điểm trắng
bị vây bởi các điểm đen Phép ăn mòn của X theo B là tập hợptất cả các điểm x sao cho Bx nằm trong X:
Hình 1.11 Phép mởHình 1.11 cho thấy các vùng trắng giữa các góc của ký tự sẽbiến mất sau khi thực hiện phép mở
1.3.4 Phép đóng (closing)
Được thực hiện bằng cách thực hiện phép ăn mòn sau khithực hiện phép điền đầy Phép toán này dùng để loại bỏ cácđiểm đen trên nền trắng
Trang 28Hình 1.12 Phép đóng
1.4 Biên và các kỹ thuật tìm biên
Biên là vấn đề quan trọng trong trích chọn đặc điểm trênảnh, có thể hiểu biên là sự thay đổi đột ngột về cấp xám của cácđiểm ảnh Đối với ảnh nhị phân, một điểm được gọi là điểm biênnếu nó là điểm đen có ít nhất một điểm trắng bên cạnh Tập hợpcác điểm biên tạo nên biên hay đường bao của đối tượng
1.4.1 Phương pháp phát hiện biên cục bộ Gradient
Gradient [3] là một vector (x,y) có các thành phần biểu thịtốc độ thay đổi độ xám của điểm ảnh (theo khuôn khổ xử lý ảnhhai chiều, chúng ta chỉ xét theo hai hướng x,y) có nghĩa là:
Trong đó dx, dy là khoảng cách giữa 2
điểm kế cận theo hướng x, y tương ứng
(thực tế chọn dx=dy=1) Đây là phương
pháp dựa theo đạo hàm riêng bậc nhất theo
hướng x,y Gradient trong tọa độ góc (r,θ))
Trang 29{ tan θ= sin θ
cosθ=
f ' x
f ' y θr=tan−1(f ' x
f ' y)và f max=√f ' x2+f '2y
(1.45)
Theo định nghĩa về Gradient, nếu áp dụng nó vào xử lý ảnh,việc tính toán sẽ rất phức tạp Để đơn giản mà không mất tínhchất của phương pháp Gradient, người ta sử dụng kỹ thuật
Gradient dùng cặp mặt nạ H1, H2 trực giao (theo 2 hướng vuông góc) Nếu địnhnghĩa g1, g2 là Gradient theo hai hướng x,
y tướng ứng thì biên độ g(m,n) tại điểm (m,n) được tính:
Trang 30{g x=I ( x +1 , y )−I ( x , y )
g y=I (x , y+1)−I ( x , y ) (1.49)Các công thức kể trên được cụ thể hóa bằng các mặt nạ theochiều x và y tương ứng nhưsau:
Hướng ngang (x) Hướng dọc (y)
Toán tử được Prewitt đưa ra vào năm 1970 có dạng:
Hướng ngang (x) Hướng dọc (y)
d Mặt nạ đẳng hướng:
Một mặt nạn khác cũng được nêu như dưới đây gọi là mặt
nạ đẳng hướng (Isometric):
Trang 31Hướng ngang (x) Hướng dọc (y)
e Toán tử 4-lân cận (4-Neighbour Operator).
Toán tử 4-lân cận được Chaudhuri và Chandor (1984) nêu
ra, trong đó mặt nạ có kíchthước 3x3 được thay cho mạt nạ 2x2của toán tử Robert Các mặt nạy này được cho:
Hình 1.13 Mặt nạ 8 hướng theo
1.4.2 Thuật toán tìm biên Canny:
Bộ tách sườn ảnh theo Canny (1986) [4] dựa trên cặp đạohàm riêng bậc nhất với việc làm sạch nhiễu Đây là phươngpháp tách đường biên khá phổ biến được dùng theo toán tử đạohàm Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớn của
Trang 32nhiễu Phương pháp đạt hiệu quả cao khi xấp xỉ đạo hàm bậcnhất của Gauss
Quá trình tiến hành phương pháp trải qua một số bước nhưsau:
1 Làm trơn ảnh bằng bộ lọc Gauss nhằm giảm thiểu ảnhhưởng của nhiễu và các chi tiết không mong muốn trong cấutrúc ảnh
2 Sau đó tính gradient của ảnh nhờ một trong các toán tửRoberts, Sobel hay Prewitt:
M (i , j)=√g i2
(i , j)+ g2j (i , j ) (1.52)
θ (i , j)=tan−1[g i (i , j ) g j (i , j )] (1.53)Xác định ngưỡng:
M T (i , j )={M (i , j)nếu M (i, j)>T0 (1.54)Với T được chọn là phần tử biên
Dựa vào hướng Gradient để loại bỏ những điểmkhông thực sự là biên Chúng ta kiểm tra các điểm
M T (i , j ) nếu có giá trị lớn hơn hai điểm lân cận dọc theophương gradient θ (i , j) thì giữ nguyên và ngược lại thìgán bằng 0
Dùng ngưỡng kép T1 và T2 (T1<T2 ) tạo ra các các điểmtrung gian nhằm nối liền các điểm biên đã xác định được
từ trước theo cách sau:Những điểm M T (i , j )có giá trịgradient lớn hơn T2 được xem là điểm biên Nhữngđiểm M T (i , j )có giá trị gradient nhỏ hơn T1 thì loại bỏ Vớinhững điểm có giá trị gradient nằm trong khoảng T1 và T2
Trang 33thì kiểm tra thêm nếu nó liền kề với một điểm cógradient lớn hơn T1 thì điểm này được xem là biên.
Trang 34Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHẤM THI TRẮC NGHIỆM BẰNG CAMERA
2.1 Mô tả hệ thống 2.1.1 Yêu cầu đặt ra
Hệ thống đơn giản, giá cả hợp lý mà vẫn đảm bảo được độ
ổn định, tính chính xác và tốc độ cao trong quá trình hoạt động
Hệ thống phải thỏa mãn những yêu cầu cơ bản sau:
Yêu cầu về giá thành và độ phức tạp:
o Có giá thành cũng như chi phí vận hành rẻ hơn so với
hệ thống máy OMR
o Bảo hành bảo trì dễ dàng, sử dụng các thiết bị sẵn cótrong văn phòng
o Phần mềm OMR đơn giản và dễ dàng sử dụng
Yêu cầu về chức năng:
o Hệ thống có thể chấm thi tự động với khay đựng đượcnhiều giấy
o Hệ thống nhận dạng và chấm được điểm thi trắcnghiệm ở nhiều hình thức khác nhau
o Hệ thống phải hoạt động ổn định, chính xác ở tốc độcao
Hệ thống chấm thi trắc nghiệm đề xuất:gồm 3 thành
phần cơ bản: khay tời giấy, camera độ phân giải cao và hệthống máy tính
Trang 35Phần mềm
Phiếu trả lời
trác nghiệm
Phần cứng
Hệ thống tời giấy tích hợp cameraẢnh Nhận dạng phiếu thiTìm vùng chứa thông tin trên phiếu thiNhận dạng thông tin File hoặc CSDL
o Ý tưởng thực hiện khay tời giấy là một khay có thể tự
động tời giấy theo thời gian được lập trình Tời định kỳtheo khoảng thời gian mà camera có thể chụp
o Camera là thiết bị ghi hình nên yêu cầu có độ phân giải
cao và tốc độ chụp nhanh
o Hệ thống máy tính có thể là máy để bàn hoặc máy tính
xách tay có cài hệ điều hành Windows
2.1.2 Sơ đồ khối hệ thống
Hình 2.14 Sơ đồ khối hệ thống chấm thi trắc nghiệm
Sơ đồ khối hệ thống chấm thi trắc nghiệm đề xuất
nhưhình2.1, trong đó có những khối chức năng cơ bản sau:
Phần cứng
Hệ thống tời giấy tích hợp camera, là một hệ thống cơ khí
tự động đưa PTLTN từ khay đựng phiếu tới vị trí xác định để
camera thu nhận hình ảnh Camera sẽ được kết nối với máy vi
tính có cài đặt phần mềm OMR Phần cứng sẽ được điều khiển
bởi driver được cài đặt trên máy tính
Phần mềm:
Nhận dạng vùng chứa phiếu thi trong ảnh, vùng chứa thông
tin trên phiếu thi (mã đề, số báo danh, phần trả lời) và xử lý
thông tin để cho ra kết quả Kết quả sẽ được lưu vào file hoặc
CSDL để in ấn, thống kê
Trang 36Mẫu phiếu trả lời trắc nghiệm
Quá trình đọc thông tin trên ảnh:
Bốn góc của PTLTN trong ảnh thu nhận từ quá trình 1 đượcxác định thông qua các đặc trưng riêng, từ đó thực hiện biến đổiphối cảnh (perspective transformation) để tách vùng chứa phiếuthi ra khỏi ảnh nền và chuẩn hóa về một kích thước xác định Từảnh chuẩn hóa, sẽ áp dụng các thuật toán xử lý ảnh để nâng caochất lượng ảnh phiếu thi Các vùng chứa thông tin: vùng số báodanh, vùng mã đề, vùng trả lời sẽ được nhận dạng và tách riêng
ra Công việc còn lại là sử dụng thuật toán nhận dạng dấu tíchtrên từng vùng để đưa ra kết quả
Quá trình so sánh kết quả và lưu dữ liệu chấm thi:
Thông tin bài thi từ quá trình 2 sẽ được xem xét, đánh giá.Với mỗi mã đề của một môn thi trong một kỳ thi xác định sẽ cómột đáp án tương ứng được lưu trong phần mềm Tiến hành so
Trang 37sánh thông tin bài thi với đáp án tương ứng, ta sẽ đưa ra đượckết quả bài thi Kết quả có thể lưu vào file hoặc vào cơ sở dữliệu phục vụ in ấn, thống kê.
2.1.4 Phần mềm chấm thi trắc nghiệm
Nhằm dễ dàng tạo giao diện, tích hợp thư viện xử lý ảnh,phần mềm sẽ được phát triển từ công cụ Visual Studio 2008,ngôn ngữ C++ Chương trình sẽ chạy trong môi trườngWindows, sử dụng thư viện NET framework để tạo giao diện vàOpenCV để xử lý ảnh
Theo yêu cầu và phạm vi đề ra ở phần mở đầu, phần mềmphải có các module sau:
Quản lý kỳ thi: cho phép tạo, sửa, xóa kỳ thi, môn thi, đềthi và soạn đáp án Các dữ liệu về kỳ thi sau khi tạo xong
sẽ được lưu lại để làm cơ sở cho việc chấm điểm
Chấm điểm trực tiếp từ camera: nhằm thực hiện việc môphỏng khả năng giao tiếp giữa camera và máy tính, thunhận hình ảnh từ camera và thực hiện chấm điểm
Chấm điểm từ file: các file ảnh sẽ được chụp và lưu lại từtrước Phần mềm đọc các file ảnh này và cho ra kết quả.Mục đích của module này là đo thời gian thực hiện củachương trình, đánh giá độ chính xác của thuật toán chấmđiểm trắc nghiệm
Đề tài này tập trung vào việc xây dựng thuật toán chấm thitrắc nghiệm nên kết quả chấm điểm sẽ được lưu ra file excel chứ
Trang 38không tạo và lưu vào CSDL để đơn giản hóa chương trình, trongkhi đó vẫn đảm bảo in ấn, thống kê được.
2.2 Giới thiệu về thư viện mã nguồn mở OpenCV
OpenCV (Open Computer Vision library) do Intel pháttriển, được giới thiệu năm 1999 và hoàn thiện phiên bản 1.0 năm
2006 Thư viện OpenCV gồm hơn 500 hàm, được viết bằngngôn ngữ lập trình C và tương thích với các hệ điều hànhWindows, Linux, Mas OS, … đóng vai trò xác lập chuẩn giaotiếp, dữ liệu thuật toán cho lĩnh vực thị giác máy tính (ComputerVision) và tạo điều kiện cho mọi người tham gia nghiên cứu,phát triển ứng dụng
Hình 2.15 Tổ chức thư viện OpenCVTrước OpenCV không có một công cụ chuẩn nào cho lĩnhvực xử lý ảnh Các đoạn code đơn lẻ do các nhà nghiên cứu tựviết thường không thống nhất và không ổn định Các bộ công cụthương mại như Matlab, Simulink, Halcon, … lại có giá cao chỉ