TRƯỜNG ĐẠ
TRƯỜNG ĐẠI H
I HỌ
ỌC BÁCH KHOA HÀ N
C BÁCH KHOA HÀ N
Ộ
ỘII
VI
VIỆỆ N CÔNG NGH N CÔNG NGHỆỆ THÔNG TIN VÀ TRUYTHÔNG TIN VÀ TRUYỀỀ N THÔNG N THÔNG
BÀI T
BÀI TẬ
ẬP L
P LỚ
Ớ N
N
Đề Đề ttàài i : :T Hiu về ộ ọ ir ướ ượ
T Hiu về ộ ọ ir ướ ượ ng
ng h
h phươg
phươg
ttốối thi
i thiu .
u .
Gi
Giảg viê hướ ảg viê hướ ng dng dẫẫn: n: PGS.TS PGS.TS NguyNguyễễn Linh Giangn Linh Giang Sinh viên th
Sinh viên thựực hic hiệện: n: Ninh Ninh ThThịị HươgHươg 2008132320081323 Trug Thàh Phươg
Trug Thàh Phươg 2008367420083674 Nguy
M
MỤ
ỤC L
C LỤ
ỤC
C
I. TI. Tổổng quan vng quan vềề bbộộ llọ ir………..…………2ọ ir………..…………2 1. Gi
1. Giớ ớ i thii thiệệu bu bộộ llọ ir………...2ọ ir………...2 22. Nguyê ý ơ ả. Nguyê ý ơ ản cn củủa ba bộộ llọ ir……….4ọ ir……….4 3. V
3. Vấ đềấ đề xây dxây dựựng bng bộộ llọ ir………9ọ ir………9 II.
II. Ứ Ứ ng dng dụụng bng bộộ llọọc Wiener trong xc Wiener trong xửử lýlý ảh………...11ảh………...11 1.
1. TTổổng quan vng quan vềề khôi phkhôi phụụcc ảh………ảh………...…………11…………11 2.
2. Ướ ượ Ướ ượ ng sng sựự xuxuốống cng cấp……….12ấp……….12 3.
3. BBộộ llọọc Wiener và khôi phc Wiener và khôi phụụcc ảh………14ảh………14 4.
4. ThiThiếết k t k ếế bbộộ llọ FIR ir………21ọ FIR ir………21 III. Mô ph
III. Mô phỏỏng thng thửử nghinghiệ ir Fitr……….27ệ ir Fitr……….27 1. Gi
1. Giớ ớ i thii thiệu Mata……….27ệu Mata……….27 2. Ti
2. Tiếến hành thn hành thửử nghinghiệ………..28ệ………..28 K
K ẾẾT LUT LUẬN……….3ẬN……….388 Tài Li
M
MỤ
ỤC L
C LỤ
ỤC
C
I. TI. Tổổng quan vng quan vềề bbộộ llọ ir………..…………2ọ ir………..…………2 1. Gi
1. Giớ ớ i thii thiệệu bu bộộ llọ ir………...2ọ ir………...2 22. Nguyê ý ơ ả. Nguyê ý ơ ản cn củủa ba bộộ llọ ir……….4ọ ir……….4 3. V
3. Vấ đềấ đề xây dxây dựựng bng bộộ llọ ir………9ọ ir………9 II.
II. Ứ Ứ ng dng dụụng bng bộộ llọọc Wiener trong xc Wiener trong xửử lýlý ảh………...11ảh………...11 1.
1. TTổổng quan vng quan vềề khôi phkhôi phụụcc ảh………ảh………...…………11…………11 2.
2. Ướ ượ Ướ ượ ng sng sựự xuxuốống cng cấp……….12ấp……….12 3.
3. BBộộ llọọc Wiener và khôi phc Wiener và khôi phụụcc ảh………14ảh………14 4.
4. ThiThiếết k t k ếế bbộộ llọ FIR ir………21ọ FIR ir………21 III. Mô ph
III. Mô phỏỏng thng thửử nghinghiệ ir Fitr……….27ệ ir Fitr……….27 1. Gi
1. Giớ ớ i thii thiệu Mata……….27ệu Mata……….27 2. Ti
I. T
I. Tổổng quan v
ng quan vềề bbộộ llọọc Wiener:
c Wiener:
1. Gi1. Giớ ớ i thii thiệệu bu bộộ llọọc Wiener:c Wiener: B
Bộộ llọọc wiener là bc wiener là bộộ llọọc c nnổổi i titiếếng trong thng trong thếế gigiớ ớ i i ccủủa các loa các loạại tín hii tín hiệệu. u. BBộộ llọọcc weiner là b
weiner là bộộ llọ đã đượ ọ đã đượ c Norbert Wiener (c Norbert Wiener (ông là nhà toán hông là nhà toán họọc c nnổ ổ i i titiế ế ng trên cng trên cảả phương
phương diệdiện toán hn toán họọc thuc thuầần túy và toán hn túy và toán họọcc ứ ứ ng ng d d ụng, được coi là cha đẻụng, được coi là cha đẻ ccủủaa ngành Điề
ngành Điề u khiu khiể ể n hn học, là người đi tiên phong trong nghiên cứ ọc, là người đi tiên phong trong nghiên cứ u vu về ề quá trình ng quá trình ng ẫ ẫ uu nhiên và quá trình
nhiên và quá trình nhiunhiu) đề) đề xuxuấất trong nht trong nhữg ă 1940 và đượ ữg ă 1940 và đượ c công bc công bốố vào ăvào ă 1949.
1949. B
Bộộ llọọc wiec wier đượ r đượ c dùng cho r c dùng cho r ấất nhit nhiềều u mmụ đíh và ó vai trò qua trọụ đíh và ó vai trò qua trọng trongng trong nhi
nhiềềuu ứứng ng ddụg hư â ằụg hư â ằng kênh, dng kênh, dựự đoá tuyếđoá tuyến tính, hn tính, hủủy y bbỏỏ titiếếng vang, ging vang, giảảmm titiếếngng ồồn, kênh dn, kênh dựự toán, phtoán, phụục hc hồồi tín hii tín hiệệuu ….….
B
Bộộ l l ọọc weiner d c weiner d ựa trên phương pháp thống kê để ựa trên phương pháp thống kê để gigiảảm nhim nhi u trong tín hiu trong tín hiệệu u hihiệệnn t
t ạại bi bằ ằ ng cách so sánh nó vng cách so sánh nó vớ ớ i mi mộột tín hit tín hiệu ướ ệu ướ c tính mong muc tính mong muố ố n không có nhin không có nhi uu
Cùng lúc v
Cùng lúc vớ ớ i thi thời điời đim mà Wiener xây dm mà Wiener xây dựựng bng bộộ llọọc có nghiên cc có nghiên cứu đồứu đồng thng thờ ờ i ci củủaa Kolmogorov
Kolmogorov và công bvà công bốố vào ă 1941vào ă 1941.. Do đó ý thuyếDo đó ý thuyết nàyt này thườg đượ thườg đượ c gc gọọi là lýi là lý thuy
thuyếết t llọọc Wiener c Wiener – – Kolmogorov mang tên cKolmogorov mang tên cảả hai tác gihai tác giảả. Wiener-. Wiener-Koogorov đãKoogorov đã thi
thiếết k t k ếế mmạạch lch lọ đầu tiê và sau đó đã có nhiọ đầu tiê và sau đó đã có nhiềều nhà khoa hu nhà khoa họọc khác phát tric khác phát trin tin tiếế p p trog đó ó
2. Nguyên lý cơ bản của bộ lọc Wiener:
Bộ lọc Wiener là một bộ lọc thích nghi (adaptive filter) tức là các giá tr ị hệ số của bộ lọ thay đổi theo thời gia thườ ng là phản ứng vớ i nhữg thay đổi trog đặc
tính của tín hiệu đầu vào.
Trướ c hết ta nhắ đến thuật toán Wier Fitr (F) đây à thuật toán xuyên suốt ý tưởg đ xây dựng bộ lọc Wiener. Nguồn gố ơ ản của thuật toán WF là tạo ra tín hiệu “sạch” khôg ó hay ít hiễu bằng cách nén nhiễu. Ướ ượg đượ c thực hiện bằng cách hạ thấ p sai số h phươg trug h (Ma Squar Error) giữa tín hiệu mong muốn và tín hiệu ướ ươg.
Một bộ lọc Wiener có th là một trong hai loại IIR hoặc FIR
IIRWiener là bộ lọ đáp ứng xung vô hạn bao gồ á phươg trh phi tuyến. FIR Wiener là bộ lọ đáp ứng xung hữu hạn bao gồ á phươg trh tuyến tính Bộ lọc Wier thườg đượ c gắn vớ i các công trình xây dựng bộ lọ FIR. Điều này là bở i vì các hệ số bộ lọc Wier thay đổi theo thờ i gian, và bộ lọc IIR có th tr ở
Việc thiết k ế các bộ lọc Wiener có nhiều cách tiế p cận khác nhau. Giả thiết phải có kiến thức về các tính chất quang phổ của tín hiệu a đầu và nhiễu, và một tìm kiếm thờ i gian lọc tuyến tính bất biế ó đầu ra đến càng gần vớ i tín hiệu ban đầu càng tốt. Bộ lọ ir đượ đặ trưg ở i sau:
1. Giả thiết: tín hiệu và nhiễu (nhiễu cộng) của quá trình ngẫu nhiên tĩh tuyến tính vớ i phổ đặ trưg hoặc tự tươg qua và tươg qua chéo đã biết.
2. Yêu cầu: các bộ lọc phải có th thực hiện vật lý / quan hệ nhân quả (yêu cầu này có th đượ c bỏ qua, dẫ đến một giải pháp không quan hệ nhân quả) 3. Hiệu suất tiêu chuẩn: tối thiu hóa sai số h phươg trug h (Minimum
Mean Square Error )
V ấn đề thiế t l ậ p bộ l ọc Wiener (giả sử với trườ ng hợ p là tín hiệu liên t ục):
Giả sử ta ó đầu vào của bộ lọc Wiener là một tín hiệu s(t), bị sai lệch bở i nhiễu cộng n(t) th đầu ra ướ ượ ng của bộ lọc
̂
sau khi đượ c lọc g(t) là tích chậ p sau:̂
là tín hiệu a đầu
là nhiễu cộng
̂
là tín hiệu ướ ượ ng ( mong muốn bằng giá tr ị
)
à đáp ứng xung của bộ lọc WienerLỗi đượ địh ghĩa à:
̂
Trog đó:
à độ tr ễ của bộ lọc Wier ( khi trướ ng hợ p xét là nhân quả)Đây à ôg thức tổng quát xấ p xỉ giữa
và̂
hay nói cách khác lỗi là sai số giữa tín hiệu ướ c tính và tín hiệu thật bị trượt đi
.Bh phươg ủa lỗi:
̂̂
Nếu
thì là dự đoá (prditio) (tức là lỗi đượ c giảm khî
tươgtự 1 giá tr ị sau này s).
Nếu
th à đag ọc (filtering) (tức là lỗi đượ c giảm khî
tươg tựvớ i giá tr ị
). Nếu
thì là làm mịn (smoothing) (tức là lỗi đượ c giảm khî
tươgtự vớ i 1 giá tr ị trướ đó ủa s). Viết giải chậ p của
̂
:̂
Lấy giá tr ị kì vọng của h phươg ỗi:
∬
Trog đó:
là tín hiệu qua sát đượ c
là hàm tự tươg qua ủa
là hàm tự tươg qua ủa
Nếu tín hiệu
và nhiễu
à khôg tươg qua (tứ à tươg qua
là 0) th ó ghĩa à:
Trên nhiều ứng dụng thì giả định nhiễu và tín hiệu khôg tươg qua hợ p lý.
Mục tiêu của chúng ta là tối thiu
giá tr ị k ỳ vọng của bình phươg ỗi, bằng áh t hà đáp ứng xung của bộ lọc Wiener
tối ưu.Việc tối thiu
có th thực hiện bằng việ tíh toá đạo hàm bậc nhất của nó theo một giá tr ị
Đ tối thiu thì hàm bên trong phải loại bỏ nhau vớ i mọi giá tr ị
và dẫ đến phươg trh wiener – hopfĐây à phương trình cơ bản c ủa l ý thuy ế t Wi ener , công thức bên phải giốg hư là một giải chập hưg iền chỉ là từ 0 → + ∞. Phươg trh ày ó th giải bằng k ỹ thuật Wiener – Hopf.
3. Vấn đề xây dự ng bộ lọc Wiener:
Tiế p theo ta sẽ xét một số vấ đề của bộ lọc Wier trướ c khi chuyn sang một ứng dụng cụ th của bộ lọc này.
Bộ lọc Weiner sẽ có giải pháp trê á trườ ng hợ p có th:
Bộ lọc không nhân quả chấ p nhậ đượ c (a noncausal filter is acceptable):
yêu cầu một số ượ ng vô hạn của cả dữ liệu quá khứ và tươg ai.
Đó
à tối ưu th ó ghĩa à h phươg tối thiu phươg trh:
Bộ lọc nhân quả k ỳ vọg đượ c (a causal filter is desired ) sử dụng một số
ượ ng vô hạn các dữ liệu quá khứ.
Bộ lọ đáp ứng xung hữu hạn (FIR) sử dụng một số ượ ng hữu hạn các dữ
liệu quá khứ.
Trườ ng hợp đầu tiên có th là giải pháp đơ giả hưg vấ đề ở chỗ nó không phù hợ p vớ i hệ thống thờ i gian thực. Khả ăg à bộ lọc giải quyết tốt hơ à ở
những hệ nhân quả và đáp ứng xung hữu hạn.
Trê đây à phầ à hó đã t hiu về lý thuyết Wiener, bộ lọc Wier ũg hư phươg trh ủa bộ lọc (tham khảo thêm tại: Wiener, Norbert (1949). Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York: Wiley), sau đây à phần thứ 2 của báo cáo về tìm hiu ứ ng dụng của bộ lọc Wier hó đã họn một trong những ứ ng dụng điển hình của bộ lọc Wiener là xử lý ảnh (lọc ảnh).
II. Ứ ng dụng bộ lọc Wiener trong xử lý ảnh
1. Tổng quan về khôi phục ảnhKhôi phụ ảh đề ập tới á kỹ thuật oại ỏ hay tối thiu hoá á ảh hưởg ủa ôi trườg ê goài hay á hệ thốg thu hậ phát hiệ và ưu trữ ảh đế ảh thu hậ đượ. Cá guyê hâ gây iế dạg ảh: do hiễu ộ ả hậ tí hiệu ảh ờ do ara hiễu gẫu hiê ủa khí quy v...v. Khôi phụ ảh ao gồ hiều quá trh hư: ọ ảh khử hiễu hằ à giả á iế dạg đ ó th khôi phụ ại ảh gầ giốg ảh gố tuỳ tho á guyê hâ gây ra iế dạg.
Một hệ khôi phục ảnh
Sự ựa họ hệ phụ hồi ảh phụ thuộ vào oại hh xuốg ấp hay khôi phụ ảh à hằ xá địh ô hh toá họ ủa quá trh gây ra iế dạg. Cá thuật toá à giả hiễu ộg gẫu hiê khá với á thuật toá à giả hoè ảh. Cá oại hh xuốg ấp ta sẽ xét à hiễu ộg gẫu hiê hoè và hiễu phụ thuộ tí hiệu hư hiễu hâ. Nhữg oại hh xuốg ấp ày thườg xảy ra trog thự tiễ.
Kỹ thuật à ta sẽ dùg với ộ ọ iener là kỹ thuật lọc tuyến tính. 2. Ước lượ ng sự xuống cấp
Có hai áh tiếp ậ đ ó thôg ti về sự xuốg ấp. Cá thứ hất à thu thập thôg ti từ híh ảh ị xuốg ấp. Nếu ta ó th t ra á vùg ườg độ xấp xỉ đồg đều trog ảh hẳg hạ ầu trời th ó th ướ ượg phổ ôg suất hoặ hà ật độ xá suất của nhiễu nền ngẫu nhiên từ sự tăg giả ườg độ trong các vùng có nề đồg đều. Một ví dụ khá hư khi ảnh bị nhoè nếu ta t đượ c trong ảh đã xuống cấ p một vùng mà tín hiệu gố đã iết, thì có th ướ ượ ng hàm nhòe
Ký hiệu tí hiệu ảh gốc ở một vùg đặc biệt của ảnh là
và ảnh bị xuống cấp trog vùg đó à
thì quan hệ gầ đúg giữa
và
là:
=
(1) Theo giả thiết
và
đều đã iết, nên có th đượ ướ ượg đượ c
từ (1).
∫ (
)
(2) Trog đó
và
là sự tịnh tiế tho phươg gag và dọc của
ở thời đi t và T à thời gia hớp. Trog iề iế đổi Fourir:(
)
(
)
(3)
Trog đó
(
)
là hàm biế đổi Fourier của
Ướ ượ ng (3) ta hậ đượ:(
)
=(
)(
)
(4) Trog đó:(
)
∫
(5) Từ (4), thấy r ằng nhòe vì chuy động có th đượ x hư ột phép nhân chậ p3. Bộ lọc Wiener và vấn đề khôi phục ảnh
Lọc Wiener là k ỹ thuật lọc tuyế tíh đ khôi phục ảnh gốc từ ảh đã xuống cấ p do bị nhiễu phá hủy.
Ảnh sau khi qua một đáp ứg ào đó th ị nhiễu và khác với a đầu, theo lý thuyết ta xây dựng một đáp ứg gượ c lại đ khôi phục ảnh dựa vào đáp ứng ban đầu. Tuy nhiê á phươg pháp hư ọ gượ c và lọc giả gượ c có một yếu đim là nhạy cảm vớ i nhiễu vì vậy khi áp dụg á phươg pháp ày phải giả định là hệ thốg ý tưở ng không có nhiễu. Song trên thực tế thì không th ó điều này, vì vậy gườ i ta sử dụg kĩ thuật lọc wiener cho các hệ thống có nhiễu.
Như ta đã iết mục tiêu của bộ lọc Wiener à đ làm cực tiu h phươg sai số, trong xử lý ảnh thì là sai số giữa ảnh gốc và ảh đag ó. Ta ài đặt một bộ lọc FIR hư à ột tích chậ p của một bộ lọc tr ọng số g đ làm cực tiu sai số h phươg vớ i ảh thu đượ c. Việc tìm tr ọng số tươg ứng vớ i việc giải một phươg trh thoả mãn yêu cầu đặt ra sau đó ta t ra ộ lọ đ thực hiện việc tính tích chậ p. Sau khi tíh xog th ta thu đượ c ảnh gần vớ i ảnh gốc nhất.
Bộ lọc Wiener và giảm nhiễu trong ảnh.
Mô hình ảnh xuống cấ p bở i nhiễu cộng ngẫu nhiên:
=
Trog đó
là biu diễn nhiễu cộng ngẫu hiê độc lậ p vớ i tín hiệu. Nhóm sẽ đưa ra nhữ ng kí hiệu công thứ c thự c t ế không hề có sai khác ý nghĩa vớ i ký hiệu công thứ c
phần t ổ ng quanở trên, l ấy giá tr ịn dùng trong r ờ i r ạc không dùng cho nhiu đượ c nữ a.
Nếu ta giả thiết r ằng
và
là những mẫu độc lậ p tuyến tính của quá trình ngẫu nhiên dừng trung vị bằng 0, và phổ công suất
và
của húg đã iết, thì có th nhậ đượ ướ ượ ng tuyến tính tối ưu saisố quâ phươg tối hiu của
bằng cách cho
qua bộ lọc wiener à đáp ứng xung tần số hư sau:
Bộ lọc trên là bộ lọc pha không. Vì phổ công suất
và
là thực và không âm nên giá tr ị
ũg à thực và không âm. Nhờ có bộ lọcWeiner chỉ ảh hưở ng tới iê độ phổ chứ không ảh hưởg đến pha. Bộ lọc Weiner giữ nguyên tỉ số SNR (tỉ số tín hiệu trên nhiễu) của các thành phần tần số
ao hưg à giảm SNR của các thành phần tần số thấ p. Nếu ta cho
tiến gần tớ i 0 thì
sẽ tiến gầ đến 1, cho ta thấy bộ lọ ó xu hướ ng giữnguyên SNR của các thành phần tần số cao. Nếu cho
tiế đế ∞ th giátr ị
sẽ tiế đến 0, cho ta thấy bộ lọ ó xu hướ ng làm giảm SNR của cácthành phần tần số thấ p.
Bộ lọc Weiner dựa vào giả thiết là phổ công suất
và
đã iếthoặc có th ướ ượg đượ c. Trog á ài toá thườ ng gặp th ướ ượ ng phổ công suất của nhiễu
là hoàn toàn có th à hư phần 2 ở trên, tuynhiên là vớ i phổ công suất của ảnh
ướ ượg khôg đơ giản. Mộtphươg pháp à ấy trung bình
cho nhiều ảnh
. Phươg pháp khác là mô hình hóa bằng một hà đơ giản
√
Thôg thườ ng bộ lọ wir đượ c thực thi trên miền tần số bở i:
=IDFT [
]Các giá tr ị
và
là biế đổi Fourier r ờ i r ạc của
và
. Trong công thứ trê th kíh thướ c DFT và biế đổi gượ c DFT ít nhất ũg à
x
khi kih thướ c ảnh là
x
và kíh thướ c bộ lọc là
x
. Nếu kíh thướ c DFT nhỏ hơ
x
thì biế đổi Fourir gượ c IDFT [
] sẽ khôg đồng nhất vớ i
*
ở gầ á đườ ng biên của ảh đã xử lý
, vì hiệu ứng aliasing. Trong hầu hết á trườ ng hợp kíh thướ c hiệu dụng của
nhỏ, có th nhận đượ c k ết quả vừa ý vớ i biế đổi Fourier (DFT) và biế đổi gượ c Fourier (IDFT) ó kíh thướ c
x
. Một áh đ nhậ đượ c
là lấy mẫu đáp ứng tần số
của bộ lọc Wiener bằng:
Trog đó: kíh thướ c của DFT và IDFT là
x
giả thiết là qua các vùng khác nhau của ảh đặc tính tín hiệu và nhiễu đều không thay đổi. Đó à ộ lọc bất biế trog khôg gia à thôg thườ ng trong một bức ảnh, từ vùg ày sag vùg khá á đặc tính ảnh r ất khác nhau. Ví dụ tườ ng và bầu tr ời ó ườg độ nền xấ p xỉ đồg đều, trái lại các tòa nhà và cây ó ườg độ thay đổi lớ n, chi tiết). Sự xuống cấp ũg ó th thay đổi từ vùng này sang vùng khác.
Đây là bổ trợ về giải chậpWiener và SNR bổ sung cho phần trên:
Với một hệ thống:
* ký hiệu chậ p và:
là một tín hiệu đầu vào (không rõ) t ại thờ i gian
.
làđáp ứ ng xung của một hệthố ng tuyế n tính bấ t biế n thờ i gian
là một nhi u cộng không rõ,độc l ậ p của
là tín hiệu quan sátM ục tiêu của chúng ta là tìm thấ y một
số để chúng ta có thể ướ c
tính như sau:
Trong đó:
và
đượ c các Fourier biế n
đổ i
và tương ứ ng ở t ần
số .
là có nghĩa là mật độcông suấ t phổ của tín hiệu đầu vào
là mật độcông suất có nghĩa là quang phổ của tiế ng ồn
Các d ấ u *biể u thịliên hợ p phứ c t ạ p .Hoạt động lọc có thể được thực hiện trong miền thời gian, như ở trên, hoặc trong miền tần số :
Với
à iế đổi Fourir ủa
và sau đó thự hiệ ột iế đổi Fourir gượ
đ có đượ
.Lưu ý rằ ng trong xử lý hìnhảnh, các đố i
số
là thành phần hai chiều, tuy nhiên kết quả là như nhau.Các hoạt động của các bộ lọc Wiener trở nên rõ ràng khi các phương trình lọc ở trên được viết lại:
Ở đây,
là nghịch đảo của hệthống ban đầu, và
làtỷ lệ tín hiệu trên nhiu. Khi khôngnhiu (tức là tín hiệu trên nhiu vô hạn), thuật ngữ bên trong dấu ngoặc vuông bằng 1, có nghĩa rằng các bộ lọc Wiener chỉ đơn giản là nghịch đảo của hệ thống, như chúng ta có thể mong đợi. Tuy nhiên, khi
vuông cũng giảm xuống. Điều này có nghĩa là bộ lọc Wiener suy giảm tần số phụ thuộc vào tỷ lệ tín hiệu trên nhiu.
Các phương trình bộ lọcWiener trên đòi hỏi chúng ta phải biết nội dung phổ của một hình ảnh tiêu biểu,
và cả nhiu. Thông thường, chúng ta không thế tìm đến những số lượng chính xác, nhưng chúng t a có thể
biết được một tình huống mà các ước tính tốt có thể được thực hiện. Ví dụ, trong trường hợp của các hình ảnh, tín hiệu (hình ảnh ban đầu) thường có tần số thấp là mạnh vàtần số cao yếu, và trong nhiều trường
4. Thiết k ế bộ lọc FIR Wiener Giớ i thiệu
Về lý thuyết, bộ lọc Wier ó đáp ứng xung vô hạ và do đó đòi hỏi DFT có kích thướ c lớ n. Tuy nhiề đáp ứng xung có hiệu quả chỉ là một phần nhỏ của kích thướ đối tượ ng.
Khác vớ i hầu hết các loại bộ lọc số đượ c thiết k ế dựa trên các khái niệm trong miền tần số, các bộ lọ ir đượ c phát trin dựa trên các khái niệm về miền thờ i gian. Các bộ lọ ir đượ c thiết k ế đ tối thiu hóa sai số trung bình bình phươg (MSE) giữa đầu ra của nó và một tín hiệu ra mong muốn hay yêu cầu. Vì vậy húg đượ c cho là tối ưu tho ghĩa ủa sai số trug h h phươg. Định ghĩa đặc biệt này về tối ưu ó thuận lợ i là dẫ đến các lờ i giải có dạng hữu hạn cho các hệ số của bộ lọc về mặt hàm tự tươg qua ủa tín hiệu đi vào ộ lọc và hà tươg qua héo giữa tín hiệu vào và tín hiệu ra yêu cầu.
Bộ lọc FIR Wiener: Gọi:
Vector tín hiệu đầu vào của bộ lọc(2.1)
: Là vector tr ọng số của bộ lọc wiener w =
tín hiệu ra
tín hiệu ra mong muốn
sai số giữa tín hiệu mong muốn
và tín hiệu ra
=
–
(2.2)Vì
là một vô hướ ng nên bằng chuyn vị của nó, tức là:
=
. Do đó, từ (2.1) và (2.2) ta có:
=
–
=
=
(2.3) Đối vớ i mạch lọc Wiener, hàm hiệu ăg đượ c chọn là sai số toàn phươg trug bình:
=
(2.5) Khai trin (2.5) và chú ý
có th đưa ra goài toá tử
[.] vì nó không phải là biến số thốg kê ta thu đượ c:
=
[
–
[]
+
(2.6) Ta địh ghĩa vtor tươg qua héo ậc Nx1: []
(2.7) Và ma tr ậ tươg qua:Chú ý là: E[d[n]xT[n]] = PT; wTP=PTw, ta thuđượ c:
J = E[d2[n]] – 2wTP + wTRw (2.8)
Đ thu đượ c các tr ọng số ứng vớ i hàm phí tổn J có giá tr ị cực tiu, ta cần phải giải hệ phươ ng trình đượ c tạo thành từ đạo hàm bậc nhất của J đối vớ i mỗi tr ọng số wi
R 00 R 01 ... R 0 N-1
R 10 R 11 ... R 1 N-1
... ... ... ...
R N-1 0 R N-1 1 ... R N-1 N-1
ớ
Cá phươg trh trê ó th viết dướ i dạng ma tr ận:
∇
J = 0 (2.10)Ở đây
∇
là toán tử vi phâ đượ xá địh hư ột vtơ ột:
∇
= ...
Đ t á đạo hàm riêng của J đối vớ i các tr ọng số wi của mạch lọ trướ c hết
phải khai trin hệ thức (2.8) thành dạg tườ ng minh:
(2.12) Thay (2.12) vào (2.11) sau đó ấy đạo hàm riêng phần của J theo wi và thaythế mho k ta đượ c:
ớ
Trog trườ ng hợ p này ta thấy: R ki = E[x[n-k]x[n-i]] = xx[i-k]
Φxx[i-k] là hàm tự tươg qua ủa x[n]
Tươg tự: R ik = Φxx[k-i]
Do tính chất đối xứng của hàm tự tươg qua ê Φxx[k] =Φxx[-k] ta thu đượ c:
R ki = R ik Thay (3.18) vào phươg trh (3.15) ta đượ c:
ớ
Phươg trh trê ó th biu diễ dướ i dạng ma tr ận:
∇
J = 2Rw – 2PĐặt
∇
J=0 ta sẽ thu đượ c phươg trh tối ưu hoá táp trọng số của mạch lọc Wiener:Rw0 = P (2.13)
Đây à phươg trh ir -Hopf đối vớ i vetor tr ọng số tối ưu w0:
W0 = R -1P (2.14)
Thay giá tr ị w0vừa t đượ c từ phươg trh Wiener-Hopf và Rw0=P vào phươg
trình (2.8) ta sẽ t đượ c giá tr ị cực tiu của hàm phí tổn J: Jmin = E[d2[n]] – w0TP = E[d2[n]] – w0TRw0
Đó à sai số cực tiu mà mạch lọc Wiener FIR W(z) có th đạt đượ c khi các tr ọng số của nó là nghiệm của phươg trh ir -Hopf ghĩa à ghiệm tối ưu ở (2.14)
III. Mô phỏng thử nghiệm Wiener Filter
1. Giớ i thiệu về Matlab: Matlab là công cụ tính toán trong k ỹ thuật đặc biệt là các bài toán về ma tr ận.
Matlab còn cung cấ p các toolboxes chuyên dụg đ giải quyết những vấ đề cụ th đ giúp chúng ta giải quyết các bài toán liên về xử lý ảnh.
Image Processing toolbox là công cụ chuyên dụng về xử lí ảh đượ c Matlab
phát tri. Đây à ột công cụ lợ i hại giúp cho việc thực hiện các giải thuật xử lí ảnh nhanh chóng và dễ hiu.
Chươg tríh sử dụng Matlab phiên bản Matlab 7.8.0 (R2009a) đ tiến hành thử
nghiệm khôi phục ảnh sử dụng bộ lọc weiner bằg á hà đượ c cung cấ p trong Image Processing toolbox Version 6.11 đi kè
Các hàm cơ bản trong đượ c sử dụng:
Hà đọc ảnh: I = irad(fia) đọc ảh ưu a trậ đim ảnh vào ma tr ận
I.
Hàm hin thị ảnh I: imshow(I) hin thị ảh đượ ưu ằng ma tr ậ đim ảnh I. Hàm tạo đáp ứng xung: h = fspecial(type paratrs) đáp ứng xung này khi
nhân chậ p vớ i ảnh gốc tạo ra các hiệu ứng do type truyề vào hư:
„otio‟: tạo nhòe giống máy ảnh chụ p bị rung khi chụ p hay vật th chuyn
„gaussa‟: tạo nhiễu Gaussian „avrag‟: xử lý cho lọc trung bình Parameters: tham số bổ sung cho type
Hàm tạo nhiễu: J = imnoise(I,type, parameters) tạo ra các loai nhiễu hư
„gaussia‟ 'sat & pppr'…
Hà ifitr(AHoptio1…) hà ày sẽ tùy tho optio đ xử lý A và H,
trong thử nghiệ optio = „ov‟ dùg đ tích chậ p ảh a đầu A và H( là hiệu ứng quang học chuy động).
Hàm medfil2(I,[ ]) hàm lọc trung vị cho ảnh I và dùng ma tr ận [ ]. Hàm giải chậ p sử dụng thuật toán của bộ lọc Wiener:
deconvwnr(I,H,SNR) deconvolves ảnh I dùng bộ lọ wir khi đã biết giá tr ị của ảh hưở ng quang học (motion) và tham số về nhiễu (ở đây à tỉ số SNR).
Ngoài ra ta còn 1 hàm Wiener2 là hàm lọc nhiễu hưg sử dụg hư ột phươg thức lọc trung bình
wiener2 (I,[m n],noise)với [ ] à kíh thướ đáp ứng xung
Dùng 1 ảnh có chất ượ ng tốt oi hư à ảh ý tưở ng ( không có sự xuống cấ p
hay ảh hưở ng của nhiễu và quang học)
Tạo ra sự xuống cấ p lên ảh hư tạo nhiễu hay làm tá động quang học do
chuy động
Khôi phục lại bằng các hàm sử dụng bộ lọ wir đượ hươg trh Mata
cung cấ p sẵn.
Đồng thờ i cùng vớ i ảnh xuống cấp đó thay v ọc Wiener sẽ đượ c lọc bằng lọc
trung bình và trung vị. Thự c hiện:
Đọc vào ảh đa ức xá ưu a trậ đim ảnh
I = imread('D:\lena.jpg');
imshow(I); title('anh goc');
Tạo nhiễu ngẫu nhiên, nhiễu tr ắng Gaussian:
noise_mean = 0;
noise_var = 0.01;
imshow(J); title('anhnhieu'); Khôi phục ảnh bằng hàm wiener2: K = wiener2(J,[5 5]); figure, imshow(K); title('anhphuchoi'); K ết quả:
Sau khi quan sát ảnh khôi phục có th thấy nhiễu đã giả hưg đồng thời đườ ng ét ũg khôg ò rõ ràg ữa điều này là hin nhiên.
Thuật toán mà wiener2() sử dụng:
Ướ tíh giá trị trug h và phươg sai trê ỗi đi ảh
Với NM hỉ â ậ ủa ỗi đi ảh trog hh ảh. wiener2() sau đó tạo ra ột ộ ọ ir pix thông minh ằg áh sử dụg hữg ướ tíh ày
Trong đó
là phươg sai hiễu. Nếu đúg hiễu khôg phải à hất địh wiener2() sử dụg trug h ủa tất ả á ướ tíh hêh ệh địa phươg.Rõ ràng từ 2 ảnh ta có th thấy ảnh lọc bằng Wiener 2 sử dụg phươg pháp adaptive Wiener ảnh giữ lại nhiều đườg ét hơ ảnh lọc bằng lọc trung vị
Thử nghiệm khôi phục ảnh bị ảnh hưở ng quang học (do chuyển động) và có nhiễu
Đọc ảh vào oi hư à ảh ý tưở ng
imshow(I); title('anh goc');
Giả định r ằng trong quá trình chụ p ảnh ống kính bị rung hay do vật đượ c chụ p
chuy động nhanh qua ống kính khi chụ p. Chúng ta sẽ mô phỏng hiệ tượ ng này bằng cách tạo ra đáp ứg xug H sau đó hâ hậ p ảnh vớ i ảnh gố đ tạo ra ảnh bị nhòe
H=fspecial('motion',11,5);
anh_bi_mo=imfilter(I,H,'conv');
figure,imshow(anh_bi_mo);
title('Anh bi lam mo');
Sử dụg hà iois đ tạo thêm nhiễu gaussian lên ảnh
noise_mean = 0;
noise_var = 0.001;
Khôi phục sử dụng bộ lọc wiener có sử dụg ướ ượ ng nhiễu khi biết phươg
sai của hàm tạo nhiễu (noise_var).
uocluong_nhieu= noise_var / var(I(:));% day chinh la ti so SNR
wnr3 = deconvwnr(anh_bi_monhieu, H, uocluong_nhieu); % ti so SNR
0 figure, imshow(wnr3);title('anh sau khi loc bang weiner');
K ết quả:
Ảnh thêm nhiễu nữa: Ảnh lọc bằng Wiener:
Thêm một thử nghiệm nữa: ảnh mờ do chuy động + nhiễu Gauss đượ c lọc bở i lọc trung bình và k ết quả sẽ đượ hư sau:
I = imread('D:\lena_mo_nhieu.jpg'); H = fspecial('average');
K = imfilter(I,H,'conv'); Ảnh sau khi khôi phục:
Lọc bằng lọ gượ c:
Có th nhận xét từ các k ết quả lọc Wiener và lọc trung bình thì lọc Wiener khôi phục lại đườg ét rõ ràg hưg ũg đồng thời đã à ho hiễu tăg ườ ng lên, ảh hưở ng quang học (do chuy động) gầ hư đã ất. Ngượ c lại ảh đượ c lọc bở i lọc trung bình nhiễu có giả đi hưg ảh hưở ng quang họ ũg khôg đượ c
loại bỏ. Đặc biệt lọ gượ c r ất nhạy cảm vớ i nhiễu ê ta ó đượ c k ết quả ảnh hoàn toàn bị nhiễu hư trê.