3. Cấu trúc luận văn
3.1. Thiết kế mô hình thử nghiệm
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 ảnhtrong 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
58
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
59
+, 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ộtkỹ 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]
60
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.48và 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.
61
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.
62
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ácthuậ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ọcThạ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.
[11] Chris Solomon, Toby Breckon (2011), Fundamentals of Digital Image Processing: Practical Approach with Examples in Matlab, Wiley.
[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/