Xây dựng hệ thống chấm điểm trắc nghiệm sử dụng Camera.
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 ai cô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ế 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 :
Có thể tiến hành kiểm tra đánh giá trên diện rộng trong mộ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 đượ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ạ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ức chuyển một số môn thi 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ển sinh vào các trường Cao đẳng, Đại học từ hình thức tự luận sang trắc nghiệm Tuy nhiê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ước ngoà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ấp bậ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ù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ốn nhiề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â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ư mong muố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ững chi 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 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ế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ủ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ế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ụ á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 đượ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, độ tin cậ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êm ngặ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ỳ thi trắ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ầu trê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ải pháp thay thế cho việc chấm thi 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á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ạng chủ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 ta cầ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ải thao 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 ADF vớ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ứ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 scan là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ắ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ành
rẻ
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ếu thi in trên các loại giấy thông dụng, yêu cầu về độ chính xác khi in ấn khô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ô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ô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ộ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ắ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ằ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ính xác 100% với các mẫ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 ơn PGS.TS Nguyễn Tiến Dũng đã tận tình hướ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ận văn, song chắc chắ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ên TRẦ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ê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ề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ỉ áp dụ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 đúng mộ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ô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â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à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
1.1.2 Độ 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
Trang 16đế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,…
Thô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 3 màu cơ bản (hệ màu RBG: Red Blue Green) với các tỉ lệ cường độ sáng khác nhau Với mỗi một màu cơ bản, người ta sẽ sử dụng một byte để biểu diễ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
Ảnh nhị phân: là ảnh chỉ có hai màu đen, trắng (không chứa màu khác) với cường độ sáng chỉ có 2 giá trị duy nhấ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.3 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ên người ta thường xem xét 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân và nhiễu xung:
1.1.3.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:
1.1.3.2 Nhiễu nhân
Nhiễu nhân 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ấ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ì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ủa Shannon Lựa chọ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ẫ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
Trang 18Như 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à:
(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à
(1.10)
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ẫy mẫ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 19(1.13)
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 đó:
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 mẫu, ngoài việc thể hiện hình dáng còn cho biết đặc điểm liên thô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 tam giác có liên thông 3 hoặc 6
Trang 20Hì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ùng chung 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ên cứ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ê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ị 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ý
Hì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 độ
Trang 21Hì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:
Hì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ổ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ồm mộ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ập hợ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 ảnh nhằ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ề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
Trang 221.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 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ĩ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 độ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 dả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ản Hà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
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]
Trang 23Phâ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ểm khá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 trừ đ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ức xá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
Trang 24Có rất nhiều phương pháp lấy ngưỡng được áp dụng giúp việ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í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 bao gồm tất cả pixel có giá trị độ xám nhỏ hơn T
o 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ỗi nhóm điểm ảnh được tính toán bởi công thức:
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
Trang 25σw2(T) = [ qN1 * σN12(T) ] + [ qN2 * σ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:
σb2 σ2 - σw2(T) (1.26)
σb2(T) = qN1 * 1(T) - 2 + qN2 * 2(T) - 2 (1.27)
σb2(T) = qN1(T) * qN1 * 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 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ết như đườ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) 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ớ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 (theo quan điểm tầ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 đặc trư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ông thấ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ành phầ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à
Trang 26cườ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á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ý ả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 (Low Pass 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ủa các điểm lân cận và được định nghĩa như sau:
a(k,l) là cửa sổ lọc với =
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:
H =
… …
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ạ 3x3 thì đá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ọc Mean 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ên trong ảnh, làm mất tín hiệu cận nhiễu và không lọc được nhiễu xung
Trang 27Vì 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ùy theo 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 theo nghĩ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 gian khác cũng hay được sử dụng Phương trình của bộ lọc đó có dạng:
{
(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ình trọ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:
=
Dễ dàng nhận thấy khi b=1, chính là hàm truyền đạt của mạch lọc trung bình Để hiểu rõ hơn bản chất khử nhiễu cộng của các bộ lọc này, ta viết lại phương trình thu nhận ảnh dưới dạng:
Trang 281.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ãy x1, x2,…,xn đơn điệu tăng (giảm), trung vị được xác định theo công thức sau:
Hình 1.8 Ảnh trước và sau bộ lọc Median
Trang 29Do đó 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 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ận của nó Nếu sai lệch lớn hơn ngưỡng, điểm ảnh này được coi như nhiễu Trong trườ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ừa tính được Bộ lọc ngoài có thể diễn tả bằng công thức sau:
(1.39) trong đó:
α(w) là trung bình cộng các điểm trong lân cận W
Trang 30Hai 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:
1.3.4 Phép đóng (closing)
Trang 31Đượ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 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,θ) với r là vector, θ là góc
(1.44)
f(r,θ) đạt giá trị cực đại khi
Khi đó: f ' x cos θ + f ' y cos θ = 0
Trang 32
Để giảm độ phức tạp tính toán, A0 được tính gần đúng như sau:
A0 = |g1(m,n)| + |g2(m,n)| (1.48) Xét một số toán tử Gradient tiêu biểu như toán tử Robert, Sobel, Prewitt, đẳng hướng (Isometric), 4-lân cận như dưới đây
a Toán tử Robert (1965)
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:
(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à y tương ứng nhưsau:
Trang 33Hướ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):
Hướng ngang (x) Hướng dọc (y)
e Toán tử 4-lân cận (4-Neighbour Operator)
Trang 34Toá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ất với việc làm sạch nhiễu Đây là phương pháp tách đường biên khá phổ biến được dùng theo toán tử đạo hàm Như đã nói, phương pháp đạo hàm chịu ảnh hưởng lớn củ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 hay Prewitt:
(1.52)