KHÔNG GIAN WAVELET VỚI ẢNH LANDSAT

Một phần của tài liệu Kỹ thuật nén ảnh đa phổ landsat bằng phép biến đổi wavelet 3d (Trang 35 - 39)

CHƯƠNG 3 KHÔNG GIAN WAVELET VỚI ẢNH LANDSAT

3.4. KHÔNG GIAN WAVELET VỚI ẢNH LANDSAT

Để có thể xuất đƣợc dạng wavelet tối ƣu ứng với các tiêu chí khác nhau cho dạng ảnh Landsat 7, trong nghiên cứu người thực hiện tiến hành việc lấy mẫu và mô phỏng lại cấu trúc của không gian với các loại wavelet mẹ khác nhau.

Trang 23 Các tiêu chí đƣợc xem xét trong nghiên cứu bao gồm các giá trị PSNR, độ tương quan CORR, sai số MSE, thời gian thực thi giải thuật. Các tiêu chí này ứng với từng loại wavelet đƣợc mô phỏng nhƣ một hàm với hai tham số đầu vào là thuộc tính bitrate và mức phân tích (level). Các hàm wavelet đƣợc chọn để mô phỏng trong nghiên cứu bao gồm db2, db8, db15, coif2, coif5, sym4, sym8, bior2.2, bior3.7 và bior5.5. Các wavelet mẹ trên đƣợc lựa chọn bởi mức độ phổ biến và hiệu xuất của chúng.

Một đặc trưng của ảnh Landsat 7 là ảnh có kích thước không cố định phụ thuộc vào tọa độ không gian của vệ tinh khi chụp, kích thước này dao động trong khoảng 6000 đến 8000 pixel đối với cả 2 chiều, kích thước này nằm trong giới hạn mức phân tích từ level 1 đến level 13. Thang bitrate đƣợc chọn trong nghiên cứu này là thang logarit với cơ số là 2 từ 1 đến 13 giá trị ứng mức phân tích. Thông thường các dạng ảnh số được đo với thang bitrate tuyến tính, tuy nhiên điều này là không thích hợp đối với ảnh Landsat với kích thước lớn trong đó lượng thông tin trong các kênh phổ có thể đƣợc nén với mức nén cao hơn gấp nhiều lần. Điều này đƣợc minh họa ở Hình 19, với cùng mẫu wavelet db2 đƣợc đo trong không gian với bitrate là phi tuyến logarit, với thang đo logarit khi giá trị bitrate tiến về zero, thông tin về trị số PSNR không có xu thế tuyến tính nhƣ đƣợc trình bày trong thang đo bitrate có giá trị tuyến tính.

Hình 19. Mẫu wavelet db2 cho ảnh Landsat 7 đƣợc do trong không gian tuyến tính và không gian logarit.

Trang 24 Giải thuật 1

wnames =

{'db2','db8','db15','coif2','coif5','sym4','sym8','bior2.2','bior3.7','bi or5.5'};

bitrate_level = 13;

levels = 13;

N = 2^levels;

output = fopen('waveletspace.csv','w');

fprintf(output,'filename,wavename,level,bitrate_level,time,mse,psnr,corr\

n');

files = dir('*.TIF');

for file = files'

im = imread(file.name);

n = size(im,1);

m = size(im,2);

for i = 1 : length(wnames) wname = wnames{i};

for l = 1 : levels

Y = zeros(N,N,'uint8');

Y(1:n,1:m) = im;

time = cputime;

[coef, S] = wavedec2(Y, l, wname);

time = cputime - time;

for bl = 1 : bitrate_level compress = coef;

maxbit = floor(length(coef)/2^bl);

compress(maxbit+1:end) = 0;

YY = waverec2(compress,S,wname);

YY = uint8(YY(1:n,1:m));

mse = sum(sum((double(YY)-double(im)).^2))/(n*m);

psnr=10*log10(255^2/mse);

coor = corr2( YY,im );

fprintf(output,'%s,%s,%d,%d,%.2f,%.2f,%.2f,%.2f\n',file.name,wname,l,bl,t ime,mse,psnr,coor);

end end end end

fclose(output);

Giải thuật 1, đƣợc hiện thực với ngôn ngữ MATLAB với mục tiêu lấy mẫu với các mức phân tích và bitrate (theo bậc mũ của cơ số 2) khác nhau tương ứng với từng loại wavelet mẹ. Giải thuật duyệt các file hiện có (30 files) trong thƣ mục ảnh viễn thám hiện hành và thực hiện việc phân tích wavelet với từng ảnh, loại bỏ thông tin của ảnh sau khi thực hiện phân tích với các thang bitrate khác nhau, sau đó thực hiện biến đổi ngƣợc và lấy ra các tiêu chí về chất lƣợng ảnh bao gồm PSNR, MSE, CORR và thời gian phân tích. Các tiêu chí này sẽ được lưu lại vào file có chuẩn là .csv để tiện lợi cho các phân tích về sau.

Trang 25 Sau khi lấy mẫu, các tiêu chí sẽ đƣợc tiến hành thống kê và lấy ra giá trị trung bình ứng với tất cả các mẫu hiện có cho từng wavelet ứng với các mức phân tích và mức bitrate khác nhau. Quá trình này đƣợc thực hiện trên Excel với phiên bản 2010.

Sau bước thống kê, người thực hiện nội suy nhằm tạo các không gian ứng với các thuộc tính cho từng wavelet. Giải thuật 2 hướng đến việc tạo ra mặt wavelet theo tiêu chí là PSNR cùng với 2 thông số là tỷ lệ nén (bitrate) và thời gian nén (tương ứng mức phân tích).

Giải thuật 2

function [fitresult, gof] = createFit(Bitrate, Time, PSNR,name)

% Tao mat noi suy 3D.

% Du lieu dau vao:

% X : Bitrate

% Y : Time

% Z : PSNR

% Xuat ra:

% fitresult : Mat noi suy 3D.

% gof : Cau truc cua mat moi suy 3D.

%% Khoi tao khong gian voi cac mau dau vao

[xData, yData, zData] = prepareSurfaceData( Bitrate, Time, PSNR );

% Chon phuong phap noi suy ft = fittype( 'lowess' );

% Dua phuong phap noi suy va du lieu vao mo hinh noi suy

[fitresult, gof] = fit( [xData, yData], zData, ft, 'Normalize', 'on' );

Ở đây, phương pháp nội suy được sử dụng thông qua các hàm hỗ trợ bởi hộp Toolbox có tên là Curve Fitting Toolbox. Mặt nội suy đƣợc tạo ra từ dữ liệu đầu vào là bitrate và thời gian (tỷ lệ với mức phân tích) và tiêu chí PSNR cho từng dạng wavelet. Quá trình chuẩn bị dữ liệu trước khi thực hiện việc nội suy được thực hiện thông qua hàm prepareSurfaceData() trong toolbox và phương pháp được chọn để nội suy là lowess. Khi các tham số được thiết lập đầy đủ bước nội suy được tiến hành qua hàm fit() nhƣ đƣợc trình bày ở Giải thuật 2.

Một phần của tài liệu Kỹ thuật nén ảnh đa phổ landsat bằng phép biến đổi wavelet 3d (Trang 35 - 39)

Tải bản đầy đủ (PDF)

(77 trang)