PARALELISASI DE-NOISING CITRA BERDASARKAN TRANSFORMASI WAVELET DISKRIT PADA GPU DENGAN ARSITEKTUR CUDA Rudy Cahyadi Hario Pribadi, S.ST

Prosiding Seminar Nasional Manajemen Teknologi XIV
Program Studi MMT-ITS, Surabaya 23 Juli 2011
PARALELISASI DE-NOISING CITRA BERDASARKAN TRANSFORMASI
WAVELET DISKRIT PADA GPU DENGAN ARSITEKTUR CUDA

Rudy Cahyadi Hario Pribadi, S.ST 1*, Dr. Nanik Suciati, S.Kom, M.Kom 1,
Wahyu Suadi, S.Kom, MM, M.Kom 1
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh
Nopember, Surabaya, Indonesia 1
rudy09@mhs.if.its.ac.id *

Abstrak
Sebuah citra seringkali terkontaminasi oleh noise pada saat akuisisi atau
transmisi. Proses de-noising citra yang bagus adalah sebuah proses untuk
menghilangkan noise pada suatu citra, dengan tetap mempertahankan dan tidak
mendistorsi kualitas citra yang diproses. Proses rekonstruksi dari transformasi
wavelet diskrit bersifat lossless, sehingga dapat digunakan untuk de-noising citra.
Waktu komputasi dari transformasi wavelet diskrit baik pada proses dekomposisi
maupun proses rekonstruksi adalah cukup besar, sehingga kurang bisa memenuhi
kebutuhan secara real-time.
Dengan bertumbuhnya perangkat keras yang mendukung komputasi

secara paralel seperti GPU (Graphic Processing Unit) , permasalahan waktu
komputasi suatu program dapat teratasi. GPU keluaran NVidia, sekarang
dilengkapi dengan suatu arsitektur komputasi paralel yang bernama CUDA
(Compute Unified Device Architecture). CUDA menyediakan mekanisme
pemrosesan data dalam jumlah besar secara paralel. Penelitian ini memparalelkan
proses de-noising citra berdasarkan transformasi wavelet diskrit pada arsitektur
GPU CUDA. Hasil eksperimen menunjukkan bahwa paralesisasi proses denoising pada penelitian ini lebih cepat sekitar 2 kali lipat dibanding dengan hasil
penelitian sebelumnya.
Katakunci: De-noising, Transformasi Wavelet Diskrit, GPU, CUDA

1. Pendahuluan
Sebuah citra seringkali terkontaminasi oleh noise pada saat akuisisi atau
transmisi. Proses de-noising yang bagus adalah sebuah proses untuk menghilangkan
noise pada suatu citra, sementara tetap mempertahankan dan tidak mendistorsi kualitas
citra yang diproses. Teknik pemfilteran noise secara konvensional seperti median
fitering, dan homomorphic Wiener filtering sering mengaburkan tepi-tepi citra [1].
Karena itu, representasi signal dengan skala tunggal baik dalam waktu dan frekuensi
sering tidak cukup memadai ketika digunakan untuk memisahkan signal dari data noise.
Baru-baru ini, metode berdasarkan multiskala dan transformasi wavelet diskrit
dalam kaitan dengan keunggulan sifatnya yang lokalisasi, menjadi sangat populer untuk


1

Prosiding Seminar Nasional Manajemen Teknologi XIV
Program Studi MMT-ITS, Surabaya 23 Juli 2011

de-noising citra [2]. Akan tetapi, waktu komputasi dari transformasi wavelet diskrit
dalam kaitan dengan sifat operasi dekomposisi dan rekonstruksi data yang multilevel,
mengurangi performansi dan implementasi untuk aplikasi real-time, terutama ketika
berhadapan dengan ukuran citra yang besar [3]. Kompleksitas waktu dari transformasi
wavelet adalah O(N2), N adalah ukuran citra, dan waktu proses komputasi bertambah
secara signifikan sesuai dengan ukuran citra [4].
Penelitian sebelumnya [3] mengimplementasikan proses de-noising citra
berdasarkan wavelet menggunakan GPU (Graphics Processing Unit) dengan pustaka
OpenGL. Transformasi wavelet diskrit 2D diimplementasikan dengan menerapkan
Transformasi wavelet diskrit 1D masing-masing sepanjang arah horisontal dan vertikal.
Hasil penelitian tersebut menyimpulkan bahwa transformasi wavelet diskrit
menggunakan GPU Geforce GTX 9700 dapat mempercepat proses komputasi dengan
faktor percepatan 5,9 sampai 9,6 kali terhadap implementasi proses de-noising pada
CPU Pentium IV 2,6GHz .

Pada [5] didapatkan hasil bahwa kinerja menggunakan arsitektur CUDA lebih
baik dari implementasi menggunakan OpenGL. Pada implementasi OpenGL dibutuhkan
pengetahuan khusus tentang grafika komputer, sehingga diperlukan lebih banyak waktu
implementasi. Selain itu, versi GPU NVIDIA Tesla, yang merupakan perangkat keras
khusus komputer berkinerja tinggi tidak mendukung OpenGL. Pada [6] didapatkan hasil
bahwa implementasi CUDA lebih cepat dari OpenGL. Penggunaan CUDA
memudahkan pemrograman dan tidak membutuhkan pengetahuan khusus tentang
grafika komputer. Selain itu, CUDA mengekspos secara detil manajemen thread dan
memori pada GPU, sehingga programmer dapat mengontrol memori, thread, intensitas
aritmetik secara lebih baik.
Pada penelitian ini kami mengusulkan suatu paralelisasi proses de-noising citra
berdasarkan transformasi wavelet diskrit pada GPU dengan arsitektur CUDA.
Transformasi wavelet diskrit digunakan untuk proses de-noising suatu citra, dan
arsitektur CUDA digunakan untuk mempercepat proses de-noising suatu citra pada
GPU secara real-time.
2. Metoda
2.1 Lingkungan Percobaan & data uji coba
Dalam penelitian ini kami menggunakan Hardware CPU Quad Core @2,666Ghz
4GB RAM DDR2 dengan GPU Geforce GTS 450 1GB GDDR3 AMP! Edition.
Software Microsoft Visual Studio 2008 Professional, Matlab R2010a, CUDA toolkit

3.2, Windows 7 64bit.
Data uji coba yang digunakan dalam penelitian ini adalah citra berwarna RGB
dengan berbagai ukuran piksel.
2.2 Algoritma De-noising Citra Berdasarkan Transformasi Wavelet Diskrit
Algoritma de-noising citra berdasarkan transformasi wavelet diskrit meliputi:
1. Dekomposisi transformasi wavelet diskrit 2D.
2. Soft Global thresholding.
3. Rekonstruksi transformasi wavelet diskrit 2D.
Dekomposisi transformasi wavelet diskrit 2D menggunakan basis wavelet
Daubhecies4 dan suatu level dekomposisi untuk menghasilkan koefisien aproksimasi
dan koefisien-koefisien detil dari citra yang mengandung noise pada level yang dipilih.

2

Prosiding Seminar Nasional Manajemen Teknologi XIV
Program Studi MMT-ITS, Surabaya 23 Juli 2011

Daubechies4 mempunyai 4 koefisien fungsi wavelet / high-pass filter dan 4 koefisien
fungsi skala / low-pass filter.
Koefisien fungsi skalanya adalah :


Koefisien fungsi waveletnya adalah :
;

;

;

Dekomposisi transformasi wavelet diskrit 2D dibagi kedalam dua transformasi
wavelet diskrit 1D, pemfilteran secara horisontal/baris dan pemfilteran secara
vertikal/kolom. Misal D(0,0), D(0,1), ..., D(n-1,n-1), n=2k, k  N adalah signal array 2D
(citra) yang akan dedekomposisi. Untuk pemfilteran secara horisontal, low-pass values
didapatkan dengan melakukan perhitungan konvolusi yang melibatkan 4 data asli citra
dan 4 koefisien fungsi skala, seperti pada persamaan (1). High-pass values didapatkan
dengan melakukan perhitungan konvolusi yang melibatkan 4 data asli citra dan 4
koefisien fungsi wavelet, seperti pada persamaan (2). Demikian juga untuk pemfilteran
secara vertikal, cara kerja sama dengan pemfilteran horisontal. Data output dari hasil
pemfilteran horisontal dijadikan sebagai data input untuk pemfilteran vertikal.
(1)
(2)

Dimana lpv adalah low-pass values ; hpv adalah high-pass values ; D adalah data input.
Setiap iterasi index i ditambah 2.
Soft Global thresholding, digunakan untuk menghasilkan sebuah threshold dan
menerapkannya melalui soft tresholding pada koefisien-koefisien detil secara global.
Rekonstruksi transformasi wavelet diskrit 2D juga menggunakan basis wavelet
Daubhecies4. Rekonstruksi transformasi wavelet diskrit 2D juga dibagi kedalam dua
transformasi wavelet diskrit 1D, pemfilteran secara horisontal/baris dan pemfilteran
secara vertikal/kolom. Cara kerja secara umum adalah merekonstruksi citra yang noisenya sudah di-threshold, dengan melakukan perhitungan konvolusi seperti pada
persamaan (3) dan (4), yang melibatkan 4 data hasil dekomposisi yang sudah dithreshold, 2 low-pass values dan 2 high-pass values.
(3)
(4)
Dimana D adalah data piksel citra yang direkonstruksi, d adalah data hasil dekomposisi
yang sudah dithreshold, dimana d0 sampai dhalf-1 adalah low-pass value, dan dhalf sampai
dn-1 adalah high-pass value.
2.3 Eksploitasi paralelisme
Berdasarkan persamaan (1) dan (2) perhitungan setiap low-pass values dan
high-pass values adalah tidak saling tergantung (independent) antara low-pass values
dan high-pass values yang lainnya. Sehingga algoritma dekomposisi transformasi
wavelet diskrit bisa diimplementasikan secara paralel (data paralelism ).
Berdasarkan persamaan (3) dan (4) perhitungan tiap D1 ,D2 sampai Dn tidak

tergantung satu sama lain (independent), Sehingga algoritma rekonstruksi transformasi
wavelet diskrit bisa diimplementasikan secara paralel juga (data paralelism ).
Untuk soft global thresholding tetap dilakukan secara sekuensial di CPU.

3

Prosiding Seminar Nasional Manajemen Teknologi XIV
Program Studi MMT-ITS, Surabaya 23 Juli 2011

2.4 Paralelisasi Dekomposisi Transformasi Wavelet Diskrit 2D menggunakan
CUDA
Algoritma ini terdiri dari proses: Mentransfer citra dari host memory ke device
memory, menerapkan pemfilteran horisontal dekomposisi 1D pada device, menerapkan
pemfilteran vertikal dekomposisi 1D pada device, dan mentransfer citra hasil
dekomposisi dari device memory ke host memory
Berdasarkan ekspolitasi paralelisme pada bab 3.2, perhitungan setiap low-pass
value dan high-pass value dengan CUDA dilakukan oleh satu thread. Sehingga satu
thread menghitung dua nilai.
Didalam proses dekomposisi dengan basis Daubechies4 menggunakan arsitektur
CUDA, terdapat permasalahan batas block. Solusinya adalah melakukan periodic

padding yaitu menambahkan beberapa jumlah elemen input data pada suatu block
secara periodik. Jumlah padding adalah sama dengan jumlah basis Daubechies4 yaitu 4.
Sehingga dalam satu block terdapat 2*(512 - npadding) perhitungan nilai.
Untuk pemfilteran horisontal dekomposisi, misal citra NxN membutuhkan grid
berdimensi 2 ( n BlockIdx.x, N BlockIdx.y ) dan tiap block mempunyai jumlah thread
512 ( 512 ThreadIdx.x, 1 ThreadIdx.y ).
n = 1, Jika N < (2*(512 - npadding)).
n = N/(2*(512 - npadding)), jika N%(2*(512-npadding)) = 0.
n = N/(2*(512 - npadding)) + 1, jika N%(2*(512 - npadding)) 0.
Proses pemfilteran vertikal sama dengan pemfilteran horisontal, namun untuk
pemfilteran vertikal yang diproses adalah dimensi kolom citra, sedangkan pemfilteran
horisontal adalah dimensi baris citra. Sehingga, misal untuk citra berukuran NxN, maka
dibutuhkan grid berdimensi 2 ( N BlockIdx.x, n BlockIdx.y ) dan tiap block
mempunyai jumlah thread 512 ( 1 ThreadIdx.x, 512 ThreadIdx.y ).
Sebelum melakukan perhitungan, data dari global memory dimuat ke shared
memory, karena shared memory lebih cepat dari global memory. Setiap thread pada
block memuat 2 elemen input data dari global memory ke shared memory.
2.5 Paralelisasi Rekonstruksi Transformasi Wavelet Diskrit 2D menggunakan
CUDA
Algoritma ini terdiri dari proses: Mentransfer citra dari host memory ke device

memory, menerapkan pemfilteran horisontal rekonstruksi 1D pada device, menerapkan
pemfilteran vertikal rekonstruksi 1D pada device, dan mentransfer citra hasil
dekomposisi dari device memory ke host memory.
Berdasarkan eksploitasi paralelisme pada bab 3.2, perhitungan setiap data
rekonstruksi dengan CUDA dilakukan oleh satu thread. Jadi satu thread menghitung
satu data rekonstruksi.
Didalam proses rekonstruksi dengan basis Daubechies4 menggunakan arsitektur
CUDA, terdapat proses zero padding diantara dua input data. Zero padding yaitu
menambahkan beberapa elemen input data yang bernilai 0 diantara dua input data.
Didalam satu block terdapat (512-2*npadding) perhitungan nilai data rekonstruksi.
Untuk pemfilteran horisontal rekonstruksi, misal untuk citra berukuran NxN,
membutuhkan grid berdimensi 2 ( n BlockIdx.x, N BlockIdx.y ) dan tiap block
mempunyai jumlah thread 512 ( 512 ThreadIdx.x, 1 ThreadIdx.y ).
n = 1, jika Nl

Dokumen yang terkait

ANALISIS KOMPARATIF PENDAPATAN DAN EFISIENSI ANTARA BERAS POLES MEDIUM DENGAN BERAS POLES SUPER DI UD. PUTRA TEMU REJEKI (Studi Kasus di Desa Belung Kecamatan Poncokusumo Kabupaten Malang)

23 307 16

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

MANAJEMEN PEMROGRAMAN PADA STASIUN RADIO SWASTA (Studi Deskriptif Program Acara Garus di Radio VIS FM Banyuwangi)

29 282 2

PENYESUAIAN SOSIAL SISWA REGULER DENGAN ADANYA ANAK BERKEBUTUHAN KHUSUS DI SD INKLUSI GUGUS 4 SUMBERSARI MALANG

64 523 26

ANALISIS PROSPEKTIF SEBAGAI ALAT PERENCANAAN LABA PADA PT MUSTIKA RATU Tbk

273 1263 22

PENERIMAAN ATLET SILAT TENTANG ADEGAN PENCAK SILAT INDONESIA PADA FILM THE RAID REDEMPTION (STUDI RESEPSI PADA IKATAN PENCAK SILAT INDONESIA MALANG)

43 322 21

REPRESENTASI CITRA PEREMPUAN DALAM IKLAN DI TELEVISI (ANALISIS SEMIOTIK DALAM IKLAN SAMSUNG GALAXY S7 VERSI THE SMARTES7 ALWAYS KNOWS BEST)

132 481 19

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25