209 nghị và kể cả so sánh kết quả thu được. Để thiết kế bộ lọc thông cao sử dụng một trong những phương pháp được cho trong cuốn sách này. 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 chưa. 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 chưa biết, giải pháp này thuộc loại phương pháp hậu nghiệm. 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. 201 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. 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. 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 202 Đạ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. 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. h(x,y) Mẫu đơn vị O x (a) x h(x,y) h(x,y) (b) x h(x,y) (c) x 203 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ó đặ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) 204 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 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) 205 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) 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 206 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. 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 chưong trình khác thiết kế . 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 . 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 20 6 2 )( 22 22 22 22) ,( yx vu yx eKvuH (10.14). 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/ 22 22 ),( hay có thể viết dyedxeKvuH jvy y jux x y x 2 2 2 2 2 2 ),(