Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp

pdf 103 trang ngocly 980
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_xu_ly_anh_chuong_3_1_cai_thien_va_phuc_hoi_anh_hoa.pdf

Nội dung text: Bài giảng Xử lý ảnh - Chương 3.1: Cải thiện và phục hồi ảnh - Hoàng Văn Hiệp

  1. Xử lý ảnh Hoàng Văn Hiệp Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Email: [email protected] 1
  2. Nội dung Chương 1. Giới thiệu chung Chương 2. Thu nhận & số hóa ảnh Chương 3. Cải thiện & phục hồi ảnh Chương 4. Phát hiện tách biên, phân vùng ảnh Chương 5. Trích chọn các đặc trưng trong ảnh Chương 6. Nén ảnh Chương 7. Lập trình xử lý ảnh bằng Matlab và C 2
  3. Chƣơng 3. Cải thiện và phục hồi ảnh Cải thiện ảnh Phục hồi ảnh 3
  4. Cải thiện ảnh Xử lý ảnh để đầu ra “tốt” hơn đầu vào cho mục đích nhất định . Do đó: Cải thiện ảnh rất phụ thuộc vào từng ứng dụng cụ thể Phương pháp cải thiện ảnh . Xử lý trên miền không gian o Xử lý trên điểm ảnh o Xử lý mặt nạ . Xử lý trên miền tần số o Các phép lọc . Xử lý trên màu sắc 4
  5. Xử lý trên miền không gian Spatial Domain process . Trong đó: f(x, y) ảnh gốc . g(x, y) ảnh sau biến đổi . T: phép biến đổi ảnh 5
  6. Xử lý trên miền không gian Nếu xét cửa sổ lân cận: 1 x 1 . Phép xử lý trên điểm ảnh . Giá trị đầu ra tại một điểm ảnh chỉ phụ thuộc điểm đó, không phụ thuộc vào các điểm khác Nếu xét cửa sổ lân cận w x w . Cửa sổ lân cận còn gọi là: mặt nạ (mask), nhân (kernel), Cửa sổ (window), bộ lọc (filter), template . Giá trị đầu ra tại một điểm phụ thuộc vào các điểm lân cận của nó 6
  7. Các phép biến đổi ảnh dựa trên điểm ảnh Phép biến đổi âm bản ảnh Biến đổi dùng hàm logarit Biến đổi dùng hàm mũ Biến đổi dựa trên histogram Biến đổi dựa trên các phép số học/logic 7
  8. Một số phép xử lý cơ bản dựa trên điểm ảnh Một số hàm biến đổi 8
  9. Phép biến đổi âm bản ảnh  s = L – 1 – r Matlab code: I = imread(‘rice.png’); J = 255 – I; imshow(J) 9
  10. Phép biến đổi log Công thức Tác dụng: Kéo giãn các giá trị ở vùng tối, thu hẹp các giá trị ở vùng sáng 10
  11. Phép biến đổi hàm mũ Công thức tổng quát 11
  12. Gama correction 12
  13. Phép biến đổi hàm mũ c = 1; γ1 = 3; γ2 = 4; γ3 = 5; 13
  14. Phép biến đổi tuyến tính từng khúc 14
  15. Biến đổi tăng độ tƣơng phản 15
  16. Gray level slicing Tăng cường mức xám ở một dải cố định [A, B] Ảnh biến đổi qua hàm đầu Ảnh gốc 16
  17. Bit-plan slicing Với ảnh 8bit: mỗi pixel được biểu diễn bằng 8 bit Tưởng tượng mỗi ảnh là tổng hợp của 8 mặt phẳng 1 bit (1bit - plan): từ plan 0 đến plan 7 . Plan 0: chứa tất cả các bit thấp nhất trong các byte pixel trong ảnh . . Plan 7: chứa tất cả các bit cao nhất trong các byte pixel trong ảnh 17
  18. Bit-plan slicing 18
  19. Bit-plan slicing 19
  20. Một số phép xử lý dựa trên điểm ảnh Bài tập: Cài đặt các phép biến đổi dựa trên điểm ảnh trên bằng Matlab 20
  21. Phép biến đổi dựa trên histogram Histogram là gì? . Histogram của ảnh đa mức xám: [0 L-1] là hàm rời rạc: . ℎ = 푛 o Với là thành phần mức xám thứ k o 푛 : số lượng pixel có mức xám là . Dạng chuẩn hóa: 푛 ℎ = 푛 Với n: tổng số pixel trong ảnh 21
  22. Histogram Ảnh tối 22
  23. Histogram Ảnh sáng 23
  24. Histogram Ảnh độ tương phản thấp 24
  25. Histogram Ảnh độ tương phản cao 25
  26. Histogram Nhận xét? Khái niệm: số bins . Mặc định trong ảnh đa mức xám: 256 bins 26
  27. Phép cân bằng histogram Histogram equalization: tác dụng? Trước hết xét trên miền liên tục . r: biến ngẫu nhiên thể hiện các giá trị cấp xám trong ảnh ban đầu 0 ≤ ≤ 1 . s: biến ngẫu nhiên thể hiện giá trị cấp xám trong ảnh biến đổi . Cần tìm phép biến đổi: s = T[r] 27
  28. Histogram equalization 28
  29. Histogram equalization Theo lý thuyết xác suất nếu tồn tại phép biến đổi ngược từ s r thì: Nếu chọn: 29
  30. Histogram equalization 30
  31. Histogram equalization Trên miền rời rạc (áp dụng cho ảnh số) 31
  32. Histogram equalization Ảnh mới nhận được bằng cách ánh xạ mỗi pixel tại cấp xám rk trong ảnh ban đầu với pixel tương ứng tại mức xám sk 32
  33. Histogram equalization 33
  34. Histogram equalization 34
  35. Histogram equalization Thảo luận . So sánh: Cân bằng histogram và phép biến đổi tăng độ tương phản bằng tuyến tính từng khúc . Cân bằng histogram trường hợp nào cũng tốt? 35
  36. Histogram equalization 36
  37. Histogram equalization 37
  38. Histogram matching/specification Nhiều trường hợp: histogram phân bố đều không cho kết quả ảnh tốt nhất  Chỉ định histogram có hình dạng tốt  Biến đổi ảnh theo hình dạng histogram cho trước Bài toán histogram matching hay histogram specification 38
  39. Histogram matching 39
  40. Histogram matching Ý tưởng trên miền liên tục 40
  41. Histogram matching Áp dụng trên miền rời rạc (ảnh số) . Từ rk tính sk . Từ zk tính vk . Từ đó tính zk 41
  42. Histogram matching 42
  43. Histogram matching Ứng dụng . Hiệu chỉnh các ảnh chụp cùng một cảnh, nhưng được chụp bởi các camera, sensor khác nhau 43
  44. Cải thiện ảnh dựa trên các con số thống kê của histogram (histogram statistic) Đặt vấn đề: Làm nổi vùng ảnh bên phải? 44
  45. Histogram statistic Kết quả chưa tốt 45
  46. Histogram statistic Tính toán các thống kê toàn cục Các thống kê cục bộ: Sxy: mặt nạ tâm (x,y) 46
  47. Histogram statistic Vấn đề: Làm sao để tăng độ tương phản trong một vùng ảnh mà không làm ảnh hưởng đến các vùng khác  Chỉ làm sáng, làm tối vùng cần thiết, các vùng còn lại giữ nguyên . Với k0, k1, k2 là các hằng số 47
  48. Histogram statistic 48
  49. Histogram statistic 49
  50. Các phép biến đổi ảnh dựa trên các phép toán số học/logic Phép AND ảnh Phép OR ảnh Phép trừ ảnh Phép cộng ảnh 50
  51. Phép AND ảnh Ảnh gốc Mặt nạ AND Phép AND ảnh 51
  52. Phép OR ảnh Ảnh gốc Mặt nạ OR Phép OR ảnh 52
  53. Phép trừ ảnh 53
  54. Trung bình ảnh g(x,y) là ảnh nhiễu thu được bởi ảnh gốc f(x,y) và nhiễu (,)xy Với tập ảnh nhiễu {g(x,y)} 54 Digital Image Processing 11/28/2011
  55. Phép trung bình ảnh 55
  56. Bài tập Cho ảnh như sau: 8 bit – 8 x 8 1) Tính và vẽ histogram trong các trường hợp: 8 bins, 16 bins, 32 bins 2) Nhận xét về độ tương phản của ảnh trên 3) Cân bằng histogram cho ảnh trên, . Vẽ histogram sau khi cân bằng . Tính toán lại các giá trị điểm ảnh ứng với histogram mới 56
  57. Xử lý trên miền không gian Nếu xét cửa sổ lân cận: 1 x 1 . Phép xử lý trên điểm ảnh . Giá trị đầu ra tại một điểm ảnh chỉ phụ thuộc điểm đó, không phụ thuộc vào các điểm khác Nếu xét cửa sổ lân cận w x w . Cửa sổ lân cận còn gọi là: mặt nạ (mask), nhân (kernel), Cửa sổ (window), bộ lọc (filter), template . Giá trị đầu ra tại một điểm phụ thuộc vào các điểm lân cận của nó 57
  58. Biến đổi ảnh trên miền không gian Các phép lọc thường được liên tưởng đến lọc trên miền tần số Spatial filtering: lọc trên miền không gian – kết quả các phép lọc tác động trực tiếp đến các pixel trong ảnh . Các phép lọc làm trơn ảnh . Các phép lọc thống kê thứ tự . Các phép lọc tăng cường độ nét, cải thiện biên 58
  59. CƠ CHẾ CỦA LỌC KHÔNG GIAN Gốc của ảnh y Mặt nạ w(-1,-1) w(-1,0) w(-1,1) w(0,-1) w(0,0) w(0,1) w(1,-1) w(1,0) w(1,1) f(x-1,y-1) f(x-1,y) f(x-1,y+1) Ảnh f(x, y) f(x,y-1) f(x,y) f(x,y+1) x f(x+1,y-1) f(x+1,y) f(x+1,y+1) R w( 1, 1) f (x 1, y 1) w( 1,0) f (x 1, y) w(0,0) f (x, y) w(1,0) f (x 1, y) w(1,1) f (x 1, y 1) 59
  60. Cơ chế của lọc không gian Mặt nạ kích thước: × 푛 . Thường: m = 2 x a + 1, n = 2 x b + 1 . kích thước mặt nạ thường lẻ: 3 x 3, 5 x 5, 7 x 7, 9 x 9 . a b g(x, y)   w(s,t) f (x s, y t) s a t b 60
  61. Chú ý phân biệt: correlation với convolution 61
  62. Ví dụ bộ lọc không gian 3 x 3 Mặt nạ 3 3 trong hình trên đáp ứng tại điểm (x, y) của ảnh được tính bởi công thức w1 w2 w3 w4 w5 w6 w7 w8 w9 9 R w1z1 w2 z2 w9 z9  wi zi i 1 62
  63. XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT  Trường hợp thực thi các phép toán lân cận khi tâm của bộ lọc nằm trên biên của ảnh? f(0,0) f(0,1) f(0,2) f(0,3) f(0,4) w1 w2 w3 f(1,0) f(1,1) f(1,2) f(1,3) f(1,4) w4 w5 w6 f(2,0) f(2,1) f(2,2) f(2,3) f(2,4) w7 w8 w9 f(3,0) f(3,1) f(3,2) f(3,3) f(3,4) Mặt nạ f(4,0) f(4,1) f(4,2) f(4,3) f(4,4) 63
  64. XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT  Khi tâm mặt nạ di chuyển gần đến biên của ảnh thì một hoặc một số dòng/cột của mặt nạ sẽ nằm ngoài ảnh.  Ở ví dụ dưới các hệ số w1, w4, w7 nằm ngoài ảnh. w1 w2 w3 w4 w5 w6 w7 w8 w9 64
  65. XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT  Cách 1: Giả sử mặt nạ có kích thước n n. Cho vị trí tâm của mặt nạ không được nhỏ hơn (n-1)/2 điểm ảnh kể từ biên Ảnh sau khi lọc có kích thước nhỏ hơn ảnh gốc, nhưng tất cả các điểm ảnh đều được xử lý. w1 w2 w3 w4 w5 w6 w7 w8 w9 65
  66. XỬ LÝ TRƢỜNG HỢP ĐẶC BIỆT  Cách 2: Yêu cầu ảnh kết quả có kích thước bằng ảnh gốc Đưa thêm các dòng đệm và cột đệm mang giá trị 0 vào quanh biên của ảnh. 0 0 0 0 0 0 0 0 0 0 0 w1 w2 w3 0 0 w4 w5 w6 0 0 w7 w8 w9 0 0 66 0 0 0 0 0 0 0
  67. Bộ lọc làm trơn (smooth filtering) Tác dụng . Làm mờ ảnh o Áp dụng trong các phép tiền xử lý ảnh o Loại bỏ các đối tượng nhỏ trong ảnh . Khử nhiễu Bộ lọc làm trơn đơn giản nhất là bộ lọc trung bình (average filtering) 67
  68. Bộ lọc làm trơn ảnh Ý tưởng bộ lọc trung bình: thay thế giá trị tại mỗi pixel bằng trung bình các giá trị pixel trong mặt nạ lân cận . loại bỏ những pixel biến đổi lớn so với lân cận (nhiễu) . những pixel nằm trên biên cũng có sự biến đổi lớn so với lân cận làm mờ 68
  69. Bộ lọc làm trơn ảnh  Với bộ lọc không gian kích thước 3 3, thì cách sắp xếp đơn giản nhất là cho các hệ số bằng 1/9. Bộ lọc f(x-1,y-1) f(x-1,y) f(x-1,y+1) 1 1 1 1 làm trơn f(x,y-1) f(x,y) f(x,y+1) 1 1 1 3 3 9 f(x+1,y-1) f(x+1,y) f(x+1,y+1) 1 1 1 1 g(x, y) [ f (x 1, y 1) f (x 1, y) f (x 1, y 1) 9 f (x, y 1) f (x, y) f (x, y 1) 69 f (x 1, y 1) f (x 1, y) f (x 1, y 1)]
  70. Bộ lọc làm trơn ảnh  Bộ lọc với các hệ số khác nhau (bộ lọc có trọng số)  Ta thấy hệ số trung tâm của bộ lọc có giá trị lớn hơn so với các hệ số khác điểm ảnh ứng với tâm bộ lọc có tầm quan trọng hơn các điểm ảnh khác. 1 g(x, y) [ f (x 1, y 1) 2 f (x 1, y) 1 2 1 16 1 2 4 2 f (x 1, y 1) 2 f (x, y 1) 4 f (x, y) 16 2 f (x, y 1) f (x 1, y 1) 2 f (x 1, y) 1 2 1 f (x 1, y 1)] Bộ lọc làm trơn 3 3 70
  71. Bộ lọc làm trơn ảnh Công thức tổng quát của bộ lọc trung bình 71
  72. Bộ lọc làm trơn ảnh Ví dụ: Lọc trung bình 72
  73. Bộ lọc làm trơn ảnh Minh họa lọc trung bình với các kích thước mặt nạ khác nhau 73
  74. Bộ lọc làm trơn ảnh Ví dụ lọc làm mờ ảnh . Tác dụng: loại bỏ các đối tượng nhỏ 74
  75. Bộ lọc làm trơn ảnh Bộ lọc Gaussian 75
  76. Bộ lọc làm trơn ảnh Mặt nạ gaussian với 휎 = 1.0 76
  77. Bộ lọc làm trơn ảnh 77
  78. Lọc thống kê thứ tự (order- statistic filtering) Ý tưởng: . Các pixel trong mặt nạ lân cận được sắp xếp theo thứ tự (ranking) . Thay thế pixel trung tâm bằng giá trị của một pixel chỉ định trong danh sách o các loại lọc thống kê thứ tự  Lọc trung vị  Lọc cực đại (max)  Lọc cực tiểu (min) 78
  79. Lọc trung vị Được sử dụng phổ biến: . Khử nhiễu ngẫu nhiên tốt . Ít bị nhòe hơn so với phép lọc trung bình Cài đặt . Sắp xếp các giá trị pixel trong cửa sổ lân cận . Thay thế giá trị pixel bằng giá trị giữa của danh sách Ví dụ: Cho dãy . {xn} = {3, 4, 6, 29, 4, 30, 40, 30, 5} . {xn} = {3, 4, 4, 5, 6, 29, 30, 30, 40}. . trung vị = 6 79
  80. Lọc trung vị 80
  81. Các phép lọc tăng cƣờng độ nét, cải thiện biên (sharpening filter) Mục đích của lọc tăng cường độ nét là để làm nổi bật một số chi tiết trong ảnh các điểm ảnh có sự biến đổi mức xám lớn so với lân cận Lọc làm nổi bật đường biên của ảnh Cơ sở của các phép lọc tăng cường độ nét và cải thiện biên là các phép đạo hàm cấp 1 và cấp 2 81
  82. Đạo hàm các cấp áp dụng cho ảnh số 82
  83. Đạo hàm cấp 1 Bằng 0 tại những vùng không biến đổi Khác 0 tại điểm bắt đầu đường “dốc” Khác 0 trên vùng “dốc” 83
  84. Đạo hàm cấp 2 Bằng 0 tại những vùng không biến đổi Khác 0 tại những điểm bắt đầu/kết thúc vùng “dốc” Bằng 0 tại những điểm trên vùng “dốc” 84
  85. Đạo hàm các cấp Nhận xét: . Đạo hàm cấp 1 o Cho biên dày hơn o Nhạy với các bước nhảy mức xám . Đạo hàm bậc 2 o Đáp ứng mạnh với các chi tiết, các điểm độc lập o Đáp ứng gấp đôi tại các bước nhảy mức xám 86
  86. SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN  Toán tử đạo hàm đẳng hướng là toán tử Laplacian đối với ảnh f(x, y) được định nghĩa như sau:  2 f  2 f  2 f x 2 y 2  2 f f (x 1, y) f (x 1, y) 2 f (x, y) x 2  2 f f (x, y 1) f (x, y 1) 2 f (x, y) y 2 87
  87. SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN  Theo công thức trên ta có thể xây dựng mặt nạ lọc L như sau: 2  f [ f (x 1, y) f (x 1, y) 0 1 0 f (x, y 1) f (x, y 1)] 4 f (x, y) 1 -4 1 0 1 0  Mặt nạ này bất biến với phép quay 90o. 88
  88. SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN  Theo công thức trên ta có thể xây dựng mặt nạ lọc L như sau: 2  f 4 f (x, y) [ f (x 1, y) 0 -1 0 f (x 1, y) f (x, y 1) f (x, y 1)] -1 4 -1 0 -1 0  Mặt nạ này bất biến với phép quay 90o. 89
  89. SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN  Chúng ta cũng có thể xem xét đạo hàm bậc hai theo đường chéo, khi đó mặt nạ lọc L thu được là: 2  f [ f (x 1, y 1) f (x 1, y) 1 1 1 f (x 1, y 1) f (x 1, y 1) 1 -8 1 f (x 1, y) f (x 1, y 1) f (x, y 1) f (x, y 1)] 8 f (x, y) 1 1 1  Mặt nạ này bất biến với phép quay 45o. 90
  90. SỬ DỤNG ĐẠO HÀM BẬC HAI TOÁN TỬ LAPLACIAN  Chúng ta cũng có thể xem xét đạo hàm bậc hai theo đường chéo, khi đó mặt nạ lọc L thu được là: 2  f 8 f (x, y) [ f (x 1, y 1) -1 -1 -1 f (x 1, y) f (x 1, y 1) -1 8 -1 f (x 1, y 1) f (x 1, y) f (x 1, y 1) f (x, y 1) f (x, y 1)] -1 -1 -1  Mặt nạ này bất biến với phép quay 45o. 91
  91. Cải thiện ảnh với toán tử Laplacian 92
  92. Cải thiện ảnh với toán tử laplacian 93
  93. Cải thiện ảnh với toán tử laplacian 94
  94. f (x, y) 2 f (x, y) g(x, y) 2 CHÚ Ý f (x, y)  f (x, y) 0 -1 0 0 0 0 0 -1 0 -1 5 -1 = 0 1 0 + -1 4 -1 0 -1 0 0 0 0 0 -1 0 -1 -1 -1 0 0 0 -1 -1 -1 + -1 9 -1 = 0 1 0 -1 8 -1 -1 -1 -1 0 0 0 -1 -1 -1 95
  95. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT  Đạo hàm bậc nhất trong xử lý ảnh là được thực hiện bằng cách sử dụng độ lớn của gradient.  Với hàm f(x, y), gradient của f tại tọa độ (x, y) được định nghĩa là một vectơ cột hai chiều: f Gx x f f Gy y 96
  96. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT f Gx x f f Gy y Độ lớn của vectơ được cho bởi: 1 f mag(f ) G 2 G 2  2 x y Xấp xỉ 1 2 2 2 f f x y f Gx Gy 97
  97. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT f f f G G x y x y f (x 1, y) f (x, y) f (x, y 1) f (x, y) Như vậy: Gx f (x 1, y) f (x, y) Gy f (x, y 1) f (x, y) 98
  98. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT  Trong vùng 3 3, sử dụng ký hiệu z5 của mặt z1 z2 z3 nạ tương ứng với điểm ảnh f(x, y), điểm z1 của mặt nạ tương ứng với điểm ảnh f(x-1, y- z4 z5 z6 1), z7 z8 z9  Xấp xỉ đơn giản nhất đối với đạo hàm bậc nhất thỏa mãn điều kiện: Gx f (x 1, y) f (x, y) Gy f (x, y 1) f (x, y) Gx = (z6 – z5) và Gy = (z8 – z5). 99
  99. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3 Gx (z8 z5 ) và Gy (z6 z5 ) z4 z5 z6 z z z  Khi đó: 7 8 9 1 1 2 2 2 2 2 2 f [Gx Gy ] [(z8 z5 ) (z6 z5 ) ] f z8 z5 z6 z5 100
  100. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3  Hai toán tử khác do Roberts đề nghị như z4 z5 z6 sau: z7 z8 z9 Gx (z9 z5 ) và Gy (z8 z6 ) 1 1 2 2 2 2 2 2 f [Gx Gy ] [(z9 z5 ) (z8 z6 ) ] f z9 z5 z8 z6 101
  101. SỬ DỤNG ĐẠO HÀM BẬC NHẤT TOÁN TỬ GRADIENT z1 z2 z3  Hai toán tử khác do Sobel đề nghị như sau: z4 z5 z6 z7 z8 z9 Gx (z7 2z8 z9 ) (z1 2z2 z3 ) Gy (z3 2z6 z9 ) (z1 2z4 z7 ) f Gx Gy 102
  102. CHÚ Ý  Tổng tất cả các hệ số trong mặt nạ bằng 0. Điều này nhằm làm cho đáp ứng tại những vùng cấp xám không thay đổi có giá trị bằng 0. 103