Xử lí ảnh số - Xử lý ảnh dựa trên morphological

pdf 71 trang vanle 2160
Bạn đang xem 20 trang mẫu của tài liệu "Xử lí ảnh số - Xử lý ảnh dựa trên morphological", để 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:

  • pdfxu_li_anh_so_xu_ly_anh_dua_tren_morphological.pdf

Nội dung text: Xử lí ảnh số - Xử lý ảnh dựa trên morphological

  1. XỬ LÝ ẢNH DỰA TRÊN MORPHOLOGICAL NGÔ QUỐC VIỆT TPHCM-2014
  2. 1. Giới thiệu Binary Morphology 2. Một số khái niệm về tập hợp 3. Các phép toán cơ bản . Phát triển và bào mòn (Dilation and erosion) . Mở và đóng (Opening and closing) . Biến đổi trúng hay trật (Hit-or-miss transformation) 4. Ứng dụng morphology vào các bài toán xử lý ảnh . Dò biên . Trích các thành phần liên thông (Extraction of Connected Components) . Tìm bao lồi (Convex Hull) . Tô vùng (Region Filling) . Làm mảnh (Thinning) . Làm dầy (Thickening) . Lọc xương/Lấy cạnh trung tâm (Skeleton) Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 2
  3. Trang bị kiến thức về cách tiếp cận cấu trúc (tập hợp) vào giải quyết các bài toán xử lý ảnh đã được giải quyết bằng các biến đổi giải tích trước đó, và một số xử lý khác. Trang bị các kỹ năng sử dụng OpenCV để thực hiện các xử lý dựa trên morphology Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 3
  4. Phương pháp phi tuyến Dựa trên lý thuyết tập hợp Minkowski Là một phần của lý thuyết finite lattices Dùng để phân tích ảnh dựa trên hình dáng Phương pháp hiệu quả, nhưng chưa được sử dụng nhiều. Morphology nhị phân là morphology trên ảnh đen trắng cho những bài toán xử lý ảnh cơ bản Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 4
  5. Cải tiến ảnh (image Phân tích hình dáng enhancement) (shape analysis) Phân đoạn ảnh (image Nén ảnh (Image segmentation) compression) Phục hồi ảnh (image Phân tích thành phần restoration) (Component analysis) Dò cạnh Curve filling Phân tích Texture (texture Làm mỏng tổng quát analysis) (General thinning) Phân tích particle Tìm đặc trưng (Feature Phát sinh đặc trưng detection) (feature generation) Giảm nhiễu (Noise Trích xương reduction) (Skeletonization) Lọc không-thời gian (Space-time filtering) Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 5
  6. Ảnh là một ánh xạ I từ tập SP các tọa độ pixel đến tập G các giá trị sao cho mỗi vector tọa độ p = (r,c) trong SP, có một vector I(p) thuộc G. SP được gọi là image plane. Ảnh nhị phân có hai giá trị. Nghĩa là, G = {vfg , vbg}, với vfg là giá trị foreground và vbg là giá trị background. Thông thường, foreground vfg = 0, và background vbg = – . Một số khả năng kháclà {vfg , vbg} = {0, }, {0,1}, {1,0}, {0,255}, và {255,0}. Bài giảng sử dụng {vfg , vbg} = {255, 0} mà không làm mất tính tổng quát. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 6
  7. Foreground của ảnh nhị phân FG I I p , p r , c SP I( p ) v fg  , Tập các vị trí p, với I(p) = vfg. Tương tự background là BG I I p , p r , c SP I( p ) v bg  . Chú ý FG I  BG I I và FG IBG I và BG I FG IC và FG I BG IC. Background là bù của foreground và ngược lại. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 7
  8. A ={(3,1), (4,1),(3,2),(4,2),(3,3)}. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 8
  9. Structuring element là ảnh nhỏ – được dùng làm cửa sổ dịch chuyển – giá của SE thể hiện các pixel lân cận BG is is BG white is FG ; gray Example SEs Example SE có thể có hình dáng và kích thước bất kỳ, hoặc liên thông (nhiều hơn 1 piece, có lỗ). Dấu tròn trên hình thể hiện gốc của SE. Gốc này có thể đặt bất kỳ đâu trong SE. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 9
  10. Cho ảnh I và Z là SE. Z+p nghĩa là Z được dịch chuyển sao cho gốc trùng với vị trí p trong SP. Z+p là translate của Z đến p trong SP. Tập các vị trí trong ảnh ký hiệu bởi Z+p được gọi là Z-neighborhood của p trong I. Ký hiệu là N{I,Z}(p). Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 10
  11. Cho Z là SE và S lưới vuông các vị trí pixlel chứa tập {(r,c), (-r,-c) | (r,c) supp(Z)}. Thì Z(a,b) Z( a, b), (a,b) sup p(Z) Là phản chiếu của structuring element. Z là Z quay 180º quanh gốc của nó. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 11
  12. Phép toán Dilation đối tượng A theo đối tượng Z (thường là SE) được định nghĩa bởi D(A,Z) AZ a z | a A, z B  Đối tượng A tịnh tiến theo từng vectơ (vị trí) trong Z. Kết quả sau khi tịnh tiến tạo ra các đối tượng A1,A2, . An (n là số phần tử trong Z). D(A,Z) là hợp các Ai. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 12
  13. Một số định nghĩa khác về dilation. Tập tất cả vị trí pixel p, trong I  Z p SP (Z p)  I  . ảnh mà phần giao của Ž+p với I khác rỗng. I  Z (Z p). Hội những copies của SE, mỗi bản copy p supp I là dịch chuyển đến vị trí pixel foreground trong ảnh. I  Z (I p). Hội những copies của ảnh, mỗi bản là dịch p supp Z  chuyển đến vị trí pixel foreground của SE. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 13
  14. A = {(2,1),(3,1),(4,1),(3,2)} Z = {(0,0),(0,1)} AZ A1 = {(2,1),(3,1),(4,1),(3,2)} A2 = A tịnh tiến bởi vector (0,1) của Z A1 = A tịnh tiến bởi vector (0,0) của Z A2 = {(2,2),(3,2),(4,2),(3,3)} D(A,B) = A1 U A2 = {(2,1),(3,1),(4,1),(3,2), (2,2),(4,2),(3,3)} Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 14
  15. Sử dụng SE 3x3 – Z8 có dạng cho phép mở rộng đều về cả 8 hướng. 1 1 1 Kết quả dilate trên ảnh mẫu như sau 1 1 1 1 1 1 Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 15
  16. SE được áp lên mọi pixel của ảnh. Tâm của SE được kết hợp với từng pixel, toàn bộ SE được áp cho pixel đang xét theo cách thay thế pixel đó bằng SE. Khái niệp “áp” là hoạt động “công logic nhị phân giữa các giá trị 0, 1”. SE Ảnh nguồn Đã giãn Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 16
  17. Tham khảo mã nguồn openCV_Dilate Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 17
  18. Phép toán Erosion đối tượng A theo đối tượng Z được định nghĩa bởi: E(A,Z) {x | x z A,z Z} Với vector a bất kỳ , khi tịnh tiến a theo từng vectơ trong Z. Kết quả sau khi tịnh tiến a là các vectơ mới: a1,a2, an (n là số lượng phần tử trong Z). Nếu tất cả các vector a1,a2, an đều thuộc A a sẽ thuộc tập E(A,Z). Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 18
  19. Một số định nghĩa khác Tập tất cả các pixel p, I Z p S Z p  I   p trong ảnh sao cho Z+p chứa trong I.  Phần giao của các copies của reflected. I Z  Z p . SE, mỗi cái dịch chuyển đến vị trí pixel p supp I thuộc foreground của ảnh. I Z I p . Phần giao của các copies của mỗi bản   p supp Z sao - là dịch chuyển đến vị trí pixel thuộc goreground của refl. SE. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 19
  20. A = {(1,1),(2,1),(3,1),(4,1),(1,2),(3,2),(1,3),(2,3)} Z= {(1,0),(0,1)} Lấy Vector (1,1) tịnh tiến theo các vector trong Z a1 = (1,1) + (1,0) = (2,1) thuộc A a2 = (1,1) + (0,1) = (1,2) thuộc A (1,1) thuộc E(A,B). Lấy Vecto (3,1) tịnh tiến theo các vector trong Z a1 = (3,1) + (1,0) = (4,1) thuộc A a2 = (3,1) + (0,1) = (3,2) thuộc A (3,1) thuộc E(A,Z). Lấy Vecto (2,2) tịnh tiến theo các vector trong Z a1 = (2,2) + (1,0) = (3,2) thuộc A E(A,Z) = {(1,1),(3,1),(2,2)} a2 = (2,2) + (0,1) = (2,3) thuộc A (2,2) thuộc E(A,Z). Các vectơ khác khi tịnh tiến sẽ có vectơ không thuộc A. Không thuộc E(A,Z) 20
  21. Xét pixel của ảnh, nếu mọi phần tử của SE trùng với phần ảnh tương ứng, thì logical disjunction (OR operation) được thực hiện giữa tâm của SE với pixel tương ứng để tạo ra pixel trong ảnh output . SE Ảnh nguồn Eroded Các đối tượng nhỏ hơn SE sẽ bị xóa, các đối tượng nối với nhau bởi đường mảnh sẽ tách rời và kích cỡ đối tượng sẽ giảm Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 21
  22. Tham khảo mã nguồn openCV_Erode Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 22
  23. Dilate: nhằm tăng kích thước, bịt các lỗ hổng . Có tính giao hoán A(A, B) A B B  A D(B, A) . Có tính kết hợp (A B) C A(B C) Erode : co kích thước, mở rộng khoảng hở . Không có tính giao hoán . Không có tính kết hợp Dilate và erode có tính đối ngẫu Có thể cài đặt erode từ dilate và ngược lại c c c c I  Z I  Z  và I  Z I  Z  . Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 23
  24. Hai phép toán phát triển và bào mòn thường được sử dụng cùng nhau. Từ nhu cầu đó, người ta kết hợp 2 phép toán này để tạo nên một số phép toán có mức độ quan trọng cao hơn: phép mở và phép đóng. Phép mở của tập A bởi phần tử cấu trúc B được định nghĩa như sau: Phép đóng của tập A bởi phần tử cấu trúc B : Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 24
  25. Opening Closing Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 25
  26. Phép mở Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 26
  27. Phép đóng Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 27
  28. Kết quả của phép mở và phép đóng : Kết quả Phép mở Kết quả Phép đóng Ứng dụng  Phép mở có thể sử dụng để loại bỏ các cầu nối, các cành hoặc phần nhô ra của ảnh.  Phép đóng có thể sử dụng để lấp đầy các lỗ hổng, các khe hở nhỏ. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 28
  29. “L” shaped SE Foreground: white pixels Cross-hatched pixels are O marks origin Background: black pixels indeterminate. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 29
  30. Một số tính chất của phép mở: Tính phản mở rộng : Tính đơn điệu tăng : Tính dừng : Một số tính chất của phép đóng : Tính mở rộng : Tính đơn điệu tăng : Tính dừng : Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 30
  31. Tham khảo mã nguồn openCV_OpenClose Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 31
  32. Hit-and-miss được dùng để xác định patterns của foreground và background pixels trong ảnh Xét tập A và một tập hợp B gồm 2 phần tử (B1,B2) với B1 ∩ B2 = Ø, định nghĩa phép biến đổi trúng-trật với công thức như sau (công thức 1) : Một định nghĩa khác về phép biến đổi trúng-trật được xác định bởi (công thức 2): Đụng B1 nhưng không đụng B2. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 32
  33. Xét một ví dụ ứng dụng của phép biến đổi trúng- trật: Xác định vị trí các điểm góc trên bên phải của tập A Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 33
  34. Theo công thức 1, kết quả biến đổi là Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 34
  35. Theo công thức 2, kết quả là Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 35
  36. Top hat được xác định ℎ 푡 = − ∘ với B là SE Bottom-hat được xác định bởi ℎ 푡 = ∙ − với B là SE Sinh viên làm thực nghiệm với ảnh sau và cho nhận xét (đọc tài liệu Gonzalez từ 695-700) Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 36
  37. binary image 8-connected SE 4-conn inside bdry original erosion by square difference Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 37
  38. Gọi biên của đối tượng A là ∂A, lúc đó công thức để tính ∂A như sau: ∂A = A – (A Θ B) B A Θ B ∂A A Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 38
  39. Ảnh nhị phân 4-connected SE 8-conn inside bdry. original erosion by plus Ảnh hiệu - Difference Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 39
  40. binary image 4-connected SE 8-conn outside bdry. original dilation by plus difference Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 40
  41. binary image 8-connected SE 4-conn outside bdry original dilation by square difference Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 41
  42. binary image erosion by square is 8-conn inside bdry is original in erosion by plus in 4-conn inside bdry Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 42
  43. binary image dilation by plus is 8-conn outside bdry is original in dilation by square in 4-conn outside bdry Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 43
  44. inside boundaries are disjoint from outside boundaries 8-bdry/4-bdry/orig all 4 boundaries orig/8-bdry/4-bdry Hình ảnh minh họa trích từ nguồn Vanderbilt University Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 44
  45. Đa giác A được gọi là đa giác lồi (convex) nếu một đường thẳng nối 2 điểm bất kì thuộc A phải nằm trong A Bao lồi (convex hull) H của một tập bất kì S là một đa giác lồi nhỏ nhất chứa tất cả các điểm thuộc S Tập được tạo thành bởi H-S được gọi là tập thiếu của S Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 45
  46. Cho Bi, i=1,2,3,4 biểu diễn 4 thành phần cấu trúc Quy trình bao gồm việc thực hiện các phương trình X i (X Bi )  A, i 1,2,3,4; k 1,2,3, k k 1 X i A 0 i i Đặt D X conv , khi bước thực hiện phương trình i i trên đạt được X k X k 1 Bao lồi của A là 4 i C(A) D i 1 Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 46
  47. 1 2 3 4 Đặt X 0 X 0 X 0 X 0 A Thực hiện với B1 . Thực hiện biến đổi Hit or Miss tập A với B1 cho đến khi không biến đổi được nữa, ta được tập đích Xn. 1 . Hợp Xn với A, gọi là D Thực hiện tương tự với B2, B3, và B4; thu được D2, D3 và D4 Hợp của D1, D2, D3, D4 là bao lồi tìm theo thuật toán này Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 47
  48. B1 B2 B3 B4 x Don’t care x x x x x x x x x x Background x x x x x x x x x x Foreground A Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 48
  49. x x x x x Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 49
  50. 50 x x x x x TS. Ngô Quốc Việt Quốc TS.Ngô - Bài giảng Xử lý ảnh Xử giảngBài
  51. 51 Việt Quốc Ngô TS. - ảnh lý Xử giảng Bài x x x x x
  52. Bài Bài giảng Xử lý ảnh - TS. TS. Ngô Quốc Việt x x x x x 52
  53. D1 D3 4 C(A) Di i 1 D2 D4 Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 53
  54. Tham khảo mã nguồn openCV_ConvexHull Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 54
  55. Làm mỏng một tập A theo một phần tử cấu trúc B được xác định: Hit-or-miss transformation Có thể dùng nhiều SE để làm mảnh A Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 55
  56. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 56
  57. Quá trình làm dày A theo phần tử cấu trúc B được xác định Hit-or-miss transformation Quá trình làm dày cũng được xác định qua một chuỗi phần tử cấu trúc. SE của thickening tương tự như SE của thinning nhưng hoán vị vai trò của zero và 1 Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 57
  58. Tham khảo mã nguồn openCV_ConvexHull Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 58
  59. Đặt Skel(I,r) là tập các pixel trong I sao cho nếu p  Skel(I,r) thì Dp(r), là maximal disk bán kính r trong I. Nghĩa là, Skel(I,r) là quỹ đạo của các tâm của maximal disks bán kính r trong I. Thì S Skel(I,r) r 0 Xương của I là hội của tập tất cả tâm của maximal disk. Maximal disk Dp(r) tiếp xúc với biên của I ít nhất tại hai điểm. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 59
  60. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 60
  61. Ảnh gốc skeleton thô (đỏ) Tỉa nhánh và connected Là tập những tâm skeleton của maximal disks. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 61
  62. non maximal “disks” maximal disks (red) non max & max disks “disks” are squares non max disks (blue) over skeleton Maximal disk tại pixel p là đĩa lớn nhất fg có chứa p. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 62
  63. non maximal “disks” maximal disks (red) non max & max disks “disks” là các square non max disks (blue) over skeleton Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 63
  64. • • • • spurious and disconnected result Note • SE n n n n = = = = = has 3 2 1 0 : : : : Z that is SE SE SE SE 8 = points = = = = the Sq( Sq( Sq( 1 = pixel Sq( 3 7 5 ) ) ) . 3 ) union of all 4 skeleton original Bài Bài giảng Xử lý ảnh to the right top - middle open above erode n=0 w/ Z (n=1) - TS. TS. Ngô Quốc Việt Skel( I, 0 ) top - middle open above erode n=1 w/ Z (n=1) Skel( I, 1 ) top - middle open above erode n=2 w/ Z (n=1) Skel( I, 2 ) top - middle open above erode n=3 w/ Z (n=1) Skel( I, 3 ) 64
  65. Skeleton thô Xem các pixel giả là Tỉa nhánh Có các pixel “giả” Thành phần liên thông Tốt hơn Ít hơn 3 pix. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 65
  66. 2 components 2 other components Giao của pruned skel. dilated. of pruned skel dilated. Các thành phần dilated. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 66
  67. Skeleton thô Skeleton tỉa nhánh reconnected skeleton Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 67
  68. Một trong những cách biểu diển Skeleton của một tập hợp là biểu diển qua openning và erosion. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 68
  69. Quá trình rút xương có thể được biểu diển qua các các thao tác xói mòn (erosion) và mở (opening). Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 69
  70. Tham khảo mã nguồn openCV_Skeleton Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 70
  71. Bài giảng Xử lý ảnh - TS. Ngô Quốc Việt 71