Tải bản đầy đủ (.docx) (18 trang)

Phép biển đổi wavelet rời rạc và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (742.56 KB, 18 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO
Xử lý Dữ Liệu Đa Phương Tiện
ĐỀ TÀI 9 : Phép biến đổi Wavelet rời rạc và ứng

dụng
GV Hướng Dẫn : PGS.TS Nguyễn Thị Hoàng Lan
SV Thực Hiện : Trương Văn Tam
20122370
Nguyễn Trung Hiếu

:
:

20121690
Nguyễn Văn Phương :
20122252


Hà Nội, Tháng 5 năm 2016

MỤC LỤC

PHÂN CÔNG CÔNG VIỆC
1. Nguyễn Trung Hiếu _ Tìm hiểu chung về phép biến đổi Wavelet rời rạc
2. Trương Văn Tam_ Tìm hiểu về phép biến đổi Wavelet rời rạc DWT và kỹ
thuật phân tích đa phân giải
3. Nguyễn Văn Phương _ Tìm hiểu thuật toán thực hiện biến đổi Wavelet với
sóng Daubechies : DWT và DWT-1 dùng kỹ thuật phân tích đa phân giải và


băng lọc số
Xây dựng cài đặt thử nghiệm thuật toán

2


Chương 1 : Tổng quan về phép biến đổi Wavelet
1.1 Tổng quan
Biến đổi Wavelet ( Wavelet Transform) được cung cấp để đặc biệt dùng cho
việc phân tích tín hiệu, nhất là những tín hiệu không theo chu kỳ, nhiễu, gián đoạn,
nhất thời…
Biến đổi Wavelet cho ta mối quan hệ giữa tần số và thời gian.

1.2Khái niệm
Biến đổi Wavelet là phép biến đổi Fourier với hàm sóng mẹ và các sóng con
tạo thành bởi các hàm tỉ lệ và tịnh tiến hàm sóng mẹ.

1.3 Khái niệm hàm tỉ lệ và tịnh tiến
-

Hàm gốc f(t) liên tục theo thời gian thì :

-

Hàm f(t/a) là hàm tỉ lệ với tham số a chi phối mức độ tỉ lệ.

-

Hàm f(t-b) và f(t+b) là hàm tịnh tiến.


-

Hàm sóng mẹ Wavelet – hàm đơn ψ(t),các hàm sóng con được tạo thành bởi phép
biến đổi tỉ lệ và tịnh tiến,có dạng sau :

-

Trong đó a là thông số thang tỉ lệ chỉ sự co giãn của wavelet, b là thông số dịch
chuyển chỉ vị trí thời gian của wavelet.

-

Biến đổi Fourier của các hàm sóng :
Ψ(ω) = ϝ[ ѱ(t) ]
Ψa,b (ω) = ϝ[ ѱa,b(t) ]

3


1.4 Phép biến đổi Wavelet liên tục (CWT)
-

Biến đổi Wavelet liên tục (Continuous Wavelet Transform - CWT) của một
hàm f(t) được bắt đầu từ một hàm Wavelet mẹ (mother Wavelet) ѱ(t).
Phân tích tín hiệu f(t),tích của f(t) với những hàm wavelet :

-

Khôi phục hàm f(t) từ những hệ số wa,b bởi quan hệ :


Trong đó : Ψ(ω) = ϝ[ ѱ(t) ]
Với điều kiện : ѱ(0) = 0 ,nghĩa là hàm ѱ(t) có zero – mean để C ѱ hữu hạn.
Nếu a và b là những biến liên tục thì được gọi là biến đổi wavelet liên tục hay
viết tắt là CWT.

Chương 2 : Biến đổi Wavelet thời gian rời rạc
(DTWT)
2.1 Tổng quan
Để giảm việc tính toán, mà vẫn hiệu quả cho việc phân tích và tổng hợp tín hiệu
ban đầu, người ta sử dụng phép biến đổi Wavelet rời rạc (DWT). DWT được biết từ
năm 1976, khi Croiser, Esteban và Galand chế tạo ra kỹ thuật khôi phục tín hiệu rời
rạc. Phân giải tín hiệu là phép đo các lượng thông tin chi tiết trong tín hiệu, và có
thể thay đổi lượng tin bằng cách lọc tín hiệu. Lấy mẫu tín hiệu có thể tăng hoặc
giảm thông qua tốc độ lấy mẫu tăng hay giảm n lần.

4


2.2 Khái niệm
-

Biến đổi DTWT là sự rời rạc hóa biến đổi wavelet liên tục CWT, việc rời rạc hóa
được thực hiện với sự lựa chọn các hệ số a và b.

-

DTWT : a và b là những biến rời rạc và các biến đổi tỷ lệ và tịnh tiến rời rạc theo
các tham số a và b theo dạng sau :
a = ao-m , b = nboao-m
Trong đó :


-

m và n là những số nguyên ,ao được chọn bằng 2, bo được chọn bằng 1.

-

Từ đó tập sóng con (wavelets) :
ѱm,n(t) = aom/2ѱ(aom t – nbo) m,n ϵ Z.
ѱm,n(t) = 2m/2ѱ(2m t – n)

-

Các hệ số wavelet được xác định bởi :
‹f(t),ѱa,b(t)›= aom/2 ʃ f(t) ѱ(aom t – nbo )dt

-

Hàm f(t) được khôi phục từ các hệ số wavelet bởi :
f(t) = ΣmΣn wm,nѱm,n(t)

-

Sóng con wavelet có nhiều loại như : haar,daubechies.

-

Bất kỳ Chức năng Wavelet có thể được thể hiện như là tổng chuyển đổi , chức năng
hoạt động rộng gấp đôi độ phân giải, đó là chúng ta có thể viết :


-

Ở đây hφ(n) được gọi là hệ số chức năng Wavelet và hφ là vector Wavelet.

-

Nếu chức năng được mở rộng là một chuỗi các con số, như các mẫu của một hàm
liên tục f (x), các hệ số kết quả được gọi là wavelet rời rạc.(DWT) của hàm f(x).

-

Bằng cách áp dụng các nguyên tắc mở rộng, các hệ số DWT của f(x) được định
nghĩa :

5


-

Vì j ≥ j0 và tham số M nằm trong khoảng từ 0 đến J-1.Hàm f(x) có thể được biểu diễn
như sau :

Trong đó :

đóng vai trò là một hệ số.

2.3 Biến đổi Wavelet thời gian rời rạc (DTWT)
-

Phép biến đổi DTWT đối với tín hiệu số gọi là phép biến đổi Wavelet rời rạc

(DWT),khi có cả miền thời gian và miền tần số đều là các hàm rời rạc.

-

Kỹ thuật tạo ra các hàm sóng con từ hàm sóng mẹ bằng phép biến đổi tỷ lệ và tịnh
tiến :

-

Phân tích hàm f(t) với hàm tỷ lệ Φ(t) theo quan hệ :
f(t) = ∑ ak Φ(t-k)
Φk(t) = Φ(t-k)

-

Xét hàm tỷ lệ và tịnh tiến có dạng :
Φj,k(t) = 2j/2 Φ(2j t – k)

-

Trong đó chỉ số j thể hiện độ phân giải,hệ số k thể hiện độ tịnh tiến và áp dụng Φ(t)
cho hàm Haar.

2.4 Phân tích đa phân giải (MRA)
Ý tưởng của phân tích đa phân giải là sử dụng các kỹ thuật lọc số trong quá
trình phân tích. Trong đó, mỗi một tín hiệu được phân tích thành hai thành phần:
thành phần xấp xỉ A (Approximation) ‘tương ứng với thành phần tần số thấp’ và
thành phần chi tiết D (Detail) ‘tương ứng với thành phần tần số cao’, thông qua hai
bộ lọc thông thấp và thông cao như mô tả trong hình. Trong đó, bộ lọc thông cao sử


6


dụng hàm wavelet ψ(x) và bộ lọc thông thấp sử dụng hàm tỉ lệ (scaling function)
Φ(x).

Phân tích đa phân giải phân tích tín hiệu thời gian x(t) ra các dải tần số khác
nhau bởi các bộ lọc thông thấp và thông cao liên tiếp. MRA dùng hai hàm bổ túc
nhau là hàm tỉ lệ ( Scaling funcion) và hàm wavelet liên kết lần lượt với các lọc
thông thấp và thông cao.

-

Trong không gian rời rạc,gọi xk là các mẫu của tín hiệu f(t),ta có quan hệ sau :

Cj,k = Σk hk-2m x(k)
-

Theo định nghĩa phép nhân chập và lọc số :
ym = Σk hk xm-k = Σk hm-k xk

-

Thay thế m = 2m ta có :
y2m = Σk h2m-k xk = Σk hk x2m-k

-

Suy ra các hệ số cj,k = y2m,kết quả của phép biến đổi đầu ra của bộ lọc số có đáp ứng
xung là {hk} và với tín hiệu giảm tần số lấy mẫu xuống 2 lần. Đó là những hệ số thỏa

mãn phân tích đa phân giải.

7


Hình 1 : Phân tích đa phân giải sử dụng biến đổi wavelet rời rạc
-

Trong đó : ở A1,D1 là phép lấy mẫu xuống 2 lần sau đó thực hiện phép biến đổi
wavelet rời rạc tầng 1,biến đổi wavelet rời rạc tầng 2.

-

Tại mỗi tầng lọc, biểu thức của phép lọc được cho bởi công thức :

-

Trong đó, S(n) là tín hiệu, h(n) là đáp ứng xung của các bộ lọc thông thấp tương
ứng với hàm tỉ lệ Φ(n) và g(n) là đáp ứng xung của các bộ lọc thông cao tương ứng
với hàm wavelet ψ(n).

-

Việc ta giảm nửa số lượng mẫu tín hiệu, cũng tương ứng ta chia nhỏ miền tần số. Ở
mỗi mức, việc lọc và subsample làm giảm đi số lượng mẫu tín hiệu (tức là làm cho
việc phân giải miền thời gian không tốt), song làm phân giải trong miền tần số tốt
hơn.
8



-

Hai bộ lọc này liên hệ nhau theo hệ thức:
h(N−1−n)=(−1)ng(n)

-

Trong đó : N là số mẫu trong tín hiệu.

-

Tín hiệu S(n) có thể được khôi phục theo các bước ngược lại gọi là phép biến đổi
wavelet rời rạc nghịch (IDWT, inverse discrete wavelet transform) được cho bởi:
S(n) = Σk(y high (k).g (2k − n))+ (y low (k).h(2k − n)

-

Trong đó, yhigh (k) và ylow (k) lần lượt là tín hiệu ra sau khi đi qua các bộ lọc thông
cao và bộ lọc thông thấp. Để đảm bảo cho việc phục hồi tín hiệu được chính xác như
ban đầu, khi qua mỗi tầng lọc tái tạo, tín hiệu được tiến hành lấy mẫu lên 2.

-

Giả sử tín hiệu ban đầu có 512 mẫu, với tần số từ 0 đến π rad. Tại mức đầu tiên, tín
hiệu qua bộ lọc thông cao, do đó, số điểm lấy mẫu chỉ còn lại 256 điểm ứng với băng
tần giảm còn một nửa từ π/2 đến π rad. 256 điểm mẫu còn lại đưa tới tiếp bộ lọc
thông cao và thông thấp, do đó số điểm mẫu của tín hiệu còn lại là 128, ứng với
băng tần từ π/4 đến π/2 rad. Quá trình cứ tiếp tục đến khi nào chỉ còn lại 2 mẫu tín
hiệu.


-

Như vậy ta đã giảm đi một lượng tính toán đáng kể. Tuy nhiên, điều quan trọng cần
lưu ý trong DWT là mối quan hệ giữa đáp ứng xung của bộ lọc thông thấp và thông
cao. Chúng có mối quan hệ như sau:

-

Trong đó, L là chiều dài của bộ lọc (số điểm tín hiệu).

-

Các bộ lọc thỏa mãn điều kiện trên được dùng phổ biến trong xử lý tín hiệu, và được
gọi là các bộ lọc đối xứng vuông góc (Quadrature Mirror Filters). Hoạt động lọc và
subsample được mô tả toán học lại như sau:

9


-

Việc tổng hợp lại tín hiệu ban đầu rất đơn giản vì các bộ lọc nửa băng tần đều có
tính trực giao, quá trình tổng hợp tương tự như trên nhưng theo thứ tự ngược lại.
Khi đó, công thức tổng hợp tín hiệu tại mỗi mức được mô tả như sau:

-

Wavelet đạt được hiệu quả cao trong nén dữ liệu, ví dụ như JPEG 2000.

Chương 3 : Thuật toán biến đổi Wavelet với sóng

Daubechies : DWT VÀ DWT-1 dùng kĩ thuật phân tích đa
phân giải và băng lọc số
Nhắc lại lý thuyết : Thực chất là đầu ra bộ lọc có đáp ứng xung {hk} và tín hiệu đầu
vào lấy mẫu xuống 2 lần
Sóng được chọn là sóng Daubechies 2
Theo lý thuyết :
-

Đáp ứng xung bộ lọc khôi phục thông thấp = đáp ứng xung bộ lọc Wavelet
Nếu bộ lọc pt/th thông thấp có đáp ứng xung là {hk} thì bộ lọc pt/th thông
cao có đáp ứng xung là {(-1)nhN-1-n}
Mỗi quan hệ giữa bộ lọc pt và th : hpt(n) = hth(N-1-n) và gpt(n) = gth(N-1-n)

Mà bộ lọc D2 có {hn}=(h0= , h1= )
 Đáp ứng xung bộ lọc khôi phục thông cao: {g n}=(g0= , g1= )
 Đáp ứng xung bộ lọc phân tích thông thấp : {h n}=(h0= , h1= )
 Đáp ứng xung bộ lọc phân tích thông cao : {g n}=(g0= , g1= )

3.1 Thuật toán DWT
Ta thực hiện phép tính nhân tích chập dữ liệu đầu vào với đáp ứng xung của
bộ lọc
Quá trình nhân tích chập được thực hiện qua các bước sau :
Đầu vào là ảnh đa mức xám được biểu diễn ma trận A[mxn]. Chọn m=n=512
Đầu ra là ma trận C[mxn] sau phép nhân chập

10


Low pass


*( , )
Low pass

*( , )

Columns

2

Rows

high pass

*( , )

2

2

*( , )

2

*( , )

2

high pass

Rows


*( , )
Columns

Bước 1:

11

2


Duyệt theo hàng và giảm tần sô lấy mẫu xuống 2 lần nên ta được 2 ma trận con có
số cột giảm đi một nửa.
Ghép 2ma trận con ta được 1 ma trận B[mxn]
Các phần tử ma trận B được tính là :
Bi,j+1=ai,2j+1 . ha1 + ai,2j+2 . ha0 với j =[0,1,..,k-1]
Bi,k+j+1=ai,2j+1 . ga1 + ai,2j+2 . ga0

Bước 2:

Ta lần lượt cho 2 ma trận con đi qua các bộ lọc thông thấp và thông cao.
Duyệt theo cột và giảm tần số lấy mẫu xuống 2 lần ta thu được các ma trận con có
số hàng giảm đi một nửa.
Ghép 4 ma trận con ta được 1 ma trận C[mxn]
Các phần tử ma trận C được tính như sau :
Ci+1,j = b2i+1,j . ha1 + b2i+2,j . ha0 với i =[0,1,..,t-1]
Ct+i+1+k,j= b2i+1,j . ga1 + b2i+2,j . ga0

Bước 3 : Nếu có mức đa phân giải cao hơn ta thực hiện bước 1 và bước 2 với
thành phần LL


12


3.2 Thuật toán DWT-1
Ta thực hiện phép tính nhân tích chập dữ liệu đầu vào với đáp ứng xung của
bộ lọc
Quá trình nhân tích chập được thực hiện qua các bước sau :
Đầu vào là ma trận C[mxn] là kết quả phép biến đổi bên trên
Đầu ra là ma trận A[mxn] biểu diễn ảnh ba đầu.

Low pass

2

*( , )

Low pass

Columns

2

*( , )
Rows

2

*( , )


2

*( , )

high pass

2

high pass

2

*( , )
Rows

*( , )
Columns

Bước 1 :
Kiểm tra xem ảnh đa phân giải đang ở mức bao nhiêu.
Nếu level =1 ta thực hiện 2 bước dưới đây.
Nếu level > 1 ta thực hiện xử lý ở tầng cao nhất trước rồi xuống các tầng thấp hơn
cho đến khi về level =1 ;ở tưng tầng ta cũng thực hiện 2 bước dưới đây.
13


Bước 2 :

Chia ma trận C làm 4 ma trận con
Duyệt theo cột và tăng tần số lấy mẫu 2 lần rồi cho đi qua các bộ lọc như hình vẽ.

Ta thu được 2 ma trận có số hàng tăng 2 lần so với 4 ma trận con
Ma trận B được tính :
B2i+1,j = ci+1,j . hs1 + ct+i+1,j . gs0 với i=[0,1,…,t-1]
B2i+2,j = ci+1,j . hs0 + ct+i+1,j . gs1

Bước 3 :
Duyệt ma trận theo hàng là tăng tần số lấy mẫu lên 2 rồi cho đi qua các bộ lọc ta
được 1 ma trận A có số cột tăng 2 lần
Ma trận A được tính :
Ai,2j+1 = bi,j+1 . hs1 + bi,k+j+1 . gs0 với j=[0,1,…,k-1]
Ai,2j+2 = bi,j+1 . hs0 + bi,k+j+1 . gs1

14


Chương 4 : Xây dựng và cài đặt thử nghiệm thuật
toán trên
Hàm main.m thực hiện biến đổi DWT thuận.
Hàm in_main.m thực hiện biến đổi DWT-1 sau khi ta chạy hàm main.m
Biến level là số mức đa phân giải.
Ảnh đầu vào được xử lý :
-

Dùng hàm rgb2gray() chuyển ảnh về ảnh đa mức xám
Chuyển kích thước size về 512x512

Ví dụ phép DWT với level =1

Hình 2 : Phép DWT với level=1
15



Sau đó ta Ta thực hiện DWT-1 và thu được ảnh ban đầu

Hình 3 : Phép DWT-1 với level=1

Ví dụ DWT với level =2 :

16


Hình 4: Phép DWT với level=2

17


Tài liệu tham khảo
Slide Xử lý dữ liệu đa phương tiện – IT4621 của PGS. TS. Nguyễn Thị Hoàng
Lan.
• An Introduction to Wavelet Transform - Graduate Institute of
Communication EngineeringNational Taiwan University, Taipei, Taiwan, ROC


18



×