Pcd topik4 - image restoration01
Transcript of Pcd topik4 - image restoration01
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
1
Digital Image Processing with MATLAB
Topik 4
Images Restoration Part 1
Preview
Tujuan dari restorasi (image restoration) adalah untuk meningkatkan kualitas atau mengembalikan
kualitas citra (tanpa degradasi), secara umum perbedaan antara image enhancement dengan image
restoration ialah pada image enhancement merupakan proses pengolahan peningkatan kualitas citra
dimana penilaian akan bagus atau tidak suatu citra sangat subyektif atau ditentukan oleh penilaian
manusia, sedangkan pada image restoration penilaian sangat obyektif yaitu berdasarkan penentuan
standar umum matematis (signal to noise). Restoration bertujuan untuk merekonstruksi atau
memulihkan citra yang telah terdegradasi dengan pembelajaran akan fenomena degradasi yang umum
terjadi. Jadi, teknik restorasi suatu citra ialah melakukan model-model degradasi kemudian melakukan
proses inverse dari model degradasi terhadap citra sehingga di dapat citra asli.
* adalah tanda konvolusi
Noise Model
Kemampuan untuk mensimulasi karakteristik dan efek dari noise (derau) adalah intisari dari image
restoration. Pada bagian topic kali ini pembahasan permodelan noise hanya pada ranah spatial, untuk
model noise ranah frekuensi akan dibahas pada topic berikutnya. Pada fasilitas MATLAB Image
Processing Toolbox terdapat syntax untuk secara otomatis melakukan penyertaan derau pada suatu
citra. Dimana syntax yang digunakan adalah imnoise, dengan syntax ini dapat melakukan penyertaan
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
2
derau dengan model yang berbeda-beda, tergantung dari input parameter argumennya. Fungsi imnoise
mempunyai syntax dasar sebagai berikut :
Dimana f adalah input citra. Fungsi imnoise mengkoversi input citra menjadi variable class double pada
rentang [0.0 1.0] sebelum ditambahkan derau. Syntax imnoise mempunyai berbagai model noise,
dimana keterangan tiap noise dapat anda lihat pada help MATLAB.
Untuk contoh penggunaan perintah imnoise terdapat pada source berikut yang hanya mewakili salah
satu noise model ( dipilih noise model Gaussian ) :
i = imread('cameraman.tif');
j = imnoise(i,'gaussian',0,0.01);
k = imnoise(i,'gaussian',0,0.1);
figure;subplot(211);
imshow(i);title('Citra Asli');subplot(212);imhist(i);
figure;subplot(211);
imshow(j);title('Citra terdegradasi Noise Gaussian dengan varians 0.01');subplot(212);imhist(j);
figure;subplot(211);
imshow(k);title('Citra terdegradasi Noise Gaussian dengan varians 0.1');subplot(212);imhist(k);
Jika menggunakan imnoise dengan type noise gaussian maka terlihat bahwa citra output akan
terdegradasi dengan noise dan juga terlihat bahwa pada nilai parameter varians jika diubah semakin
tinggi maka probabilitas noise Gaussian yang muncul akan semakin besar sehingga citra akan semakin
parah muncul deraunya.
Note : Pelajari penggunaan imnoise untuk citra lain dan noise model lain (salt & pepper, poisson, dll).
Dan juga perhatikan karakteristik dan perubahan yang terjadi pada histogram citra-nya.
Noise Estimation Parameters
Seperti dijelaskan sebelumnya proses terjadinya degradasi pada citra f(x,y) terjadi karena akibat citra
f(x,y) di konvolusi oleh suatu transfer fungsi degradasi h(x,y) dan tambahan noise n(x,y)
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
3
Sehingga untuk merestorasi citra yang telah terdegradasi g(x,y) dapat dengan melakukan inverse
transform dari noise, dengan catatan kita mengetahui karakteristik dan sifat dari noise itu sendiri.
Sehingga pada suatu kasus citra berderau kita dapat memprediksikan sifat noise model yang terjadi,
dengan analisa melalui grafik histogram pada suatu potongan citra dengan variasi grayscale yang rendah
(potongan gambar polos/berfrekuensi rendah). Dengan melakukan analisa tersebut kita dapat
melakukan pendekatan persamaan noise yang terjadi pada citra g(x,y).
Pada gambar cuplikan citra polos dari citra cameraman.tif yang telah diberi noise terlihat bahwa
karakteristik grafik histogram nya mendekati seperti karakteristik grafik noise model Gaussian. Berikut
ini adalah grafik probabilitas dari berbagai macam noise model :
Dengan mengetahui karakteristik transfer function dari noise yang terjadi maka dengan melakukan
proses inverse noise akan didapat hasil citra asli tak terdegradasi. Namun hal ini merupakan pendekatan
dari bermacam-macam noise model, pada kenyataannya citra terdegradasi pada noise yang terjadi tidak
mendekati noise-noise model tersebut sehingga proses restorasi tidak maksimal. Maka umumnya proses
restorasi dilakukan dengan filtering, dimana filtering dapat dilakukan pada ranah spatial maupun
frekuensi, namun pada topic kali ini dibahas terlebih dahulu pada ranah spatial.
Restoration Using Spatial Filtering Method
Pada prinsip sederhananya penghilangan noise dengan spatial filter adalah dengan mengaplikasikan
filter lolos frekuensi rendah (blurring) sehingga dengan begitu derau yang mempunyai perubahan nilai
grayscale yang tinggi (berfrekuensi tinggi) akan tidak lolos, namun terdapat pengembangan teknik
denoising selain dengan menggunakan blurring filter, berikut ini adalah beberapa metode denoising :
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
4
Arithmetic Mean Filtering
Arithmetic Mean filtering pada prinsipnya sama dengan smoothing filter yang sudah dibahas pada topic
sebelumnya tentang spatial filtering, dengan teknik smoothing filter maka citra akan mengalami blurring
sehingga noise dengan sendirinya akan berkurang. Persamaan umum dari arithmetic mean filter adalah
seperti halnya persamaan untuk menghitung rata-rata yaitu sebagai berikut :
Pada implementasi arithmetic mean filtering pada MATLAB adalah dengan menggunakan filter average,
atau dengan perintah fspecial dan imfilter, seperti pada contoh berikut :
close all;
I = imread('tire.tif');
J = imnoise(I,'gaussian',0,0.01);
w=fspecial('average',[3 3]);
L=imfilter(J,w);
figure;imshow(J);title('citra noise');
figure;imshow(L);title('Citra dengan Arithmetic Filter');
jika kita melihat pada citra output dari arithmetic filter pada source code diatas maka akan terlihat
bahwa citra berderau Gaussian J setelah diberi arithmetic filtering pada citra output L akan berkurang
efek noise nya dikarenakan adanya proses smoothing pada citra sehingga noise tidak akan
dominan/mencolok sehingga terkesan noise berkurang, namun ada harga yang harus dibayar yaitu
detail citra akan berkurang, dikarenakan ada efek smoothing sehingga citra output akan buram atau
blur.
Note : pelajari source code diatas untuk citra-citra lain dan ubahlah parameter dari imnoise untuk
melihat kinerja dari arithmetic filtering.
Median Filtering
Median Filtering merupakan filter dengan prinsip statistic, pada dasarnya median filter bekerja dengan
menentukan median dari suatu kernel (missal 3x3), filtering dengan metode ini merupakan filter
statistical order yang paling terkenal dikarenakan kinerja yang cukup memuaskan dalam mengatasi
noise terutama noise salt & pepper dan juga efek blurring yang terjadi jauh lebih kecil jika dibanding
dengan arithmetic filter. Berikut ini ialah persamaan umum dari suatu median filtering :
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
5
Dengan median filtering maka jika terdapat suatu citra yang terdegradasi oleh noise salt & pepper
(hitam/putih) akan ditentukan nilai median-nya atau nilai tengah (bukan rerata) dari suatu kernel (misal
3x3), maka dengan begitu noise salt and peper yang merupakan nilai tertinggi dan terendah dari suatu
rentang nilai grayscale akan hilang. Untuk lebih jelasnya berikut ini adalah contoh penggunaan atau
implementasi dari median filtering pada MATLAB :
close all;
I = imread('cameraman.tif');
J = imnoise(I,'salt & pepper',0.05);
w=fspecial('average',[3 3]); %Arithmetic Filtering
Ari=imfilter(J,w);
Med=medfilt2(J,[3 3]); %Median Filtering dengan kernel 3x3
figure;imshow(J);title('citra noise');
figure;imshow(Ari);title('Citra dengan Arithmetic Filter');
figure;imshow(Med);title('Citra dengan Median Filter');
Note : Analisalah kinerja dari Median Filtering pada model noise lainnya (Gaussian,Poisson,dll) apakah
kinerja filternya lebih baik pada noise model tersebut, dan juga lakukan perbandingan dengan metode
Arithmetic filtering.
Max filtering
Max filter pada prinsip dasarnya adalah mencari pixel dengan nilai grayscale yang paling tinggi dimana
hal ini hanya berguna untuk menghilangkan noise pepper (hitam) dikarenakan suatu pixel digantikan
dengan titik yang paling terang dalam suatu kernel (missal 3x3). Max Filtering didefenisikan sebagai
berikut :
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
6
Min Filtering
Min filter pada prinsip dasarnya adalah mencari pixel dengan nilai grayscale yang paling rendah dimana
hal ini hanya berguna untuk menghilangkan noise salt (putih) dikarenakan suatu pixel digantikan dengan
titik yang paling gelap dalam suatu kernel (missal 3x3). Min Filtering didefenisikan sebagai berikut :
Midpoint Filtering
Midpoint Filtering adalah gabungan antara Max filtering dan Min filtering, hal ini bertujuan karena pada
Max filter berguna untuk menghilangkan hanya noise pepper dan juga sebaliknya Min filtering hanya
untuk noise salt. Midpoint filtering bekerja dengan menjumlahkan antara filter max dan min kemudian
mengalikannya dengan setengah, persamaan umumnya adalah sebagai berikut :
Filter midpoint mengkombinasikan antara order statistical filter dengan averaging filter, berikut ini ialah
implementasi dari midpoint filter pada MATLAB :
close all;
I = imread('cameraman.tif');
J = imnoise(I,'gaussian',0,0.01);
Max = ordfilt2(J,(3*3),ones(3,3),'symmetric'); %Max Filtering
Min = ordfilt2(J,1,ones(3,3),'symmetric'); %Min Filtering
Mid = imlincomb(0.5,Max,0.5,Min); %Mid Filtering
figure;imshow(J);title('Citra dengan Noise Gaussian');
figure;imshow(Mid);title('Citra dengan Midpoint Filter');
Note : pelajari kembali prinsip cara kerja Max Filtering dan Min filtering dalam hubungannya dengan
kinerja Midpoint Filtering terhadap Noise model lain (Gaussian,uniform,salt & pepper, impulse, Poisson,
dll).
%Pelajari slide dosen dengan seksama terutama pelajari karakteristik noise-noise model yang
bermacam-macam;
Hand-out ini bisa anda download dari link berikut: http://simplyos.wordpress.com/
Praktikum Pengolahan Citra Digital – Topik 4 Yosafat Suryotomo - 612004047
7
References
[1] Gonzalez, C. Rafael, Woods, E. Richard and Eddins, L. Steven, Digital Image Processing
using MATLAB, Pearson Education.
[2] I. Setyawan, “EE-733 Pengolahan Citra Digital”, Lecturer’s Slide Show Presentation, Satya
Wacana Christian Univ., ECE Dept.,Salatiga, 2007.
“The pessimist sees difficulty in every opportunity. The optimist sees the
opportunity in every difficulty “
- Winston Churchill