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.*/