Evaluasi Kinerja Sistem Watermarking
Kriteria kinerja •
Kapasitas (jumlah bit yang bisa diangkut)
•
Kualitas gambar (setelah dimasuki watermark)
•
Ketahanan (terhadap serangan)
Kualitas Gambar •
Dinilai secara subjektif (dari pengamatan) atau objektif
•
Penilaian objektif menggunakan PSNR:
Kualitas Gambar •
Varians error dihitung sebagai berikut: •
error = double(orig_img) double(wm_img)
•
var_error = var(error(:))
Ketahanan •
Ketahanan dinilai dari apakah (atau seberapa besar) watermark bisa bertahan jika diserang
•
Serangan tidak selalu harus berhasil menghilangkan watermark, tapi kadang cukup membuat watermark gagal dibaca
•
Penyerang dibatasi kriteria kualitas gambar seperti disebut diatas
Ketahanan •
Serangan terhadap sistem watermark bisa memiliki berbagai bentuk.
•
Dalam project ini, kita hanya akan melihat sebagian kecil: •
Additive noise,
•
Filtering,
•
Compression,
Additive Noise •
Serangan ini dilakukan dengan menambahkan noise ke dalam citra berwatermark
•
Dalam project akan dilakukan penambahan 2 jenis noise: Gaussian dan ‘Salt & Pepper’
Additive Noise •
Penambahan noise dilakukan dengan fungsi Matlab imnoise(): •
noisy_img = imnoise(input_img, ‘gaussian’, M, V)
•
noisy_img = imnoise(input_img, ‘salt & pepper’, D)
Additive Noise •
Parameter M pada noise Gaussian menunjukkan mean (gunakan M=0)
•
Parameter V pada noise Gaussian menunjukkan varians noise (pilih 5 tingkat noise, mulai dari sangat kelihatan sampai sangat tidak kelihatan)
•
Parameter D menunjukkan kerapatan “salt & pepper”, gunakan nilai 0.005, 0.05 dan 0.1
Filtering •
•
Filter yang akan digunakan: •
Low pass (averaging) filter
•
Laplacian
•
Median filter
Semua filter menggunakan kernel 3 x 3
Filtering •
Kernel filter lowpass dan Laplacian yang digunakan adalah sebagai berikut:
Filtering •
Implementasi proses filtering menggunakan fungsi imfilter() •
•
filtered_img = imfilter(input_img,H)
Parameter H adalah salah satu kernel seperti disebutkan sebelumnya.
Filtering
•
Implementasi median filter menggunakan fungsi medfilt2() •
filtered_img = medfilt2(input_img)
Compression •
Compression, dalam hal ini lossy compression, berpeluang merusak watermark karena sebagian data citra dibuang oleh proses kompresi.
•
Pada project ini digunakan kompresi JPEG
Compression •
Kompresi JPEG diimplementasikan menggunakan fungsi imwrite(). •
•
comp_img = imwrite(input_img,name,’jpg’,’quality’,Q)
Parameter Q menunjukkan kualitas kompresi. Makin rendah Q, makin besar tingkat kompresi, makin buruk kualitas citra: gunakan Q=30, 75, 90
What you have to do •
LSB: •
Hitung PSNR citra setelah diberi watermark
•
Lakukan serangan menggunakan noise, catat PSNR setelah diserang, cek apakah watermark masih terbaca
•
Lakukan serangan menggunakan filter, catat PSNR setelah diserang, cek apakah watermark masih terbaca
•
Lakukan serangan berupa kompresi JPEG, catat PSNR setelah diserang, cek apakah watermark masih terbaca
What you have to do •
Noise-based: •
Pilih satu level gain noise, hitung PSNR citra setelah diberi watermark
•
Lakukan serangan menggunakan noise, catat PSNR setelah diserang, cek apakah watermark masih terbaca
•
Lakukan serangan menggunakan filter, catat PSNR setelah diserang, cek apakah watermark masih terbaca
•
Lakukan serangan berupa kompresi JPEG, catat PSNR setelah diserang, cek apakah watermark masih terbaca
What you have to do •
All: •
Dari semua percobaan Anda, buat kesimpulan mengenai kinerja sistem watermark yang Anda buat: apa kelemahannya? Apa kekuatannya?
Isi Laporan •
Penjelasan singkat algoritma watermarking yang Anda gunakan
•
Penjelasan singkat implementasi sistem watermarking yang Anda gunakan
•
Tabel berisi hasil percobaan kinerja (seperti disebut diatas)
•
Kesimpulan: apa kekuatan dan kelemahan sistem yang Anda buat?
Questions? Versi PDF slide ini bisa diunduh di blog.iwansetyawan.org