Chương 10: Các kĩ thuật xử lý (Phần 2)

Trở về Mục lục cuốn sách

10.3 Phân đoạn ảnh

Trong việc phân tích các vật thuộc ảnh, ta rất cần phải phân biệt giữa các vật quan tâm và “những thứ còn lại”. Nhóm thứ hai này cũng được gọi là nền. Các kĩ thuật được dùng để tìm thấy các vật quan tâm thường được gọi là kĩ thuật phân đoạn—phân đoạn các vật phía trước khỏi nền phía sau. Trong mục này ta sẽ xét hai kĩ thuật thông dụng nhất—đặt ngưỡng và tìm kiếm nét—đồng thời chúng tôi sẽ trình bày những kĩ thuật cải thiện chất lượng của kết quả phân đoạn thu được. Điều quan trọng là bạn cần hiểu rằng:

  • không có một kĩ thuật phân đoạn nào luôn áp dụng được chung cho tất cả các ảnh, và
  • không có kĩ thuật phân đoạn nào là hoàn hảo.

 

10.3.1 Đặt ngưỡng

Kĩ thuật này được dựa trên một khái niệm đơn giản. Một tham số θ gọi là ngưỡng độ sáng được chọn và áp dụng cho ảnh a[m, n] như sau:

\begin{array}{ll}  \text{N\^{e}\'{u} } a[m,n] \ge \theta & a[m,n] = \text{v\^{a}t} = 1 \\  \text{C\`{o}n kh\^{o}ng th\`{i}} & a[m,n] = \text{n\^{e}\`{n}} = 0 \\  \end{array}      (197)

Dạng thuật toán này có giả thiết rằng ta cần quan tâm đến các vật sáng trên nền tối. Với các vật tối trên nền sáng, ta sẽ dùng:

\begin{array}{ll}  \text{N\^{e}\'{u} } a[m,n] < \theta & a[m,n] = \text{v\^{a}t} = 1 \\  \text{C\`{o}n kh\^{o}ng th\`{i}} & a[m,n] = \text{n\^{e}\`{n}} = 0 \\  \end{array}                 (198)

Kết quả đầu ra là “vật” hoặc “nền” mà do tính phân đôi của nó, có thể biểu diễn thành một biến Boole “1” hoặc “0”. Về nguyên tắc, điều kiện kiểm tra có thể dựa trên một thuộc tính khác nào đó, không phải độ sáng (chẳng hạn, nếu Độ sắc đỏ (redness) {a[m, n]} ≥ θred), nhưng khái niệm thì đều rõ ràng.

Lúc này, câu hỏi trung tâm trong việc đặt ngưỡng trở thành: Ta chọn ngưỡng θ như thế nào? Mặc dù không có thủ tục chung nào để lựa chọn ngưỡng đảm bảo đúng được cho mọi ảnh, ta có nhiều phương án khác nhau.

 •  Ngưỡng cố định – Một phương án là dùng một ngưỡng được chọn độc lập với dữ liệu ảnh. Nếu biết trước là ta đang xử lý các ảnh có độ phân giải lớn trong đó vật rất tối còn nền có tính đồng nhát (Mục 10.1) và rất sáng, thì một ngưỡng không đổi bằng 128 trên thang từ 0 đến 255 có thể đủ chính xác. Nói chính xác nghĩa là số các điểm ảnh bị phân loại sai cần được giữ ở mức thấp nhất.

 •  Ngưỡng được tính từ biểu đồ tần số – Trong hầu hết các trường hợp, ngưỡng được chọn từ biểu đồ tần số độ sáng của miền hoặc ảnh cần phân đoạn (Xem các Mục 3.5.2 và 9.1.) Một ảnh và biểu đồ tần số độ sáng của nó được biểu thị trên Hình 51.

Nhiều kĩ thuật đã được thiết lập để tự động chọn ngưỡng bắt đầu từ biểu đồ tần số độ xám, {h[b]∣b = 0, 1, …, 2B − 1}. Một số dạng thông dụng nhất sẽ được trình bày dưới đây. Nhiều thuật toán trong số này có thể tận dụng từ việc làm trơn số liệu biểu đồ tần số gốc để loại bỏ các nhiễu động nhỏ nhưng thuật toán làm trơn không được dịch chuyển vị trí của đỉnh biểu đồ. Điều này dẫn đến một thuật toán làm trơn có pha bằng không sau đây với giá trị tiêu biểu của W bằng 3 hoặc 5:

\displaystyle{  h_{smooth}[b] = \frac{1}{W} \sum_{w=-(W-1)/2}^{(W-1)/2} h_{raw}[b-w] \quad W \text{ le?} }

(a) Ảnh cần được chọn ngưỡng           (b) Biểu đồ tần số độ sáng của ảnh.

Hình 51: Những điểm ảnh thấp hơn ngưỡng (a[m, n] < θ) sẽ được gán nhãn là điểm ảnh thuộc vật; những điểm ảnh cao hơn ngưỡng gán nhãn là điểm ảnh thuộc nền.

 •  Thuật toán Isodata – Kĩ thuật lặp này để chọn ngưỡng được phát triển bởi Ridler và Calvard.1 Ban đầu biểu đồ tần số được phân đoạn thành hai phần bằng một giá trị ngưỡng ban đầu, chẳng hạn θ0 = 2B − 1, một nửa khoảng động tối đa. Trị trung bình mẫu (mf, 0) của độ xám ứng với các điểm ảnh trên vật và trị trung bình mẫu (mb, 0) của độ xám các điểm ảnh trên nền được tính ra. Bây giờ một giá trị ngưỡng mới θ1 được tính bằng trung bình của hai giá trị trung bình mẫu nói trên. Quá trình được lặp lại, dựa trên ngưỡng mới, cho đến khi giá trị ngưỡng không đổi nữa. Viết thành công thức:

θk = (mf, k − 1 + mb, k − 1) / 2   đến khi   θk = θk − 1

 •  Thuật toán đối xứng-nền – Kĩ thuật này có giả thiết rằng một đỉnh lớn và trội (tách biệt hẳn khỏi nền), và biểu đồ tần số có dạng đối xứng quanh giá trị lớn nhất này. Kĩ thuật có thể có lợi nhờ việc làm trơn, như mô tả bởi PT (199). Đỉnh lớn nhất (maxp) được phát hiện bằng cách tìm kiếm giá trị lớn nhất trên biểu đồ tần số. Sau đó thuật toán tìm kiếm về phía các điểm ảnh không phải vật so với giá trị cực đại đó để tìm ra một điểm p% như trong PT (39).

Ở Hình 51b, trong đó các điểm ảnh thuộc vật đều nằm bên trái đỉnh của nền với độ sáng 183, điều này nghĩa là việc tìm về phía phải của đỉnh này để định vị, chẳng hạn, giá trị 95%. Ở giá trị độ sáng này, 5% số điểm sẽ nằm bên phải (tức là lớn hơn) giá trị đó. Điều này xảy ra ở độ sáng 216 trên Hình 51b. Do tính đối xứng đã giả định, ta lấy ngưỡng bằng một khoảng dịch chuyển về phía trái của điểm cực đại bằng với khoảng dịch chuyển về phía phải tại đó tìm thấy p%. Ở Hình 51b điều này nghĩa là ngưỡng được tính bằng 183 − (216 − 183) = 150. Viết thành công thức:

θ = maxp − (p% − maxp)

Kĩ thuật này có thể dễ dàng điều chỉnh với trường hợp ta có những vật sáng trên nền tối. Hơn nữa, nó dùng được nếu đỉnh biểu đồ tần số của vật thể thực sự lớn và ta có căn cứ để giả sử rằng phân bố độ sáng quanh đỉnh của vật là đối xứng. Một điều thêm vào lớp phương pháp đối xứng này là dùng một ước lượng của độ lệch chuẩn mẫu (s trong PT (37)) dựa trên một phía của đỉnh trội này rồi dùng một ngưỡng dựa trên θ = maxp ± 1. 96s (tại mức 5%) hoặc θ = maxp ± 2. 57s (tại mức 1%). Việc chọn giữa “+” hay “” tùy theo hướng từ đó maxp được xác định làm ngưỡng vật/nền. Nếu các phân bố có dạng xấp xỉ Gauss xung quanh maxp, thì các giá trị 1.96 và 2.57 sẽ tương ứng với các mức 5% và 1%.

 •  Thuật toán tam giác – Kĩ thuật này, do Zack2 đề nghị, được minh họa trên Hình 52. Dựng đường thẳng nối giữa điểm cực đại của biểu đồ tần số tại độ sáng bmax và giá trị thấp nhất bmin = (p = 0)% trên ảnh. Khoảng cách d giữa đường thẳng này và đường đồ thị tần số h[b] được tính cho mọi giá trị của b từ b = bmin đến b = bmax. Giá trị độ sáng bo tại đó khoảng cách giữa h[bo] và đường thẳng đạt lớn nhất chính là giá trị ngưỡng, nghĩa là θ = bo. Kĩ thuật này đặc biệt hiệu quả khi các điểm ảnh thuộc vật tạo nên một đỉnh kém trội trên biểu đồ tần số.

Hình 52: Thuật toán tam giác được dựa trên việc tìm giá trị của b cho ta khoảng cách d lớn nhất.

Ba phương pháp nêu trên cho các giá trị θ = 139 với thuật toán isodata, θ = 150 với thuật toán đối xứng nền ở cấp 5%, và θ = 152 với thuật toán tam giác cho ảnh trên Hình 51a.

Ngưỡng không nhất thiết phải áp dụng cho toàn bộ ảnh mà còn có thể dùng được cho từng vùng ảnh. Chow và Kaneko3 đã xây dựng một biến thể trong đó ảnh M × N được chia thành những vùng không chồng lên nhau. Trên mỗi vùng ta tính ra một ngưỡng và các kết quả tính được sẽ được tập hợp lại (nội suy) để dựng nên một mặt cong ngưỡng cho toàn bộ ảnh. Các vùng cần có kích thước “thích hợp” để có đủ số điểm ảnh trong mỗi vùng phục vụ cho việc ước lượng biểu đồ tần số và ngưỡng. Ứng dụng của phương pháp này—cũng như với các phương pháp khác—phụ thuộc vào bài toán đang xét.

10.3.2 Tìm kiếm nét trên ảnh

Việc áp dụng ngưỡng tạo ra ảnh phân đoạn trong đó tất cả những điểm ảnh, về nguyên tắc, đều thuộc về vật cần quan tâm trong ảnh đó. Một cách làm khác là tìm ra những điểm ảnh nằm ở đường viền các vật. Các kĩ thuật hướng đến mục tiêu này được gọi là kĩ thuật tìm kiếm nét (edge finding). Từ thảo luận ở Mục 9.6 về hình thái toán học, đặc biệt là các PT (79), (163), và (170), ta thấy rằng có mối liên hệ mật thiết giữa các nét và các vùng.

 •  Phương pháp dựa trên gra-đien – Thử thách chính đối với phương pháp tìm kiếm nét là đi tìm những thủ tục nhằm tạo ra các đường viền khép kín xung quanh những vật cần quan tâm. Với các vật có SNR đặc biệt cao, điều này có thể đạt được bằng cách tính gra-đien rồi dùng một ngưỡng thích hợp. Điều này được minh họa trên Hình 53.

(a) SNR = 30 dB                 (b) SNR = 20 dB

Hình 53: Tìm kiếm nét dựa theo gra-đien của Sobel, PT (110), kết hợp với thuật toán ngưỡng Isodata, PT (92).

Mặc dù kĩ thuật này có tác dụng tốt đối với ảnh 30 dB trên Hình 53a, nó lại không cung cấp chính xác những điểm ảnh trên viền của vật thể thuộc ảnh 20 dB trên Hình 53b. Những kĩ thuật làm trơn khác nhau như đã mô tả ở Mục 9.4 và trong PT (181) có thể được dùng để giảm hiệu ứng nhiễu trước khi áp dụng toán tử gra-đien.

 •  Phương pháp dựa trên điểm giao cắt với 0 – Một quan điểm mới hơn để xử lý bài toán tìm nét trong các ảnh nhiễu là dùng các giao điểm với 0 [nghiệm] của toán tử Laplace áp dụng với ảnh (Mục 9.5.2). Nguyên lý bắt nguồn từ một mô hình của nét lý tưởng, đó là hàm bậc thang, được làm nhòe bởi OTF như trên Bảng 4 T.3 (ngoài tiêu cự), T.5 (giới hạn nhiễu xạ), hoặc T.6 (mô hình tổng quát) nhằm tạo ra kết quả như trên Hình 54.

Hình 54: Tìm kiếm nét dựa trên giao điểm của đạo hàm bậc hai (Laplace) với 0. Các đường đồ thị không theo thang tỉ lệ.

Vị trí của nét trên ảnh, theo mô hình, là chỗ mà biểu thức Laplace đổi dấu, hay giao điểm với 0. Vì toán tử Laplace có chứa đạo hàm bậc hai, điều này nghĩa là dễ làm tăng nhiễu trên hình ở những tần số không gian cao; xem PT (114). Để tránh gặp nhiễu tăng cường làm lấn át quá trình tìm kiếm giao điểm 0, ta cần làm trơn ảnh.

Trong số các bộ lọc làm trơn có thể chọn từ Mục 9.4, bộ lọc thích hợp, theo Canny4 cần có những thuộc tính sau:

 •  Trên miền tần số, (u, v) hoặc (Ω , Ψ), bộ lọc phải càng hẹp càng tốt để triệt tiêu được nhiễu cao tần, và;

 •  Trên miền không gian, (x, y) hoặc [m, n], bộ lọc phải càng hẹp càng tốt để định vị được các nét. Bộ lọc quá rộng sẽ tạo ra bất định về vị trí của nét nằm trong khoảng bề rộng của bộ lọc đó.

Bộ lọc làm trơn thỏa mãn được đồng thời hai thuộc tính trên—dải thông nhỏ nhất và bề rộng không gian nhỏ nhất—là lọc Gauss đã mô tả ở Mục 9.4. Điều này nghĩa là ảnh cần được làm trơn với hàm Gauss có giá trị σ phù hợp, sau đó áp dụng toán tử Laplace. Viết thành công thức:

ZeroCrossing{a(x, y)} = {(x, y)∣∇2{g2D(x, y) ⊗ a(x, y)} = 0}

trong đó g2D(x, y) đã định nghĩa ở PT (93). Toán tử đạo hàm là tuyến tính và bất biến với dịch chuyển như đã định nghĩa trong các PT (85) và (86). Điều này nghĩa là bậc của các toán tử có thể được tráo đổi (PT (4)) hoặc kết hợp thành một bộ lọc (PT (5)). Cách thứ hai này dẫn đến công thức Marr-Hildreth cho bộ lọc “Laplace của dạng Gauss” (LoG):5

ZeroCrossing{a(x, y)} = {(x, y)∣LoG(x, y) ⊗ a(x, y) = 0}

trong đó


Cho trước dạng đối xứng vòng, PT trên có thể được viết thành:

\displaystyle{  LoG(r) = \left(\frac{r^2 - 2\sigma^2}{2\pi\sigma^6} \right) e^{(-r^2/2\sigma^2)} }

Nhân tích chập hai chiều này, đôi khi còn được gọi là bộ lọc “mũ kiểu Mexico”, như được minh họa trên Hình 55.

(a)  − LoG(x, y)             (b) LoG(r)

Hình 55: Bộ lọc LoG với σ = 1. 0.

 •  Phương pháp dựa trên PLUS – Trong số các phương pháp giao cắt 0 để phát hiện đường nét, có lẽ phương pháp chính xác nhất là lọc PLUS do Verbeek và Van Vliet6 xây dựng. Bộ lọc này được định nghĩa, bằng các PT (121) và (122), như sau:

\begin{array}{ll}  PLUS(a) & = SDGD(a) + Laplace(a) \\  & = \displaystyle{ \left( \frac{A_{xx} A_x^2 + 2 A_{xy} A_x A_y + A_{yy} A_y^2 } {A_x^2 + A_y^2} \right) + (A_{xx} + A_{yy}) } \\  \end{array}

Trong mục này ta không cách diễn giải những thuộc tính của PLUS cũng như đánh giá độ chính xác của phương pháp này. Chỉ có nhận định rằng, với những nét cong uốn theo hướng “dương” trong ảnh thang độ xám, thì phương pháp nghiệm Laplace thường ước tính thiên lớn vị trí của nét còn phương pháp SDGD ước tính thiên nhỏ. Điều này đúng cả với ảnh hai chiều và 3 chiều với sai số cỡ (σ / R)2 trong đó R là bán kính cong của đường nét. Toán tử PLUS có sai số cỡ (σ / R)4 nếu ảnh được lấy mẫu ít nhất là 3 ×  tần số lấy mẫu Nyquist thông thường theo PT (56) hoặc nếu ta chọn σ ≥ 2. 7 và lấy mẫu với tần số Nyquist thông thường.

Tất cả các phương pháp dựa trên nghiệm biểu thức Laplace phải có khả năng phân biệt giữa giao cắt 0 và giá trị 0. Nếu như cái đầu tiên biểu hiện cho vị trí các đường nét, thì cái thứ hai có thể được tạo ra bởi những vùng không phức tạp hơn các mặt tuyến tính hai chiều, nghĩa là, a(x, y) = a0 + a1 • x + a2 • y + a3 • x • y. Để phân biệt giữa hai trường hợp này, trước hết ta tìm các vị trí giao cắt với 0 và đánh số chúng là “1” còn những điểm ảnh khác là “0”. Sau đó ta nhân ảnh kết quả với một thang đo cường độ nét với mỗi điểm ảnh. Có những thang đo khác nhau cho cường độ nét, như mô tả trong Mục 9.5.1 và PT (182). Khả năng sau cùng này, việc dùng một gra-đien hình thái làm thang đo cường độ nét, được Lee, Haralick, và Shapiro7 lần đầu thiết lập; cách này đặc biệt hiệu quả. Sau khi nhân, ta sẽ áp dụng ngưỡng cho ảnh (như trước đây) để tìm được kết quả cuối cùng. Như vậy quy trình của phương pháp sẽ như sau:8

Hình 56: Chiến lược chung để phát hiện đường nét dựa trên giao cắt 0.

Kết quả của hai kĩ thuật tìm kiếm đường nết này dựa trên giao cắt 0: lọc LoG và lọc PLUS, được biểu thị trên Hình 57 với những ảnh có SNR bằng 20 dB.

Hình 57: Tìm kiếm đường nét dựa trên các thuật toán giao cắt 0 là LoGPLUS. Trong cả hai thuật toán, σ = 1. 5.

Các kĩ thuật tìm kiếm đường nét, giống như tên gọi của chúng, cho ta một ảnh bao gồm tập hợp các điểm ảnh tạo nên đường nét. Nếu như các điểm ảnh nét này tương ứng với các đối tượng, thay vì, chẳng hạn, chỉ là những đường đơn giản trên ảnh, thì một kĩ thuật tô màu vùng như PT (170) có thể được dùng để cho ta các vật hoàn thiện.

10.3.3 Hình thái toán nhị phân

Các thuật toán hình thái toán học đã mô tả ở Mục 9.6 có thể được kết hợp thành những kĩ thuật mạnh phục vụ xử lý ảnh nhị phân và ảnh thang độ xám. Vì ảnh nhị phân thường là kết quả từ quá trình phân đoạn trên ảnh thang độ xám nên việc xử lý hình thái của kết quả nhị phân cho phép ta cải thiện kết quả phân đoạn.

 •  Lọc muối tiêu – Các thủ thuật phân đoạn thường cho kết quả các điểm ảnh “1” cô lập giữa các lân cận toàn bộ là “0” (muối) hoặc điểm “0” cô lập giữa các điểm lân cận “1” (hạt tiêu). Định nghĩa về lân cận một cách thích hợp phải được chọn như trên Hình 3. Bằng cách dùng bảng tra các phép toán Boole trong vùng lân cận 3 × 3 đã mô tả cùng Hình 43, ta có thể trực tiếp lập trình lọc muốilọc tiêu. Ta đặt trọng số cho các vị trí khác nhau trong vùng lân cận 3 × 3 như sau:

Weights = \left[ \begin{array}{ccc}  w_4 = 16 & w_3 = 8 & w_2 = 4 \\  w_5 = 32 & w_0 = 1 & w_1 = 2 \\  w_6 = 64 & w_7 = 128 & w_8 = 256 \\  \end{array}  \right]

Với một khung 3 × 3 trong a[m, n] với các giá trị “0” hoặc “1” ta đi tính:

sum = w0a[m, n] + w1a[m + 1, n] + w2a[m + 1, n − 1] + w3a[m, n − 1] + w4a[m − 1, n − 1] + w5a[m − 1, n] + w6a[m − 1, n − 1] + w7a[m, n + 1] + w8a[m + 1, n − 1]

Kết quả, sum, là số bị chặn: 0 ≤ sum ≤ 511.

 •  Lọc muối – Các dạng liên thông-4 và liên thông-8 của bộ lọc này thì giống nhau và được cho bởi giải thuật sau:

i) Tính sum
ii) If ((sum == 1)   c[m, n] = 0            (209)
Else c[m, n] = a[m, n]

 •  Lọc tiêu – Các dạng liên thông-4 và liên thông-8 của bộ lọc này được cho bởi giải thuật sau:

Liên thông-4 Liên thông-8
i) Tính sum i) Tính sum
ii) If ( (sum == 170) ii) If ( (sum == 510)
c[m,n] = 1 c[m,n] = 1                           (210)
Else Else
c[m,n] = a[m,n] c[m,n] = a[m,n]

 •  Cô lập những vật có lỗ hổng – Để tìm những vật có lỗ hổng ta có thể dùng giải thuật sau, vốn được minh họa trên Hình 58.

i) Phân đoạn ảnh để tạo ra hình thức mặt nạ nhị phân
ii) Tính bộ khung loại trừ các điểm ảnh đầu cuối – PT (169)
iii) Dùng lọc muối để xóa các điểm ảnh đơn lẻ khỏi khung             (211)
iv) Lan truyền những điểm ảnh còn lại trên khung vào mặt nạ nhị phân ban đầu – PT (170)

a) Ảnh nhị phân    b) Khung sau khi lọc muối     c) Đối tượng có lỗ hổng

Hình 58: Cô lập các đối tượng có lỗ hổng bằng các phép toán hình thái.

Những đối tượng nhị phân được tô màu xám; các bộ khung, sau khi áp dụng lọc muối, được tô màu đen và đặt lên trên các vật nhị phân. Lưu ý rằng phương pháp này không dùng thông số nào ngoài chọn lựa cơ bản tính liên thông; nó không chứa “số kì diệu” nào [những hằng số được cài vào khi thực hiện giải thuật]. Trong ví dụ biểu diễn trên Hình 58, ta đã dùng định nghĩa liên thông-8 cũng như phần tử cấu trúc B = N8.

 •  Lấp đầy lỗ hổng trong các vật – Để lấp đầy lỗ hổng trong các vật ta dùng thuật toán sau, minh họa trên Hình 59.

i) Phân đoạn ảnh để tạo ra hình thức mặt nạ nhị phân
ii) Tính phần bù của ảnh nhị phân để làm ảnh mặt nạ
iii) Phát sinh một ảnh hạt nhân làm biên giới của ảnh                  (212)
iv) Lan truyền ảnh hạt nhân vào trong mặt nạ – PT (97)
v) Lấy phần bù kết quả của việc lan truyền nhằm tạo ra kết quả cuối cùng.

a) Mặt nạ và ảnh hạt nhân           b) Đối tượng với các lỗ hổng được lấp đầy

Hình 59: Lấp đầy các lỗ hổng thuộc vật.

Ảnh mặt nạ được tô màu xám trên Hình 59a và ảnh hạt nhân được tô màu đen trên cùng hình đó. Khi các điểm ảnh thuộc vật được quy định với độ liên thông C = 8, thì sự lan truyền vào trong ảnh mặt nạ (nền) cần được thực hiện bằng độ liên thông C = 4, nghĩa là giãn nở với phần tử cấu trúc B = N4. Thuật toán này cũng không chứa “số kì diệu”.

 •  Xóa bỏ các vật tiếp xúc đường biên – Các vật liên thông với biên ảnh đều không thích hợp cho việc phân tích. Để loại bỏ chúng, ta có thể dùng một loạt cá phép toán hình thái như được minh họa trên Hình 60.

i) Phân đoạn ảnh để tạo ra các ảnh mặt nạ nhị phân cuả vật
ii) Phát sinh một ảnh hạt nhân làm đường biên của ảnh gốc                    (213)
iv) Lan truyền ảnh hạt nhân vào mặt nạ – PT (97)
v) Tính XOR của kết quả lan truyền và ảnh mặt nạ để thu được kết quả cuối cùng

a) Các ảnh mặt nạ và hạt nhân              b) Những vật còn lại

Hình 60: Xóa bỏ các vật tiếp xúc đường biên.

Ảnh mặt nạ được tô màu xám trên Hình 60a còn ảnh hạt nhân được tô màu đen trên cùng hình vẽ. Nếu phần tử cấu trúc dùng trong phép lan truyền là B = N4, thì các vật được xóa bỏ sẽ là vật liên thông-4 đối với đường biên của ảnh. Nếu dùng B = N8 thì các vật liên thông-8 với đường biên được xóa bỏ.

 •  Khung ngoàiKhung ngoài (exo-skeleton) của một tập hợp các vật là khung của nền chứa các vật. Khung ngoài tạo nên sự phân chia ảnh thành các vùng mà mỗi vùng chứa một vật. Việc tạo khung thực tế (PT (169)) được thực hiện mà không bảo tồn các điểm đầu cuối, đồng thời đường biên được đặt về “0.” Quy trình được mô tả dưới đây và kết quả được minh họa trên Hình 61.

i) Phân đoạn ảnh để tạo ra ảnh nhị phân
ii) Tính phần bù của ảnh nhị phân                                              (214)
iii) Tính khung bằng PT (169)i+ii trong đó đường biên được đặt là “0”

Hình 61: Khung ngoài.

 •  Các vật tiếp xúc nhau – Thuật toán phân đoạn thường gặp khó khăn khi phân tách những vật riêng biệt nhưng hơi chạm nhau. Quy trình sau đây cho ta cơ chế phân tách các vật này và hạn chế tối thiểu việc dùng “số kì diệu”. Ở đây, khung ngoài giúp phân đoạn ảnh thành các vùng, mỗi vùng chứa một vật. Khâu tạo lập khung được thực hiện mà không bảo tồn các điểm ảnh đầu cuối và với đường biên đặt là “0.” Quy trình này được minh họa trên Hình 62.

i) Phân đoạn ảnh để tạo ra ảnh nhị phân
ii) Tính một “số ít” các bào mòn với B = N4
iii) Tính khung ngoài của kết quả sau khi bào mòn                 (215)
iv) Lấy phần bù kết quả khung ngoài
v) Tính AND của ảnh nhị phân gốc và khung ngoài được bù

a) Các ảnh bị bào mòn và khung ngoài     b) Các vật sau khi phân tách (chi tiết)

Hình 62: Phân tách các vật tiếp xúc nhau.

Ảnh nhị phân sau khi bào mòn được tô màu xám trên Hình 62a và ảnh khung ngoài tô màu đen trên cùng hình vẽ. Một bộ phận kết quả được phóng to được chỉ ra trên Hình 62b và ta có thể dễ thấy sự phân cách. Quy trình này có chứa một số ít (tối thiểu) những bào mòn nhưng con số này không đến mức gây hại, miễn là nó chỉ khởi đầu sự phân tách sơ lược giữa những vật cần quan tâm. Việc phân tách thật sự được thực hiện bởi khung ngoài, mà bản thân nó không chứa bất kì “số kì diệu” nào. Nếu khung ngoài có liên thông-8 thì nền phân chia giữa các vật thể cũng sẽ liên thông-8. Bản thân các vật sẽ được cắt đứt khỏi nhau bởi tiêu chí liên thông-4. (Xem Mục 9.6 và Hình 36.)

10.3.4 Hình thái toán học dùng với thang độ xám

Như ta đã thấy ở Mục 10.1.2, các kĩ thuật xử lý hình thái độ xám có thể dùng được cho các bài toán thực tế như điều chỉnh che bóng. Trong mục này, một số kĩ thuật khác cũng được đề cập đến.

 •  Biến đổi trụ tròn – Việc cô lập các đối tượng với thang độ xám, dạng lồi, có thể thực hiện được bằng phép biến đổi trụ tròn do Meyer9 10 phát triển. Tùy theo trường hợp ta cần xử lý các vật sáng trên nền tối hay vật tối trên nền sáng, phép biến đổi này sẽ được định nghĩa như sau:

Vật sáng –    TopHat(\textbf{A},\textbf{B}) = \textbf{A} - (\textbf{A} \circ \textbf{B}) = \textbf{A} - \underset{\textbf{B}}{\max} (\underset{\textbf{B}}{\min} (\textbf{A}))     (216)

Vật tối –    TopHat(\textbf{A},\textbf{B}) = (\textbf{A} \bullet \textbf{B}) - \textbf{A} = \underset{\textbf{B}}{\min} (\underset{\textbf{B}}{\max} (\textbf{A})) - \textbf{A}      (217)

trong đó phần tử cấu trúc B được chọn phải lớn hơn các vật quan tâm và, nếu được, cần có hình dạng lồi. Do các thuộc tính theo các PT (155) và (158), TopHat(A, B) ≥ 0. Một ví dụ cho kĩ thuật này được thể hiện trên Hình 63.

Ảnh gốc bao gồm cả bóng được xử lý bằng phần tử cấu trúc 15 × 1 như mô tả bằng các PT (216) và (217) để tạo ra kết quả mong muốn. Lưu ý rằng phép biến đổi áp dụng với vật tối đã được định nghĩa theo cách sao cho kết quả là vật “dương” chứ không phải vật “âm”. Dĩ nhiên là còn có thể dùng những định nghĩa khác.

 •  Đặt ngưỡng – Một ước lượng đơn giản cho mặt ngưỡng thay đổi theo địa phương có thể được suy từ việc xử lý hình thái như sau:

Mặt ngưỡng –     θ[m, n] = ½(max(A) + min(A))     (218)

Một lần nữa, ta không viết kí hiệu phần tử cấu trúc B dưới các toán tử maxmin để làm công thức dễ nhìn hơn. Tuy vậy cách dùng của nó đã được hiểu rõ.

(a) Ảnh gốc    (b) Biến đổi vật sáng   (c) Biến đổi vật tối

Hình 63: Biến đổi trụ tròn.

 •  Giãn tương phản địa phương – Bằng các phép tính hình thái, ta có thể thực hiện một kĩ thuật để giãn tương phản địa phương (local contrast stretching). Có nghĩa là, độ giãn được áp dụng trên một vùng lân cận sẽ được kiểm soát bởi độ tương phản ban đầu của vùng đó. Gra-đien hình thái định nghĩa theo PT (182) cũng có thể coi là liên quan đến một độ đo mức tương phản địa phương trong khung ảnh xác định bởi phần tử cấu trúc B:

LocalContrast(A, B) = max(A) − min(A)            (219)

Thủ tục giãn tương phản địa phương được cho bởi:

\displaystyle{  c[m,n] = scale \bullet \frac{\textbf{A} - \min(\textbf{A}) } { \max(\textbf{A}) - \min(\textbf{A}) } }   (220)

Các toán tử maxmin được áp dụng lên phần tử cấu trúc B. Hiệu ứng của thủ tục này được minh họa trên Hình 64. Rõ ràng là phép tính địa phương này là một trường hợp suy rộng của phép tính theo điểm trong giãn tương phản đã đề cập đến ở PT (77).

↑ trước    sau ↑                       ↑ trước   sau ↑                               ↑ trước   sau ↑

Hình 64: Giãn tương phản địa phương.

Dùng các ảnh kiểm tra tiêu chuẩn (như ta đã gặp ở rất nhiều ví dụ) cho thấy sức mạnh của phương pháp lọc hình thái địa phương này.


  1. 35. Ridler, T.W. và S. Calvard, Picture thresholding using an iterative selection method. IEEE Trans. on Systems, Man, and Cybernetics, 1978. SMC-8(8): p. 630-632.
  2. Zack, G.W., W.E. Rogers, và S.A. Latt, Automatic Measurement of Sister Chromatid Exchange Frequency. 1977. 25(7): p. 741-753.
  3. Chow, C.K. và T. Kaneko, Automatic boundary detection of the left ventricle from cineangiograms. Computers và Biomedical Research, 1972. 5: p. 388-410.
  4. Canny, J., A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986. PAMI-8(6): p. 679-698.
  5. Marr, D. and E.C. Hildreth, Theory of edge detection. Proc. R. Soc. London Ser. B., 1980. 207: p. 187-217.
  6. Verbeek, P.W. and L.J. Van Vliet, On the Location Error of Curved Edges in Low-Pass Filtered 2D and 3D Images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994. 16(7): p. 726-733.
  7. Lee, J.S.L., R.M. Haralick, and L.S. Shapiro. Morphologic Edge Detection, in 8th International Conference on Pattern Recognition. 1986. Paris: IEEE Computer Society.
  8. Van Vliet, L.J., I.T. Young, and A.L.D. Beckers, A Non-linear Laplace Operator as Edge Detector in Noisy Images. Computer Vision, Graphics, and Image Processing, 1989. 45: p. 167-195.
  9. Meyer, F. and S. Beucher, Morphological Segmentation. J. Visual Comm. Image Rep., 1990. 1(1): p. 21-46.
  10. Meyer, F., Iterative Image Transformations for an Automatic Screening of Cervical Cancer. Journal of Histochemistry and Cytochemistry, 1979. 27: p. 128-135.

4 phản hồi

Filed under Cơ sở

4 responses to “Chương 10: Các kĩ thuật xử lý (Phần 2)

  1. Pingback: Cơ sở Xử lý ảnh | Blog của Chiến

  2. Hoang Ngoc

    Anh ơi !!! anh chỉ giúp em về Thuật toán đối xứng nền được không ?? đọc nhưng em không hiểu lắm ạ . bọn em đang phải làm bt lớn về cái này (code bằng Matlab), thứ 2 phải nộp bài rồi ạ , … anh chỉ giúp với , nếu như có code thì cho em xin với …. please …:((

    • Nếu có cần tìm tài liệu thì mình có thể giúp. Còn mã lệnh MATLAB thì chắc các bạn implement mới biết được rõ nhất chứ. Hơn nữa, phần bàn luận và giải bài tập có khi phải bố trí forum riêng chứ blog thì khó đấy.

  3. Xin lỗi anh có tài liệu nào hay về thuật toán đồi xứng nền k ạ cho em xin với. Em đang làm bài tập minh họa thuật toán này
    Đây là e-mail của em ạ: alyssachialove1992@gmail.com

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s