JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
ISSN : 2086 – 4981
RESTORASI CITRA KABUR (BLUR) MENGGUNAKAN ALGORITMA LUCY-RICHARDSON Yeka Hendriyani1
ABSTRACT Image restoration is the image processing technique by finding the cause that damage the image, then applying the available techniques to fix it. The restoration technique is oriented at modeling of degradation and makes the reverse process of the degradation in order to recover the original image. Some examples of damage that could be fixed in the restoration technique, such as: blur / blur freckles, dual image, over-saturated color, and pixel error. Degradation that is discussed in this paper is blurring (deploring), the motion blurs and Gaussian blur. Lucy-Richardson algorithm is used to fix/restore images that have been given the blurring effect. Lucy-Richardson algorithm is an iterative algorithm. Iteration is stopped when the best compromise between image qualities with noise has been achieved. The purpose of this paper is to investigate the ability of these algorithms to improve the degradation in blurred image. Of the experiment is concluded that the Lucy-Richardson algorithm can fix blurry images with varying degrees of obscurity. The percentage of improvement that occurred after the application of this algorithm to the blurred image is ranged between 3.19% until 6.75%. Keyword: Image Restoration, Blur, Motion Blur, Gaussian Blur, Degradation INTISARI Image restoration yaitu teknik pemrosesan citra dengan cara mencari terlebih dahulu penyebab kerusakan citra tersebut, setelah itu mengaplikasikan teknik– teknik yang ada untuk memperbaikinya. Teknik restorasi berorientasi pada pemodelan degradasi dan melakukan proses kebalikan dari degradasi dalam merecover citra aslinya. Beberapa contoh kerusakan yang bisa di restorasi yaitu seperti: blur/ kabur ,bintik-bintik, dual image, over saturated color, dan pixel error. Degradasi yang dibahas pada tulisan ini adalah pengaburan (deblurring), yaitu motion blur dan Gaussian blur. Algoritma Lucy-Richardson digunakan untuk memperbaiki/ merestorasi citra yang telah diberi efek kabur tersebut. Algoritma Lucy-Richardson merupakan algoritma iteratif. Iterasi dihentikan jika kompromi terbaik antara kualitas citra dengan derau telah dicapai. Tujuan tulisan ini yaitu menyelidiki kemampuan algoritma ini dalam memperbaiki degradasi kabur pada citra. Dari eksperimen disimpulkan bahwa Algoritma Lucy-Richardson dapat memperbaiki citra kabur dengan berbagai tingkat kekaburan. persentase perbaikan yang terjadi setelah pengaplikasian algoritma ini pada citra kabur yaitu berkisar antara 3.19% sampai dengan.75%. Keyword: Image Restoration, Blur, Motion Blur, Gaussian Blur, Degradation 1
Dosen Jurusan Teknik ELektronika Fakultas Teknik Universitas Negeri Padang
166
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
PENDAHULUAN Image processing adalah suatu teknologi yang berfungsi untuk menyelesaikan masalah mengenai pengolahan citra. Tujuannya yaitu untuk mengolah citra sedemikian rupa, sehingga citra tersebut lebih mudah untuk diproses lebih lanjut atau diedit. Dua jenis Image processing yaitu image enhancement dan image restoration. Image enhancement dapat kita temui dalam dunia fotografi atau editing. Sudah merupakan hal yang biasa bagi editor untuk mengedit foto sedemikian rupa, sehingga dihasilkan citra/ foto yang maksimal. Contohnya yaitu seperti menambahkan brightness, gamma, auto level atau teknik lainnya. Biasanya teknik-teknik tersebut telah tersedia dalam software photoshop, photoline dan lain-lain. Proses yang terjadi pada teknik ini cenderung bersifat subjektif. Pada image restoration, penyebab kerusakan citra dicari terlebih dahulu setelah itu baru mengaplikasikan teknik – teknik yang ada untuk memperbaikinya. Jadi, teknik restorasi berorientasi pada pemodelan degradasi dan melakukan proses kebalikan dari degradasi dalam me-recover citra aslinya. Beberapa contoh kerusakan yang bisa direstorasi diantaranya yaitu seperti: blur/ kabur ,bintik-bintik, dual image, over saturated color, pixel error, dan bahkan image yang sudah usang atau sudah tidak utuh lagi. Degradasi yang banyak dibahas adalah pengaburan (blurring). Citra yang blur dapat diakibatkan oleh berbagai hal, misalnya pergerakan selama pengambilan gambar oleh alat optik seperti kamera, penggunaan alat optik yang tidak fokus, penggunaan lensa dengan sudut yang lebar, gangguan atmosfir, pencahayaan yang singkat sehingga
ISSN : 2086 – 4981
mengurangi jumlah foton yang ditangkap oleh alat optik, dan sebagainya. Ada beberapa teknik yang digunakan untuk menghilangkan kekaburan image (deblurring) tersebut, misalnya penapisan dengan beberapa penapis konvensional seperti penapis Wiener dan penapis Butterwooth. Ada pula penapis lain merestorasi citra dengan menggunakan metode iteratif, yaitu algoritma Lucy-Richardson. Esensi dari iterasi adalah sebagai berikut: estimasi ke-(n+1) dari citra restorasi adalah estimasi dari hasil iterasi ke-n dikali dengan sebuah citra koreksi. Algoritma Lucy-Richardson pada awalnya digunakan dibidang astronomi untuk memperbaiki citra benda langit. Sekarang algoritma ini banyak digunakan untuk deblurring pada sembarang citra yang mengalami degradasi. Sanberg menyatakan bahwa citra digital bisa direpresentasikan dalam bentuk matriks. Matlab (matrix laboratory) merupakan software simulasi yang powerful dalam memecahkan masalah yang berhubungan dengan matriks, sehingga penggunaan Matlab untuk memodelkan citra terdegradasi dan menggunakan teknik restorasi yang terdapat di dalamnya di rasa cukup tepat sebagai alat bantu dalam memodelkan teknik restorasi citra ini. Fokus penelitian ini yaitu memperbaiki citra dengan tingkat pengaburan yang berbeda-beda dengan menggunakan algoritma Lucy-Richardson. Tujuan penelitian ini yaitu untuk menyelidiki kemampuan algoritma ini dalam memperbaiki degradasi kabur pada citra. Contoh dari image uji dapat dilihat pada Gambar 1.
167
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
(a)
(b)
ISSN : 2086 – 4981
(c)
(d)
Gambar 1. Contoh image uji: (a) lena, (b) airplane (c) dollar dan (d) yatch (sumber: http://www.thecryptmag.com/Online/52/Images/)
PENDEKATAN PEMECAHAN MASALAH Data hasil uji yaitu data yang telah diberi efek blur, dan telah diberi efek deblurring dengan menggunakan algoritma LucyRichardson. a. Analisa Data Analisa data juga terdiri atas dua bagian yaitu analisa data uji dan analsisa data hasil uji. Analisa data uji dimaksudkan untuk memilih citra yang akan dijadikan data uji. Dari sekian citra yang tersedia di internet nantinya akan dipilih satu citra yang akan dijadikan citra asli untuk diujikan dalam sistem. Citra uji tersebut nantinya akan diberikan efek blur, yaitu motion blur dan gaussian blur. Setelah itu proses deblurring akan dilakukan dengan menggunakan algoritma Lucy-Richardson. Algoritma Lucy-Richardson merupakan algoritma iteratif. Iterasi dihentikan jika kompromi terbaik
Image Uji
antara kualitas citra dengan derau telah dicapai. Algoritma LucyRichardson (L-R), yang dikenal juga dengan dekonvolusi LucyRichardson, dikembangkan secara independen oleh Richardson [1] dan Lucy [2]. b. Perancangan Sistem Sistem yang akan dirancang yaitu terdiri atas dua tahap yaitu pemberian citra uji dengan efek blur (Gambar 2) dan pengaplikasian algoritma Lucy-Richardson kepada citra blur untuk menghilangkan efek blur kepada citra uji (Gambar 3). Output dari Gambar 2 merupakan masukan bagi Gambar 3. Setelah didapatkan hasil restorasi maka nantinya citra hasil restorasi tersebut akan diolah dengan cara membandingkannya dengan citra aslinya dan menghitung pixel errornya. Pixel error tersebut nantinya akan dibandingkan dan diolah secara statistik.
+
Image dengan Efek Blur
Efek Blur
Gambar 2. Pemberian efek blur pada image uji
Input
Algoritma L-R
Output
Gambar 3. Restorasi dengan algoritma Lucy-Richardson
168
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
c. Implementasi Dalam penelitian ini pengujian dilakukan terhadap satu citra dengan jenis blur yang berbeda. Dalam perancangan sistem ini akan diketahui kemampuan algoritma Lucy-Richardson untuk mengatasi degradasi citra, khususnya pada citra blur. Setiap citra hasil restorasi disimpan untuk dibandingkan. Dari perbandingan yang dilakukan maka dihasilkan beberapa data (citra) yang nantinya akan dimanfaatkan untuk mengambil kesimpulan kemampuan algoritma tersebut dalam merestorasi citra blur tersebut.
ISSN : 2086 – 4981
maka langkah selanjutnya adalah menarik kesimpulan dari setiap hasil proses dan perbandingannya. HASIL DAN PEMBAHASAN Langkah awal yang dilakukan dalam mencapai tujuan yaitu memilih citra uji. citra uji yang dipilih yaitu citra “airplane” seperti terlihat pada Gambar 1b. Setelah itu citra uji tersebut diberi efek kabur yaitu motion blur dan Gaussian blur, masing-masing dengan tingkat kekaburan yang berbeda. Selanjutnya masing-masing citra dengan efek kekaburan yang berbeda tersebut diperbaiki dengan algoritma Lucy Richardson. Skenario untuk efek blur dapat dilihat seperti pada Tabel 1.
d. Penarikan Kesimpulan Setelah membandingkan semua citra restorasi yang dimiliki Tabel 1. Skenario pengujian
Efek Blur Gambar
Jenis Blur
Parameter Blur
Motion Blur
Gaussian Blur
Len=20, Tetha=10 Len=30, Tetha=20 Len=40, Tetha=30 Mask 11x11 Mask 13x13 Mask 15x15
THETA1 = 10; % sudut blur (satuan: derajat) PSF1 = fspecial('motion', LEN1, THETA1); % b) len = 30, theta = 20 LEN2 = 30; % Panjang blur (satuan: pixel) THETA2 = 20; % sudut blur (satuan: derajat) PSF2 = fspecial('motion', LEN2, THETA2); % b) len = 40, theta = 30 LEN3 = 40; % Panjang blur (satuan: pixel) THETA3 = 30; % sudut blur (satuan: derajat)
Kode untuk membangkitkan efek kabur diperlihatkan di bawah ini: % Membaca citra dari folder "D:\data uji" I1 = imread('D:\data uji\airplane.bmp'); figure; imshow(I1); title('Image asli "airplane"'); % Kaburkan citra dengan motion blur dan gaussian blur % 1. Memberi efek motion blur % a) len = 20, theta = 10 LEN1 = 20; % Panjang blur (satuan: pixel)
169
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
ISSN : 2086 – 4981
% c) mask 15 x 15 PSF6 = fspecial('gaussian', 15, 15);
PSF3 = fspecial('motion', LEN3, THETA3); % 2. Memberi efek gaussian blur % a) mask 11 x 11 PSF4 = fspecial('gaussian', 11, 11); % b) mask 13 x 13 PSF5 = fspecial('gaussian', 13, 13);
Hasil eksekusinya yaitu image dengan dua jenis efek blur yaitu motion blur dan Gaussian blur seperti diperlihatkan pada Gambar 4.
Motion Blur
Gaussian Blur
( a ) Len=20,Tetha=10
(b)Mask 11x11
(c) Len=30,Tetha=20
(d) Mask 13x13
(e) Len=40,Tetha=30
(f) Mask 15x15
Gambar 4. Hasil eksekusi program penghasil efek blur Gambar 4 (a), (c), & (e) merupakan hasil citra yang telah
diberi efek motion blur. Dalam memberi efek blur dalam matlab ada
170
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
ISSN : 2086 – 4981
luc1 = deconvlucy(Blurred, PSF, 5); figure; imshow(luc1); title('Citra terestorasi, jumlah iterasi = 5'); % Restorasi dengan L-R, jumlah iterasi = 10 luc1 = deconvlucy(Blurred, PSF, 10); figure; imshow(luc1); title('Citra terestorasi, jumlah iterasi = 10'); % Restorasi dengan L-R, jumlah iterasi = 15 luc1 = deconvlucy(Blurred, PSF, 15); figure; imshow(luc1); title('Citra terestorasi, jumlah iterasi = 15'); % Restorasi dengan L-R, jumlah iterasi = 20 luc1 = deconvlucy(Blurred, PSF, 20); figure; imshow(luc1); title('Citra terestorasi, jumlah iterasi = 20');
2 variabel yang perlu diberi nilai yaitu len yang merupakan panjang blur dan tetha yang merupakan sudut blur. Gambar 4 (a) merupakan hasil efek blur dengan len = 10 dan tetha = 20, gambar 4 (b) merupakan hasil efek blur dengan len = 20 dan tetha = 30, gambar 4 (c) merupakan hasil efek blur dengan len = 30 dan tetha = 40 (semakin besar nilai len dan tetha maka image yang dihasikan juga akan semakin blur) . Sedangkan gambar 4 (b), (d), dan (f) merupakan hasil image yang telah diberi efek gaussian blur. Dalam memberikan efek gaussian blur pada matlab ada satu variabel yang digunakan yaitu mask. Mask yang digunakan pada program ini yaitu 11 x 11, 13 x 13 dan 15 x 15 yang mana hasilnya terlihat pada gambar 4 (b), (d) dan (f). (semakin besar mask yang diberikan maka image yang dihasilkan semakin blur) . Perintah dalam Matlab untuk menghilangkan efek blur menggunakan algoritma LucyRichardson yaitu sebagai berikut: luc1 = deconvlucy(Blurred, PSF, 5); Penggunaannya secara lengkap yaitu seperti tertera di bawah ini:
Setelah dua buah program seperti tertera di atas dibuat, yaitu program penghasil efek blur dan program penghilang efek blur selesai, maka pengujian bisa dilakukan. Pengujian dilakukan dengan dua cara, yaitu secara visual dan secara statistik. Secara statistik yairu dengan membandingkan selisih pixel antara citra hasil restorasi dengan citra asli dan dengan menghitung persentase kesalahan hasil restorasinya. Dari perbandingan yang dilakukan maka dihasilkan beberapa data (citra dan angka-angka) yang nantinya akan dimanfaatkan untuk mengambil kesimpulan kemampuan algoritma ini dalam memperbaiki citra untuk tiap tingkat blur tertentu. Sebagai sampel, Gambar 5 menunjukkan hasil restorasi citra dengan efek motion blur dengan parameter blur Len= 20, theta= 10 dengan menggunakan algoritma Lucy-Richardson, dengan jumlah iterasi 5, 10, 15, dan 20.
% baca citra I = imread('D:\images\airplane.bmp '); figure; imshow(I); title('Citra asli'); % Kaburkan citra LEN = 20; % Panjang blur (satuan: pixel) TETHA = 10; % sudut blur (satuan: derajat) PSF = fspecial('motion', LEN, TETHA); Blurred = imfilter(I, PSF, 'circular','conv'); figure; imshow(Blurred); title('Citra terdegradasi (motion blur)') % Restorasi dengan L-R, jumlah iterasi = 5
171
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
Image asli
ISSN : 2086 – 4981
Image Hasil Restorasi L-R Berdasarkan Urutan Iterasi Ke-5 Ke-10
Ke-15
Ke-20
Gambar 5. Hasil restorasi image dengan algoritma lucy richardson iterasi 5, 10 , 15, dan 20 figure, imshow(airplane3); title('Perbedaan image airplane asli dengan restorasi motion blur len=40, tetha=30'); airplane4 = imabsdiff(I1,wnr4); figure, imshow(airplane4); title('Perbedaan image airplane asli dengan restorasi gaussian blur 11 x 11'); airplane5 = imabsdiff(I1,wnr5); figure, imshow(airplane5); title('Perbedaan image airplane asli dengan restorasi gaussian blur 13 x 13'); airplane6 = imabsdiff(I1,wnr6); figure, imshow(airplane6); title('Perbedaan image airplane asli dengan restorasi gaussian blur 15 x 15');
Secara visual terlihat bahwa algoritma Lucy-Richardson dapat memperbaiki efek kabur yang dibangkitkan. Hasil restorasi citra masing-masing iterasi menunjukkan bahwa setelah dilakukan restorasi, citra terlihat lebih jelas dan lebih tajam. Jika diperhatikan dan dibandingkan dengan citra asli maka terlihat adanya timbul garis-garis baru pada citra. Perbandingannya dapat dilihat dengan mengunakan kode di bawah ini: % Selisih antara image asli dengan image hasil restorasi % 1. image "airplane" airplane1 = imabsdiff(I1,wnr1); figure, imshow(airplane1); title('Perbedaan image airplane asli dengan restorasi motion blur len=20, tetha=10'); airplane2 = imabsdiff(I1,wnr2); figure, imshow(airplane2); title('Perbedaan image airplane asli dengan restorasi motion blur len=30, tetha=20'); airplane3 = imabsdiff(I1,wnr3);
Hasilnya diperlihatkan pada gambar 6. Gambar 6 menunjukkan hasil visual perbedaan antara citra asli dengan citra hasil restorasi citra “airplane” dengan Gaussian blur 15 x 15. Untuk lebih jelas dalam membedakan hasil masing-masing restorasi maka dilakukan
172
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
ISSN : 2086 – 4981
penghitungan jumlah pixel citra uji, jumlah pixel citra dengan efek kabur, dan citra uji jumlah pixel hasil restorasi dan menggunakan hasilnya untuk mengetahui tingkat kekaburan dan tingkat perbaikan hasil efek kabur dengan algoritma lucyrichardson tersebut. Hasil secara statistik ditunjukkan oleh tabel 2.
Gambar 6. Perbedan citra asli dengan citra hasil restorasi Tabel 2. Selisih pixel dan persentase pixel error algoritma lucy -richardson Jumlah Iterasi Efek Blur
Motio n Blur
Gauss ian Blur
Parame ter Blur
Iterasi ke-5
Iterasi ke-10
Iterasi ke-15
Iterasi ke-20
Jumlah Selisih Pixel
Pixel Error %
Jumlah Selisih Pixel
Pixel Error %
Jumlah Selisih Pixel
Pixel Error %
Jumlah Selisih Pixel
Pixel Error %
Len =10 Theta =20
6316407
4.42
5359294
3.75
4834324
3.38
4556428
3.19
Len =20 Theta =30
8152471
5.70
7092402
4.96
6519589
4.56
6175797
4.32
Len =30 Theta =40 Mask 11x11 Mask 13x13 Mask 15x15
9647994
6.75
8498039
5.94
7903546
5.53
7513790
5.25
6355006
4.44
5750406
4.02
5355855
3.74
5130220
3.59
7025333
4.91
6391899
4.47
5963279
4.17
5705218
3.99
7628527
5.33
6948582
4.86
6532881
4.57
6285192
4.39
Min 6316407
4.42
5359294
3.75
4834324
3.38
4556428
3.19
9647994 7520956. 333
6.75
8498039
5.94
5.53
6673437
4.67
7513790 5894440. 833
5.25
5.26
7903546 6184912. 333
Max Rata2
173
4.32
4.12
JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN VOL. 5 NO. 2 SEPTEMBER 2012
ISSN : 2086 – 4981
Jumlah Iterasi Efek Blur
Parame ter Blur
Iterasi ke-5 Jumlah Selisih Pixel
Pixel Error %
Iterasi ke-10 Jumlah Selisih Pixel
Pixel Error %
Tabel 2 menunjukkan selisih pixel dan pixel error untuk algoritma Lucy-Richardson. Dari Tabel 3 terlihat bahwa algoritma LucyRichardson dapat mengatasi degradasi blur dengan tingkat kesalahan minimum 3.19 % pada efek motion blur dengan paremeter len = 10 dan theta = 20 yang diaplikasikan pada image “Airplane”. Kesalahan maksimum terjadi pada saat melakukan restorasi image kapal pada efek motion blur dengan parameter len = 20, dan tetha = 30. Dari Tabel juga terlihat bahwa pada iterasi 5 sampai dengan 20, semakin banyak iterasi yang dilakukan dengan menggunakan algoritma LucyRichardson maka semakin kecil selisih dibandingkan dengan image aslinya.
Iterasi ke-15 Jumlah Selisih Pixel
Pixel Error %
Iterasi ke-20 Jumlah Selisih Pixel
Pixel Error %
memperbaiki citra tersebut dengan persentase pixel error berkisar antara 3.19% s/d 6.75%. a. Matlab mampu mensimulasikan efek blur pada citra, memperbaiki atau merestorasi citra tersebut dengan algoritma LucyRichardson secara sederhana, dengan mempergunakan image processing toolbox yang dimilikinya. b. Jumlah iterasi yang digunakan pada algoritma Lucy Richardson hanya 20 iterasi. Untuk perbaikan kualitas citra yang optimum dibutuhkan penelitian lebih lanjut mengenai hubungan antara jumlah iterasi dengan perbaikan kualitas image tersebut.
DAFTAR PUSTAKA KESIMPULAN [1] Gonzalez, R., C., & Richard E., W. 2001. Digital Image Processing. Prentice Hall, Upper Saddle River, New Jersey
a. Algoritma lucy-richardson mampu memperbaiki kualitas citra yang terdegradasi motion blur dan gaussian blur. b. Berdasarkan eksperimen, dengan memberikan efek blur dengan enam jenis efek yang berbeda pada citra ”airplane”, maka algoritma Lucy-Richardson dapat
[2] GrabskiV. 2005. Digital Image Restoration Based On Pixel Simultaneos Detection Probabilities.
174