Phương pháp đánh giá chất lượng ảnh

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số tính chất nội suy ảnh số sử dụng phép toán hình thái để nâng cao chất lượng ảnh (Trang 61)

3. Cấu trúc luận văn

2.5. Phương pháp đánh giá chất lượng ảnh

2.5.1. Sai số bình phương trung bình (MSE)

Sai số bình phương trung bình - MSE (Mean Squared Error) là một khái niệm được sử dụng trong thống kê. MSE đánh giá chất lượng của một ước lượng (ví dụ, một hàm toán học lập bản đồ mẫu dữ liệu của một tham số của dân số từ đó các dữ liệu được lấy mẫu) hoặc một yếu tố dự báo (ví dụ, một bản đồ chức năng có số liệu vào tùy ý để một mẫu của các giá trị của một số biến ngẫu nhiên). Chỉ số MSE của một phép ước lượng

là trung bình của bình phương các sai số, tức là sự khác biệt giữa các ước lượng và những gì được đánh giá.

Chỉ số này dùng để đánh giá mức độ sai khác của các điểm ảnh giữa ảnh gốc và ảnh khôi phục. Chỉ số MSE được tính theo công thức sau:

MSE = 1 𝑚𝑛∑𝑖=1

𝑚  ∑𝑗=1𝑛  (𝑥𝑖𝑗− 𝑦𝑖𝑗)2 (2.34)

Trong đó:

xij: biểu thị giá trị điểm ảnh gốc.

yij: biểu thị giá trị điểm ảnh đã được biến đổi. m và n lần lượt là chiều rộng và chiều cao của ảnh.

2.5.2. Tỷ số tín hiệu cực đại/ nhiễu (PSNR)

PSNR (Peak Signal to Noise Ratio) –là chỉ số dùng để tính tỉ lệ giữa giá trị năng lượng tối đa của một tín hiệu và năng lượng nhiễu ảnh hướng đến độ chính xác của thông tin. PSNR được sử dụng để đo chất lượng tín hiệu khôi phục của các thuật toán nén có mất mát dữ liêu (lossy compression) như nén ảnh. Tín hiệu trong trường hợp này là dữ liệu gốc, và nhiễu là các lỗi xuất hiện khi nén.

Hệ số PSNR (đơn vị deciben, dB), thường được sử dụng trong nghiên cứu xử lý hình ảnh được tính như sau [22]:

PSNR = 10∗log 10 (255

2

𝑀𝑆𝐸) (2.35) Thông thường, nếu PSNR > 40 dB thì hệ thống mắt người gần như không phân biệt được giữa ảnh gốc và ảnh khôi phục. PSNR càng cao thì chất lượng ảnh khôi phục càng tốt.

Khi hai hình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR đi đến vô hạn.

2.5.3. Chỉ số tương đồng về cấu trúc SSIM

Khác với các chỉ số MSE và PSRN, so sánh giá dựa trên việc so sánh sự sai khác giữa các pixcel. Chỉ số SSIM là một trong các chỉ số đánh giá dựa trên hệ thống thị giác của con người HVS (human visual system) [21]

Chỉ số này được sử dụng để đo mức độ giống nhau giữa ảnh gốc và ảnh khôi phục. Chỉ số này được tính như sau:

SSIM(𝑥, 𝑦) = (2𝜇𝑥𝜇𝑦+ 𝑐1)(2𝜎𝑥𝑦+ 𝑐2)

(𝜇𝑛2 + 𝜇𝑦2+ 𝑐1)(𝜎𝑥2+ 𝜎𝑦2+ 𝑐2) (2.36) Trong đó:

𝜇𝑥: biểu thị giá trị trung bình của x 𝜇𝑦: biểu thị giá trị trung bình của y 𝜎𝑥2: biểu thị giá trị phương sai của x 𝜎𝑦2: biểu thị giá trị phương sai của y

𝜎𝑥𝑦: biểu thị hiệp phương sai (covariance) của x và y.

𝑐1 = (𝑘1𝐿)2, 𝑐2 = (𝑘2𝐿)2: 2 biến ổn định phép chia có mẫu số yếu với k1=0.01 và k2=0.03 là giá trị mặc đinh.

Công thức SSIM dựa trên 3 thông số để so sánh: độ chói (luminance), tương phản (contranst) và cấu trúc (structure) [23]

𝑙(𝑥, 𝑦) = 2𝜇𝑥𝜇𝑦 + 𝑐1 𝜇∗2+ 𝜇𝑦2 + 𝑐1 (2.37) 𝑐(𝑥, 𝑦) = 2𝜎𝑥𝜎𝑦+ 𝑐2 𝜎𝑥2+ 𝜎𝑦2+ 𝑐2 (2.38) 𝑠(𝑥, 𝑦) = 𝜎𝑥𝑦 + 𝑐3 𝜎𝑥𝜎𝑦 + 𝑐3 (2.39) Từ đó, chúng ta có công thức sau[21][22][23]: SSIM (𝑥, 𝑦) = [𝑙(𝑥, 𝑦)]𝛼 ⋅ [𝑐(𝑥, 𝑦)]𝛽 ⋅ [𝑠(𝑥, 𝑦)]𝛾 (2.40) Giá trị SSIM sẽ trong khoảng từ -1 đến 1, đạt giá trị bằng 1 trong trường hợp ảnh giống nhau.

2.6. Kết luận

Trong chương này chúng ta đã tìm hiểu một cách khái quát nhất về các phép toán hình thái ứng dụng cho các loại ảnh khác nhau. Nhìn chung thuật ngữ “hình thái học” được hiểu một cách nôm na là “hình dạng và cấu trúc” của đối tượng. Phần lớn các phép toán hình thái dựa trên hai phép toán cơ bản là phép co và giãn ảnh và đa phần là được thực hiện trên ảnh nhị phân

Đối với ảnh nhị phân, mức xám chỉ có hai giá trị là 0 hay 1. Do vậy ta coi một phần tử ảnh như một phần tử lôgic và có thể áp dụng các phép toán hình thái học dựa trên khái niệm biến đổi hình học của một ảnh bởi một phần tử cấu trúc. Phép giãn ảnh nhằm loại bỏ những điểm ảnh đen bị vây quanh bởi các điểm ảnh trắng và phép co ảnh

là thao tác đối ngẫu của giãn ảnh nhằm loại bỏ những điểm trắng bị vây bởi các điểm ảnh đen. Do đó người ta thường vận dụng các kĩ thuật này cho các ảnh nhị phân như vân tay, chữ viết và để không làm ảnh hưởng tới kích thước của đối tượng trong ảnh người ta thường sử dụng phép đóng hoặc phép mở (hay là n lần giãn và n lần co).

CHƯƠNG 3. THỬ NGHIỆM PHÉP LỌC HÌNH THÁI HỌC

Chương này trình bày về thử nghiệm các phép toán hình thái cơ bản, tiếp đó là minh họa thử nghiệm với một số ứng dụng với các phép toán hình thái thực hiện loại bỏ nhiễu để làm rõ đối tượng, loại bỏ các chi tiết thừa trong ảnh.

3.1. Thiết kế mô hình thử nghiệm 3.1.1. Công cụ 3.1.1. Công cụ

Chương trình ứng dụng được xây dựng trên giao diện GUI sử dụng ngôn ngữ Python. Sở dĩ tác giả lựa chọn như vậy vì Python tích hợp thư viện của các phép toán hình thái, các thư viện để hỗ trợ tính toán các chỉ số đánh giá để từ đó tác giả có thể đưa ra các so sánh cũng như đánh giá hiệu quả cho các phương pháp sử dụng cho từng bài toán trong phần thực nghiệm này.

3.1.2. Tập dữ liệu thử nghiệm

Trong thử nghiệm này, tác giả sử dụng tập dữ liệu khoảng 300 ảnh bao gồm nhiều ảnh tự nhiên và do tác giả tự tạo theo các loại khác nhau như ảnh con người, khung cảnh, vật, chữ viết tay, tài liệu scan…. Các ảnh trong tập dữ liêu theo định dạng .bmp, .png, .jpg được sử dụng có thể là ảnh xám hoặc ảnh màu với các kích thước khác nhau.

3.2. Phép toán hình thái cơ bản

Ở phần này, tác giả thực hiện cài đặt sử dụng thư viện openCV với các phép toán hình thái cơ bản bao gồm phép toán Dilation, phép toán Erosion, phép toán Opening và phép toán Closing.

dilate Làm giãn hình ảnh bằng cách sử dụng một phần tử có cấu trúc cụ thể, trong đó cũng chỉ định số lần sẽ thực hiện làm giãn.

erode Xóa các điểm ảnh bằng cách sử dụng phần tử có cấu trúc cụ thể. Ở đây, ta cũng có thể chỉ định số lần thực hiện xóa.

morphologyEx Thực hiện các phép biến đổi hình thái nâng cao bằng việc đưa vào các lựa chọn tương ứng với mục đích sử dụng và phẩn tử có cấu trúc cụ thể. Các lựa chọn này

có thể phép giãn ảnh, phép co ảnh, phép đóng, phép mở, phép toán gradient hay “trúng-trượt” …

Tác giả xây dựng chương trình với thao tác người dùng sẽ thực hiện chọn ảnh mong muốn từ tập dữ liệu có sẵn, chương trình sẽ thực hiện các phép toán và đưa ra kết quả tương ứng.

Dữ liệu vào: ảnh có định dạng *.png, *.jpg hay *.bmp.

Dữ liệu ra: Các ảnh kết quả tương ứng khi thực hiện phép toán hình thái.

Hình 3.1. Các phép toán hình thái cơ bản

3.3. Làm rõ đối tượng ảnh.

Bài toán đặt ra ở đây sẽ loại bỏ nhiễu trong nền ảnh để làm rõ đối tượng tiền cảnh bằng việc sử dụng kết hợp một số phép toán hình thái.

Dữ liệu vào: ảnh sẽ có định dạng *.png, *.jpg hay *.bmp.

Dữ liệu ra: ảnh kết quả được làm nét sẽ có cùng kích thước và định dạng với ảnh đầu vào.

Giao diện chính và chức năng của chương trình như sau: - Người dùng chọn ảnh mong muốn từ tập dữ liệu có sẵn.

- Chương trình hiển thị 2 ảnh: ảnh ban đầu và ảnh sau khi thao tác. - Người dùng thực hiện chỉnh sửa các chỉ số sau trên giao diện

+, Radius: ảnh hưởng đến kích thước của các cạnh được nâng cao hoặc độ rộng của các viền cạnh, vì vậy giá trị này nhỏ sẽ nâng cao chi tiết ở quy mô nhỏ hơn. Giá trị này cao có thể gây ra quầng sáng ở các cạnh, một vành sáng mờ có thể phát hiện được xung quanh các vật thể.

+, Amount: được liệt kê dưới dạng phần trăm và kiểm soát độ lớn của mỗi lần vượt quá (tối hơn bao nhiêu và nhạt hơn bao nhiêu của các đường viền cạnh). Điều này cũng có thể được coi là mức độ tương phản được thêm vào ở các cạnh. Nó không ảnh hưởng đến chiều rộng của các viền cạnh.

- Chương trình thực hiện các xử lý tương ứng với thao tác của người dùng, đồng thời sẽ tính toán các chỉ số đánh giá chất lượng ảnh.

Ở đây tác giả sử dụng thực hiện cài đặt chương trình sử dụng thuật toán “mặt nạ không mờ” (unsharp mask). Đây là một kỹ thuật làm sắc nét hình ảnh, lần đầu tiên được thực hiện trong chụp ảnh phòng tối, nhưng hiện nay thường được sử dụng trong phần mềm xử lý ảnh kỹ thuật số. Tên của nó bắt nguồn từ thực tế là kỹ thuật sử dụng hình ảnh âm bản bị mờ, hoặc "không rõ nét", để tạo mặt nạ của hình ảnh gốc. Sau đó, kĩ thuật này kết hợp với hình ảnh gốc ban đầu, tạo ra hình ảnh ít mờ hơn so với hình ảnh gốc. Hình ảnh thu được, mặc dù rõ ràng hơn, nhưng có thể là sự thể hiện kém chính xác hơn đối với chủ thể của hình ảnh.[24]

Thử nghiệm này cho thấy nâng cao chất lượng hình ảnh như một bước tiền xử lý trước khi phân tích. Trong ví dụ này, bạn sửa độ sáng nền không đồng đều và chuyển hình ảnh thành hình ảnh nhị phân để giúp dễ dàng xác định các đối tượng tiền cảnh. Sau đó, ta có thể phân tích các đối tượng trong hình ảnh.

Kết quả: giá trị MSE là 0.22, giá trị PSNR là 6.48 và giá trị SSIM là 0.01.

3.4. Kết hợp các phép toán hình thái để khử nhiễu ảnh.

Bài toán đặt ra ở đây là cho trước ảnh đầu vào có nhiều chi tiết bị thừa, nhiễu và cần loại bỏ chúng để giữ lại những phần chính. Những chi tiết thừa có thể là vết mực lem, bị nhòe…

Dữ liệu vào: ảnh có định dạng *.png, *.jpg hoặc *.bmp

Dữ liệu ra: ảnh kết quả đã loại bỏ chi tiết thừa, có cùng kích thước và định dạng với ảnh đầu vào.

Ở đây, tác giả sử dụng 2 phép toán Opening và Closing để thực hiện khử nhiễu ảnh. Việc lựa chọn sử dụng phép toán nào trước là do người dùng lựa chọn trên giao diện chương trình. Tuy nhiên, với mục đích giải quyết bài toán đặt ra để loại bỏ các chi tiết thừa trên ảnh nên tác giả thực hiện lần lượt phép toán Opening và Closing (theo như nội dung của 2.1.2.3)

Hình 3.3. Khử nhiễu ảnh

Kết quả: giá trị MSE là 0.04, giá trị PSNR là 13.87 và giá trị SSIM là 0.84. Ngoài ra, hình ảnh OCR đơn giản cũng được thử nghiệm ở đây.

Hình 3.4. Khử nhiễu ảnh OCR

Kết quả: giá trị MSE là 0.02, giá trị PSNR là 16.88 và giá trị SSIM là 0.81. Có thể thấy, hình ảnh kết quả thu được đã rõ hơn và loại bỏ các nhiễu trong ảnh.

3.5. Kết luận

Sau khi thử nghiệm với các phương pháp, ta có bảng kết quả đánh giá các chỉ số như sau:

Thử nghiệm MSE PSNR SSIM

Làm rõ ảnh 0.22 6.48 0.01

Khử nhiễu ảnh 0.04 13.87 0.84

Khử nhiễu ảnh OCR 0.02 16.88 0.81

Bảng 2. Kết quả thực nghiệm

Từ kết quả thử nghiệm trong bảng, ta thấy rằng nội dung chính của các ảnh sau khi nâng cao chất lượng ảnh gần như không thay đổi. Với các kết quả này, ta thấy rằng thử nghiệm khử nhiễu cho kết quả khá tốt trong việc nâng cao chất lượng ảnh.

KẾT LUẬN

Các phép toán hình thái là vấn đề cơ bản trong toán học đã và đang được ứng dụng trong lĩnh vực công nghệ thông tin, đặc biệt là trong lĩnh vực xử lý ảnh. Các phép toán hình thái là các phép toán liên quan đến cấu trúc hình học của đối tượng và thường được xây dựng trên 2 phép toán cơ bản là phép giãn nở (DILATION) và phép co (EROSION). Mục tiêu của luận văn là tìm hiểu các phép toán hình thái học trên cơ sở đó ứng dụng vào biểu diễn hình dạng của đối tượng. Trong quá trình tìm hiểu và xây dựng chương trình thử nghiệm, tôi đã đạt được một số kết quả nhất định như sau:

Kết quả đã đạt được

1. Nghiên cứu các khái niệm cơ bản về xử lý ảnh và phép toán hình thái: đưa ra các khái niệm xử lý ảnh, quá trình xử lý ảnh và các khái niệm về phép toán hình thái học; trình bày phép toán hình thái học trên ảnh nhị phân, ảnh xám và nêu ra tính chất nội suy của phép toán hình thái học và các phép lọc hình thái học cho ảnh OCR.

2. Xây dựng chương trình thử nghiệm phép lọc hình thái học ứng dụng cho ảnh tài liệu kém chất lượng: cài đặt thử nghiệm phép lọc hình thái và đánh giá. Chương trình thử nghiệm đã đưa ra việc cài đặt các phép toán hình thái cơ bản, sử dụng kết hợp các phép toán hình thái cơ bản trong việc khử nhiễu ảnh, làm rõ đối tượng ảnh. Tuy nhiên, vì quá trình nghiên cứu vẫn còn nhiều thiếu sót nên tác giả sẽ cố gắng tìm hiểu và cải thiện thêm trong tương lai để áp dụng được nhiều hơn trong thực tiễn.

Định hướng phát triển

✓ Tối ưu các thuật toán để cải thiện tốc độ cũng như chất lượng ảnh.

✓ Căn cứ vào đánh giá MSE, PSNR và SSIM để điều chỉnh các tham số cho các thuật toán.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Phạm Việt Bình (2006), “Một số tính chất của phép toán hình thái và ứng dụng trong phát hiện biên”, Tạp chí Tin học và Điều khiển học.

[2] PGS.TS Nguyễn Quang Hoan (2006) – Giáo trình môn học xử lý ảnh, học viện công nghệ bưu chính viễn thông.

[3] Ths. Hồ Đức Lĩnh (2013) - Khoa Công nghệ Thông tin – Đại học Đông Á - Bài viết “Xử lý hình thái học trên ảnh và ứng dụng”.

[4] Trần Đức Toàn – Luận văn thạc sỹ “Nghiên cứu một số kỹ thuật nâng cao chất

lượng ảnh nhị phân và ứng dụng”.

[5] Nguyễn Xuân Vinh (2010), Phép toán hình thái học, Luận văn khoa học Thạc sỹ công nghệ thông tin, Khoa Công nghệ thông tin – Đại học Thái Nguyên.

Tiếng Anh

[6] Alessandro Ledda (Oct. 2006), Mathematical Morphology in Image Processing, Doctor of Engineering Science, Department of Telecommunications, and Information Processing.

[7] Aditya Challa, Sravan Danda, B S Daya Sagar, Laurent Najman (2018), Some Properties of Interpolations Using Mathematical Morphology, IEEE

Transactions on Image Processing, vol. 27, no. 4, pp. 2038-2048.

[8] Álvar-Ginés Legaz-Aparicio, Rafael Verdu-Monedero, Jesus Angulo (2018), “Adaptive morphological filters based on a multiple orientation vector field dependent on image localfeatures”, Journal of Computational and Applied

Mathematics, pp. 965-981.

[9] Bernhard Burgeth, Andreas Kleefeld, Benoît Naegel, Nicolas Passat, Benjamin Perret (2019), Mathematical Morphology and Its Applications to Signal and

Image Processing, Springer Nature Switzerland AG, Gewerbestrasse 11, 6330

Cham, Switzerland

[10] Charles Jacobs, Patrice Y. Simard, Paul Viola, and James Rinker (2005), “Text Recognition of Low-resolution Document Images”, Eighth International

Conference on Document Analysis and Recognition (ICDAR'05), Seoul, South

Korea, pp. 695-699.

[12] Giulia Boato, (Member, IEEE), Duc-Tien Dang-Nguyen, (Member, IEEE), and Francesco G. B. De Natale, (Senior Member, IEEE) (2020), "Morphological Filter Detector for Image Forensics Applications", Morphological Filter Detector

for Image Forensics Applications, Vol.8, pp. 13549-13560.

[13] Khairul Anuar Mat Said, Asral Bahari Jambek (2016), A Study on Image

Processing Using Mathematical Morphological, School of Microelectronic

Engineering, Universiti Malaysia Perlis, Perlis, Malaysia

[14] Laurent Najman, Hugues Talbot (2010), Mathematical Morphology From Theory

to Applications, Wiley-ISTE

[15] Dr. Pierre Soille (2004), Morphological Image Analysis - Principles and

Applications, Springer-Verlag Berlin Heidelberg

[16] Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins (2008), Digital Image Processing using Matlab, Gatesmark.

[17] Shi-Yuan Ma, Ashraf Khalil, Hassan Hajjdiab and Hichem Eleuch (2020),

Quantum Dilation and Erosion, Licensee MDPI, Basel, Switzerland.

[18] Xaro Benavent, Esther Dura, Francisco Vegara, and Juan Domingo (2012), “Mathematical Morphology for Color Images: An ImageDependent Approach”,

Mathematical Problems in Engineering, pp. 1-18.

[19] Wilhelm Burger, Mark J. Burge (2009), Principles of Digital Image Processing:

Fundamental Techniques, Sprigner.

[20] Morphological Operations in Image Processing (Jan. 2020), https://himnickson.medium.com/morphological-operations-in-image- processing-cb8045b98fcc [21] https://en.wikipedia.org/wiki/Structural_similarity [22] https://viblo.asia/p/cac-chi-so-danh-gia-duoc-su-dung-cho-bai-toan-image- generation-is-fid-psnr-ssim-XL6lA0zDZek [23] https://www.imatest.com/docs/ssim/ [24] https://en.wikipedia.org/wiki/Unsharp_masking [25] http://www.dfstudios.co.uk/articles/programming/image-programming- algorithms/image-processing-algorithms-part-6-gamma-correction/

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số tính chất nội suy ảnh số sử dụng phép toán hình thái để nâng cao chất lượng ảnh (Trang 61)