200 Chơng 10 Khôi phục ảnh 10.1 Chỉ dẫn Trong các chơng trớc chúng ta đã khảo sát các giả thiết để làm mất đi các ảnh hởng làm suy giảm chất lợng ảnh. Chúng bao gồm làm mất nhiễu xung thông qua các bộ lọc đối xứng, tăng độ tơng phản thông qua các công cụ nh sửa đổi lợc đồ mức xám, lọc đồng hình, và lọc tĩnh Wallis. Trong các phần này, chúng ta đã không xem xét nguyên nhân của sự suy giảm cũng nh liệu nó đã đợc thoả mãn hay cha. Các nguyên nhân khác nhau, bao gồm cả các vết mờ ảnh, đòi hỏi sự phát triển cho một kiểu khắc phục các sự suy giảm gọi là hệ thống ảnh. Hệ thống ảnh có thể xây dựng trên khái niệm hàm tán xạ điểm (Point-Spead-Funtion - PSF), ví dụ, tác động trên ảnh ghi lại của một điểm gốc của độ sáng trên vật thể quan tâm. Biến đổi Fourier của PSF trở thành hàm truyền đạt ánh sáng (Optical-Tranfer-Funtion - OTF). Trong chơng này ta sẽ quan tâm đến các nguyên nhân làm mất sự hội tụ ảnh. Ba dạng của vết mờ cần đợc quan tâm là: (1) ảnh không rõ nét, (2) dạng vết mờ chuyển động đồng dạng, (3) vết mờ do ảnh hởng chiếu sáng lâu qua khí quyển. Tất cả các nguyên nhân này gây ra các giá trị khác nhau của PSF đòi hỏi ta phải giới hạn phạm vi các vết mờ. 10.2 Các PSF cho khác dạng khác nhau của các vết mờ Nếu chúng ta coi rằng hệ thống ảnh là tuyến tính, thì ta có thể viết ddyxihyxi b ),(),(),( (10.1) ở đây i b (x,y) là ảnh mờ, h(x,y) là PSF, i(x,y) là ảnh nhập vào không bị suy giảm. Bởi vì chúng ta đã đợc cho i b (x,y) và muốn phục hồi i(x,y) nên cần phải đánh giá h(x,y). Nếu h(x,y) đã biết, thì vấn đề có thể giải quyết đợc và quá trình đó đợc gọi là giải chập. Bởi vì biết rất ít về hệ thống mờ nên việc này đợc gọi là giải chập mù. Nếu trong một số trờng hợp bằng cách này hay cách khác h đã đợc cho trớc thì giải pháp đợc gọi là phơng pháp tiên nghiệm. Trong phần lớn các trờng hợp còn lại thì h đều cha biết, giải pháp này thuộc loại phơng pháp hậu nghiệm. 201 PSF cho ba kiểu vết mờ đợc cho dới dạng phơng án giải quyết đợc đề cập đến ở phần dới đây. 202 H×nh 10.1 (a) Ph¬ng ph¸p t×m ®êng ®i tia s¸ng. (b) Sù t¸n x¹ cña ®iÓm n»m trªn vµ ngoµi trôc chÝnh. 1 2 3 4 F 2 A B (a) I 1 I 2 F 2 O 2 O 1 Mµn ch¾n ¶nh cña ®iÓm trªn trôc chÝnh ¶nh cña ®iÓm ngoµi trôc chÝnh 203 10.2.1 Tiêu điểm của thấu kính có dạng tròn Hình 10.1b minh hoạ một hệ thống quang học đơn giản trong đó một điểm gốc cho một hàm phân tán điểm do sự không chính xác của tiêu cự. Hình 10.1a giới thiệu cách xác định đờng đi của tia sáng, làm sáng tỏ phơng pháp xác định ảnh trong hình 10.1b. Cách xác định đờng đi của tia sáng từ một điểm nằm ngoài trục theo các bớc sau: Vẽ một tia bất kỳ đi qua điểm (1) gặp thấu kính tại A. Vẽ mặt phẳng tiêu (thứ hai) của thấu kính. Vẽ tia (3) song song với tia 1, đi qua tâm của thấu kính. Tất cả các tia nh thế này gọi là tia chính. Tia chính gặp mặt phẳng tia 2 tại B. Nối A và B sau đó kéo dài. Đây chính là tia khúc xạ. Cho một điểm nằm trên quang trục tia sáng phải đi qua tiêu điểm thứ hai. Dùng cách tìm đờng đi của tia sáng qua thấu kính cho ta thấy hàm tán xạ điểm của một điểm nằm trên quang trục rất khác so với hàm tán xạ của một điểm nằm ngoài quang trục. Cũng cần chú ý rằng vật thể xa thấu kính sẽ có tán xạ khác với vật thể gần thấu kính. Đạo hàm các PSF có dạng nh một Gauss hai chiều: ) 2 exp( 2 1 ),( 2 2 2 r rG (10.2) ở đây là bán kính của vết mờ, r là khoảng cách bán kính kể từ tâm vết mờ. 10.2.2 Các vết mờ chuyển động đồng dạng Vết mờ chuyển động là kết quả của quá trình chụp phim ảnh của một vật thể chuyển động trong một thời gian đủ lớn để ghi lại hàng loạt các vị trí của vật thể. Chú ý rằng nếu thời gian chiếu sáng quá nhỏ so với chuyển động của ảnh thì vết mờ sẽ không cần quan tâm đến. Vết mờ chuyển động cũng có thể là kết quả của chuyển động của camera. Ta có thể tạo ra vết mờ chuyển động bằng cách trải rộng một đơn vị mẫu dọc theo hớng chuyển động (xem hình 10.2). PSF có thể tạo ra bằng một hình vuông gạch chéo trong đờng cong (a) của hình 10.2 khi phim ghi lại một loạt các vị trí khác nhau vật thể với các thời gian chiếu sáng khác nhau. Thời gian chiếu sáng lớn nhất đợc cho vị trí đầu tiên khi cửa sập camera mở ra lần đầu tiên, thời gian chiếu sáng nhỏ nhất đợc cho vị trí cuối cùng vật thể chiếm giữ trớc khi của sập đợc hạ xuống. Điều này giúp chúng ta lựa chọn hình tam giác hoặc là Gauss trong hình 10.2 nh những mô hình thực tế hơn cho vết mờ chuyển động. 204 10.2.3 Vết mờ do ảnh hởng của khí quyển Bình thờng, hệ số khúc xạ của khí quyển là hằng số trong một vùng rộng lớn. Trong một số trờng hợp sự thay đổi của khí quyển có thể tạo ra một dãy các hệ số khúc xạ khác nhau. Đây là nguyên nhân gây ra các vết mờ trên ảnh. ảnh của vật thể trong vũ trụ qua tầng khí quyển bao quanh trái đất là một ví dụ. Nếu những vật thể này phải quan sát qua tầng khí quyển, với thời gian chụp ảnh lâu, độ hoàn hảo của ảnh sẽ bị giới hạn. 205 Hình 10.2 Mô hình ảnh mờ do chuyển động. Một PSF đã đợc sử dụng và kiểm tra qua thực nghiệm để mô hình hoá quá trình này là: 6/52 3 2 2 )( 1 ),( yKxK eKyxh (10.3) ở đây K i là các hằng số. Để cho tiện lợi trong phân tích, 5/6 thờng đợc thay thế bởi tính đồng nhất để rút ra mô hình đáp ứng xung đờng cong Gauss có dạng ) 22 ( 2 2 2 2 ),( yx yx Keyxh (10.4) ở đây K là hằng số khoảng cách biên độ, x và y là các hệ số phân tán vết mờ. 10.3 Đánh giá phạm vi vết mờ Trong các bớc phân tích tiếp theo chúng ta sẽ coi rằng mô hình cho hệ thống ảnh mờ là tuyến tính bất biến, LSI, hoặc ít nhất có thể đợc xấp xỉ nh một hệ thống. Hệ thống quang học mà ta đợc biết là kính mắt có h(x,y) Mẫu đơn vị O x (a) x h(x,y) h(x,y) (b) x h(x,y) (c) x 206 đặc điểm là ảnh của vật nhìn qua kính sẽ có ít hoặc không có sự biến đổi nào. Cho các hệ thống quang học khác bạn sẽ phải xem đây là một sự xấp xỉ và áp dụng một PSF duy nhất lên toàn bộ ảnh, hoặc chia ảnh thành các miền nhỏ hơn và cho tất cả các miền ta nhận đợc một PSF. Phép chia nhỏ trên ảnh này cho chúng ta kết quả gần đúng tốt hơn, khi trên tất cả các miền nhỏ này chúng ta có thể coi rằng PSF sẽ xấp xỉ với một hằng số phân tán tại tất cả các điểm. Dễ thấy rằng hình 10.1 biểu diễn trờng hợp hệ thống một thấu kính. Trong camera ngời ta sử dụng nhiều thấu kính, và chúng đợc lắp ghép để làm rõ hơn những cảnh mờ.Xem xét một đờng biên dọc trong một ảnh không bị mờ với độ lớn tại vị trí (x 0 ,y 0 ), đợc định nghĩa nh sau: x< x x x ),( 0 0 nếu nếu k k yxi nếu h(x,y) là PSF, thì ảnh mờ đợc cho bởi ddiyxhyxi b ),(),(),( (10.5) Cho cả ba kiểu vết mờ nh trên, h(x,y) có thể biểu diễn tổng quát bởi mô hình dạng Gauss nh sau: )2/2/( 2222 ),( yx yx Keyxh ở đây K là hằng số, và x và y là các hệ số tán xạ dọc theo các hớng x và y. Vì thế cho nên ddiKeyxi yx yx b ),(),( ]2/)(2/)[( 2222 (10.5) Chú ý rằng cho đờng biên dọc đợc định nghĩa nh trên, i( , ) chỉ là hàm của , chúng ta có thể viết diedeKyxi x y x y b ),(),( ]2/)[( ]2/)[( 22 22 (10.6) Bởi vì 1 2 10 2 2 2 2 e dx x ( / ) . chúng ta có thể viết ])([2),( 0 22 0 22 2/)(2/)(2 dekdekKyxi x x x x yb xx 207 biểu thức này có thể viết lại dới dạng }]){([2),( 0 2222 0 22 2/)(2/)(2/)( 2 dedekdekKyxi x xx x x yb xxx Đạo hàm riêng i b (x,y) theo x chúng ta đợc de x K x yxi x x y b x 0 22 2/)( 2 2 ),( Dùng quy tắc Leibnitz cho đạo hàm của tích phân, đợc cho bởi )( )( 2 2 1 1 )( )( 2 1 2 1 ),(),( ),( ),( x x x x dx d xF dx d xFd x xF dxF dx d sau khi lấy giá trị tuyệt đối, chúng ta đợc kết quả sau đây: 22 0 2/)( 2 2| ),( | x xx y b eK x yxi (10.7) Đặt | ),( |),( x yxi yxC b (10.8) và 2 1 2 y KK (10.9) Vì thế, chúng ta có thể viết biểu thức (10.8) thành 22 0 2/)( 1 ),( x xx eKyxC (10.10) Biểu thức (10.10) sẽ biểu diễn một phân bố Gauss dọc theo hớng x nếu 2 1 2 1 x K Điều này có thể xảy ra nếu vùng dới C(x,y 0 ) bằng 1. Để đạt đợc điều kiện này chúng ta cần chia tung độ bởi khu vực dới đờng cong. Nếu F(x) mô tả đờng cong chia độ, thì chúng ta có thể viết: 2 2 2 )( 2 2 1 )( x x x x exF (10.11) trong đó x x xxF )( (10.12) x xx xFx )()( 2 (10.13) 208 Tơng tự có thể thu đợc công thức y bằng việc thay chiều ngang. 10.4 OTF OTF có thể rút ra từ biến đổi Fourier 2-D dxdyeyxhvuH vyuxj )( ),(),( Dùng PSF cho bởi biểu thức (10.4), chúng ta có thể viết: dxdyeeKvuH vyuxj yx yx )( 2/2/ 2222 ),( hay có thể viết dyedxeKvuH jvy y jux x y x 2 2 2 2 2 2 ),( Từ (xem tham khảo 3) a acb cbxax e a dxe 4 )4( )( 2 2 do vậy 2 )( 22 2222 22),( yx vu yx eKvuH (10.14) Biểu thức ở trên cung cấp dạng phân tích cho OTF áp dụng cho các trờng hợp ảnh nằm ngoài tiêu điểm. Bởi vì OTF giảm dần theo hàm mũ, nó sẽ giảm gần về không tại miền tần số cao. Điều này dẫn đến các chi tiết trong ảnh mờ sẽ sẽ bị mất sạch. Trong phần lớn trờng hợp điều này là không đúng. Trên thực tế điều thực sự xảy ra là tần số cao bị suy giảm đến một số giới hạn, phụ thuộc vào ảnh hởng của vết mờ, và vì vậy mà không bị xoá sạch. Sự nhận xét này giúp chúng ta xây dựng hàm truyền đạt phía trên thành: 0.12),( 2/)( 2222 yx vu yx evuH (10.15) Chú ý rằng nếu x = x = 0.0, thì 0.1),( vuH , ví dụ, nếu ảnh thu đợc hoàn toàn nằm trong tiêu điểm, thì hàm suy giảm H(u,v) là lọc thông toàn phần. 209 10.5 Thuật toán khôi phục ảnh Dựa trên các phân tích phía trên chúng ta có thể xây dựng một thuật toán dùng để khôi phục lại ảnh nằm ngoài tiêu điểm. Thuật toán này bao gồm các bớc sau : 1. Tách biên ảnh (xem trong chơng 5). 2. Quét ảnh bắt đầu từ hàng N/4 và cột N/4, N N là kích thớc của ảnh tính theo số điểm, tới khi một đờng biên đợc tìm thấy tại các điểm có toạ độ (x 0 ,y 0 ). Làm nh vậy chúng ta tránh đợc các đờng biên tại mép của ảnh, với điều kiện là vật thể chính trong ảnh nằm tại tâm của ảnh. 3. Tính x và y . 4. Tính đáp ứng tần số của hàm bị mờ từ OTF mô tả ở phần trên. 0.12 0.1 ),( 2/)( 2222 yx vu yx e vuH (10.16) 5. Thiết kế một bộ lọc IIR hoặc FIR dùng một trong các kỹ thuật cho ở các chơng trên xấp xỉ hàm truyền đạt cho ở biểu thức (10.16) .Chú ý là nếu x không bằng y thì bộ lọc không đối xứng tròn. 6. áp dụng bộ lọc trên ảnh bị mờ khôi phục lại nó. Nếu vết mờ có dạng là hình tròn cho một hệ thống thấu kính điển hình thì x và y có thể thay bằng . 22 yx (10.17) Chơng trình C cho đánh giá x và y dựa trên các biểu thức ở phần trên đợc cho ở dới đây. Kết quả cuối cùng của chơng trình này là một file chứa đáp ứng tần số biên độ mà bạn có thể dùng với các chong trình khác thiết kế bộ lọc 2-D. Ví dụ để thiết kế bộ lọc IIR bạn cần có IMPULSE.EXE và IIRD.EXE theo tên của file lấy từ chơng trình này. Để chạy chơng trình này bạn cần tách các đờng biên dùng một trong các chơng trình hoặc biểu đồ đã mô tả ở trong chơng 5. Chơng trình bắt nguồn từ tên của file chứa ảnh mờ và độ đậm đờng biên ảnh. Độ đậm đờng biên ảnh là file chứa ảnh sau khi đã tách ra các đờng biên. Chơng trình 10.1 :DEBLUR.C Tính độ lớn của đáp ứng /*ProgramlO.1 "DEBLUR.C".Calculating the magnitude response of the deblurring function.*/ . 22 0 2/)( 2 2| ),( | x xx y b eK x yxi (10 .7) Đặt | ),( |),( x yxi yxC b (10 .8) và 2 1 2 y KK (10 .9) Vì thế, chúng ta có thể viết biểu thức (10 .8) thành 22 0 2/)( 1 ),( x xx eKyxC (10 .10 ) Biểu thức (10 .10 ) sẽ. 2 2 2 )( 2 2 1 )( x x x x exF (10 .11 ) trong đó x x xxF )( (10 .12 ) x xx xFx )()( 2 (10 .13 ) 208 Tơng tự có thể thu đợc công thức y bằng việc thay chiều ngang. 10 .4 OTF OTF. 200 Chơng 10 Khôi phục ảnh 10 .1 Chỉ dẫn Trong các chơng trớc chúng ta đã khảo sát các giả thiết để làm mất đi các ảnh hởng làm suy giảm chất lợng ảnh. Chúng bao gồm làm mất