Ưu điểm của wavelet và ứng dụng

Một phần của tài liệu Watermarking dùng DWT và ứng dụng bảo vệ bản quyền ảnh số (Trang 30)

b)

2.2.4.3Ưu điểm của wavelet và ứng dụng

2.2.4.3.1 Ưu điểm

Theo nguyên tắc: Không thể đạt được độ phân giải cao trong cả 2 miền thời gian và tần số. Đặc tính đáng chú ý của phép biến đổi wavelet là độ phân giải thời gian tốt ở tần số cao, độ phân giải tần số tốt ở tần số thấp. Vì vậy thích hợp với việc phân tích các tín hiệu gồm các thành phần tần số cao có thời gian tồn tại ngắn và các thành phần tần số thấp có thời gian tồn tại dài.

2.2.4.3.2 Ứng dụng

Nén tín hiệu

Do đặc điểm của mình, Wavelet đặc biệt tốt khi sử dụng để nén hay phân tích các tín hiệu không dừng, nhất là tín hiệu ảnh số và các ứng dụng nén tiếng nói, nén dữ liệu.

Vì tính chất chỉ tồn tại trong các khoảng thời gian ngắn (khi phân tích tín hiệu trong miền thời gian tần số) mà các hệ số của biến đổi Wavelet có khả năng tập trung năng lượng rất tốt vào các hệ số biến đổi. Các hệ số mang thông tin chi tiết của biến đổi Wavelet thường rất nhỏ và có thể bỏ qua mà không ảnh hưởng tới việc mả hóa dữ liệu (trong phương pháp mả hóa ảnh là những tín hiệu cho phép mả hóa có tổn thất thông tin).

Khử nhiểu

Có một phương pháp khử nhiểu gọi là “Wavelet Shrinkage Denoising” (WSD). Ý tưởng cơ bản của WSD dựa trên việc tín hiệu nhiểu sẻ lộ rỏ khi phân tích bằng biến đổi wavelet ở các hệ số biến đổi bậc cao. Việc áp dụng các ngưỡng loại bỏ tương ứng với các bậc cao hơn của hệ số wavelet sẽ có thể dễ dàng laoi bỏ nhiểu trong tín hiệu.

Mã hóa nguồn và mã hóa kênh

Trong mã hóa nguồn ta cần khả năng nén với tỷ lệ nén cao còn trong mã hóa kênh thì cần khả năng chống nhiễu tốt. Biến đổi wavelet kết hợp với 1 số phương pháp mã hóa như mã hóa Hufman hay mã hóa số học có thể thực hiện được cả 2 điều vừa nói trên.

www.7gio.com

32

2.2.4.4 Một số họ wavelets

Biến đổi wavelet Haar

Biến đổi wavelet haar là biến đổi đơn giản nhất trong các phép biến đổi wavelet. Hình 3.14 mô tả dạng hàm ψ(t) với biến đổi Haar. Do tính chất đơn giản của biến đổi Haar nên nó được ứng dụng nhiều trong nén ảnh và dấu thông tin trong ảnh (Watermarking).

Haar wavelet có đặc tính: Độ rộng xác định: 1 Độ dài bộ lọc: 2

Sóng moment bằng 0 đối với hàm wavelet: 1

Biến đổi wavelet Daubechies

Là 1 trong những biến đổi phức tạp nhất trong biến đổi wavelet, nó khám phá ra cái wavelet trực giao khoảng chặt – khiến cho phân tích wavelet rời rạc có giá trị thực tế. Họ biến đổi này được ứng dụng hết sức rộng rãi, biến đổi wavelet áp dụng trong JPEG2000 là 1 biến đổi wavelet Daubechies.

Hình 2.10 Hàm ψ(t) của biến đổi Haar

Hình 2.11 Hàm ψ(t) của họ biến đổi Daubechies n với n=2,3,4,5

www.7gio.com

33 DbN có đặc tính:

Độ rộng xác định: 2N – 1 Độ dài bộ lọc: 2N

Số moment bằng 0 đối với hàm wavelets: N

Biến đổi wavelet Biorthogonal

Nhờ dùng 2 wavelet, 1 cho phân tích bên trái và 1 cho tái tạo bên phải thay vì chỉ dùng Chung 1 cái, đã đạt được các đặc tính thú vị.

Biến đổi wavelet Coiflets

Biến đổi wavelet Morlet

Wavelet này có hàm mức, nhưng rỏ rang

Hình 2.12 Một vài hàm ψ(t) của các cặp họ biến đổi Biorthogonal (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.13 Hàm ψ(t) của họ biến đổi Coiflets

Hình 2.14 Hàm ψ(t) của họ biến đổi Morlet

www.7gio.com

34

Biến đổi wavelet Mexican hat

Wavelet này không có hàm mức và là dẫn xuất của một hàm mà tỷ lệ với đạo hàm bậc hai của hàm mật độ xác suất Gauss.

Biến đổi wavelet Meyer

Đây là 1 hàm biến đổi wavelet thông dụng, và là hàm mức xác định theo tần số. biến đổi này có khả năng phân tích tín hiệu tốt hơn nhiều so với biến đổi Haar.

2.2.4.5 Watermarking ảnh số dùng phân tích wavelet

Kỹ thuật watermarking cơ bản sử dụng phép biến đổi DWT thường phân tích ảnh gốc thành bốn băng tần số khác LL1, LH1, HL1, HH1 bằng cách sắp xếp các bộ lọc băng con. Để tạo thêm được các hệ số wavelet, băng con LL1 lại tiếp tục được phân tích

Hình 2.15 Hàm ψ(t) của họ biến đổi Mexican Hat

Hình 2.16 Hàm ψ(t) của họ biến đổi Meyer

www.7gio.com

35

tiếp. Quá trình này được lặp lại cho đến khi có được kết quả mong muốn nhằm phù hợp với từng ứng dụng. Sau đó nhúng thông tin watermark vào một hoặc một số wavelet băng con với các hệ số khác nhau. Dưới đây là một ví dụ về phân tích wavelet mức 3 (level 3).

Hình 2.17 Phân tích wavelet mức 3 cho ảnh số

Mức 1 Mức 2 Mức 3

www.7gio.com

36

CHƯƠNG 3. THUẬT TOÁN VÀ CHƯƠNG TRÌNH

3.1 Giới thiệu

Vì giới hạn về thời gian nên em chỉ đưa ra mô hình nhúng và trích ảnh trong trường hợp cần có ảnh gốc và ảnh watermark. Nếu ứng dụng vào việc bảo vệ bản quyền ảnh số thì chưa tối ưu được nhưng với điều kiện tác giả có đăng ký bản quyền trước với các nhà chức trách thì việc sử dụng ảnh gốc trong quá trình trích watermark sẻ thực hiện được đơn giản hơn.

Trong đó ảnh gốc là ảnh màu baboon kích thước 256×256(A) và ảnh watermark là ảnh màu Lena(B) có cùng kích thước với ảnh gốc, cả 2 ảnh đều có định dạng JPEG. Thuật toán thực hiện nhúng thành công dùng biến đổi DWT mức 3 từ đó đánh giá 1 vài đại lượng chủ quan như MSE (Mean Square Error) – trị trung bình bình phương sai số của ảnh và PSNR (Peak Signal Noise Ratio) – tỷ số tín hiệu cực đại trên nhiểu và khảo sát độ mạnh watermark ∝.

Ở đây phần mềm được sử dụng là MATLAB 7.11.0 (R2010b).

www.7gio.com

37

3.2 Lưu đồ giải thuật Quá trình nhúng: Quá trình nhúng: A=rgb2gray(A) P1=im2double(A) P=imresize(P1,[2048 2048]) LL2=DWT_P_mức 3 P2=rgb2gray(B) watermark =im2double(P2) watermark =imresize(watermark,[2048 2048]) L-L2= DWT_watermark_mức 3 watermark =imresize(watermark,[2048 2048]) + + ∝ Watermarked image= LL2 + ∝*L-L2 Watermarked image- final=IDWT_Watermarked image_mức 3

Đây là ảnh sau khi nhúng

www.7gio.com

38 (adsbygoogle = window.adsbygoogle || []).push({});

Quá trình trích:

-

3.3 Các thông số đánh giá chủ quan (MSE và PSNR)

Ta có với pic1=P; pic2=watermarked image_final thì

  2 1 1 [( 1( , ) 2( , )) 1 1, 2 ] n m i j

mse MSE pic pic pic i j p

mn    ic i j    2 1 1 (max(pic1)) [ 1, 2] 10 log n m i j psnr PSNR pic pic mse      dB

Khi mse tiến tới 0 và psnr tiến tới vô hạn thì quá trình watermarking cho ảnh sau nhúng đạt chất lượng tốt nhất. 3.4 Chương trình matlab Chương trình chính: clc; clear all; warning off; chos=0; possibility=11; ∝=0.09; Watermarked image- final=IDWT_Watermarked image_mức 3 aaa= DWT-watermarked image_final_mức 3 LL2=DWT_P_mức 3 - + ∝ Recoverd-image= (aaa-LL2)/∝ www.7gio.com

39

while chos~=possibility,

chos=menu('Digital 3-level image watermarking','select the cover image','select the watermark image','show 3-level coverimage','show 3-level

watermarkimage','show watermarked image','show extracted image','Calculate MSE for embedding','Calculate PSNR for embedding','Calculate MSE for extraction','Calculate PSNR for extraction','exit');

if chos==1

[fname pname]=uigetfile('*.jpg','select the Cover Image'); %eval('imageinput=imread(fname)'); imageinput=imread(fname); A=rgb2gray(imageinput); P1=im2double(A); P=imresize(P1,[2048 2048]); %imshow(P); %figure(1); %title('original image'); [F1,F2]= wfilters('haar', 'd'); [LL,LH,HL,HH] = dwt2(P,'haar','d'); [LL1,LH1,HL1,HH1] = dwt2(LL,'haar','d'); [LL2,LH2,HL2,HH2] = dwt2(LL1,'haar','d'); %figure(2)

%imshow(LL2,'DisplayRange',[]), title('3 level dwt of cover image'); end

if chos==2

[fname pname]=uigetfile('*.jpg','select the Watermark'); %eval('imageinput=imread(fname)');

%imageinput=imread(fname); B=imread(fname);

P2=rgb2gray(B);

www.7gio.com

40 watermark=im2double(P2); watermark=imresize(watermark,[2048 2048]); %figure(3) %imshow(uint8(watermark));title('watermark image') [WF1,WF2]= wfilters('haar', 'd'); [L_L,L_H,H_L,H_H] = dwt2(watermark,'haar','d'); [L_L1,L_H1,H_L1,H_H1] = dwt2(L_L,'haar','d'); [L_L2,L_H2,H_L2,H_H2] = dwt2(L_L1,'haar','d'); %figure(4)

%imshow(L_L2,'DisplayRange',[]), title('3 level dwt of watermark image'); end

if chos==3

imshow(LL2,'DisplayRange',[]), title('3 level dwt of cover image') end

if chos==4

imshow(L_L2,'DisplayRange',[]), title('3 level dwt of watermark image') end if chos==5 Watermarkedimage=LL2+∝*L_L2;

%computing level-1 idwt2

Watermarkedimage_level1= idwt2(Watermarkedimage,LH2,HL2,HH2,'haar'); %figure(5)

%imshow(Watermarkedimage_level1,'DisplayRange',[]), title('Watermarkedimage level1');

(adsbygoogle = window.adsbygoogle || []).push({});

%computing level-2 idwt2

Watermarkedimage_level2=idwt2(Watermarkedimage_level1,LH1,HL1,HH1,'h aar');

%figure(6)

www.7gio.com

41

%imshow(Watermarkedimage_level2,'DisplayRange',[]), title('Watermarkedimage level2');

%computing level-3 idwt2

Watermarkedimage_final=idwt2(Watermarkedimage_level2,LH,HL,HH,'haar'); %figure(7)

imshow(Watermarkedimage_final,'DisplayRange',[]), title('Watermarkedimage final')

end

if chos==6

[F11,F22]= wfilters('haar', 'd');

[a b c d]=dwt2(Watermarkedimage_final,'haar','d'); [aa bb cc dd]=dwt2(a,'haar','d');

[aaa bbb ccc ddd]=dwt2(aa,'haar','d'); recovered_image=(aaa-LL2)/∝; %figure(8) imshow(recovered_image,[]); %title('extracted watermark') end if chos==7 pic1= P; pic2= Watermarkedimage_final; mse=MSE(pic1,pic2) end if chos==8 pic1= P; pic2= Watermarkedimage_final; psnr=PSNR(pic1,pic2) end if chos==9 clear pic1; www.7gio.com

42 clear pic2; pic1=L_L2; pic2=recovered_image; mse_extraction=MSE(pic1,pic2) end if chos==10 psnr_extraction=PSNR(pic1,pic2) end end  Hàm tính MSE

function [ out ] = MSE( pic1,pic2 )

%UNTITLED Summary of this function goes here % Detailed explanation goes here

e=0; [m n]=size(pic1); for i=1:m for j=1:n e=e+double((pic1(i,j)-pic2(i,j))^2); end end out=e/(m*n); end  Hàm tính PSNR

function [ out ] = PSNR( pic1,pic2 )

%UNTITLED2 Summary of this function goes here % Detailed explanation goes here

e=MSE(pic1,pic2); m=max(max(pic1));

out=10*log((double(m)^2)/e);

end

www.7gio.com

43

CHƯƠNG 4. KẾT QUẢ MÔ PHỎNG

Với việc khảo sát các thông số ∝ ta thu được các kết quả như sau:

4.1 Với = 0.01

Hình 4.1 Ảnh nhúng thu được khi =0.01

www.7gio.com (adsbygoogle = window.adsbygoogle || []).push({});

44 MSE và PSNR: mse =2.7098×10^-005 psnr = 101.8624 mse_extraction =1.3885×10^-25 psnr_extraction =612.3606 4.2 Với = 0.02

Hình 4.2 Ảnh watermark thu được khi =0.01

www.7gio.com

45

Hình 4.3 Ảnh nhúng thu được khi =0.02

www.7gio.com

46 Kết quả MSE và PSNR: mse =1.0839e-004 psnr =87.9994 mse_extraction =3.5271e-026 psnr_extraction =626.0640 Với e là cơ số 10

Hình 4.4 Ảnh watermark thu được khi =0.02

www.7gio.com

47

4.3 Với = 0.03

Hình 4.5 Ảnh nhúng thu được khi =0.03

www.7gio.com

48 Kết quả MSE và PSNR: mse = 2.4388e-004 psnr =79.8901 mse_extraction =1.5938e-026 psnr_extraction =634.0072

Hình 4.6 Ảnh watermark thu được khi =0.03

www.7gio.com

49

4.4 Với = 0.04

Hình 4.7 Ảnh nhúng thu được khi =0.04

www.7gio.com

50 Các giá trị MSE và PSNR: mse = 4.3356e-004 psnr = 74.1365 mse_extraction = 9.1160e-027 psnr_extraction = 639.5942

Hình 4.8 Ảnh watermark thu được khi =0.04

www.7gio.com

51

4.5 Với = 0.05

Hình 4.9 Ảnh nhúng thu được khi =0.05

www.7gio.com

52 Các giá trị MSE và PSNR: mse = 6.7744e-004 psnr = 69.6736 mse_extraction = 5.9457e-027 psnr_extraction = 643.8678

Và tương tự có các khảo sát với các hệ số ∝ khác nhau từ 0.06 đến 0.09 thì đều cho kết quả MSE và PSNR xấp xỉ nhau, chất lượng ảnh sau nhúng cũng gần với ảnh gốc. Nhưng đến khi thay ∝ = 0.2 thì ta có kết quả khác biệt

Hình 4.10 Ảnh watermark thu được khi =0.05 (adsbygoogle = window.adsbygoogle || []).push({});

www.7gio.com

53

Hình 4.11 Ảnh nhúng thu được khi =0.2

www.7gio.com

54

Tới đây ta thấy ảnh sau nhúng không còn rỏ nét bằng các giá trị ∝ lúc trước. Và watermark là thông tin cần dấu sẻ hiện mờ trên ảnh đả nhúng.

Để thấy rỏ điều này hơn ta cho ∝=10, ảnh sau khi nhúng thấy rất rỏ thông tin cần giấu, trong khi dữ liệu ảnh gốc bị

Và các giá trị mse và psnr không đáp ứng được yêu cầu về chất lượng của ảnh, trị mse quá lớn trong khi psnr thì quá bé.

Hình 4.12 Ảnh nhúng thu được khi =10

www.7gio.com

55

4.6 Kết luận

Sau khi lấy trung bình cộng của các giá trị mse và psnr của các giá trị khi khảo sát ∝ từ 0.01 đến 0.09 ta được: MSE(TB) = 0.001036 ; PSNR(TB) = 71,653.

Vậy qua kết quả thu được ta nhận thấy việc giấu tin dùng phân tích DWT cho kết quả tốt, MSE dần về 0 và PSNR rất cao.

Vì giới hạn về mặt thời gian nên em chưa có điều kiện để mô phỏng và khảo sát các tấn công xảy ra.

www.7gio.com

56

CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1 KẾT LUẬN

Nhiều phương pháp giấu thông tin đã và đang được nghiên cứu, mỗi phương pháp có những ưu điểm, nhược điểm và các ứng dụng khác nhau. Phương pháp sử dụng các bít trọng số nhỏ đơn giản tuy nhiên thông tin giấu không bền vững trước nhiều hình thức tấn công. Phương pháp sử dụng các hệ số biến đổi (chẳng hạn biến đổi từ miền không gian sang miền tần số như DFT, DCT, hay wavelets,...) nói chung có tính bền vững cao, tuy nhiên khá phức tạp trong cài đặt.

Nội dung luận văn đã đề cập đến phương pháp watermark trong miền biến đổi wavelets cho Định dạng ảnh số.

Sau thời gian thực hiện, luận văn đạt đã hoàn thành các công việc sau:

- Nghiên cứu các phương pháp, nguyên lý và kỹ thuật watermark cho ảnh số.

- Nghiên cứu về kỷ về phép biến đổi wavelet, kỹ thuật biến đổi wavelets rời rạc, kỹ thuật nhúng và trích watermark trong miền DWT.

- Phần thực nghiệm, đã xây dựng nên 1 thuật toán và sử dụng phần mềm mô phỏng Matlab để viết chương trình thực hiện nhúng và trích watermark cho ảnh số. Mặc dù không mô phỏng được các tấn công xảy ra nhưng cũng đả tính toán và đánh giá được 1 vài thông số chủ quan.

4.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Việc mô phỏng chỉ tính được 1 vài thông số chủ quan, chưa đưa ra được các thông số khách quan. Chưa khảo sát được cách lựa chọn băng tần nhúng cũng như việc lựa chọn họ wavelet để làm tăng thêm tính mạnh mẽ cho thuật toán. Ngoài ra cũng chưa mô phỏng được các tấn công nhất là tấn công JPEG, 1 tấn công rất đặc trưng đối với phép biến đổi wavelet. Nên những điều đó sẽ là hướng nghiên cứu tiếp theo.

Việc thực hiện thành công nhúng, trích watermark trong miền DWT mở ra nhiều hướng nghiên cứu mới:

- Việc thực hiện nhúng, trích dữ liệu mới được thực hiện trong các định dạng ảnh tĩnh nên có thể tiếp tục nghiên cứu cho các định dạng video, audio và các định dạng khác. - Nghiên cứu, xây dựng các phương pháp watermark khác.

www.7gio.com (adsbygoogle = window.adsbygoogle || []).push({});

57

TÀI LIÊỤ THAM KHẢO

1. A Robust Image Watermarking Based on Inmage Restoration Using SIFT

Tác giả: Haijun LUO, Xingming SUN, Hengfu YANG, Zihua XIA 2. A Survey Paper On Digital Watermarking Techniques( ISSN –

1/2014)

Tác giả: Ketul K.Patel

3. Digital Image Watermarking Based on Mixed Error Correcting Code Tác giả: Yonghong, Jiancong Chen

4. http://www.mathworks.com; www.dientuvietnam.net...

www.7gio.com

Một phần của tài liệu Watermarking dùng DWT và ứng dụng bảo vệ bản quyền ảnh số (Trang 30)