Còn ở các kỳ thi nhỏ hơn như thi học kỳ, các bài kiểm tra 1 tiết ở các cấpbậc khác như phổ thông thì đa số vẫn dùng hình thức chấm bằng tay hoặc dùngbằng bìa đục lỗ; nếu chấm bài với một
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-TRẦN NGUYỄN MINH TOÀN
XÂY DỰNG HỆ THỐNG CHẤM ĐIỂM TRẮC NGHIỆM SỬ DỤNG CAMERA
Chuyên ngành: Kỹ thuật truyền thông
LUẬN VĂN THẠC SĨ KỸ THUẬT
Người hướng dẫn: PGS TS Nguyễn Tiến Dũng
Hà Nội, 5-2013
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được aicông bố trong bất kỳ công trình nào khác
Tác giả
Trần Nguyễn Minh Toàn
Trang 3MỤC LỤC
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH SÁCH HÌNH VẼ 6
DANH SÁCH CÁC BẢNG BIỂU 8
DANH SÁCH TỪ VIẾT TẮT 9
MỞ ĐẦU 10
1 Thực tiễn của đề tài 10
2 Những hệ thống chấm thi trắc nghiệm trên giấy hiện nay 11
2.1 Máy OMR 11
2.2 Phần mềm OMR 12
3 Mục tiêu và nội dung thực hiện của đề tài 13
4 Kết quả đạt được 14
Chương 1 CƠ SỞ LÝ THUYẾT 15
1.1 Những khái niệm cơ bản về ảnh số 15
1.1.1 Pixel 15
1.1.2 Độ xám 15
1.1.3 Nhiễu ảnh 16
1.2 Những kỹ thuật xử lý ảnh cơ bản 17
1.2.1 Lấy mẫu và lượng tử hóa 17
1.2.2 Xứ lý và nâng cao chất lượng ảnh 21
1.2.3 Lấy ngưỡng 23
1.2.4 Những bộ lọc không gian 25
Trang 41.3 Kỹ thuật xử lý ảnh nhị phân 29
1.3.1 Điền đầy 30
1.3.2 Ăn mòn 30
1.3.3 Phép mở (opening) 30
1.3.4 Phép đóng (closing) 30
1.4 Biên và các kỹ thuật tìm biên 31
1.4.1 Phương pháp phát hiện biên cục bộ Gradient 31
1.4.2 Thuật toán tìm biên Canny: 34
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHẤM THI TRẮC NGHIỆM BẰNG CAMERA 36
2.1 Mô tả hệ thống 36
2.1.1 Yêu cầu đặt ra 36
2.1.2 Sơ đồ khối hệ thống 36
2.1.3 Cơ chế làm việc 37
2.1.4 Phần mềm chấm thi trắc nghiệm 38
2.2 Giới thiệu về thư viện mã nguồn mở OpenCV 39
2.3 Thuật toán nhận dạng và chấm điểm trắc nghiệm bằng camera 40
2.3.1 Nhận dạng phiếu thi 41
2.3.2 Tìm vùng chứa thông tin trên phiếu thi 42
2.3.3 Nhận dạng thông tin 46
Chương 3 ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN 49
3.1 Xây dựng phần mềm chấm thi trắc nghiệm 49
3.1.1 Quản lý kỳ thi 49
3.1.2 Chấm điểm từ file 52
Trang 53.1.3 Chấm điểm từ camera 54
3.2 Kết quả của thuật toán 55
3.2.1 Dữ liệu ảnh đầu vào 55
3.2.2 Kết quả xây dựng thuật toán 57
3.2.3 Kết quả của thuật toán chấm thi trắc nghiệm đã đề xuất 65
3.3 Đánh giá kết quả 65
KẾT LUẬN VÀ KIẾN NGHỊ 67
TÀI LIỆU THAM KHẢO 69
Trang 6DANH SÁCH HÌNH VẼ
Hình 1.1 Các dạng mẫu điểm ảnh 20
Hình 1.2 Quá trình lượng tử hóa 20
Hình 1.3 Khuông lượng tử theo L mức xám 21
Hình 1.4 Lấy mẫu và lượng tử hóa 21
Hình 1.5 Kéo dãn độ tương phản 22
Hình 1.6 Tách nhiễu và phân ngưỡng 23
Hình 1.7 Lấy ngưỡng 23
Hình 1.8 Ảnh trước và sau bộ lọc Median 28
Hình 1.9 Phép điền đầy 30
Hình 1.10 Phép ăn mòn 30
Hình 1.11 Phép mở 30
Hình 1.12 Phép đóng 31
Hình 1.13 Mặt nạ 8 hướng theo 34
Hình 2.1 Sơ đồ khối hệ thống chấm thi trắc nghiệm 37
Hình 2.2 Tổ chức thư viện OpenCV 39
Hình 2.3 Lưu đồ thuật toán tìm phiếu thi 41
Hình 2.4 Thực hiện phép biến đổi phối cảnh để chuẩn hóa phiếu thi 42
Hình 2.5 Lưu đồ thuật toán tìm các vùng thông tin trên phiếu thi 43
Hình 2.6 Đặc điểm của các vùng chứa thông tin trên phiếu thi 45
Hình 2.7 Lưu đồ thuật toán nhận dạng thông tin 46
Hình 2.8 Xác định nội dung thông tin vùng số báo danh và mã đề 47
Hình 2.9 Xác định nội dung thông tin vùng trả lời 47
Hình 3.1 Giao diện chính của chương trình 49
Hình 3.2 Giao diện module quản lý kỳ thi 50
Hình 3.3 Các chức năng thêm, sửa, xóa kỳ thi 50
Hình 3.4 Các chức năng thêm, sửa, xóa môn thi 50
Hình 3.5 Chức năng thêm đề thi 51
Trang 7Hình 3.6 Chức năng sửa đề thi - đáp án 51
Hình 3.7 Cấu trúc file kythi.xml 52
Hình 3.8 Giao diện module “Chấm điểm từ file” 52
Hình 3.9 Giao diện hiển thị các bài thi không nhận dạng được 53
Hình 3.10 Cấu trúc file excel 53
Hình 3.11 Ứng dụng IP WebCam 54
Hình 3.12 Cấu trúc file config.xml 54
Hình 3.13 Giao diện module chấm điểm trực tiếp từ camera 55
Hình 3.14 Mẫu không nhận dạng được vùng phiếu thi 58
Hình 3.15 Ảnh gốc và ảnh nhị phân 58
Hình 3.16 Biên và 4 góc của phiếu thi 59
Hình 3.17 Ảnh đầu ra của thuật tìm phiếu thi 59
Hình 3.18 Ảnh phiếu thi sau khi chuyển mức xám và lọc nhiễu 60
Hình 3.19 Ảnh phiếu thi sau khi tăng độ sáng 60
Hình 3.20 Ảnh phiếu thi sau khi thực hiện phép mở 61
Hình 3.21 Các vùng chứa thông tin trên phiếu thi 61
Hình 3.22 Vùng số báo danh và vùng mã đề 62
Hình 3.23 Các vùng trả lời 62
Hình 3.24 Kết quả nhận dạng thông tin vùng số báo danh 63
Hình 3.25 Kết quả nhận dạng thông tin vùng mã đề 63
Hình 3.26 Kết quả nhận dạng thông tin vùng trả lời 64
Hình 3.27 Kết quả chấm thi trên các mẫu đã chuẩn bị 65
Trang 8DANH SÁCH CÁC BẢNG BIỂU
Bảng 3.1 Dữ liệu bài thi 57
Trang 9DANH SÁCH TỪ VIẾT TẮT
Trang 10MỞ ĐẦ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ộ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ế trithứ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 travấ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 donhững nguyên nhân sau :
Có thể tiến hành kiểm tra đánh giá trên diện rộng trong một khoảng thờigian 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 được một cách hệthống và toàn diện kiến thức và kĩ năng của thí sinh, tránh được tình trạnghọ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ức chuyển một số mônthi của các kỳ thi cấp Quốc gia như thi tốt nghiệp Trung học phổ thông và thi tuyểnsinh vào các trường Cao đẳng, Đại học từ hình thức tự luận sang trắc nghiệm Tuynhiê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ững phải tô đậm, chính xác điểm cần tô màcòn phải giữ giấy thi phẳ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 thi trắc nghiệm chủ yếu được nhập từ nướcngoài với giá thành rất cao, 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
Trang 11kỳ thi lớn Còn ở các kỳ thi nhỏ hơn như thi học kỳ, các bài kiểm tra 1 tiết ở các cấpbậc khác như phổ thông thì đa số vẫn dùng hình thức chấm bằng tay hoặc dùngbằ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ốn nhiềuthờ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ây dựng hệ thống chấmđiểm trắc nghiệm sử dụng camera” với yêu cầ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ư mongmuốn Hệ thống này phảicó khả năng ứng dụng cao trong các kỳ thi ở mọi cấ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ữngchi phí không cần thiết cho việc chấm thi thủ công hoặc sử dụng những thiết bịđược nhập về như hiện nay
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
Máy chấm thi trắc nghiệm chuyên dụng, hay còn gọi là Optical MarkRecognition (OMR) Machine là một loại máy được thiết kế ra để chấm điểm thi trắcnghiệm một cách nhanh và chính xác Máy OMR thường được sử dụng để đánh giákết quả 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ủaphiế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 sinhviê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ến hồng ngoại loại phản chiếu, dựa trên tính chất phản xạ hay hấp thụ ánhsá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 được vù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ức giáo dục lớn
Giấy làm bài thi trắc nghiệm phải là giấy trắng tiêu chuẩ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êmngặt những quy định khi in ấn
Trang 12Tính ổn định và độ chính xác cao của hệ thống làm cho máy OMR 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ày cũng tạo nên giá thành cao của hệ thống và cản trởviệc phổ biến máy OMR trên thị trường Không những giá thành của chú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ỳ thitrắc nghiệ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ếc má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ẫn tồ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ầutrên Sự ra đời của phần mềm OMR kết hợp với máy scan thực sự đã là một giảipháp thay thế cho việc chấm thi trắc nghiệm tự động Đây là một giải pháp phầnmề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áy tí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ạngchủng loại cùng giá thành trên thị trường Có hai loại máy scan cơ bản mà chúng tacần chú ý khi kết hợp với phầ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ại máy scan này là người sử dụng phảithao tác bằng tay khi họ muố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ất thấ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êm khay 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 ADFvới phần mềm OMR sẽ tạo nên một hệ thống chấm thi khá khả quan Tuy nhiên giáthành cho cả hệ thống bao gồm phần mềm OMR, máy tính, và máy scan ADF rất
Trang 13đắt Chính vì vậy nên rất nhiều trường trung học phổ thông, đại học và các tổ chứcgiáo dục vừa và nhỏ đã không chọn phần mềm OMR kết hợp với máy scan làmcô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âydựng hệ thống chấm điểm trắc nghiệ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ànhrẻ
Thuật toán xử lý, nhận dạng nội dung phiếu thi phải nhanh,đảm bảo được
độ chính xác, tin cậy cao Thuật toán này phải nhận dạng được cả các phiếuthi in trên các loại giấy thông dụng, yêu cầu về độ chính xác khi in ấnkhông cần quá cao
Do hạn chế về mặt thời gian nên đề tài này tập trung giải quyế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ôngtin 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ông tin sau khi chấm thi
Dựa trên các nội dung đó, luận văn này được chia thành 3 chương với các nộidụ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ắc nghiệ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
Trang 14Thự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
Bằng phương pháp thực nghiệm, phần mềm chấm điểm trắc nghiệm bằngcamera đã 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ính xác 100% với cácmẫu phiếu thi đã chuẩn bị, thời gian chấm thi nhanh
Để có thể thực hiện và hoàn thành đề tài này, tôi xin được chân thành cảm ơnPGS.TS Nguyễn Tiến Dũng đã tận tình hướng dẫn và giúp đỡ trong suốt quá trìnhthực hiện đề tài
Mặc dù đã cố gắng và nỗ lực hết mình để hoàn thành luận văn, song chắcchắn không thể tránh khỏi những sai sót và hạn chế 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 MINH TOÀN
Trang 15Chươ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ắt thường là một sự liêntục về không gian cũng như độ sáng Khi kỹ thuật số được ứng dụng vào lĩnh vựcnhiếp ảnh, rất nhiều khá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ỉ ápdụng đối với các bit (các con số), chính về vậy cá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 đúngmột ảnh liên tụ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ônggian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lậpsao cho mắt người không thể phân biệt được ranh giới giữa chúng Chính vì vậy,khi chúng ta nhìn mộ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ậy gọ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àunhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợpsao 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
1.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ám thường được sử dụng rộng rãi nhất là
28 = 256 tương đương với việ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ất khác: 16, 32, 64, 128,…
Trang 16Thông thường, ta sẽ làm quen với 3 loại ảnh sau dựa vào cấ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ên bởi sự pha trộn 3màu cơ bản (hệ màu RBG: Red Blue Green) với các tỉ lệ cường độ sángkhác nhau Với mỗi mộ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,7triệ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
Ảnh nhị phân: là ảnh chỉ có hai màu đen, trắng (không chứa màu khác) vớicường độ sáng chỉ có 2 giá trị duy nhất 0 và 255 Người ta dùng duy nhất 2bit để 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ânbiệ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ềuloại nhiễu, tuy nhiên ngườ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:
1.1.1.1 Nhiễu cộng
Nhiễu cộng thường phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu được) là
Xqs, ảnh gốc là Xgốc, nhiễu là η, ảnh thu được có thể biểu diễn bởi:
Trang 17lý 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 trongquá trình lượng tử hóa.
1.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ạo nê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ìnhnà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ủa Shannon Lựachọn thứ hai liên quan đến độ đo (Metric) được dù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ập các vị trí lấy mẫutrong 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ềuvới việc sử dụng hàm
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 18g s ( x )= ∑
r =−∞
∞
g(r ∆ x)δ ( x−r ∆ x ) (1.8)
Trong thực tế, r không thể tính được trong khoảng vô hạn (từ − ∞ đến +∞) mà
là một số lượng NΔx mẫu lớn cụ thể Như vậy, để đơn giản có thể nói hàm liên tục g(x) có thể biểu diễn trên một miền với độ dài NΔx mẫu thành chuỗi như sau:
g(x) ≈ {g(0), g(Δx), g(2Δx), , g((N −1)Δx) } (1.9)
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ín hiệ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à
Trong đó ω x là giá trị tần số ứng với giá trị x trong miền không gian.
Đ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ẫymẫu của Shannon
Định lý lấy mẫu của Shannon[2]
Giả 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à:
Trang 19và Δ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 đó:
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ônggian 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ụcgiác Mỗi một mẫu, ngoài việc thể hiện hình dáng còn cho biết đặc điểm liên thôngcủ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 tam giá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ín hiệu thật dùngchung cho các loại xử lý tín hiệu trên cơ sở máy tính Vấn đề này đã được nghiêncứu kỹ lưỡng và có nhiều lời giải lý thuyết dưới nhiều giả định của các nhà nghiêncứ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ị Z min đế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 20Hình 1.2 Quá trình lượng tử hóa
Đị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ách khá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’<=Z maxvà 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 , l 2 ,…l n tương ứng với Z min đến Z max (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 - Z min ) 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ủa quá trình lấy mẫu có thể được xác định theo:
Trang 21Hì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ươngphản, lọc nhiễu, nổi biê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ăng cường ảnh bao gồmmột loạt các phương pháp nhằm hoàn thiện trạng thái quan sát của một ảnh Tậphợp các kỹ thuật này tạo nên giai đoạn tiền xử lý ảnh Trong khi đó, khôi phục ảnhnhằm khôi phục ảnh gần với ảnh thực nhất trước khi nó bị biến dạng do nhiềunguyê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ảmnhậ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 như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 đối tượng so với nền Với định nghĩanà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 động nhỏ 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
Trang 22dải có giới hạn bằng cách biến đổi tuyến tính biên độ đầu vào (dùng hàm biến đổi làhàm tuyến tính) hay phi tuyến (hàm mũ hay hàm lô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:
f ( x )=(X [m, n])p (1.18)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
Tá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 quan sát ở hai thời điểmkhác nhau, so sánh chúng để tìm ra sự khác nhau Người ta dóng thẳng hai ảnh rồi
Trang 23trừ đi và thu được ảnh mới Ảnh mới này chính là sự khác nhau Kỹ thuật này hayđược dù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 đển chuyển từ ảnh mứcxám hoặc ảnh màu sang ảnh nhị phân khi so sánh cường độ điểm ảnh với giá trịngưỡng cho trước Lẫy ngưỡ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ặc nhiễ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ức xám
Hì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úp việc lấy ngưỡnghiệ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ệuquả do thuật toán tính ngưỡng T một cách tự động (adaptive) dựa vào giá trị điểmảnh củ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óm pixel:
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ất tích lũy) trong mỗinhóm điểm ảnh được tính toán bởi công thức:
Trang 24Tính toán giá trị mức xám trung bình µ 1 , và µ2 cho những pixel trong vùng N1
T 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
σw2(T) = [ qN1(T) * σN12(T) ] + [ qN2(T) * σN22(T) ] (1.25)The between-class variance (tạm dịch: phương sai giữa các nhóm điểm ảnh)
dễ dàng được tính bởi công thức:
σb (T) = σ2 - σw2(T) (1.26)
σb2(T) = qN1(T) * [ μ1(T) - μ ]2 + qN2(T) * [ μ2(T) - μ ]2 (1.27)
σb2(T) = qN1(T) * qN1(T) * [ μ1(T) - μ2(T) ]2 (1.28)Thuật toán sẽ chạy trên toàn dải của giá trị ngưỡng [1-NG], mức ngưỡng tối
ưu nhất là mức ngưỡng cho giá trị The weighted within-class variance σw 2 (T) nhỏ
nhất, hay giá trị The between-class variance σb (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ặccần làm tõ các chi tiết như đường biên ảnh Để làm trơn nhiễu hay tách nhiễu, người
Trang 25ta sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) hay lọc phi tuyến(trung vị, giả trung vị, lọc đồng hình) Từ bản chất của nhiễu (thường tương ứng vớitầ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 (theo quan điểmtần số không gian), lọc thông thấp làm suy giảm hoặc loại trừ các thành phần tần sốcao trong miền Fourier và cho các tần số thấp đi qua Các thành phần tần số cao đặctrưng cho các biên, các chi tiết làm nét trong ảnh, do đó hiệu quả của bộ lọc thôngthấp là làm nhòe ảnh Hoặc lấy tổ hợp tuyến tính để san bằng (lọc trung bình).Trong khi đó, bộ lọc thông cao làm suy giảm các thành phần tần số thấp Các thànhphần này thể hiện qua 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ông cao là làm rõ cácbiê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ý ảnh nên cần có nhiều bộlọc thích hợp Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc thông thấp (LowPass Filter), bộ lọc trung 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 trung bình trọng số củacác điểm lân cận và được định nghĩa như sau:
Trang 26Lọ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
Mạch lọc là một mặt nạ có kích thước NxN, trong đó tất cả các hệ số đều bằng
1 Đáp ứng là tổng các mức xám của NxN pixels chia cho NxN Ví dụ mặt nạ 3x3thì đáp ứng là tổng mức xám của 9 pixels chia cho 9 Nhân chập mặt nạ với tất cảcác pixel của ảnh gốc chúng ta sẽ thu được ảnh kết quả qua bộ lọc Mean Bộ lọcMean có vai trò làm trơn ảnh, nhưng lại làm mờ đường biên của các đối tượng bêntrong ảnh, làm mất tín hiệu cậ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ên cho 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ùytheo các trường hợp khá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ớimặt nạ Một bộ lọc trung bình không gian khác cũng hay được sử dụng Phươngtrì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]+X[m, n+1(1.32)]} ]
Ở đâ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ộng của 4 lân cận gần nhất Lọc trung bìnhtrọng số là một trường hợ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ân chập có dạng sau:
Trang 27X 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ật tă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ợp nhiễ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ãyx1, x2,…,xn đơn điệu tăng (giảm), trung vị được xác định theo công thức sau:
Trang 28Hì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òngọ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áchàng mà vẫn bảo toàn độ phân giải Hiệu quả giảm khi số điểm trong cử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 N w -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ựa vào lược đồ xám).Tiến hành so sánh giá trị độ xám của một điểm ảnh với trung bình số học 8 lân cậncủa nó Nếu sai lệch lớ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ị trung bình 8 lân cận vừatính được Bộ lọc ngoài có thể diễn tả bằng cô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
Trang 29(Morphology Operators) dựa trên khái niệm biến đổi hình học của một ảnh bởi mộtphần tử cấu trú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 trong không gian Euclide hai chiều Kíhiệu Bx là dịch chuyển của B tớ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 điền đầy của X theo B
là hợp của tất cả các Bx với x thuộc X:
Trang 30Hì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 khithự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 khi thự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
Hì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ên nếu nó là điểm đen có ít nhất một điểm trắng bên cạnh.Tập hợp cá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ý ảnh hai chiều, chúng ta chỉ xét theo haihướ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,θ) với r là vector, θ là góc ) với r là vector, θ) với r là vector, θ là góc là góc
Trang 31Khi đó: f ' x cos θ + f ' y cos θ = 0
cosθ=
f ' x
f ' y
Robert áp dụng công thức tính Gradient tại điểm (x, y) như hình dưới:
Với mỗi điểm ảnh I(x,y) đạo hàm theo x, y được ký hiệu tương ứng:
{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ạ theo chiều x và ytương ứng nhưsau:
Trang 32Hướng ngang (x) Hướng dọc (y)
Toán tử được Prewitt đưa ra vào năm 1970 có dạng:
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):
e Toán tử 4-lân cận (4-Neighbour Operator).
Trang 33Toá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ạ 2x2 củ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 đạo hàm riêng bậc nhấtvới việc làm sạch nhiễu Đây là phương pháp tách đường biên khá phổ biến đượcdùng theo toán tử đạo hàm Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớncủa nhiễu Phương pháp đạt hiệu quả cao khi xấp xỉ đạo hàm bậc nhấ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 ảnh hưởng của nhiễu vàcác chi tiết không mong muốn trong cấu trúc ảnh
2 Sau đó tính gradient của ảnh nhờ một trong các toán tử Roberts, Sobel hayPrewitt:
Trang 34M 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ểm khô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âncận dọc theo phương gradient θ (i , j) thì giữ nguyên và ngược lại thì gánbằng 0
Dùng ngưỡng kép T1 và T2 (T1<T2 ) tạo ra các các điểm trung giannhằm nối liền các điểm biên đã xác định được từ trước theo cáchsau: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ới những điểm có giá trị gradient nằm trong khoảng T1 và T2 thì kiểm trathê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 đượcxem là biên