IMPLEMENTASI PENGHAPUSAN IMPULSE NOISE DARI CITRA TERDEGRADASI MENGGUNAKAN DETEKTOR IMPULSE NOISE BERBASIS JARINGAN SYARAF Eva Pratiwi1, Handayani Tjandrasa2, Bilqis Amaliah3 Institut Teknologi Sepuluh Nopember Surabaya, Indonesia. Email :
[email protected],
[email protected],
[email protected]
1. PENDAHULUAN
ABSTRAK Impulse noise adalah salah satu jenis noise yang mucul pada citra. Pada Tugas Akhir ini, digunakan detektor impulse noise berbasis jaringan syaraf. Jaringan syaraf ini menggunakan nilai piksel, Median filter dan nilai ROAD (Rank-ordered Absolute Differences) dari citra sebagai masukan jaringan. Selanjutnya impulse noise yang telah berhasil dideteksi oleh detektor impulse noise ini dihapus menggunakan algoritma filtering. Algoritma filtering yang digunakan pada Tugas Akhir ini ada dua, yaitu Adaptive Sized Mean Filter (Algoritma I) dan Iterative Mean Filter (Algoritma II).
Citra seringkali terdegradasi oleh noise ketika pembuatan atau ketika ditransmisikan. Salah satu jenis noise adalah impulse noise. Dalam banyak aplikasi penghilangan impulse noise dari citra diperlukan untuk proses lebih lanjut. Tujuan utama dari algoritma penghapusan impulse noise adalah untuk menghapus impulse noise tanpa mempengaruhi detail citra, seperti tepian obyek. Banyak metode telah diusulkan untuk menghapus noise pada citra. Diantaranya adalah Median filter, Weighted Median (WM), Center Weighted Median (CWM), Switched Median filter dan masih banyak metode yang lain.
Kinerja dari detector impulse noise dianalisis menggunakan False Alarm Ratio (FAR), Missed Noise (MN) dan Falsely Detected Noise (FDN). Hasil dari uji coba menunjukkan kinerja ditektor impulse noise baik dilihat dari kecilnya nilai FAR, MD dan FDN. Sedangkan kinerja algoritma filtering diukur berdasarkan nilai Peak Signal to Noise Ratio (PSNR) dan waktu komputasi. Hasil dari uji coba pada citra dengan kerapatan tinggi (40% keatas) menunjukkan bahwa nilai PSNR dari Alogoritma II sedikit lebih baik jika dibanding dengan Algoritma I. Analisis waktu komputasi juga menunjukan bahwa Algoritma II memiliki kinerja yang lebih baik dibandingkan dengan Algoritma I.
Didalam Tugas Akhir ini, penulis menggunakan jaringan syaraf sebagai basis dari detektor impulse noise dengan nilai piksel, nilai Median filter dan nilai ROAD (Rankordered Absolute Differences) sebagai masukan jaringan. Sedangkan untuk proses filtering digunakan 2 algoritma yang merupakan modifikasi dari arithmetic mean filter. Yaitu Adaptive Sized Mean Filter(Algoritma I) dan Iterative Mean Filter(Algoritma II). Diharapkan dengan metode ini impulse noise dapat dihilangkan dari citra tanpa merusak detail-detail obyek pada citra.
Kata kunci: jaringan saraf, filtering citra, detektor impulse noise, impulse noise
2. DETEKTOR IMPULSE NOISE Detektor impulse noise yang di usulkan adalah detektor impulse noise dengan menggunakan jaringan syaraf. Masukan dari 1
jaringan syaraf ini adalah piksel citra, Median filter, dan nilai ROAD. Untuk lebih jelasnya dapat dilihat pada gambar 1.
2.2 NILAI ROAD ROAD (Rank-ordered Absolute Differences) menyediakan pengukuran tentang kedekatan suatu piksel dengan piksel tetangganya yang paling mirip. Logika yang mendasarinya adalah bahwa piksel noise akan memiliki perbedaan intensitas yang besar dengan kebanyakan atau semua piksel tetangganya. Mengingat kebanyakan piksel (bukan noise) yang menyusun citra setidaknya memiliki separuh piksel tetangga yang mirip intensitasnya, bahkan pada piksel tepi sekalipun.[3]
Gambar 1 Detektor Noise yang Diusulkan
2.1 MEDIAN FILTER Median filter termasuk dalam kategori orderstatistic filter, yang merupakan filter spasial yang meresponnya berdasarkan urutan (peringkat) piksel-piksel yang ada pada area citra yang dicakup oleh filter. Sesuai dengan namanya Median filter mengganti nilai dari sebuah piksel dengan median dari piksel tetangganya.[1]
Statistik ROAD merupakan indikator yang baik untuk impulse noise. Idealnya diinginkan statistik yang sangat tinggi untuk piksel noise dan rendah untuk piksel yang bukan noise. Gambar 3 menunjukkan hasil analisis secara kuantitatif dari citra Lena. Garis putus-putus yang terletak diatas menunjukkan rata-rata nilai ROAD untuk piksel noise dan garis putus-putus yang dibawah menunjukkan ratarata nilai ROAD untuk piksel yang bukan noise. Pada gambar ditunjukkan bahwa ratarata nilai ROAD cukup stabil bahkan pada kerapatan noise yang besar.[3]
Median filter yang digunakan adalah Median filter standar yang beroperasi pada jendela 3 x 3. Jendela meneliti citra dengan cara raster scan.[2]
Pada Median filter, misalkan n = (i, j) adalah lokasi piksel yang sedang dihitung dan Wn adalah jendela 3x 3 yang ditunjukkan pada gambar 2.
. Gambar 2 Jendela Perhitungan Median Filter
Median filter persamaan : m(n) = Median(Wn)
dicari
Gambar 3 Perbandingan rata-rata nilai ROAD antara piksel noise dan bukan noise
dengangan
ROAD faktor adalah faktor yang berguna untuk membedakan antara piksel yang rusak/noise dan piksel yang bukan noise. Seperti yang terlihat pada gambar 2-4, nilai ROAD faktor tinggi untuk piksel yang noise dan rendah untuk piksel bukan. Nilai ROAD dihitung dengan jendela 3x3. Nilai ROAD
(2.2.1)
2
dihitung menurut langkah-langkah sebagai berikut :
menghubungkan antar neuron. Apabila ada rangsangan yang sama dengan rangsangan yang diterima oleh neuron sebelumnya, maka neuron akan memberikan reaksi dengan cepat. Akan tetapi apabila ada rangsangan yang berbeda dengan apa yang telah diterima oleh neuron, maka neuron akan segera beradaptasi untuk member reaksi yang sesuai.[7]
1) Nilai absolut dari selisih antara piksel tengah dan piksel-piksel sekitarnya dinotasikan dengan dn (untuk jendela 3x3)
dn = |wn – xn| (2.2.2) 2) Urutkan nilai dn dengan urutan naik dan nilai yang telah diurutkan diberi notasi rn rn = sort(dn)
Pada saat pelatihan dilakukan pada input (masukan) yang berbeda, maka nilai bobot akan dirubah secara dinamis hingga mencapai suatu nilai yang cukup seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiaptiap input telah berhubungan dengan output yang diharapkan. Selama proses pelatihan, masing-masing bobot koneksi dipropagasikan ke seluruh unit atau node dengan metode pelatihan perambatan balik (backpropagation). Bobot-bobot diatur secara iteratif untuk meminimumkan fungsi kinerja jaringan. Fungsi kinerja yang sering digunakan adalah MSE, dimana fungsi ini mengambil kuadrat error yang terjadi antara output dan target. Ada beberapa metode pembelajaran yang dapat digunakan untuk mengatur bobot dalam rangka meminimumkan MSE. Pada tugas akhir ini dibatasi hanya untuk Levenberg Marquardt.
(2.2.3) 3) Nilai ROAD dihitung dengan menjumlahkan 4 nilai pertama dari rn.
2.3 JARINGAN SYARAF Jaringan syaraf yang digunakan dalam tugas akhir ini adalah Backpropagation network. Jaringan syaraf yang digunakan terdiri dari dua lapisan tersembunyi (hidden layer), secara berturut-turut terdiri dari 5 dan 3 neuron. Seperti ditunjukkan pada Gambar 4. Pada dasarnya, jaringan syaraf merupakan satu kumpulan elemen-elemen pemrosesan sederhana yang saling berhubungan, yang disebut neuron (unit, sel atau node). Setiap neuron dihubungkan dengan neuron lain dengan link komunikasi langsung melalui pola hubungan yang disebut arsitektur jaringan. Tiap-tiap hubungan tersebut mempunyai bobot koneksi (weight) yang dilatih untuk mencapai respon yang diinginkan. Sehingga diharapkan dengan pelatihan terhadap data berdasarkan bobot-bobot koneksi tersebut diharapkan memperoleh nilai keluaran yang diinginkan. Metode yang digunakan untuk menentukan bobot koneksi tersebut dinamakan algoritma pelatihan (training algorithm). Tiap-tiap hubungan antar neuron mempunyai bobot koneksi yang dilatih untuk mencapai respon yang diinginkan dengan melakukan suatu proses pelatihan (training). Selama proses pelatihan, terjadi perubahan yang cukup berarti pada bobot-bobot yang
Pelatihan backpropagation dilakukan dalam rangka pengaturan bobot, sehingga pada akhirnya pelatihan akan diperoleh bobot-bobot yang optimal. Hal ini dapat dipenuhi dengan melakukan proses pelatihan dengan menyesuaikan parameter-parameter atau bobot dan bias koneksi sehingga untuk suatu input tertentu, jaringan dapat menghasilkan output yang sesuai dengan target. Proses penyesuaian dilakukan dengan memberikan sebuah training set (berupa suatu himpunan yang terdiri dari pasangan input dan output) pada jaringan. Training set tersebut dievaluasi dengan suatu algoritma pelatihan tersebut. Selama proses pelatihan berlangsung, training set akan dievaluasi berkali-kali secara iteratif untuk meminimumkan fungsi kuadrat error-nya. Fungsi ini mengambil kuadrat error yang 3
terjadi antar output dan target. Dengan metode ini kesalahan lokal tiap sel dapat dilihat sebagai bagian yang terkontribusi dalam menghasilkan kesalahan total pada lapisan output. Apabila kesalahan pada lapisan output dapat dipropagasikan kembali masuk lapisan tersembunyi, maka kesalahan lokal sel-sel pada lapisan tersebut dapat dihitung untuk mendapatkan perubahan bobot. Backpropagation merupakan algoritma pelatihan terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot terhubung dengan neuron-neuron pada lapisan tersembunyi. Algoritma ini menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambahan maju (forward propagation) harus dikerjakan terlebih dahulu.
Gambar 4 Arsitektur Jaringan Syaraf Langkah-langkah pelatihan backpropagation meliputi 3 fase: 1) Fase I : Forward Propagation (propagasi maju) Selama propagasi maju, sinyal input (Xi) dipropagasikan kelapisan tersembunyi (hidden layer). Sinyalsinyal input terboboti yang masuk ketiap-tiap unit pada lapisan tersembunyi ( Z1j, j = 1, 2, .. ,p), ditentukan dengan persamaan : Z_in1j = b1j + ∑ Sinyal output dari lapisan tersembunyi (Zj) ditentukan menggunakan fungsi aktifasi yang telah ditentukan. Z1j = f(Z_in1j) Karena fungsi aktifasi yang digunakan adalah fungsi logistik sigmoid maka persamaan menjadi :
Contoh arsitektur jaringan bacpropagation seperti terlihat pada Gambar 2, dimana jaringan terdiri dari 3 neuron pada lapisan input yaitu x1, x2, dan x3. 2 lapisan tersembunyi dengan neuron masing-masing 5 dan 3, yaitu z11, z12, z13, z14, z15, dan z21, z22, z23. Serta 1 unit pada lapisan output, yaitu y1. V1ij adalah bobot yang menghubungkan neuron input ke-i ke neuron ke-j pada lapisan tersembunyi dan v10j, adalah bobot bias yang menuju ke neuron ke-j pada lapisan tersembunyi. V2jk adalah bobot yang menghubungkan neuron input ke-j ke neuron ke-k pada lapisan tersembunyi dan v20k, adalah bobot bias yang menuju ke neuron ke-k pada lapisan tersembunyi. Bobot yang menghubungkan z2jk dengan neuron pada lapisan output adalah wk dan bobot bias w01 menghubungkan lapisan tersembunyi dengan output.
Z1j =
_
=
∑
Selanjutnya Z1j tersebut dipropagasikan maju kelapisan tersembunyi berikutnya : Z_in2k = b2k + ∑ Sehingga didapat Z2k (K =1,2, .. q) dengan menggunakan fungsi aktifasi : Z2k = f(Z_in2k) Kemudian Z2k tersebut dipropagasikan maju kelapisan output dengan persamaan : 4
Y_in = b3 + ∑ Sinyal outpuntnya ditentukan dengan : Y = f(y_in) Berikutnya, output jaringan (Y) dibandingkan dengan target yang harus dicapai(t). Selisih (t-y) adalah kesalahan (error) yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka epoch dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi.
Jacobian dapat Matriks dikomputasikan melalui tenik backpropagasi standart. Matriks Jacobian tersusun dari turunan pertama fungsi error terhadap masingmasing komponen bobot dan bias koneksi jaringan. Nilai parameter Marquardt (µ) dapat berubah pada setiap epoch. Jika setelah berjalan satu epoch. Jika setelah berjalan satu epoch nilai fungsi error menjadi lebih kecil, nilai µ akan dibagi factor τ. Bobot dan bias baru akan dipertahankan dan pelatihan dapat dilanjutkan ke epoch berikutnya. Sebaliknya, jika setelah berjalan satu epoch nilai fungsi error menjadi lebih besar maka nilai µ akan dikalikan dengan factor τ. Nilai perubahan bobot dan bias dihitung kembali sehingga menghasilkan nilai yang baru. Algoritma pelatihan dengan metode Levenberg Marquardt dapat dijabarkan sebagai berikut : Langkah 0 : Insialisasi bobot awal dengan bilangan agak kecil Insialisasi epoch 0, MSE ≠ 0 Tetapkan maksimal epoch, parameter Levenberg Marquardt dapat dijabarkan sebagai berikut :
2) Fase II : Backpropagation (Propagasi mundur) Kesalahan (error) yang terjadi dipropagasi mundur, dimulai dari garis yang berhubungan langsung dengan unit lapisan pada output. Algoritma Levenberg-marquardt merupakan pengembangan algoritma backpropagation standar. Pada algoritma backpropagation, proses update bobot dan bias menggunakan negative gradient descent secara langsung sedangkan. Algoritma Levenberg Marquardt menggunakan pendekatan matrik Hesian (H) yang dapat dihitung dengan :
Langkah 1 : Jika kondisi penghentian belum terpenuhi (epoch < Maksimum epoch atau MSE > target error), lakukan langkah berikutnya.
H = Jt J sedangkan gradient dapat digitung dengan : G = Jt e
Langkah 2 : Epoch = epoch +1 Untuk setiap pasangan data pelatihan, lakukan langkah 3-4 Langkah 3 : Unit output Y menerima target pola yang berhubungan dengan pola
Dalam hal ini J merupakan sebuah matrik jacobian yang berisikan turunanan pertama dari error jaringan terhadap bobot dan bias jaringan. Perubahan pembobot dapat dihitung dengan : ∆W = -[H + µI]-1G
5
#
J(w) = #%$
input pelatihan. Jika diberikan N pasangan input data pelatihan (xr,tr), r = 1,2,..,N, dengan xr adalah input dan tr target yang akan dicapai. Kesalahan pada suatu data pelatihan ke-r didefinisikan sebagai : er = tr –yr Dengan : er : kesalahan pada unit output tr : keluaran yang diinginkan (acuan/target) yr : keluaran actual E adalah vektor kesalahan berukuran Nx1 yang tersusun dari er, r = 1 ,2 , … , N. e dapat ditulis sebagai : e = [e1 e2 … eN]T
#
+#%, * * * # )#%,
#
&'(
#
#
1,
. . #0
#
#
#
. . #0 . . #0 . . #0 5 , 1. 1. … 4 4 … # # # # # # 4 .. .. . . #0 . . #0 . . #0 #%., #01, #01., , 1. 1. 3 #%.,
. . #0
= 1.,
Untuk r = 1,2, … N a. Hitung matriks Hessian untuk vektor bobot dan bias koneksi. H(w) = [JT(w)J(w)]NxS b. Hitung perubahan vektor bobot dan bias dengan persamaan berikut : 6 7 899H w < µI>? @>( c. Hitung vektor bobot dan bias baru W(baru) = w(lama) + ∆w d. Hitung kesalahan yang terjadi oleh bobot dan bias koneksi yang baru E(w(baru)) =
Misalnya bobot dan bias koneksi dinyatakan dalam vektor berukuran S = ((n*p)+(p*q)+(2q+p+1))x1 dapat dituliskan sebagai : w = [wk w01 v2jk v20k v1ij
!
ABCD" !
e. Bandingkan E(w) dengan E(w(baru)) o JIka E(w) <= E(w(baru)) maka didapatkan : µ = µ * τ , dan kembali kelangkah a. o Jika E(w) > E(w(baru)) maka didapatkan: µ =µ /τ Kembali ke langkah 2.
v10j]T Kesalahan suatu pelatihan jaringan oleh vektor bobot dan bias koneksi w pada suatu data ke-r menjadi : er(w) = (tr – yr) = (tr – f(xr, w)) Vektor kesalahan oleh vektor bobot dan bias koneksi w menjadi e(w) berukuran Nx1 yang tersusun dari er(w), dengan r = 1 ,2 , .. N. Hitung fungsi jumlah kuadrat error dengan persamaan :
3) Fase III : Weight Update(Perubahan Bobot) Modifikasi bobot dan bias untuk menurunkan kesalahan yang terjadi. Perubahan bobot dan bias pada garis yang munuju unit output : Wk (baru) = Wk(lama) + ∆Wk b3(baru) = b3(lama)+ ∆b3 Perubahan bobot dan bias pada garis munuju unit tersembunyi ke-2 : V2jk (baru) = V2jk (lama) + ∆ V2ij b2(baru) = b2(lama)+ ∆b2
E(w) = ! " ! Hitung matriks Jacobian untuk vektor bobot dan bias koneksi :
6
Perubahan bobot dan bias pada garis munuju unit tersembunyi pertama: V1ij (baru) = V1ij (lama) + ∆ V1ij b1(baru) = b1(lama)+ ∆b1 Ketiga fase ini diulang hingga kondisi penghentian terpenuhi.
Pembuatan keputusan, apakah piksel dianggap noise atau tidak, dilihat dari output jarinan syaraf dengan threshold 0.5. y(n) = 0 jika hasil keluaran < 0.5 = 1 jika hasil keluaran ≥ 0.5 (2.2.4)
PELATIHAN
Jika hasilnya bernilai 1, maka piksel yang sedang dihitung dianggap noise dan sebaliknya.
2.4 GENERALISASI DATA
2.5 PEMBUAT KEPUTUSAN
2.6 PENGHAPUSAN NOISE
Untuk generalisasi detektor noise, pemilihan citra yang digunakan untuk pelatihan jaringan syaraf adalah proses yang paling penting. Pada [5,6], digunakan citra pelatihan buatan yang memiliki kemampuan generalisasi yang baik. Karena citra yang digunakan untuk pelatihan memiliki graylevel dengan nilai acak, diharapkan jaringan syaraf yang dilatih akan memiliki kinerja yang baik untuk segala kelas citra[2].
Penghapusan noise pada citra merupakan langkah kedua, langkah ini sangat bergantung pada kinerja dari detektor noise pada langkah pertama. Piksel-piksel noise yang berhasil didedeteksi oleh detektor noise akan diganti dengan piksel penggganti yang merupakan hasil perhitungan menggunakan algoritma filtering yang digunakan. Sedangkan pikselpikse lain yang bukan noise akan dibiarkan apa adanya.
Citra yang dilakukan untuk pelatihan citra dan citra target ditunjukkan pada gambar 5. Citra pertama adalah citra dengan ukuran 128 x 128 dan terdiri dari kotak persegi 4 dengan ukuran piksel 4 x 4. Semua piksel dalam kotak persegi 4 memiliki graylevel yang sama yang dipilih secara random antara 0 sampai 255. Citra kedua diperoleh dengan menambahkan impuls noise sebesar 30% pada citra pertama. Citra yang terakhir adalah citra target yang terdiri dari titik-titik putih (yang menunjukkan keberadaan noise) dan titik hitam (merupakan piksel yang tidak terdegradasi). Citra ke-3 ini bertindak sebagai target image bagi detektor noise yang diusulkan.
Pada Tugas Akhir ini digunakan 2 algoritma untuk menghapus noise dari citra. Yang pertama adalah Adaptive Sized Mean Filter (Algoritma I). Algoritma ini akan menambah ukuran jendala jika tidak ditemukan piksel yang tidak terdegradasi. Algoritma kedua adalah Iterative Mean Filter (Algoritma II). Algoritma ini menggunakan jendela dengan ukuran tetap dan akan mengganti piksel dengan hitam jika tetangganya semuanya merupakan piksel yang terdegradasi. Kemudian memproses citra secara iteratif sampai tidak ditemukan piksel yang terdegradasi. 2.6.1 Algoritma I (Adaptive Sized Mean Filter) Algoritma ini menambahkan ukuran jendela perhitungan jika tidak menemukan piksel yang bukan noise didalam jendela perhitungan. Dan merupakan versi modifikasi dari simple arithmetic mean filter. Langkah-langkahnya sebagai berikut :
(a) (b) (c) Gambar 5 (a) Citra dasar. (b) Citra dengan Noise. (c) Citra Target
7
a) Pilih ukuran jendela inisial N = 3. Cari jumlah piksel yang bukan noise dan dinotasikan dengan K. Jika K=0 lanjutkan ke langkah b jika tidak lanjutkan ke langkah d. b) Tambah ukuran jendela dengan 2. Sebagai contoh N = N + 2. c) Cari K. Jika K = 0, lanjutkan ke langkah b. Jika tidak, lanjutkan ke langkah d. d) Cari rata-rata dari “K”, piksel yang bukan noise, pada jendala yang dipilih. e) Gantikan piksel yang sedang dihitung dengan hasil dari langkah sebelumnya. 2.6.2 Algoritma Filter)
II
(Iterative
Mean
Algoritma filter ini merupakan modifikasi sederhana dari mean filtered dengan eksekusi secara iterasi. Langkah-langkahnya sebagai berikut : Gambar 4 Diagram alir model sistem secara umum
a) Pilih jendela tetangga dengan ukuran 3x3 dan temukan piksel yang tidak terdegradasi di dalam jendela tersebut. Misalkan jumlah dari piksel yang bukan noise tersebut dengan “K”. b) Jika K= 0, kemudian ganti nilai piksel tersebut dengan nilai keabuan 0 (warna hitam). Jika tidak, gantikan dengan rata-rata dari piksel yang bukan noise pada jendela tersebut. c) Periksa apakah masih ditemukan noise. Jika masih ditemukan lanjutkan ke langkah 1, jika tidak hentikan eksekusi.
2.8 UJI COBA DAN EVALUASI Data masukan yang digunakan untuk uji coba adalah citra grayscale dengan ukuran 512 x 512 piksel. Ada 6 citra yang digunakan dalam percobaan yaitu baboon (madrill), boat, pentagon, lena, cameraman dan peppers. Set Citra test terdiri dari citra dengan banyak detail-detail halus atau cintra komplek dan citra dengan sedikit detail halus atau citra sederhana. Untuk lebih jelasnya dapat dilihat pada gambar 5.
Karena piksel, yang tidak mempunyai tetangga yang baik, digantikan dengan nilai 0. Pada iterasi selanjutnya dia akan dianggap
sebagai noise dan meningkatnya iterasi.
di-filter
seiring
2.7 METODOLOGI Metodologi dari sistem ini dibagi dalam dua tahapan yaitu pendeteksian noise pada citra dan filtering citra. Untuk lebih jelasnya dapat dilihat pada gambar 4.
Gambar 5 Gambar yang dipakai sebagai data masukan 8
2.8.1
2.8.2
PERFORMA DETEKTOR NOISE
Nilai PSNR yang besar menandakan kekuatan sinyal yang bagus. Dari hasil uji coba dari kedua algoritma dapat dilihat bahwa keduanya hampir memiliki nilai PSNR yang sama besar, tetapi untuk kerapatan noise yang besar algoritma 2 cenderung sedikit lebih baik jika dibanding algoritma 1, untuk lebih jelasnya dapat dilihat gamabar 10. 40
PSNR
Missed Noise
Performa dari noise detektor adalah ukuran dari kemampuan detektor noise untuk secara tepat menemukan piksel noise. Ada 2 kemungkinan kesalahan dalam pendeteksian noise, pertama gagal mendeteksi piksel noise sebagai noise dan kedua salah mendeteksi piksel bukan noise sebagai noise. Untuk menganalisa performa dari detektor noise yang digunakan, set citra yang digunakan untuk testing diberi noise mulai 0% sampai 90% (dengan step 10%). Untuk lebih jelasnya dapat dilihat pada gambar 6 dan 7. 1
30
Algoritma 1
0.5
Algoritma 2
0
20 0 10 20 30 40 50 60 70 80 90
10 30 50 70 90
Noise %
Noise %
Gambar 10 Grafik Rata-rata PSNR
Gambar 6 Grafik Rata-rata Missed Noise 60 Falsely Detected Noise
PERFORMA ALGORITMA FILTERING
2.8.3
50
WAKTU KOMPUTASI
Program ini diimplementasikan pada prosesorIntel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz dengan memori 1.96 GB. Uji coba dilakukan untuk menganalisa waktu komputasi yang dibutuhkan oleh kedua algoritma untuk keseluruhan citra yang digunakan untuk uji coba.
40 30 20 10 0 0 10 20 30 40 50 60 70 80 90
Dari hasil uji coba didapatkan hasil bahwa waktu komputasi cenderung bertambah seiiring dengan semakin tingginya kerapatan noise seperti dilihat pada gambar 11.
Noise %
Gambar 2 Grafik Rata-rata Falsely Detected Noise Dari gambar 1 dapat dilihat bahwa nilai Missed Noise (MN) bernilai 0. Dengan kata lain hampir semua piksel noise berhasil diidentifikasi. Grafik dari nilai rata-rata Falsely Detected Noise (FDN) dilihat pada gambar 2. Dari grafik tersebut dapat dilihat bahwa nilai rata FDN menurut seiiring dengan bertambahnya kerapatan noise.
9
Waktu (detik)
REFERENSI
20 18 16 14 12 10 8 6 4 2 0
[1] R.C. Gonzalez, R.E. Woods, Digital Image Processing, Prentice-Hall, Englewood Cliffs, NJ, 2002. [2] G. Kaliraj, S. Baskar, An efficient approach for the removal of impulse noise from the corrupted image using neural network based impulse detector, Image and Vision Computing 28 (2010) 458-466.
Algoritma 1 Algoritma 2
0
20 40 60 80
Noise %
[3] R. Garnett, T. Huegerich, C.Chui, W. He, A universal noise removal algorithm with an impulse detector, IEEE Trans. Image Process. 14(11) (2005) .
Gambar 11 Grafik Rata-rata Waktu Komputasi Pada gambar 11 terlihat jelas bahwa Algoritma II memiliki waktu komputasi yang lebih kecil dibanding Algoritma I terutama pada kerapatan noise yang tinggi. Semakin tinggi kerapatan noise semakin besar selisih waktu komputasinya.
[4] S. N. Sivanandam, Sumathi & Deepa, 2006, Introduction to neural networks using MATLAB 6.0, Tata McGraw-Hill. [5] M. Emin Yüksel, Erkan Besd_ok, A simple neuro-fuzzy impulse detector for efficient blur reduction of impulse noise removal operators for digital images, IEEE Trans. Fuzzy Syst. 12 (6) (2004).
2.9 KESIMPULAN Dari uji coba yang telah dilakukan dan setelah menganalisis hasil pengujian terhadap penghapusan impuls noise pada citra menggunakan detektor impulse noise dan filtering menggunakan Algoritma I dan II. Penggunaan detektor noise ternyata dapat mendeteksi noise dengan baik dilihat dari kecilnya nilai FAR baik untuk citra komplek maupun citra sederhana. Semakin besar kerapatan noise jumlah Falsely Detected Noise (FDN) menurun dan mengakibatkan nilai FAR menjadi lebih kecil. Semakin besar kerapatan noise nilai PSNR menurun. Dari hasil uji coba dapat disimpulkan bahwa Algoritma 2 lebih baik dari Algoritma 1 dilihat dari nilai PSNR citra output dan waktu komputasi yang dibutuhkan.
[6] M. Emin Yüksel, A hybrid neuro-fuzzy filter for edge preserving restoration of images corrupted by impulse noise, IEEE Trans. Image Process. 15 (4) (2006). [7] M. Emin Yüksel, A hybrid neuro-fuzzy filter for edge preserving restoration of images corrupted by impulse noise, IEEE Trans. Image Process. 15 (4) (2006). [8] Warsito, B. danSumiyati, S., 2007, “Prediksi Curah Hujan dengan Feedforward Neural Network Menggunakan Algoritma Quasi Newton BFGS dan Levenberg-Marquardt”, Jurnal PRESIPITASI Volume 3 No 2 Edisi September UNDIP Semarang.
10