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

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

Những thuật toán được trình bày trong Chương 9 có thể được dùng để lập nên những kĩ thuật giải các bài toán xử lý ảnh cụ thể. Với giả định không nhằm trình bày lời giải cho mọi bài toán, những ví dụ sau đây đề cập đến mối quan tâm chung và có thể được dùng làm mô hình giải quyết các bài toán có liên quan.

10.1 Điều chỉnh hiệu ứng che bóng

Phương pháp để tạo ảnh—sự tương tác giữa vật thể thực, sự chiếu sáng, và máy ảnh— thường dẫn đến những tình huống trong đó ảnh bộ lộc hiện tượng che bóng đáng kể lên trường quan sát. Ở một số trường hợp, ảnh có thể sáng ở giữa và độ sáng giảm đi khi di chuyển ra phía rìa của trường quan sát. Ở những trường hợp khác, ảnh có thể bị tối hơn ở phía trái so với phía phải. Hiệu ứng che bóng có thể gây ra bởi sự chiếu sáng không đồng đều, độ nhạy máy ảnh không đều, hoặc thậm chí cả bụi trên bề mặt thấu kính. Nói chung hiệu ứng che bóng này là không mong muốn. Việc loại trừ nó thường rất cần thiết để phục vụ các khâu xử lý tiếp theo, đặc biệt là những trường hợp mục tiêu cuối cùng là phân tích ảnh hoặc hiểu ảnh.

10.1.1 Mô hình che bóng

Nhìn chung ta sẽ bắt đầu bằng một mô hình che bóng. Độ chiếu sáng Iill(x, y) thường có tương tác theo cấp độ nhân với vật a(x, y) để tạo nên ảnh b(x, y):

b(x, y) = Iill(x, y) • a(x, y)     (184)

với vật biểu diễn các dạng tiếp nhận tín hiệu ảnh khác nhau như:

a(x,y) = \left\{ \begin{array}{ll}  r(x,y) & \text{m\^o h\`inh phan xa.} \\  10^{-OD(x,y)} & \text{m\^o h\`inh h\^a\'p thu.} \\  c(x,y) & \text{m\^o h\`inh hu\`ynh quang} \\  \end{array} \right.

trong đó tại vị trí (x, y), r(x, y) là độ phản xạ, OD(x, y)mật độ quang, còn c(x, y) là nồng độ chất huỳnh quang. Cần nói thêm là, chúng ta nhận thấy rằng mô hình huỳnh quang chỉ đúng ở những nồng độ thấp. Máy ảnh có thể đóng góp các lượng gainoffset, nhưng trong PT (74), vì vậy:

Tổng độ che bóng –     c[m, n] = gain[m, n] • b[m, n] + offset[m, n]
= gain[m, n] • Iill[m, n] • a[m, n] + offset[m, n]
        (186)

Nhìn chung ta giả sử rằng Iill[m, n] biến đổi chậm so với a[m, n].

10.1.2 Ước tính độ che bóng

Ta phân biệt giữa hai trường hợp xác định a[m, n] bắt nguồn từ c[m, n]. Trong cả hai trường hợp ta đều dự định tính các số hạng che bóng, {gain[m, n] • Iill[m, n]}{offset[m, n]}. Ở trường hợp đầu ta giả thiết rằng chỉ có ảnh được chụp c[m, n] mà ta cần xử lý, nhưng ở trường hợp sau, ta giả sử rằng cso thể chụp hai ảnh thêm nữa phục vụ việc kiểm định.

 •  Ước lượng sau – Trong trường hợp này ta cố gắng kết xuất lượng ước tính che bóng từ c[m, n]. Những khả năng thường gặp nhất gồm có:

Lọc thông thấp – Ta đi tính một dạng làm trơn của c[m, n] trong đó độ làm trơn là rộng so với kích thước vật thể trong ảnh. Dạng làm trơn này được dùng với mục đích ước tính nền của ảnh. Sau đó ta lấy c[m, n] trừ đi dạng làm trơn rồi khôi phục lại giá trị DC cần tìm, theo công thức:

Lọc thông thấp –   â [m, n] = c[m, n] − LowPass{c[m, n]} + constant    (187)

trong đó â [m, n] là ước lượng của a[m, n]. Việc chọn lọc thông thấp phù hợp đồng nghĩa với việc biết được các tần số không gian thích hợp trên miền Fourier ở đó các số hạng che bóng có vai trò áp đảo.

Lọc homomorphic – Ta lưu ý rằng, nếu offset[m, n] = 0, thì c[m, n] chỉ chứa các thừa số. Hơn nữa, lượng {gain[m, n] • Iill[m, n]} chỉ thay đổi chậm trong khi a[m, n] có thể không như vậy. Từ đó, ta lấy logarit của c[m, n] để tạo ra hai đại lượng mà một trong số đó có tần số thấp và đại lượng kia có tần số cao. Ta triệt tiêu độ bóng bằng cách lọc thông cao cho logarit của c[m, n] rồi sau đó tính hàm mũ (ngược với logarit) để khôi phục ảnh. Công đoạn này được dựa theo lọc homomorphic do Oppenheim, Schafer và Stockham1 xây dựng, theo công thức:

i) c[m, n] = gain[m, n] • Iill[m, n] • a[m, n]

ii) \ln \{ c[m,n] \} = \ln \left\{ \underbrace{gain[m,n] \bullet I_{ill}[m,n]}_{\text{thay d\^oi ch\^am}} \} \right\}  + \ln \left\{ \underbrace{a[m,n]}_{\text{thay d\^oi nhanh}} \right\}   (188)
iii)HighPass{ln{c[m, n]}} ≈ ln{a[m, n]}

ivâ [m, n] = exp{HighPass{ln{c[m, n]}}}

Lọc hình thái – Một lần nữa, ta đi tính dạng làm trơn của c[m, n] trong đó độ làm trơn là rộng so với kích thước vật thể trong ảnh, nhưng lần này dùng làm trơn hình thái như ở PT (181). Dạng làm trơn này là ước lượng cho nền của ảnh. Sau đó ta lấy c[m, n] trừ đi dạng làm trơn rồi khôi phục giá trị DC mong muốn, theo công thức:

â [m, n] = c[m, n] − MorphSmooth{c[m, n]} + constant           (189)

Việc chọn khung lọc hình thái thích hợp đồng nghĩa với việc biết (hoặc ước lượng) được kích thước của các vật lớn nhất cần quan tâm.

 •  Ước lượng trước – Nếu có thể dùng máy chụp lại các ảnh để kiểm tra (kiểm định) thì kĩ thuật phù hợp nhất để bỏ hiệu ứng che bóng là chụp hai ảnh – BLACK[m, n]WHITE[m, n]. Ảnh BLACK được tạo thành từ việc che thấu kính, dẫn tới b[m, n] = 0 và đến lượt nó, lại đưa đến BLACK[m, n] = offset[m, n]. Ảnh WHITE được phát sinh bằng cách dùng a[m, n] = 1, từ đó cho ta WHITE[m, n] = gain[m, n] • Iill[m, n] + offset[m, n]. Theo đó phép hiệu chỉnh trở thành:

\hat{a}\;[m,n] = constant \bullet \frac{c[m,n] - BLACK [m,n]} {WHITE[m,n] - BLACK[m,n] }          (190)

Hệ số constant được chọn để tạo ra ảnh đúng với khoảng động mong muốn.

Hiệu ứng của những kĩ thuật trên đối với dữ liệu ở Hình 45 được cho thấy trên Hình 47. Bóng ở đây là một dốc màu tuyến tính đơn giản, tăng dần từ trái sang phải; các vật có chứa những dạng đỉnh Gauss với các bề rộng thay đổi.

Hình 47: So sánh các thuật toán khác nhau để chỉnh sửa che bóng. Kết quả cuối cùng (e) giống hệt với ảnh gốc (không có ở đây). Chú thích: a) Ảnh ban đầu b) Chỉnh sửa với lọc thông thấp c) Chỉnh sửa với lọc logarit d) Chỉnh sửa với lọc max /min e) Chỉnh sửa với các ảnh kiểm tra.

Tóm lại, nếu có được các ảnh kiểm định BLACKWHITE thì công thức (190) thường được dùng hơn. Còn nếu không thì phải dùng một trong những công thức còn lại.

10.2 Các phương pháp tăng cường chất lượng và phục chế ảnh cơ bản

Quá trình thu nhận ảnh thường xuyên dẫn đến (không thể tránh được) sự suy giảm chất lượng ảnh. Do cơ chế máy móc, sự mờ do chệch tiêu cự, do chuyển động, do sự chiếu sáng không thích hợp, và do nhiễu động mà chất lượng của ảnh số có thể kém hơn ảnh gốc. Mục đích của việc tăng cường chất lượng ảnh là—bắt đầu từ ảnh chụp c[m, n]—ta tạo ra ảnh có tính thẩm mỹ cao nhất â [m, n]. Mục tiêu của việc phục chế ảnh là—bắt đầu từ ảnh chụp c[m, n]—ta tạo ra ảnh ước lượng â [m, n] giống nhất với ảnh gốc a[m, n]. Mục tiêu của tăng cường chất lượng là vẻ đẹp, còn mục tiêu của phục chế là sự thật.

Độ đo mức thành công trong việc phục chế thường là mức sai số giữa ảnh gốc a[m, n] và ảnh ước lượng â [m, n]: E{â [m, n], a[m, n]}. Không có hàm sai số toán học nào được biết có thể tương ứng với sự nhfi nhận con người trong việc đánh giá sai số. Hàm sai số quân phương thường được dùng vì:

  • Tính được dễ dàng;
  • Khả vi, do đó có thể tìm được cực tiểu;
  • Tương ứng với “năng lượng tín hiệu” trong sai số tổng cộng, và;
  • Có những thuộc tính hay so với định lý Parseval, các PT (22) và (23).

Sai số quân phương được định nghĩa bởi:

E\{\hat{a}, a\} = \frac{1}{MN} \sum_{m=0}^{M-1} \sum_{n=0}^{N-1} |\hat{a}\;[m,n] - a[m,n]|^2    (191)

Trong một số kĩ thuật tính, không cần đo sai số; ở những kĩ thuật tính khác, phải có sai số phục vụ cho việc đánh giá và so sánh.

10.2.1 Mặt nạ giảm độ sắc nét

Một kĩ thuật nhiếp ảnh được biết nhiều đến, để tăng chất lượng hiển thị của ảnh là làm rõ các nét ranh giới của ảnh. Kĩ thuật này được gọi là mặt nạ làm giảm độ sắc nét (unsharp). Việc làm rõ các nét có nghĩa là trước hết, cần cô lập các nét có trong ảnh, khuếch đại chúng rồi trả chúng về ảnh ban đầu. Xem kĩ Hình 33, ta thấy toán tử Laplace là một cơ chế cô lập những nét trên thang độ xám. Điều này trực tiếp dẫn đến kĩ thuật này:

â [m, n] = a[m, n] − (k • ∇2a[m, n])       (192)

Hệ số k là hệ số khuếch đại và k > 0. Hiệu ứng của kĩ thuật này được cho thấy ở Hình 48.

Toán tử Laplace dùng để tạo ra Hình 48 được cho bởi PT (120) và hệ số khuếch đại k = 1.

                                         Ảnh gốc  ↑            ↑  Tăng cường bằng toán tử Laplace

Hình 48: Ảnh được làm rõ các đường nét so với ảnh gốc

10.2.2 Triệt tiêu nhiễu

Các kĩ thuật hiện có để triệt tiêu nhiễu dó thể được chia thành những kĩ thuật dựa trên thông tin thời gian và kĩ thuật dựa trên thông tin không gina. Nói “thông tin thời gian” nghĩa là có một dãy các ảnh {ap[m, n]∣p = 1, 2, …, P} chứa đúng vật thể đó và chỉ khác ở sự hiện diện các nhiễu khác nhau. Nếu như vậy, đồng thời nhiễu có tính cộng, thì việc lấy trung bình dãy ảnh đó:

Trung bình theo thời gian –      â [m, n] = (1/P) ∑ p=1P ap[m, n]       (193)

sẽ tạo ra ảnh kết quả mà giá trị trung bình của mỗi điểm ảnh sẽ không đổi. Tuy nhiên, với mỗi điểm ảnh, độ lệch chuẩn sẽ giảm từ σ xuống còn σ / √P.

Nếu không thể lấy trung bình theo thời gian, thì có thể dùng cách lấy trung bình theo không gian để giảm nhiễu. Tuy nhiên với điều này ta thường phải trả giá ở độ sắc nét của ảnh. Có 4 lựa chọn hiển nhiên cho việc lấy trung bình theo không gian là các thuật toán làm trơn được trình bày ở Mục 9.4 – lọc Gaussian (PT (93)), lọc trung vị, lọc Kuwahara, và làm trơn hình thái (PT (181)).

Trong lớp các bộ lọc tuyến tính, bộ lọc tốt nhất để phục chế ảnh khi có nhiễu là lọc Wiener.2 “Tốt nhất” ở đây nghĩa là có sai số quân phương (mean-square error, mse) nhỏ nhất. Vì phép toán căn bậc hai có tính đơn điệu tăng, nên lọc tốt nhất cũng làm giảm thiểu sai số căn quân phương (root mean-square error, rms). Lọc Wiener được đặc trưng ở miền Fourier và với các nhiễu cộng tính, không phụ thuộc vào tính hiệu, thì bộ lọc này được cho bởi:

H_W (u,v) = \frac {S_{aa} (u,v)} {S_{aa}(u,v) + S_{nn}(u,v) }           (194)

trong đó Saa(u, v) là mật độ phổ năng lượng của một tập hợp các ảnh ngẫu nhiên {a[m, n]} còn Snn(u, v) là mật độ phổ năng lượng của nhiễu ngẫu nhiên. Nếu ta có một ảnh thì Saa(u, v) = ∣A(u, v)∣2. Trên thực tế thường không có được mật độ phổ năng lượng của một tấm ản không bị nhiễu. Vì nhiều ảnh có mật độ phổ năng lượng tương tự có thể mô phỏng được bằng Bảng 4–T.8, nên mô hình này có thể được dùng để ước tính Saa(u, v).

Một cách so sánh năm kĩ thuật khác nhau đã đề cập đến được biểu thị ở Hình 49. Lọc Wiener được trực tiếp lập từ PT (113) vì phổ của ảnh và phổ của nhiễu đều đã biết. Các tham số cho những bộ lọc khác đều được xác định bằng cách chọn giá trị đó (σ hoặc kích thước khung) để làm giảm thiểu rms.

                             a) Ảnh bị nhiễu (SNR = 20 dB)           b) Lọc Wiener           c) Lọc Gauss (σ = 1. 0) rms = 25.7 rms = 20.2 rms = 21.1

d) Lọc Kuwahara (5 × 5)    e) Lọc trung vị (3 × 3)     f) Làm trơn hình thái (3 × 3) rms = 22.4 rms = 22.6 rms = 26.2

Hình 49: Triệt tiêu nhiễu bằng những kĩ thuật lọc khác nhau.

Các sai số căn quân phương (rms) của các bộ lọc khác nhau được cho thấy trên Hình 49. So sánh riêng, lọc Wiener phát sinh ra sai số thấp hơn bất kì cơ chế nào khác được xét đến ở đây. Hai cơ chế tuyến tính, lọc Wiener và lọc Gaussian, thể hiện tốt hơn một chút so với ba cách làm phi tuyến còn lại.

10.2.3 Triệt tiêu sự biến dạng

Mô hình được đề cập ở trên—ảnh bị biến dạng chỉ vì nhiễu—nói chung là không đủ tinh vi để mô tả được bản chất đúng của biến dạng trong ảnh số. Một mô hình giống thật hơn không chỉ bao gồm nhiễu mà còn mô phỏng biến dạng do thấu kính, độ mở hữu hạn, các chuyển động có thể của máy ảnh và/hoặc vật, v.v. Một mô hình thường dùng là một ảnh a[m, n] biến dạng bởi một hệ tuyến tính, bất biến với dịch chuyển, ho[m, n] (chẳng hạn một thấu kính) và bị ảnh hưởng bởi nhiễu κ[m, n]. Các khía cạnh khác nhau của ho[m, n]κ[m, n] đã được trình bày ở những mục trước. Những tổ hợp thông dụng nhất của các thứ này là mô hình cộng tính:

c[m, n] = (a[m, n] ⊗ ho[m, n]) + κ[m, n]              (195)

Cơ chế phục hồi dựa trên lọc tuyến tính ghép với tiêu chuẩn sai số quân phương nhỏ nhất một lần nữa tạo ra lọc Wiener:3

\begin{array}{ll}  H_W (u,v) & = \displaystyle{ \frac{H_o^{\ast} (u,v) S_{aa}(u,v)} {|H_o(u,v)|^2 S_{aa}(u,v) + S_{nn}(u,v)} } \\  & = \displaystyle{ \frac { H_o^{\ast} (u,v) } { |H_o(u,v)|^2 + \frac{S_{nn}(u,v)}{S_{aa}(u,v) } } } \\  \end{array}

Một lần nữa Saa(u, v) là mật độ phổ năng lượng của ảnh, Snn(u, v) là mật độ phổ năng lượng của nhiễu, và Ho(u, v) = F{ho[m, n]}. Ví dụ cho công thức này với những trường hợp cực hạn có thể giúp ích. Đối với các tần số mà Saa(u, v) ≫ Snn(u, v), trong đó phổ tín hiệu áp đảo phổ nhiều, thì lọc Wiener được cho bởi 1 / Ho(u, v), là giải pháp lọc ngược. Với những tần số mà Saa(u, v) ≪ Snn(u, v), trong đó phổ nhiễu âp đảo phổ tín hiệu thì lọc Wiener tỉ lệ với Ho * (u, v), là giải pháp lọc khớp (matched filter). Với những tần số mà Ho(u, v) = 0, lọc Wiener HW(u, v) = 0 để tránh bị tràn.

Lọc Wiener là một giải pháp cho việc phục chế ảnh dựa trên cách dùng giả định một bộ lọc tuyến tính và tiêu chuẩn sai số quân phương (hay căn quân phương) nhỏ nhất. Ở ví dụ dưới đây, ảnh a[m, n] bị biến dạng đi bởi một bộ lọc dải thông (bandpass) rồi sau đó thêm vào các nhiễu trắng để đạt được SNR = 30 dB. Kết quả được minh họa trên Hình 50.

                       a) Ảnh nhiễu, bị biến dạng              b) Lọc Wiener       c) Lọc trung vị (3 × 3) rms = 108.4 rms = 40.9

Hình 50: Triệt tiêu biến dạng và nhiễu bằng lọc Wiener, PT (196) và lọc trung vị.

Sai số quân phương sau khi dùng lọc Wiener nhưng trước khi giãn tương phản là 108.4; sau khi giãn tương phản bằng PT (77) kết quả cuối cùng biểu thị trên Hình 50b có sai số quân phương là 27.8. Dùng bộ lọc trung vị 3 × 3 như trên Hình 50c sẽ dẫn đến sai số quân phương 40.9 trước khi giãn tương phản và 35.1 sau khi giãn tương phản. Dù lọc Wiener có cho ta sai số quân phương nhỏ nhất trong số tập hợp các kiểu lọc tuyến tính, nhưng bộ lọc trung vị (phi tuyến) còn cho ta sai số quân phương nhỏ hơn. Thao tác giãn tương phản bản thân nó là phép toán phi tuyến. “Chất lượng hình ảnh” của kết quả lọc trung vị cũng ngang hàng với lọc Wiener filtering result; phần nào là do các sai số có tính chu kì, do lọc tuyến tính gây nên, có thể thấy được ở Hình 50b.


  1. Oppenheim, A.V., R.W. Schafer, và T.G. Stockham, Jr., Non-Linear Filtering of Multiplied và Convolved Signals. Proc. IEEE, 1968. 56(8): p. 1264-1291.
  2. Castleman, K.R., Digital Image Processing. Second ed. 1996, Englewood Cliffs, New Jersey: Prentice-Hall.
  3. Castleman, K.R., Digital Image Processing. Second ed. 1996, Englewood Cliffs, New Jersey: Prentice-Hall.
Advertisements

1 Phản hồi

Filed under Cơ sở

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

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

Trả lờ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