Tách ảnh dùng biến đổi Wavelet và phân tích thành phần độc lập

TÓM TẮT: Phân tích thành phần độc lập (Independent Component Analysis – ICA),

thuộc các thuật toán học không giám sát, được nghiên cứu và ứng dụng nhiều trong vài chục

năm trở lại đây. Một lĩnh vực ứng dụng của ICA là tách nguồn mù (Blind Source Separation –

BSS), trong đó từ các tín hiệu trộn lẫn ta tìm lại các tín hiệu nguồn nguyên thủy trong lúc

không biết được chính sự trộn. Thường các tín hiệu trộn quan sát phải được tiền xử lý bởi một,

hoặc hơn, phương pháp phù hợp trước khi đưa vào ước lượng bởi mô hình ICA. Bài báo này

trình bày việc tách ảnh bằng tiền xử lý biến đổi wavelet rời rạc (DWT) kết hợp với ước lượng

ICA dùng thuật toán InfoMax và FastICA. Chúng tôi thử nghiệm trên nhiều loại ảnh dùng các

DWT và thuật toán ICA khác nhau để so sánh về hiệu quả.

pdf10 trang | Chuyên mục: MATLAB | Chia sẻ: tuando | Lượt xem: 400 | Lượt tải: 0download
Tóm tắt nội dung Tách ảnh dùng biến đổi Wavelet và phân tích thành phần độc lập, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ao chứa các chi tiết tinh bị bỏ bớt nên chỉ 
thích hợp với các tín hiệu có năng lượng tập trung ở vùng tần số thấp. Tuy nhiên ở nhiều tín 
hiệu, năng lượng tập trung ở các tần số giữa hoặc trải rộng khắp. Lúc đó cần phải phân chia ra 
các dải tần số thấp lẫn các dải tần số cao. Đây là sự phân tích wavelet packet (gói sóng con). 
3.4. Wavelet packet 
Các pixel của ảnh phân bố theo hai chiều (2-D) là ngang và dọc, khác với tín hiệu thông 
thường chỉ có chiều thời gian. Do đó trong xử lý ảnh ta dùng wavelet 2 chiều hoặc wavelet 
packet 2 chiều. Các hàm cơ sở wavelet packet 1-D được dùng để tạo ra các hàm cơ sở wavelet 
packet 2-D nhờ tích tensơ theo chiều ngang và dọc. 
4. TÁCH ẢNH VÀ CHUẨN ĐÁNH GIÁ [2] [4] [8] 
4.1 Tách ảnh 
Các nhóm ảnh gốc được sẵn vào máy tính, sau đó ta thực hiện trộn tín hiệu theo Hình 1a 
bằng ngôn ngữ Matlab để tạo ra các trộn (hỗn hợp). Hình 1b là sơ đồ ước lượng ICA. Các hỗn 
hợp tạo ra từ mô hình 2a được đưa đến đây để thực hiện việc tách ảnh. 
Trước tiên các ảnh trộn được tiền xử lý với wavelet packet 2D. Sau đó các hệ số đặc trưng 
của các cây wavelet packet được làm trắng hóa (whitened) rồi dựa vào phân tích ICA, ở đây 
Science & Technology Development, Vol 11, No.09 - 2008 
Trang 8 
hai thuật toán được sử dụng là Infomax [1] [7] và FastICA [1] [2]. Kết quả ở ngõ ra là các ảnh 
ước lượng được của các ảnh gốc. 
Trộn tuyến 
tính, ngẫu 
nhiên và tức 
thời 
Nguồn 1 
Nguồn 2 
Nguồn M 
Trộn 1 
Trộn 2
Trộn M
Hình 2a. Mô hình trộn ảnh 
Hình 2b. Mô hình ước lượng ICA 
PHÂN TÁCH 
WAVELET PACKET 
PHÂN TÁCH 
WAVELET PACKET 
Trộn 1 Trộn M 
HỆ SỐ ĐẶC TRƯNG 
Qi 
ICA 
Chuyển các hệ số của N nút đặc trưng nhất đến 
ICA 
Trắng hóa dữ 
liệu 
Nguồn ra 1 Nguồn ra M 
TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 11, SỐ 09 - 2008 
Trang 9 
4.2.Chuẩn đánh giá 
Mỗi thực nghiệm được thực hiện 5 lần để đánh giá các chi tiết: 
Độ hội tụ của thuật toán thông qua thời gian thực hiện thuật toán. 
Sai số giữa ma trận trộn A và ma trận ước lượng W: E(A, W) như sau: 
( ) ,min, WMAWA
M
−= ∏∈E (13) 
với P là nhóm các ma trận n × n thực khả nghịch mà chỉ một phần tử trong mỗi cột khác 
không. 
Hiệu quả của tiền xử lý cho mô hình ICA. 
PSNR (Peak Signal to Noise Ratio), giả sử các ảnh nguồn đã biết, theo định nghĩa 
`log2048255log10
2
δδ −=⎟⎠
⎞⎜⎝
⎛=PSNR
 (14) 
với 
( )∑
=
′−=
n
i
ii ggn 1
21δ
trong đó 
ig là giá trị pixel xám của ảnh nguồn. 
ig ′ là giá trị pixel xám của ảnh ước lượng. 
n là số pixel của ảnh. 
Các ký hiệu của các thông số đánh giá như sau: 
T1: Thời gian thực hiện ICA với dữ liệu không dùng wavelet packet làm tiền xử lý. 
Error1: Sai số giữa ma trận trộn A và ma trận ước lượng W với dữ liệu không dùng 
wavelet packet làm tiền xử lý. 
T2: Thời gian thực hiện ICA với dữ liệu có dùng wavelet packet làm tiền xử lý. 
Error2: Sai số giữa ma trận trộn A và ma trận ước lượng W với dữ liệu có dùng wavelet 
packet làm tiền xử lý. 
TP: Thời gian thực hiện tiền xử lý wavelet packet 2D. 
5. MÔ PHỎNG VÀ KẾT QUẢ 
5.1 Các nhóm ảnh thực hiện 
Chúng tôi thực hiện việc mô phỏng tách ảnh trên 4 nhóm ảnh khác nhau, mỗi nhóm gồm 
ảnh có nhiễu và ảnh không có nhiễu, trong đó nhóm ảnh đầu là các ảnh benchmark (cơ sở dữ 
liệu có sẵn) còn 3 nhóm ảnh sau là do chúng tôi nhập vào. 
5.2 Kết quả 
33 thực nghiệm ở 4 nhóm ảnh nêu ra ở mục 4.1 được thực hiện trên các ảnh không nhiễu 
và có nhiễu bằng các tiền xử lý dùng các wavelet packet (db4, db8, Haar, và sym2) được phân 
tích mức 2, mức 3, và hai thuật toán ICA là InfoMax và FastICA. Đánh giá các trường hợp từ 
thực nghiệm như sau. 
Science & Technology Development, Vol 11, No.09 - 2008 
Trang 10 
5.2.1.Phần tiền xử lý 
Thời gian thực hiện tiền xử lý T1 với các wavelet: 
db4: 
T1 = (14.22s ÷ 14.53s) ở mức 3 
 T1 = (5.60s ÷ 7.23s) ở mức 2 
db8: 
T1 = (18.58s ÷ 18.74s) ở mức 3 
 T1 = (5.40s ÷ 7.43s) ở mức 2 
Haar: 
T1 = (10.18s ÷ 10.49s) ở mức 3 
 T1 = (4.14s ÷ 4.17s) ở mức 2 
sym2: 
Tp = (11.31s ÷ 11.56s) ở mức 3 
 Tp = (4.57s ÷ 4.46s) ở mức 2 
Từ các kết quả trên ta thấy nếu dùng phân ly wavelet packet mức 3 thì thời gian chiếm 
khoảng gấp đôi so với mức 2. 
5.2.2.Phần ICA (Hình 3): 
- Thuật toán InfoMax: 
Thời gian thực hiện thuật toán và sai số E(A,W) với dữ liệu được tiền xử lý wavelet 
packet: 
db4: 
 T2 = (1s ÷ 1.01s), Error2 = (0.72 ÷ 0.93) ở mức 3 
Hình 2. 4 nhóm ảnh khác nhau cho việc thực nghiệm 
TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 11, SỐ 09 - 2008 
Trang 11 
 T2 = (2.35s ÷ 3.09s), Error2 = (0.21 ÷ 0.31) ở mức 2 
db8: 
 T2 = (1.03s), Error2 = (0.66 ÷ 1.39) ở mức 3 
 T2 = (2.61s ÷ 2.64s), Error2 = (0.33 ÷ 0.46) ở mức 2 
Haar: 
 T2 = (0.83s ÷ 0.84s), Error2 = (0.28 ÷ 0.41) ở mức 3 
 T2 = (2.21s ÷ 2.23s), Error2 = (0.15 ÷ 0.28) ở mức 2 
sym2: 
 T2 = (0.83s ÷ 0.85s), Error2 = (0.28 ÷ 0.42) ở mức 3 
 T2 = (2.25s ÷ 2.26s), Error2 = (0.25 ÷ 0.31) ở mức 2 
Bảng đánh giá PSNR (Peak Signal Noise Ratio): nhóm ảnh thứ nhất 
 S1 S2 S3 S4 S5 S6 
PSNR 94.53 88.09 90.58 88.97 86.06 87.31 
- Thuật toán FastICA: 
Thời gian thực hiện thuật toán và sai số E (A, W) với dữ liệu được tiền xử lý wavelet 
packet: 
db4: 
T2 = (0.13s ÷ 0.25s), Error2 = (1.35e-14 ÷ 2.33e-14) ở mức 3 
T2 = (0.24s ÷ 0.38s), Error2 = (6.82e-15 ÷ 1.20e-14) ở mức 2 
db8: 
T2 = (0.14s ÷ 0.17s), Error2 = (9.73e-1 5 ÷ 9.73e-15) ở mức 3 
T2 = (0.28s ÷ 0.34s), Error2 = (7.94e-15 ÷ 1.42e-14) ở mức 2 
Haar: 
T2 = (0.13s ÷ 0.16s), Error2 = (1.01e-14 ÷ 1.49e-14) ở mức 3 
T2 = (0.24s ÷ 0.32s), Error2 = (7.58e-15 ÷ 1.29e-14) ở mức 2 
sym2: 
T2 = (0.13s ÷ 0.15s), Error2 = (1.16e-14 ÷ 1.47e-14) ở mức 3 
T2 = (0.25s ÷ 0.49s), Error2 = (7.12e-15 ÷ 2.44e-14) ở mức 2 
Bảng đánh giá PSNR (Peak Signal Noise Ratio): 
 S1 S2 S3 S4 S5 S6 
PSNR 95.03 93.37 92.06 74.67 83.90 83.79 
Science & Technology Development, Vol 11, No.09 - 2008 
Trang 12 
Kết quả trên cho phép ta có một số nhận xét về hiệu quả của các loại wavelet packet, số 
mức, thuật toán ICA. Thuật toán FastICA có độ hội tụ nhanh và sai số giữa hai ma trận nhỏ 
hơn thuật toán InfoMax. Trong các trường hợp tiền xử lý khác nhau thì wavelet packet db4 và 
Haar cho kết quả ở ngõ ra tốt hơn so với trường hợp db8 nhưng nếu chúng ta đánh giá bằng 
chủ quan (nhìn vào kết quả) thì không thể phân biệt được thuật toán nào có sai số nhỏ hơn và 
ngõ ra ở trường hợp nào tốt hơn. Riêng trường hợp tiền xử lý với wavelet packet sym2 kết quả 
ngõ ra không tốt nếu phân ly mức 3. 
5.3.Trường hợp tách ảnh có nhiễu [1] [7]: 
- Trường hợp ảnh gốc có nhiễu muối tiêu và gauss, thuật toán ICA vẫn tách được nhưng 
ảnh còn nhiễu. 
- Trường hợp lọc nhiễu: nếu lọc nhiễu trên các ảnh đã ước lượng thì kết quả tốt (Hình 5) 
do quá trình lọc nhiễu không ảnh hưởng đến tín hiệu đưa vào thuật toán ICA. Nếu lọc nhiễu 
trên các ảnh hỗn hợp, tín hiệu bị ảnh hưởng do lọc nên khi đưa vào thuật toán ICA, kết quả 
ước lượng không tốt. 
6. KẾT LUẬN 
Các kết quả mô phỏng cho thấy ICA hiệu quả trong việc phục hồi lại các ảnh gốc sau khi 
các ảnh này đã được trộn tuyến tính. Sự hiệu quả tùy thuộc có dùng biến đổi wavelet làm tiền 
 Các ảnh gốc 
 Các ảnh trộn 
Hình 3.Các ảnh được ước lượng từ các ảnh gốc không có nhiễu 
TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 11, SỐ 09 - 2008 
Trang 13 
xử lý hay không, loại wavelet, mức phân tích, và dùng thuật toán ICA nào (InfoMax hay 
FastICA ). Kết quả của mô hình ICA cơ bản trình bày trong bàn này là bước đầu để chúng 
tôi phân tích các tình huống khó khăn hơn (trộn phi tuyến, số trộn ít hơn số nguồn ). Thật ra 
đã có nhiều công bố trên các tạp chí khoa học kết quả nghiên cứu của tác giả khác đối với các 
mô hình ICA phức tạp hơn mô hình cơ bản [8] [9] [10], tuy nhiên vẫn còn nhiều vấn đề cần 
được tiếp tục nghiên cứu. 
Các ảnh hỗn hợp
Hình 4.Các ảnh tách từ ước lượng các ảnh gốc có nhiễu 
Các ảnh gốc có nhiễu muối tiêu 
Science & Technology Development, Vol 11, No.09 - 2008 
Trang 14 
IMAGE SEPARATION USING WAVELET TRANSFORM AND 
INDEDENDENT COMPONENT ANALYSIS 
Vo Minh Son, Nguyen Huu Phuong 
University of Natural Sciences, VNU-HCM 
ABTRACT: Independent Component Analysis (ICA), which belongs to the general 
class of unsupervised learning algorithm, has been studied and applied for a few decades. One 
of the application field is Blind Source Separation (BSS), in which from the mixed signals we 
would like to recover the original source signal, whereas the mixing is unknown. In our work, 
the mixed images are preprocessed by the Discrete Wavelet Transform (DWT) multiresolution 
analysis, followed by the ICA estimation using InfoMax and FastICA algorithms. 
We do not contribute any new theoretical or algorithmic development. Instead, we carry 
out extensive simulations on many different types of images using various DWTs and ICA 
algorithms for comparison of their effectiveness. 
Keywords: Independent component analysis, blind source separation, image separation, 
discrete wavelet transform. 
TÀI LIỆU THAM KHẢO 
[1]. Hyvrinen A., Karhunen J., Oja E., Independent Component Analysis, John Wiley & 
Sons, (2001). 
[2]. Hyvrinen, A., Oja, E., Independent component analysis: algorithms and 
Applications, Neural Networks, 13(4–5), 411– 430, (2000). 
[3]. Hyvrinen A., Survey on Independent Component Analysis, Helsinki University of 
Technology, Finland, (1999). 
[4]. Choi S., Cichocki A., Park H-M., Lee S-H., Blind Source Separation and 
Independent Component Analysis: A Review, Neural Information Processing, Vol. 6, 
No. 1, (2005). 
[5]. Cichocki A., Amari S-I., Adaptive Blind Signal and Image Processing, John Wiley & 
Sons, (2002). 
[6]. Almeida L.B., Separating a Real-Life Nonlinear Image Mixture, Journal of Machine 
Learning Research 6 1199–1229, (2005). 
[7]. Hyvrinen A., Gaussian Moments for Noise Independent Component Analysis, 
Helsinki University of Technology, Finland, (1999). 
[8]. Cardoso J.-F., Infomax and maximum likelihood for source separation, IEEE Letters 
on Signal Processing, 4:112–114, (1997). 

File đính kèm:

  • pdftach_anh_dung_bien_doi_wavelet_va_phan_tich_thanh_phan_doc_l.pdf