TUGAS AKHIR
SISTEM PEMBANDING CITRA PAS FOTO DENGAN METODE TRANSFORMASI WAVELET
Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro
Oleh
MEDISON A. S 020402045
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA MEDAN 2007
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
ABSTRAK Perhatian peneliti dalam memanfaatkan teknologi biometrik pada kehidupan untuk mengidentifikasi manusia dewasa ini sudah semakin banyak. Pengenal wajah sebagai salah satu implementasi dari biometrik juga sudah cukup banyak dibahas. Salah satu metode pengenal wajah yang sudah ditemukan adalah metode transformasi Wavelet. Penggunaan transformasi Wavelet dimotivasi oleh hasil beberapa studi biologi tentang kemiripan sistem retina mata manusia dengan pemrosesan Wavelet. Transformasi Wavelet diketahui memiliki toleransi, tingkat akurasi dan kecepatan paling baik untuk perbandingan wajah pada transformasi Wavelet tipe Haar tingkat 3. Tugas akhir ini dibuat untuk menguji keakuratan dan kecepatan dekomposisi Wavelet diskrit tipe Haar tingkat 3 melalui sebuah sistem aplikasi pengenal wajah yang dibuat dengan menggunakan bahasa pemrograman Matlab 7. Percobaan dilakukan dengan menggunakan 6 pasang sampel foto dari database ORL (Olivetty Research Laboratory) dan 4 pasang sampel foto yang diambil sendiri oleh penulis. Setiap pasang foto terdiri dari 1 orang yang berbeda ekspresi atau aksesoris.
i Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan karunia yang telah diberikan sehingga dapat menyelesaikan Tugas Akhir ini. Adapun Tugas Akhir ini dibuat untuk memenuhi syarat memperoleh gelar Sarjana Teknik di Departemen Teknik Elektro, Fakultas Teknik Universitas Sumatera Utara. Judul dari Tugas Akhir ini adalah “Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet”. Tugas Akhir ini penulis persembahkan teristimewa kepada ayahanda H. Simbolon, SEAk, ibunda dr. R. br. Sianturi, Simon Simbolon, Ika br. Simbolon selaku adik-adik penulis yang merupakan bagian hidup dari penulis dan juga Deman yang semuanya senantiasa mendoakan, mendukung dan memberi semangat kepada penulis. Dalam proses pembuatan Tugas Akhir ini penulis banyak menemukan masalah dan kesulitan. Namun berkat bantuan dan bimbingan dari berbagai pihak, Tugas Akhir ini akhirnya dapat selesai. Untuk itu penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Bapak Ir. Kasmir Tanjung, selaku Dosen Pembimbing Tugas Akhir, atas segala bimbingan, arahan dan solusi yang telah diberikan selama mengerjakan Tugas Akhir. 2. Bapak Ir. Satria Ginting, selaku Dosen Wali penulis, atas bimbingan dan arahan dalam menyelesaikan kuliah. 3. Bapak Prof. Dr. Ir. Usman Baafai selaku Ketua Departemen Teknik Elektro Fakultas Teknik USU dan Bapak Drs. Hasdari Helmi, MT, selaku Sekretaris Departemen Teknik Elektro Fakultas Teknik USU.
ii Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
4. Bapak Fahmi, ST, M.Sc atas arahan dan masukan yang diberikan terhadap penulis. 5. Seluruh Staf Pengajar di Departemen Teknik Elektro Fakultas Teknik USU dan seluruh Karyawan di Departemen Teknik Elektro Fakultas Teknik USU. 6. Rekan-rekan mahasiswa Teknik Elektro terutama teman-teman old track stambuk 2002, Junaris, Dodi, Badu, Bugi, Esron, Raymond, Adhi, Daniel, Chairil, Aritta, Joshua, Denny, Bismar, Yos, Hendra, Ardiansyah, Indra, Syafril, Agustin, Abu, Ipengadohar, Rahmat, Hamdani, Hatorangan, Deddy, Usman, Novri, Roger, Erwin, Robert, Sabariah, Echolima, Andriani, Silvia, Agus, Farid, Afli, Apriandi, Berry, Iqbal, Yandi Boy dan teman-teman 2002 lainnya. 7. Helmine Jane Rozeboom yang juga senantiasa berdoa, mendorong dan menemani penulis dalam mengerjakan Tugas Akhir ini. 8. Kepada rekan-rekan pengajar dan staff di Binus Center Gajah Mada, yang telah banyak memberi dorongan semangat kepada penulis. 9. Pihak-pihak lain yang tidak dapat diucapkan namanya satu persatu.
Berbagai usaha telah penulis lakukan demi agar Tugas Akhir ini dapat diselesaikan dengan baik, namun penulis menyadari bahwa Tugas Akhir ini belum sempurna, karena masih banyak terdapat kekurangan baik dari isi maupun susunannya. Saran dari pembaca sangat penulis harapkan. Akhir kata, penulis berharap semoga penulisan Tugas Akhir ini bermanfaat dan dapat digunakan.
iii Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Medan,
November 2007
Penulis,
Medison A. S
iv Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
DAFTAR ISI
ABSTRAK..... ........... ........... ........... ........... .................................................................i KATA PENGANTAR........... ........... ........... ................................................................ii DAFTAR ISI............. ........... ........... ........... ................................................................v DAFTAR GAMBAR. ........... ........... ........... .............................................................viii DAFTAR TABEL...... ........... ........... ........... ................................................................x
BAB I
PENDAHULUAN..... ........... ................................................................1 1.1 Latar Belakang..... ........... ................................................................1 1.2 Tujuan Penulisan.. ........... ................................................................2 1.3 Batasan Masalah.. ........... ................................................................3 1.4 Sistematika Penulisan...... ................................................................3
BAB II
DASAR TEORI DAN KOMPONEN PENDUKUNG.......... ................5 2.1 Penggambaran Citra Digital......... ........... ........... ........... ................5 2.1.1 Sampling....................... ........... ........... ........... ................5 2.1.2 Mode Warna................. ........... ........... ........... ................5 2.1.3 Matriks Pixel Citra Digital....... ........... ........... ................8 2.1.4 Tipe File Citra Digital.............. ........... ........... ................9 2.2 Pengolahan Matriks Pixel Citra Digital... ........... ........... ................9 2.2.1 Downsampling.......................... ........... ........... ..............10 2.2.2 Konvolusi dalam Fungsi Diskrit .......... ........... ..............10 2.3 Wavelet.................................................... ........... ........... ..............15 2.3.1 Transformasi Wavelet Diskrit untuk Dekomposisi
v Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Wavelet Citra 2 Dimensi............................... ..................17 2.2.2 Wavelet Diskrit Tipe Haar................................ ..............19 2.4 Perbandingan Kemiripan......................... ........... ........... ..... ........24 2.5 Matlab...................................................... ........... ........... ..............25
BAB III
PERANGKAT LUNAK SISTEM..... ........... ......................................27 3.1 Gambaran Umum. ........... ........... ........... ......................................27 3.2 PPWdb..... ........... ........... ........... ........... ......................................28 3.2.1 Tombol Ambil Foto....... ........... ......................................30 3.2.2 Tombol Input ke Database..............................................31 3.2.3 Tombol Pengenal Wajah.......... ......................................32 3.2.4 Tombol Reset Database ........... ......................................33 3.2.5 Tombol Keluar.. ........... ........... ......................................33 3.3 PPWfr.................. ........... ........... ........... ......................................34 3.3.1 Tombol Ambil Foto....... ........... ......................................35 3.3.2 Tombol Cari di Database......... ......................................36 3.3.3 Tombol Keluar.. ........... ........... ......................................38
BAB IV
IMPLEMENTASI DAN PENGUJIAN HASIL........ ..........................39 4.1 Implementasi........ ........... ........... ........... ......................................39 4.1.1 PPWdb.. ........... ........... ........... ......................................39 4.1.2 PPWfr.... ........... ........... ........... ......................................43 4.2 Pengujian Hasil.... ........... ........... ........... ......................................47
BAB V
KESIMPULAN DAN SARAN......... ........... ......................................51
vi Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
5.1 Kesimpulan.......... ........... ........... ........... ......................................51 5.2 Saran........ ........... ........... ........... ........... ......................................51
DAFTAR PUSTAKA ........... ........... ........... ........... ........... ......................................52 LAMPIRAN
vii Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
DAFTAR GAMBAR
Gambar 2.1 Warna-Warna di Dalam Mode HSB.................. ........... ............................7 Gambar 2.2 Warna-Warna di Dalam Mode RGB...... ........... ........... ............................7 Gambar 2.3 Pola Penggambaran Matriks Sebuah Citra Digital........ ............................8 Gambar 2.4 Tahapan Dekomposisi Wavelet Diskrit Tingkat 1 pada Citra 2 Dimensi18 Gambar 2.5 Dekomposisi Wavelet Citra Pas Foto.... ........... ........... ..........................19 Gambar 2.6 Citra x yang Akan Didekomposisi Wavelet Tingkat 1.. ..........................20 Gambar 2.7 Tampilan Antarmuka Aplikasi Matlab 7........... ........... ..........................26 Gambar 3.1 Diagram Alir Aplikasi PPWdb.. ........... ........... ........... ..........................29 Gambar 3.2 Tampilan Antarmuka PPWdb.... ........... ........... ........... ..........................29 Gambar 3.3 Diagram Alir Ambil Foto........... ........... ........... ........... ..........................30 Gambar 3.4 Diagram Alir Input ke Database ........... ........... ........... ..........................32 Gambar 3.5 Diagram Alir Reset Database ... ........... ........... ........... ..........................33 Gambar 3.6 Diagram Alir PPWfr..... ........... ........... ........... ........... ..........................34 Gambar 3.7 Tampilan Antarmuka PPWfr .... ........... ........... ........... ..........................34 Gambar 3.8 Diagram Alir Ambil Foto .......... ........... ........... ........... ..........................35 Gambar 3.9 Diagram Alir Cari di Database ........... ........... ........... ..........................37 Gambar 3.10 Diagram Alir Keluar ... ........... ........... ........... ........... ..........................38 Gambar 4.1 Tampilan Antarmuka Sewaktu Aplikasi PPWdb Baru Dijalankan ...... ..40 Gambar 4.2 Tampilan Antarmuka Ketika Tombol Ambil Foto Ditekan...... ..............41 Gambar 4.3 Tampilan Ketika Citra Pas Foto Sudah Terpilih ........... ..........................41 Gambar 4.4 Tampilan Ketika Tombol Input ke Database Ditekan Setelah Sebuah Foto Diambil. ..................................................................................................42 Gambar 4.5 (a) Tampilan Ketika Tombol Input ke Database Ditekan Tanpa
viii Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Mengambil Foto Terlebih Dahulu......... ..................................................43 Gambar 4.5 (b) Tampilan yang Muncul Ketika Tombol Pengenal Wajah Ditekan TanpaMengisi Database Terlebih Dahulu....... ..........................43 Gambar 4.6 Tampilan Ketika Aplikasi PPWfr Pertama Kali Dijalankan...... ..............44 Gambar 4.7 Tampilan Ketika Tombol Ambil Foto Ditekan.. ......................................44 Gambar 4.8 Tampilan Ketika Foto Sudah Diambil. ..................................................45 Gambar 4.9 Tampilan yang Muncul Ketika Tombol Cari di Database Baru Saja Ditekan. ..................................................................................................45 Gambar 4.10 Tampilan yang Muncul Ketika Proses Pencarian di Database Selesai Dilakukan......... ......................................................................................46 Gambar 4.11 Citra-Citra Pas Foto yang Digunakan Dalam Percobaan... ...................47 Gambar 4.12 Citra Pas Foto Kategori A........ ..............................................................48 Gambar 4.13 Citra Pas Foto Kategori B........ ..............................................................48 Gambar 4.14 Citra Pas Foto Kategori C........ ..............................................................49 Gambar 4.15 Citra Pas Foto Kategori D........ ..............................................................49
ix Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
DAFTAR TABEL
Tabel 2.1 Tipe File Citra yang Umum Digunakan.... ........... ........................................9 Tabel 2.2 Tipe-Tipe Transformasi Wavelet... ........... ........... ......................................16 Tabel 4.1 Hasil Uji Akurasi Aplikasi Per Kategori... ........... ......................................50
x Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
BAB I PENDAHULUAN
1.1
Latar Belakang
Sistem keamanan dewasa ini semakin dibutuhkan dalam menghadapi gejolak sosial semakin hari semakin tidak menentu. Pengembangan sistem keamanan ini dilakukan dari berbagai aspek, salah satunya dari aspek teknologi. Mulai dari penggunaan kata sandi untuk memakai suatu alat, alarm untuk kendaraan bermotor, sampai detektor logam untuk mencari senjata berbahaya. Salah satu pengembangan aspek teknologi yang diyakini memiliki tingkat keamanan cukup baik adalah dengan menggunakan sistem biometrik. Biometrik menggunakan informasi-informasi yang bersifat biologis sebagai identitas. Ide dasar dari biometrik adalah bahwa tubuh manusia memiliki bagian-bagian unik yang membedakan seseorang dengan yang lainnya. Sistem biometrik yang ada antara lain : 1.
Pengenal Wajah
2.
Pemindai Sidik Jari
3.
Pemindai Retina
4.
Identifikasi Suara
Sistem biometrik untuk pemindai sidik jari, pemindai retina dan identifikasi suara dilakukan dengan kesengajaan atau kesadaran orang yang hendak diidentifikasi, sementara untuk pengenal wajah dapat dilakukan dengan cara sadar ataupun tidak sadar. Secara sadar, orang yang hendak diidentifikasi dapat memberikan fotonya untuk dipindai dan diekstraksi oleh sistem, sedangkan kalau secara tidak sadar,
1 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
seseorang bisa mengambil foto orang yang hendak diidentifikasi tersebut secara diamdiam dan kemudian diekstraksi oleh sistem. Sistem biometrik pengenal wajah ini dapat diaplikasikan pada berbagai bidang, khususnya bidang keamanan, yaitu: 1.
Sebagai password untuk mengakses suatu sistem
2.
Mencari orang-orang yang terdaftar di dalam Daftar Pencarian Orang (DPO) dari pihak kepolisian
3.
Dan lain-lain.
Metode pengenal wajah yang sudah ditemukan sangat bervariasi. Tetapi para peneliti berpendapat bahwa yang terbaik adalah metode dekomposisi Wavelet diskrit tipe Haar tingkat 3. Hal ini dimotivasi oleh hasil beberapa studi biologi tentang kemiripan sistem retina mata manusia dengan pemrosesan dekomposisi Wavelet, dimana dekomposisi Wavelet diskrit tipe Haar tingkat 3 diketahui memiliki nilai toleransi, tingkat akurasi dan kecepatan yang paling baik. Bahkan sebuah sumber menyebutkan bahwa sebuah lembaga keamanan yang sangat terkenal juga menggunakan metode ini untuk pola pengenalan sidik jari pada sistem keamanan mereka.
1.2
Tujuan Penulisan
Adapun penulisan ini bertujuan : 1. Memenuhi salah satu syarat untuk menyelesaikan pendidikan program sarjana Teknik Elektro di Universitas Sumatera Utara. 2. Untuk menerapkan ilmu yang telah diperoleh semasa kuliah baik teori maupun praktek khususnya dalam bidang teknik komputer. 3. Untuk menguji keakuratan dan kecepatan dekomposisi Wavelet diskrit tipe Haar tingkat 3 dalam membandingkan citra pas foto digital.
2 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
1.3
Batasan Masalah
Agar masalah yang ditulis dalam Tugas Akhir tidak terlalu luas dan menyimpang dari topik yang ada, maka penulis perlu membatasi permasalahan sebagai berikut : 1. Media yang akan dibandingkan adalah citra pas foto yang tampak seluruh wajah. 2. Citra pas foto yang dibandingkan berupa file pas foto dengan format .jpeg, mode grayscale 8 bit. 3. Teknik – teknik deteksi wajah tidak dibahas. 4. Metode pembanding citra pas foto yang dibahas hanya metode dekomposisi Wavelet diskrit tipe Haar.
1.4
Sistematika Penulisan
Tugas Akhir ini disusun berdasarkan kerangka penulisan sebagai berikut : Bab I
: PENDAHULUAN Pada bab ini akan diuraikan mengenai latar belakang, tujuan, pembatasan masalah dan sistematika penulisan.
Bab II
: DASAR TEORI DAN KOMPONEN PENDUKUNG Membahas dasar teori dan komponen pendukung yang akan digunakan dalam pembuatan perangkat lunak.
Bab III
: PERANGKAT LUNAK SISTEM Pada bab ini akan dijelaskan mengenai cara kerja perangkat lunak mulai dari algoritma sampai tampilan antarmukanya.
Bab IV
: IMPLEMENTASI DAN PENGUJIAN HASIL Pada bab ini dibahas mengenai kode pemrograman dari perangkat lunak dan pengujian kinerjanya.
3 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Bab V
: KESIMPULAN DAN SARAN Bab ini berisi kesimpulan mengenai perangkat lunak yang dibuat serta saran yang bermanfaat mengenai pengembangan serta perbaikan perangkat lunak tersebut.
4 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
BAB II DASAR TEORI DAN KOMPONEN PENDUKUNG
2.1 Penggambaran Citra Digital Sebuah citra 2 dimensi analog tidak bisa diolah lebih lanjut sebelum diubah terlebih dahulu ke dalam bentuk citra 2 dimensi digital. Bentuk pengolahan citra yang dimaksud diantaranya adalah proses kompresi gambar, pemberian efek, dekomposisi dan lain-lain. Sub bab ini akan membahas proses konversi dari citra 2 dimensi analog ke digital.
2.1.1 Sampling Sampling adalah proses pencuplikan data setiap selang waktu. Sampling mengubah sebuah sinyal kontinu menjadi sebuah sinyal diskrit. Proses sampling kadang juga disebut proses digitisasi. Di dalam pengolahan citra, proses sampling digunakan untuk menentukan kerapatan warna pada tiap wilayah pada citra kontinu. Pada proses sampling biasanya dicari warna rata-rata dari wilayah tertentu dari gambar analog. Warna rata-rata tersebut kemudian dibulatkan, dan dibuat ke dalam suatu elemen gambar atau yang biasa disebut picture element (pixel). Satu pixel hanya mengandung satu nilai kerapatan warna.
2.1.2 Mode Warna Tingkat kerapatan warna pada tiap pixel citra 2 dimensi yang didapat dari proses sampling kemudian dikuantisasi atau disesuaikan dengan mode warna yang diinginkan. Mode warna yang ada sangat beragam, tetapi yang umum digunakan adalah sebagai berikut : 5 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
1. Mode HSB (Hue Saturation Brightness) 2. Mode RGB (Red Green Blue) 3. Mode CMYK (Cyan Magenta Yellow blacK) 4. Mode Grayscale
1. Mode HSB (Hue Saturation Brightness) Mode HSB berdasar pada persepsi warna menurut manusia. Pada mode ini semua warna dibagi menjadi tiga karakteristik :
a. Hue adalah panjang gelombang sinar yang dipantulkan dari atau yang dikirimkan melalui sebuah objek. b. Saturation kadang-kadang disebut chroma adalah kekuatan atau kemurnian warna. c. Brightness adalah terang relatif dan gelap relatif yang diukur dari 0% (sangat gelap) sampai 100% (sangat terang).
Gambar 2.1 Warna-Warna di Dalam Mode HSB
6 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Mode warna ini juga terkadang disebut HSV (Hue Saturation Value) dimana value memiliki pengertian yang sama dengan brightness.
2. Mode RGB (Red Green Blue) Pewarnaan dengan memadukan atau menggabungkan tiga komponen dasar dari cahaya pada proporsi dan kerapatan tertentu. Komponen ini disebut warna primer, yaitu :
a. Merah (Red) b. Hijau (Green) c. Biru (Blue)
Jika warna-warna itu digabung akan menjadi additive color yaitu warna putih. Mode warna ini biasanya digunakan pada monitor komputer.
Putih
Gambar 2.2 Warna-Warna di Dalam Mode RGB
7 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
3. Mode CMYK (Cyan Magenta Yellow blacK) Mode CMYK berbasis pada kualitas penyerapan cahaya. Jika warna Cyan (C), Magenta (M) dan Yellow (Y) dikombinasikan akan membentuk warna black (K) atau disebut substractive color. Mode warna ini biasanya digunakan pada mesin cetak seperti printer.
4. Mode Grayscale Mode ini menggunakan lebih dari 256 jenis warna abu-abu untuk mewakili sebuah gambar untuk 8 bit (28). Tiap pixel pada mode grayscale hanya mempunyai nilai brightness, yang besarnya antara 0 (hitam) dan 255 (putih). Atau dapat pula diukur dalam persentasi (0% sama dengan putih dan 100% sama dengan hitam).
2.1.3 Matriks Pixel Citra Digital Tingkat kerapatan warna pada tiap pixel citra 2 dimensi yang didapat dari proses sebelumnya digambarkan menjadi sebuah matriks NxM dimana M merupakan banyaknya pixel yang terkandung sepanjang sumbu x dan N merupakan banyaknya pixel sepanjang sumbu y dari sebuah citra.
Gambar 2.3 Pola Penggambaran Matriks Sebuah Citra Digital 8 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
2.1.4 Tipe File Citra Digital File citra digital memiliki banyak tipe untuk penyimpanannya di dalam media penyimpanan. Hal ini dapat disesuaikan dengan kebutuhan pengguna mulai dari informasi warna yang diberikan sampai kepada ukuran file untuk tiap tipe. Tipe file citra digital yang sering digunakan lengkap dengan variannya dapat dilihat pada Tabel 2.1.
Tabel 2.1 Tipe File Citra yang Umum Digunakan Tipe Bmp
Nama Lengkap
Varian
Windows Bitmap (BMP)
1 bit, 4 bit, 8 bit, 16 bit, 24 bit, dan 32-bit citra tidak terkompresi dan
4-bit
dan
8-bit
citra
terkompresi Gif
Graphics Interchange Format
Jpg atau jpeg
Joint
Photographic
Citra 1-bit dan 8-bit
Experts 8,12 dan 16 bit untuk citra
Group
grayscale dan 24 dan 26 bit untuk RGB.
2.2 Pengolahan Matriks Pixel Citra Digital Data yang terkandung pada sebuah matriks citra digital dapat diolah untuk berbagai keperluan berkaitan dengan pengolahan citra digital. Tujuan pengolahan citra digital ini sangat beragam, sehingga teknik-teknik pengolahan citra digital yang ada saat ini pun sudah berkembang dengan cukup pesat.
9 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
2.2.1 Downsampling Downsampling adalah proses pengurangan laju sampling data dari sinyal input. Laju sampling data dalam hal ini adalah banyaknya selang pencuplikan baris atau kolom yang diambil dari suatu citra. Untuk x yang merupakan matriks seperti di bawah ini,
x = [1 2 3 4 5 6 7 8 9 0]
maka hasil downsampling kolom dengan laju sampling 3 adalah
xs = [1 4 7 0]
Downsampling pada sebuah citra digital berguna untuk melakukan proses kompresi data. Downsampling juga dibutuhkan untuk melakukan proses dekomposisi citra menjadi citra pendekatan dan citra detil, yang akan dijelaskan pada sub bab berikutnya.
2.2.2 Konvolusi Dalam Fungsi Diskrit Konvolusi adalah jumlah berbobot dari pixel-pixel di sekeliling pixel sumber. Bobot ditentukan oleh matriks kecil yang disebut mask konvolusi atau kernel konvolusi. Konvolusi diskrit sangat banyak dipergunakan dalam pengolahan citra untuk :
1. Memperhalus (smoothing) 2. Mempertajam (sharpening) 3. Mendeteksi tepi (edge detection) 4. Dan efek lainnya.
10 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Proses konvolusi dalam fungsi diskrit untuk citra 2 dimensi dapat diilustrasikan sebagai berikut. Misalkan x adalah sebuah matriks berdimensi 5x5 yang akan dikonvolusi dengan matriks g yang berdimensi 3x3 yang berfungsi sebagai kernel konvolusi.
⎡ p1 ⎢p ⎢ 6 x = ⎢ p11 ⎢ ⎢ p16 ⎢⎣ p 21
p2 p7
p3 p8
p4 p9
p12 p17 p 22
p13 p18 p 23
p14 p19 p 24
p5 ⎤ p10 ⎥⎥ p15 ⎥ ⎥ p 20 ⎥ p 25 ⎥⎦
⎡ a1 g = ⎢⎢a 4 ⎢⎣a7
a2 a5 a8
a3 ⎤ a 6 ⎥⎥ a9 ⎥⎦
Langkah pertama yang dilakukan adalah dengan memutar kernel g 180° pada porosnya, sehingga kernel g sekarang sudah berubah menjadi seperti di bawah.
⎡a9 g = ⎢⎢a6 ⎢⎣ a3
a8 a5 a2
a7 ⎤ a 4 ⎥⎥ a1 ⎥⎦
Setelah kernel diputar, maka titik pusat g diletakkan tepat di titik pusat x. Jadi dalam hal ini, a5 dari matriks g diletakkan tepat di p13 dari x. Dengan posisi seperti itu, maka dengan sendirinya a1 terletak pada p19, a2 pada p18 dan seterusnya.
⎡ p1 ⎢p ⎢ 6 ⎢ p11 ⎢ ⎢ p16 ⎢⎣ p 21
p2 p 7 / a9 p12 / a 6 p17 / a3 p 22
p3 p8 / a8 p13 / a5 p18 / a 2 p 23
p4 p9 / a 7 p14 / a 4 p19 / a1 p 24
p5 ⎤ p10 ⎥⎥ p15 ⎥ ⎥ p 20 ⎥ p 25 ⎥⎦
11 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Proses konvolusi akan menghasilkan nilai yang baru pada tempat dimana poros kernel berada. Dengan kondisi ini, karena poros dari kernel adalah a5, maka akan dihasilkan nilai baru pada p13, dengan persamaan :
p13 = (p7a9) + (p8a8) + (p9a7) + (p12a6) + (p13a5) + (p14a4) + (p17a3) + (p18a2) + (p19a1)
Setelah didapat nilai p13 hasil konvolusi, maka posisi matrik g digeser ke kanan sebanyak satu langkah. Dalam hal ini, a5 digeser ke posisi p14. Dengan bergesernya
a5, maka a1 sampai a9 juga ikut bergeser ke kanan sebanyak satu langkah.
⎡ p1 ⎢p ⎢ 6 ⎢ p11 ⎢ ⎢ p16 ⎢⎣ p 21
p2 p7 p12 p17 p 22
p3 p8 / a 9 p13 / a 6 p18 / a3 p 23
p4 p9 / a8 p14 / a5 p19 / a 2 p 24
p5 ⎤ p10 / a 7 ⎥⎥ p15 / a 4 ⎥ ⎥ p 20 / a1 ⎥ p 25 ⎥⎦
Langkah berikutnya adalah mencari nilai p14 hasil konvolusi, dengan persamaan :
p14 = (p8a9) + (p9a8) + (p10a7) + (p13a6) + (p14a5) + (p15a4) + (p18a3) + (p19a2) + (p20a1)
p13 yang digunakan dalam persamaan ini adalah nilai p13 sebelum dikonvolusi. Setelah nilai p14 hasil konvolusi diperoleh, maka matriks g digeser lagi ke posisi yang lain, sampai diperoleh nilai konvolusi secara keseluruhan. Pada saat kernel g mencapai pinggiran dari matriks yang akan dikonvolusi, maka sebagian dari kernel akan tidak menimpa matriks x.
12 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
⎡ p1 ⎢p ⎢ 6 ⎢ p11 ⎢ ⎢ p16 ⎢⎣ p 21
p2 p7 p12 p17 p 22
p3 p8 p13 p18 p 23
p4 p9 / a9 p14 / a 6 p19 / a3 p 24
p5 p10 / a8 p15 / a5 p 20 / a 2 p 25
? ⎤ ?/ a 7 ⎥⎥ ?/ a 4 ⎥ ⎥ ?/ a1 ⎥ ? ⎥⎦
Jika kernel sudah mencapai keadaan demikian, maka a7, a4, dan a1 akan dikalikan dengan nol. Nilai nol dalam hal ini disebut juga dengan zero-padded edges. Hal ini akan sangat merugikan, karena dengan metode seperti itu, maka p10, p15 dan p20 akan memperoleh hasil konvolusi yang tidak lengkap, karena nilai konvolusinya tidak diperoleh dari keseluruhan nilai kernel. Hal ini akan menimbulkan kecacatan data pada pinggiran matriks hasil konvolusi. Untuk mengatasi hal ini, maka salah satu metode yang dapat digunakan adalah dengan menyalin kolom pertama ke sebelah kiri kolom pertama dan menyalin kolom terakhir ke sebelah kanan kolom terakhir. Hasil penyalinannya adalah seperti di bawah.
⎡6 ⎢4 ⎢ ⎢4 a= ⎢ ⎢9 ⎢2 ⎢ ⎣⎢1
9 5 9 8 2 2
9 3 8 4 2 3
5 9 5 6 9 8
8 6 5 4 8 8
1⎤ 1⎥⎥ 7⎥ ⎥ 3⎥ 6⎥ ⎥ 3⎦⎥
⎡6 ⎢4 ⎢ ⎢4 a’ = ⎢ ⎢9 ⎢2 ⎢ ⎣⎢1
6 4 4 9 2 1
9 5 9 8 2 2
9 3 8 4 2 3
5 9 5 6 9 8
8 6 5 4 8 8
1 1 7 3 6 3
1⎤ 1⎥⎥ 7⎥ ⎥ 3⎥ 6⎥ ⎥ 3⎦⎥
Hal yang serupa juga dapat dilakukan pada baris jika diperlukan. Dengan melakukan konvolusi pada a’, maka akan tetap terjadi kecacatan data pada ujung-ujung kolom, baik kolom pertama maupun terakhir pada a’. Tetapi karena kolom-kolom pertama dan terakhir pada a’ adalah merupakan hasil salinan, dengan
13 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
kata lain sudah diluar dari matriks a, maka tidak akan merusak hasil perhitungan. Setelah dilakukan konvolusi pada a’, maka kolom pertama dan terakhir dari hasil konvolusi dapat dihapus kembali. Konvolusi juga dapat dilakukan hanya pada baris atau hanya pada kolom dari matriks citra 2 dimensi. Proses yang dilakukan sebenarnya adalah proses konvolusi 1 dimensi terhadap setiap baris atau kolom dari matriks citra. Misalkan x adalah matriks berdimensi 5x5 dan g adalah matriks berdimensi 1x2 yang akan berfungsi sebagai
kernel.
⎡ p1 ⎢p ⎢ 6 x = ⎢ p11 ⎢ ⎢ p16 ⎢⎣ p 21
p2 p7 p12 p17 p 22
p3 p8 p13 p18 p 23
p4 p9 p14 p19 p 24
p5 ⎤ p10 ⎥⎥ p15 ⎥ ⎥ p 20 ⎥ p 25 ⎥⎦
g = [a1
a2 ]
Seperti yang sudah dijelaskan sebelumnya, maka kernel g harus diputar 180° terlebih dahulu.
g’ = [a 2
a1 ]
Proses konvolusinya sama dengan konvolusi sebelumnya, hanya saja jika kernel sudah mencapai pinggir dari kolom, maka kernel tidak bisa bergeser lebih jauh lagi. Tetapi jika kernel mencapai pinggir dari baris, maka kernel dapat dipindah lagi sampai hanya tinggal satu baris dari kernel mencapai baris ujung dari matriks citra.
14 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Untuk konvolusi kolom, setelah diputar, kernel ditranspos terlebih dahulu dan beroperasi hanya pada kolom. Dengan kata lain, kernel tidak bisa berpindah lebih jauh jika sudah mencapai ujung dari baris. ⎡1 2 3⎤ x = ⎢⎢4 5 6⎥⎥ ⎢⎣7 8 9⎥⎦
g = [10 100]
Jika proses yang dilakukan adalah konvolusi baris, maka hasilnya adalah sebagai berikut.
⎡10 120 230 300⎤ ⎢40 450 560 600⎥ ⎥ ⎢ ⎢⎣70 780 890 900⎥⎦
Sementara jika proses yang dilakukan adalah konvolusi kolom, maka hasilnya adalah sebagai berikut. ⎡ 10 20 30 ⎤ ⎢140 250 360⎥ ⎢ ⎥ ⎢470 580 690⎥ ⎢ ⎥ ⎣700 800 900⎦
2.3 Wavelet Wavelet adalah bentuk gelombang yang memiliki durasi terbatas dan memiliki nilai rata-rata nol. Hal ini berbeda dengan gelombang sinus yang tidak memiliki batasan durasi. Gelombang sinus memanjang mulai dari minus sampai positif tak hingga. Wavelet digunakan untuk menyusun, menganalisis, dan mensintesis data numeris hasil pengukuran/pengamatan suatu fenomena fisis tertentu. Wavelet telah berkembang sebagai solusi terkini untuk mengatasi kendala-kendala yang umumnya
15 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
dijumpai pada Transformasi Fourier. Salah satu kelemahan Transformasi Fourier adalah bahwa transformasi tersebut hanya memiliki fungsi frekuensi. Tidak ada fungsi waktu dan jarak. Hal ini berarti bahwa jika sebuah sinyal ditransformasikan, kapan dan dimana sinyal tersebut muncul tidak bisa dilihat, walaupun diketahui bahwa semua sinyal itu ada. Dengan transformasi Wavelet, semua fungsi itu dapat dilihat secara simultan. Transformasi Wavelet memiliki beberapa tipe yang masing-masing memiliki keunggulannya tersendiri dalam berbagai bidang. Tipe-tipe tersebut dapat dilihat pada Tabel 2.2.
Tabel 2.2 Tipe-Tipe Transformasi Wavelet Tipe Wavelet
Nama Lengkap
‘haar’
Haar wavelet
'db'
Daubechies wavelets
'sym'
Symlets
'coif'
Coiflets
'bior'
Biorthogonal wavelets
'rbio'
Reverse biorthogonal wavelets
'meyr'
Meyer wavelet
'dmey'
Discrete approximation of Meyer wavelet
'gaus'
Gaussian wavelets
'mexh'
Mexican hat wavelet
'morl'
Morlet wavelet
'cgau'
Complex Gaussian wavelets
16 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Tabel 2.2 Tipe – Tipe Transformasi Wavelet (Lanjutan) Tipe Wavelet
Nama Lengkap
'shan'
Shannon wavelets
'fbsp'
Frequency B-Spline wavelets
'cmor'
Complex Morlet wavelets
2.3.1 Transformasi Wavelet Diskrit untuk Dekomposisi Citra 2 Dimensi Pada proses dekomposisi citra 2 dimensi dengan transformasi wavelet diskrit, matriks citra dipilah-pilah dan diproses dengan filter low pass dan high pass sehingga menghasilkan sub citra pendekatan aj dan sub citra detil hj, vj dan dj. Tahapan dekomposisi wavelet tingkat 1 dapat dilihat pada Gambar 2.4.
downsample kolom : ambil kolom genap
downsample baris : ambil baris genap
17 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
konvolusi kolom dengan filter high pass
konvolusi kolom dengan filter low pass
konvolusi baris dengan filter high pass
konvolusi baris dengan filter low pass Gambar 2.4 Tahapan Dekomposisi Wavelet Diskrit Tingkat 1 pada Citra 2 Dimensi
Untuk dekomposisi dengan n tingkatan, maka dekomposisi tingkat selanjutnya dilakukan dengan memakai output aj dari dekomposisi tingkat sebelumnya sebagai input. Jadi aj akan didekomposisi lagi menjadi aj+1, hj+1, vj+1 dan dj+1. Matriks an, hn, vn dan dn masing-masing diurutkan menjadi 1 kolom dan ditranspos menjadi 1 baris. Hasil akhir dari dekomposisi tingkat n dari citra 2 dimensi adalah matriks C, sementara S adalah matriks yang berisi ukuran dari matriks x dalam setiap tahap dekomposisi, dimana :
C = [a n
hn
vn
dn
... h j +1
v j +1
⎡ Nn ⎢N ⎢ n ⎢ M S= ⎢ ⎢ N j +1 ⎢ Nj ⎢ ⎢⎣ N
d j +1
aj
hj
vj
dj
]
dan
Mn ⎤ M n ⎥⎥ M ⎥ ⎥ M j +1 ⎥ Mj ⎥ ⎥ M ⎥⎦
18 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Matriks C nantinya digunakan sebagai matriks identitas untuk proses pengenalan wajah, sementara S digunakan untuk proses rekonstruksi citra. Gambaran citra 2 dimensi sebelum dan sesudah didekomposisi Wavelet tingkat 3 dapat dilihat pada Gambar 2.5.
Citra setelah ditransformasi Wavelet tingkat 3
Citra Awal
Gambar 2.5 Dekomposisi Wavelet Citra Pas Foto
2.3.2 Wavelet Diskrit Tipe Haar Wavelet diskrit tipe Haar mendekomposisikan sinyal dengan nilai filter low pass f dan filter high pass g, dimana :
f =
g =
1 2 1 2
[1 [− 1
1] = [0,7071 0,7071] dan 1] = [− 0,7071 0,7071]
19 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Misalkan citra x yang ditampilkan pada Gambar 2.6 akan didekomposisi dengan menggunakan dekomposisi Wavelet Diskrit tipe Haar tingkat 1.
Gambar 2.6 Citra x yang Akan Didekomposisi Wavelet Tingkat 1
Citra x berdimensi 5x5 pixel dan menggunakan mode warna grayscale 8 bit, maka matriks pixel x dapat dibuat sebagai berikut :
x=
⎡ 33 25 17 10 ⎢16 7 7 20 ⎢ ⎢11 17 10 9 ⎢ ⎢27 43 45 2 ⎢⎣ 8 8 8 12
12 ⎤ 1 ⎥⎥ 40⎥ ⎥ 22⎥ 10 ⎥⎦
Karena tipe dekomposisi yang digunakan saat ini adalah tipe Haar, maka
f = [0,7071 0,7071] dan g = [− 0,7071 0,7071]
dimana f dan g berturut-turut adalah filter low pass dan high pass.
20 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Matriks x akan dikonvolusi baris dengan f. Maka untuk menghindari kecacatan hasil perhitungan pada pinggiran matriks, maka matriks x diubah menjadi :
⎡ 33 ⎢16 ⎢ x = ⎢11 ⎢ ⎢27 ⎢⎣ 8
33 25 17 10 16 7 7 20 11 17 10 9 27 43 45 2 8 8 8 12
12 1 40 22 10
12 ⎤ 1 ⎥⎥ 40⎥ ⎥ 22⎥ 10 ⎥⎦
p adalah matriks hasil konvolusi baris antara x dan f. Maka matriks p adalah sebagai berikut :
⎡23,3345 ⎢11,3137 ⎢ p= ⎢ 7,7782 ⎢ ⎢19,0919 ⎢⎣ 5,6569
46,6690 22,6274 15,5563 38,1838 11,3137
41,0122 16,2635 19,7990 49,4975 11,3137
29,6985 9,8995 19,0919 62,2254 11,3137
19,0919 19,0919 13,4350 33,2340 14,1421
15,5563 14,8492 34,6482 16,9706 15,5563
16,9706 8,4853 ⎤ 1,4142 0,7071 ⎥⎥ 56,5685 28,2843⎥ ⎥ 31,1127 15,5563 ⎥ 14,1421 7,0711 ⎥⎦
Karena sebelumnya kolom pertama dan kolom kelima dari p sudah disalin terlebih dahulu, maka kolom pertama dan kolom terakhir dari p tidak diperlukan lagi dan sudah dapat dihapus. Isinya disalin ke dalam matriks z.
⎡ ⎢ ⎢ z= ⎢ ⎢ ⎢ ⎢⎣
46,6690 22,6274 15,5563 38,1838 11,3137
41,0122 16,2635 19,7990 49,4975 11,3137
29,6985 9,8995 19,0919 62,2254 11,3137
19,0919 19,0919 13,4350 33,2340 14,1421
15,5563 14,8492 34,6482 16,9706 15,5563
16,9706 1,4142 56,5685 31,1127 14,1421
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦
21 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
z digunakan untuk menghitung nilai aj dan hj. Tetapi sebelum dilakukan perhitungan terhadap nilai aj dan hj, terlebih dahulu dilakukan downsampling terhadap baris dari matriks z, sehingga :
⎡ ⎢ ⎢ z= ⎢ ⎢ ⎢ ⎢⎣
41,0122 16,2635 19,7990 49,4975 11,3137
19,0919 19,0919 13,4350 33,2340 14,1421
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦
16,9706 1,4142 56,5685 31,1127 14,1421
Tahap selanjutnya adalah proses konvolusi kolom matriks z dengan f. Tetapi untuk menghindari kecacatan data, maka baris awal dan akhir matriks z disalin lagi, sehingga menjadi seperti berikut :
⎡ 41 ⎢ 41 ⎢ ⎢ 16 z= ⎢ ⎢ 19 ⎢ 49 ⎢ ⎢ 11 ⎢ 11 ⎣
, 0122 , 0122 , 2635
19 , 0919 19 , 0919 19 , 0919
16 , 9706 16 , 9706 1 , 4142
, 7990 , 4975 , 3137 , 3137
13 33 14 14
56 31 14 14
, 4350 , 2340 ,1421 ,1421
, 5685 ,1127 ,1421 ,1421
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
Proses konvolusi kolom matriks z dengan f sudah bisa dilakukan, dengan y sebagai matriks hasil konvolusi dimana baris pertama dan baris terakhir hasil konvolusi sudah dihapus. ⎡ 58 ⎢ 40 , 5 ⎢ ⎢ 25 , 5 y= ⎢ ⎢ 49 ⎢ 43 ⎢ ⎢⎣ 16
27 27 23 33 33 , 5 20
24 13 41 62 32 20
⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦ 22
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Baris pada matriks y kemudian di-downsample, sehingga matriks y sekarang adalah sebagai berikut.
⎡ 40 , 5 y = ⎢⎢ 49 ⎢⎣ 16
27 33 20
13 62 20
⎤ ⎥ ⎥ ⎥⎦
Matriks y sekarang adalah sub citra pendekatan atau aj. Untuk menghitung hj juga dapat dilakukan dengan cara yang sama, hanya saja pada saat melakukan konvolusi kolom pada matriks z, filter yang digunakan adalah filter high pass atau g, sehingga :
⎡ 40 , 5 aj = ⎢⎢ 49 ⎢⎣ 16
27 33 20
13 ⎤ 62 ⎥⎥ 20 ⎥⎦
dan
⎡ 17 , 5 hj = ⎢⎢ − 21 ⎢⎣ 0
0 − 14 0
11 ⎤ 18 ⎥⎥ 0 ⎥⎦
Cara sebelumnya diulang lagi untuk menghasilkan matriks vj dan dj. Hanya saja kali ini matriks p adalah konvolusi baris antara x dan g, kemudian vj adalah hasil konvolusi kolom antara z dan f sementara dj adalah hasil konvolusi kolom antara z dan g, sehingga diperoleh :
⎡ 8 ,5 vj = ⎢⎢ − 11 ⎢⎣ 0
− 3
22 − 4
0⎤ 0 ⎥⎥ 0 ⎥⎦
dan
⎡ − 0 ,5 dj = ⎢⎢ 5 ⎢⎣ 0
10 − 21 0
0⎤ 0 ⎥⎥ 0 ⎥⎦
Matriks aj, hj, vj dan dj masing-masing disusun menjadi satu kolom dan ditranspos sehingga diperoleh :
23 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
aj = [40,5 49 16 27 33 20 13 62 20] hj = [17,5 − 21 0 0 − 14 0 11 18 0] vj = [8,5 − 11 0 − 3 22 − 4 0 0 0] dj = [− 0,5 5 0 10 − 21 0 0 0 0]
maka :
C = [40,5 49 16 L 20 17,5 − 21 0 L 0 8,5 −11 0 L 0 − 0,5 5 0 L 0]
dan ⎡3 3⎤ S = ⎢⎢3 3⎥⎥ ⎢⎣5 5⎥⎦
2.4 Perbandingan Kemiripan Dalam membandingkan kemiripan dua buah citra k dan l , elemen yang digunakan sebagai pembanding adalah matriks C yang didapat dari hasil dekomposisi masingmasing citra tersebut. Misalkan Ck dan Cl adalah matriks hasil dekomposisi citra k dan l, dengan : Ck = [10 − 2 12 5 − 8 0 1 1 0 9 17] dan Cl = [18 0 0 1 7 5 0 12 0 9 2]
Maka langkah untuk membandingkannya adalah : 1. Matriks Ck dan Cl dicari nilai selisih antar pasangan datanya, yang menghasilkan matriks d. 24 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
d = [− 8 − 2 12 4 − 15 − 5 1 − 11 0 0 15]
2. Matriks d kemudian dicari nilai mean datanya, yang kemudian menghasilkan matriks e yang berdimensi 1x1.
e = [− 0,8182]
3. Untuk memudahkan perhitungan, matriks e kemudian dicari nilai absolut datanya sehingga menghasilkan matriks w yang juga berdimensi 1x1.
w = [0,8182]
Matriks w merupakan hasil pembandingan kedua input citra. Karena yang dibandingkan adalah 2 citra yang tidak sama persis, maka dibutuhkan nilai toleransi. Batasan dimana kedua buah citra pas foto dinyatakan mirip atau tidak ditentukan oleh nilai toleransi tersebut. Semakin kecil nilai w, maka semakin besar persentasi kemiripan kedua citra pas foto yang dibandingkan.
2.5 Matlab Matlab (Matrix Laboratory) adalah bahasa pemrograman tingkat tinggi yang dikhususkan untuk komputasi teknis. Bahasa yang dikembangkan oleh MathWorks ini mengintegrasikan kemampuan komputasi, visualisasi dan pemrograman dalam sebuah lingkungan yang tunggal dan mudah digunakan. Aplikasi Matlab yang digunakan penulis adalah Matlab 7. Tampilan antarmuka Matlab 7 dapat dilihat pada Gambar 2.7. 25 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Pada aplikasi Matlab 7 terdapat beberapa tipe data yang sering digunakan, yaitu : 1. *.m atau m-file adalah sekumpulan instruksi yang dapat dijalankan dalam sekali panggil. 2. *.mat adalah format database sederhana yang berbentuk matriks. 3. *.fig adalah format penyimpanan tampilan GUI (Graphical User Interface).
Gambar 2.7 Tampilan Antarmuka Aplikasi Matlab 7
Setiap penyimpanan ataupun pemuatan variabel atau database pada Matlab selalu diletakkan pada atau diambil dari direktori yang sedang aktif (current directory).
26 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
BAB III PERANGKAT LUNAK SISTEM
3.1 Gambaran Umum Secara umum, sistem pembanding citra pas foto ini terdiri dari dua aplikasi, yaitu PPWdb dan PPWfr. PPWdb bertujuan untuk mengambil citra pas foto dan kemudian memasukkan matriks hasil dekomposisinya ke database, sedangkan PPWfr bertujuan untuk mengambil citra pas foto dan kemudian membandingkannya dengan yang ada di database untuk mencari kemiripan citra pembanding dengan citra di database. Di dalam PPWdb digunakan berbagai variabel, antara lain fn, xn dan js. Variabel js adalah variabel yang digunakan sebagai tempat penyimpanan informasi banyaknya citra pas foto yang sudah tersimpan di database. Nilai awal js adalah 1, yang artinya belum ada citra pas foto yang disimpan di database. Setiap ada penyimpanan citra pas foto, maka nilai js akan ditambah dengan 1. Dalam hal ini, citra pas foto yang dapat disimpan hanya sebanyak maksimum 5 buah. Citra pas foto yang digunakan dalam aplikasi ini harus berukuran 112x92 pixel, mode warna grayscale 8 bit dan tipe filenya adalah .jpg. fn adalah variabel yang merupakan hasil dekomposisi dari citra xn. Dalam hal ini, fn merupakan matriks berdimensi 1x10332. 1x10332 didapat dari proses dekomposisi Wavelet diskrit tipe Haar tingkat 3 untuk citra 2 dimensi 112x92 pixel. Untuk lebih memudahkan algoritma aplikasi, maka pada awal aplikasi fn diberikan nilai awal matriks nol berukuran 1x10332. Aplikasi PPWfr hanya menggunakan variabel x, fb dan hsln. x adalah matriks pixel dari citra pas foto pembanding, fb adalah variabel yang berisi matriks hasil dekomposisi Wavelet diskrit tipe Haar tingkat 3 terhadap x, sementara hsln adalah
27 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
hasil dari proses perbandingan fn dan fb. Proses perbandingan 2 buah citra pas foto dapat dilihat pada bab sebelumnya.
3.2 PPWdb Sewaktu aplikasi PPWdb dijalankan, tahap pertama yang dilakukan adalah memeriksa keberadaan file htemp.mat. Jika file ini ada, maka akan dihapus. File htemp.mat adalah file yang memuat matriks pixel citra xn. Jika file htemp.mat ada pada saat aplikasi pertama kali dibuka, berarti itu adalah file yang tersisa sewaktu aplikasi terakhir kali dibuka. Kemudian dilakukan pengisian harga awal ke variabel f1 sampai f5. Yang diisi adalah matriks nol berukuran 1x10332. Variabel f1 sampai f5 tersebut disimpan dalam file db.mat. Setelah itu dilakukan juga pengisian nilai awal kepada variabel js. Dalam hal ini, nilai awalnya adalah 1. Citra
mrx.jpg kemudian
ditampilkan pada aplikasi. Hal ini dilakukan semata-mata hanya sebagai pelengkap, dan tidak memberi pengaruh apapun ke dalam proses perbandingan. Di dalam aplikasi PPWdb, terdapat lima tombol yang akan memudahkan pengguna dalam pemakaian. Kelima tombol tersebut adalah Ambil Foto, Input ke Database, Pengenal Wajah, Reset Database, dan Keluar.
A Gambar 3.1 Diagram Alir Aplikasi PPWdb
28 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
A
Gambar 3.1 Diagram Alir Aplikasi PPWdb (Lanjutan)
Gambar 3.2 Tampilan Antarmuka PPWdb 29 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
3.2.1 Tombol Ambil Foto Sesaat setelah aplikasi mendeteksi penekanan tombol Ambil Foto, sebuah jendela yang bertujuan untuk mencari file citra pas foto yang ingin dimasukkan ke database akan ditampilkan. Setiap citra pas foto yang dimasukkan diubah ke dalam matriks pixel citra (xn).
Gambar 3.3 Diagram Alir Ambil Foto
30 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Variabel xn tersebut lalu disimpan di dalam file htemp.mat. Tahap selanjutnya adalah dengan menyimpan nama dan lokasi file input citra pada variabel nfn dan npn, kemudian menyimpannya dalam file impf.mat.
3.2.2 Tombol Input ke Database xn akan didekomposisi dengan transformasi Wavelet diskrit tipe Haar tingkat 3 jika aplikasi mendeteksi penekanan tombol Input ke Database. Sebelum dekomposisi dilakukan, terlebih dahulu dilakukan pemeriksaan terhadap keberadaan file htemp.mat. Jika file tersebut tidak ada, maka akan ditampilkan pesan bahwa belum ada foto yang diambil. Tetapi jika file tersebut ada, maka langkah berikutnya adalah memuat file htemp.mat tersebut, berikut juga file jcount.mat dan db.mat. Setelah proses pemuatan ketiga file tersebut sudah dilakukan, maka nilai variabel js dari file jcount.mat diperiksa. Jika nilai js = 6, berarti database sudah penuh dan pesan yang menyatakan hal tersebut akan ditampilkan. Jika js belum sampai 6, maka nilai xn yang diperoleh sewaktu pengambilan citra pas foto kemudian didekomposisi. Untuk nilai js = n, hasilnya kemudian disimpan dengan variabel fn dalam file db.mat untuk nilai n antara 1 sampai 5. Citra yang disimpan dengan variabel fn akan mendapat nomor ID n juga. Nilai js tersebut kemudian ditambahkan dengan angka 1 dan hasilnya disimpan dalam file jcount.mat. Nomor ID tersebutpun kemudian ditampilkan pada aplikasi sebagai informasi kepada pengguna. Diagram alir Input ke Database dapat dilihat pada Gambar 3.4.
31 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 3.4 Diagram Alir Input ke Database
3.2.3 Tombol Pengenal Wajah Jika aplikasi mendeteksi penekanan tombol ini, aplikasi PPWdb akan ditutup, dan aplikasi PPWfr dibuka. Keterangan mengenai PPWfr akan dijelaskan pada sub bab berikutnya.
32 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
3.2.4 Tombol Reset Database Tombol Reset Database berguna untuk menghapus file htemp.mat, menampilkan kembali citra mrx.jpg dan mengembalikan nilai fn menjadi matriks nol berukuran 1x10332. Tetapi jika file htemp.mat tidak ada, maka tidak ada dilakukan proses apapun. Diagram alir untuk tombol Reset Database dapat dilihat pada Gambar 3.5.
Gambar 3.5 Diagram Alir Reset Database
3.2.5 Tombol Keluar Tombol ini berguna untuk menutup aplikasi.
33 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
3.3 PPWfr
Gambar 3.6 Diagram Alir PPWfr
Gambar 3.7 Tampilan Antarmuka PPWfr
34 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Aplikasi kedua, yang disebut PPWfr, bertujuan untuk melakukan proses perbandingan citra. Pada aplikasi ini hanya terdapat 3 tombol, yaitu Ambil Foto, Cari di Database, dan Keluar.
3.3.1 Tombol Ambil Foto Segera setelah tombol Ambil Foto ditekan, aplikasi akan menampilkan jendela explorer untuk mencari foto yang mau dibandingkan dari media penyimpanan. Seperti pada PPWdb, citra yang dimasukkan diubah ke dalam bentuk matriks.
Gambar 3.8 Diagram Alir Ambil Foto 35 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Matriks pixel citra ini disimpan dengan variabel x, dan kemudian langsung didekomposisi Wavelet tipe Haar tingkat 3, sehingga didapat juga identitas dari citra yang mau dibandingkan dengan dimensi 1x10332. Identitas ini disimpan dengan variabel fb dalam file htemp2.mat.
3.3.2 Tombol Cari di Database Ketika tombol Cari di Database ditekan, aplikasi akan melakukan proses perbandingan. Tetapi sebelumnya, dilakukan dulu pemeriksaan keberadaan file htemp2.mat yang hanya akan ada jika foto sudah dipilih. Jika tidak ada, maka akan ada pesan bahwa foto belum dipilih. Tetapi jika ada, maka file tersebut kemudian dimuat, berikut file jcount.mat dan db.mat. Kemudian dilakukan pemeriksaan pada nilai variabel js. Untuk nilai js = 1, yang berarti belum ada foto yang disimpan, maka ditampilkanlah pesan yang menyatakan demikian. Jika sudah lebih dari 1, maka proses dilanjutkan dengan perbandingan pas foto. Metodenya adalah dengan mencari selisih dari masing-masing variabel fn dengan fb. Walaupun citra yang dimasukkan tidak sampai 5, tetapi tetap dapat dilakukan pencarian selisih tersebut. Hal ini karena pada aplikasi PPWdb telah diberikan nilai awal matriks nol berdimensi 1x10332 pada variabel f1 sampai f5. Untuk setiap variabel fn, dilakukan proses perbandingan citra pas foto dengan fb sehingga menghasilkan matriks hsln. Berdasarkan percobaan yang dilakukan oleh penulis, nilai toleransi untuk percobaan ini adalah 1. Dengan kata lain, dua buah citra dikatakan mirip jika 0 < hsln < 1. Citra di database yang dianggap mirip dengan pembanding kemudian ditampilkan kembali pada aplikasi beserta nomor IDnya.. Alamat dan nama file citra tersebut dimuat dari file impf.mat yang telah disimpan sebelumnya pada waktu pengambilan foto di PPWdb.
36 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 3.9 Diagram Alir Cari di Database
37 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
3.3.3 Tombol Keluar Tombol ini berguna untuk menutup aplikasi PPWfr. Tetapi sebelum menutup aplikasi, terlebih dahulu dilakukan penghapusan terhadap file htemp2.mat. Hal ini bertujuan agar sewaktu aplikasi PPWfr dibuka lagi, pengguna tidak bisa langsung menekan tombol Cari di Database tanpa mengambil citra pas foto pembanding terlebih dahulu, karena file htemp2.mat yang dibutuhkan sewaktu menekan tombol Cari di Database sudah dihapus. Tetapi jika file htemp2.mat tersebut sudah tidak ada, aplikasi langsung ditutup.
Gambar 3.10 Diagram Alir Keluar
38 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
BAB IV IMPLEMENTASI DAN PENGUJIAN HASIL
Bab ini akan membahas implementasi dari rancangan pada Bab III serta pengujian perangkat lunak yang dihasilkan. Bagian implementasi menekankan pada demonstrasi fungsi setiap tombol pada aplikasi, sementara bagian pengujian menekankan pada ujicoba kemampuan perangkat lunak dalam membandingkan beberapa sampel citra pas foto.
4.1 Implementasi Implementasi dari sistem pembanding citra pas foto ini menggunakan bahasa pemrograman Matlab 7. Penggunaan bahasa pemrograman Matlab 7 dinilai lebih mudah karena di dalam Matlab 7 sudah terdapat fasilitas GUI (Graphical User Interface) yang cukup mempermudah pengguna karena tampilan antarmukanya dapat dibuat sesederhana mungkin. Keuntungan lain dalam menggunakan Matlab 7 adalah karena di dalamnya sudah terdapat function operasi dekomposisi Wavelet yang bisa langsung digunakan. Pada sistem ini terdapat 2 buah m-file, yaitu PPWdb.m dan PPWfr.m yang berisi kode-kode pemrograman yang akan dijalankan sewaktu PPWdb.fig maupun PPWfr.fig dijalankan.
4.1.1 PPWdb Pada Gambar 4.1 dapat dilihat bagaimana tampilan antarmuka PPWdb saat pertama kali dijalankan. Gambar mrx.jpg yang diambil dari current directory ditampilkan pada aplikasi. 39 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 4.1 Tampilan Antarmuka Sewaktu Aplikasi PPWdb Baru Dijalankan
Pada Gambar 4.2 diperlihatkan tampilan antarmuka aplikasi sewaktu tombol Ambil Foto ditekan. Jendela explorer dengan sendirinya akan muncul untuk memudahkan pengguna dalam mencari lokasi penyimpanan citra pas foto. Setelah sebuah citra pas foto terpilih, maka citra pas foto tadi ditampilkan pada aplikasi, sehingga menjadi seperti pada Gambar 4.3. Gambar 4.4 memperlihatkan tampilan antarmuka aplikasi sewaktu tombol Input ke Database terpilih. Nomor ID dari citra pas foto tersebut kemudian ditampilkan juga untuk memudahkan pengguna dalam mengasosiasikan data input. Tetapi jika tombol Input ke Database ditekan tanpa ada satupun citra pas foto yang terpilih, maka akan keluar pesan yang menyatakan hal tersebut.
40 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 4.2 Tampilan Antarmuka Ketika Tombol Ambil Foto Ditekan
Gambar 4.3 Tampilan Ketika Citra Pas Foto Sudah Terpilih
41 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Pada waktu tombol Pengenal Wajah ditekan, maka aplikasi PPWdb akan ditutup dan aplikasi PPWfr dibuka. Akan tetapi jika belum ada satupun citra pas foto yang sudah dimasukkan ke database, maka akan timbul pesan kesalahan tersebut jika tombol Pengenal Wajah ditekan.
Gambar 4.4 Tampilan Ketika Tombol Input ke Database Ditekan Setelah Sebuah
Foto Diambil
Sewaktu tombol Reset Database ditekan, maka aplikasi akan menghapus semua data yang sudah disimpan sebelumnya dan memunculkan kembali citra mrx.jpg pada aplikasi.
42 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
(a)
(b)
Gambar 4.5 (a) Tampilan Ketika Tombol Input ke Database Ditekan Tanpa
Mengambil Foto Terlebih Dahulu; (b) Tampilan yang Muncul Ketika Tombol Pengenal Wajah Ditekan Tanpa Mengisi Database Terlebih Dahulu
4.1.2 PPWfr Pada aplikasi PPWfr, saat pertama kali aplikasi dijalankan maka akan terlihat 2 buah kotak tempat menampilkan citra pas foto. Kotak sebelah kiri berfungsi untuk menampilkan citra pas foto pembanding, sementara kotak sebelah kanan berfungsi untuk menampilkan citra pas foto dari database yang dianggap paling mirip dengan pembanding.
43 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 4.6 Tampilan Ketika Aplikasi PPWfr Pertama Kali Dijalankan
Selain kotak tempat penampilan citra pas foto, pada tampilan aplikasi PPWfr juga terlihat ada 3 tombol, yaitu Ambil Foto, Cari di Database dan Keluar.
Gambar 4.7 Tampilan Ketika Tombol Ambil Foto Ditekan 44 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 4.8 Tampilan Ketika Foto Sudah Diambil
Gambar 4.9 Tampilan yang Muncul Ketika Tombol Cari di Database Baru Saja
Ditekan
45 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Seperti halnya pada PPWdb, ketika tombol Ambil Foto ditekan, akan ditampilkan sebuah jendela explorer untuk memudahkan pengguna dalam mencari citra pas foto yang disimpan di media penyimpanan. Setelah citra pas foto terpilih, maka citra pas foto itu akan dijadikan citra pas foto pembanding, dan akan ditampilkan pada kotak sebelah kiri pada aplikasi.
Gambar 4.10 Tampilan yang Muncul Ketika Proses Pencarian di Database Selesai
Dilakukan
Sesaat setelah tombol Cari di Database ditekan, maka aplikasi akan membandingkan citra pas foto pembanding dengan yang ada di database untuk mencari citra pas foto yang paling mirip. Jika ada citra pas foto yang dianggap mirip, maka citra pas foto itu akan ditampilkan pada kotak sebelah kanan pada aplikasi, dan kemudian muncul pesan yang menyatakan bahwa citra pas foto pembanding mirip dengan yang ada di database dengan ID = n.
46 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
4.2 Pengujian Hasil Pada percobaan ini, citra pas foto yang digunakan sebagai bahan percobaan sebanyak 20 foto yang terdiri dari 10 orang yang berbeda, dimana masing-masing orang memiliki 2 variasi foto (ekspresi atau aksesoris yang berbeda). Keseluruhan foto bisa dilihat pada gambar 4.1. Empat pasang foto yang pertama diambil sendiri oleh penulis dengan menggunakan kamera digital, sementara sisanya diambil dari database wajah standar dari ORL (Ollyvety Research Laboratory). Berikut adalah citra pas foto yang digunakan dalam percobaan.
Gambar 4.11 Citra-Citra Pas Foto yang Digunakan Dalam Percobaan 47 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Pengujian dilakukan dalam 6 kategori. Keenam kategori tersebut dibagi berdasarkan jenis citra pas foto yang dimasukkan ke database. Keenam kategori tersebut dibagi sebagai berikut :
1. Kategori A Citra pas foto yang bukan dari ORL dan tanpa memakai kacamata
Gambar 4.12 Citra Pas Foto Kategori A
2. Kategori B Citra pas foto yang bukan dari ORL dan memakai kacamata
Gambar 4.13 Citra Pas Foto Kategori B
3. Kategori C Citra pas foto dari ORL dan tanpa memakai kacamata
48 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Gambar 4.14 Citra Pas Foto Kategori C
4. Kategori D Citra pas foto dari ORL dan memakai kacamata
Gambar 4.15 Citra Pas Foto Kategori D
Masing-masing kategori akan dibandingkan dengan 20 citra pas foto yang sudah ada. Nilai akurasi dari aplikasi akan ditentukan per kategori dengan rumus sebagai berikut:
Berdasarkan rumusan di atas, maka diperoleh akurasi dari aplikasi untuk masingmasing kategori, yang dapat dilihat pada Tabel 4.1. Dari hasil percobaan dapat disimpulkan bahwa aplikasi dapat mengenal dengan sangat baik citra pas foto dari kategori A. Citra kategori B yang bukan merupakan pas foto dari ORL dapat dikenali cukup baik oleh aplikasi, sementara citra pas foto dari ORL kurang dapat dikenali secara baik dengan ataupun tanpa kacamata.
49 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Tabel 4.1 Hasil Uji Akurasi Aplikasi Per Kategori Kategori
Akurasi
A
100%
B
60%
C
50%
D
50%
Kecepatan aplikasi dalam melakukan perbandingan sama dalam kondisi apapun, yaitu sebesar 78 milidetik.
50 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan 1. Metode transformasi Wavelet teruji cukup akurat dan cepat dalam membandingkan citra pas foto. 2. Pasangan citra pas foto yang berbeda ekspresi wajah masih dapat dikenali dengan baik oleh aplikasi. 3. Aplikasi menghasilkan persentasi perbandingan yang lebih buruk untuk citra pas foto yang telah melalui proses pemindahan melalui intenet. 4. Hasil perbandingan kurang akurat pada citra pas foto yang memakai kacamata. 5. Hasil perbandingan yang dilakukan oleh aplikasi tidak lebih baik daripada perbandingan melalui pandangan mata manusia.
5.2 Saran 1. Sebaiknya aplikasi dikembangkan agar bisa memodifikasi citra masukan menjadi berukuran 112x92 pixel, mode warna grayscale 8 bit, dan tipe file .jpeg, sehingga citra masukan tidak perlu memenuhi kriteria tersebut sebelum diproses pada aplikasi. 2. Aplikasi ini akan lebih baik jika dapat dihubungkan dengan aplikasi database yang canggih sehingga dapat memuat data yang jauh lebih banyak hanya dengan algoritma yang lebih sederhana. 3. Aplikasi ini hendaknya disempurnakan atau diubah ke dalam bentuk aplikasi yang bisa berjalan tanpa perlu memanggil Matlab terlebih dahulu.
51 Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
DAFTAR PUSTAKA 1. Lim, Resmana, Marcel J.T. Reinders, dan Thiang, 2000, “Pengenalan Citra Wajah dengan Pemrosesan Awal Transformasi Wavelet”, Surabaya : Gedung Pasca Sarjana ITS. 2. Manikarnika, Achim Sanjay, 2006, “A General Face Recognition System”, Norwegia : Norwegian University of Science and Technology Department of Mathematical Sciences. 3. Garcia, Christopher, Giorgos Zikos, Giorgos Tziritas, “A Wavelet-based Framework for Face Recogniton”, Heraklion, Yunani : ICS-Foundation for Research and Technology-Hellas-FORTH. 4. Delac, Kresimir, dan Mislav Grgic, 2007, “Face Recognition”, Vienna, Austria : I-Tech Education and Publishing. 5. BiNus Center, “3D Movie Animator; Digital Imaging with Adobe Photoshop”, Jakarta : BiNus Center. 6. Polikar, Robi, “The Wavelet Tutorial”, 1994, http://users.rowan.edu/~polikar/ WAVELETS/ WTtutorial.html 7. Sandberg, Kristian, “The Haar Wavelet Transform”, 2000, http://sprott. physics.wisc.edu/carlson.html. 8. Away, Gunaidi Abdia, “MATLAB Programming”, 2006, Bandung : Informatika. 9. “Pengolahan Citra”, 2007, www.wikipedia.com. 10. Arif, Agus, “Kuliah Pengolahan Citra Semester Genap 2006/2007”, 2006. 11. Karmilasari, “Konvolusi”, 2006. 12. Zhao, M, “2 Dimensional Wavelet”, 2007.
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
LAMPIRAN
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Kode Pemrograman PPWdb.m function varargout = PPWdb(varargin) % PPWdb M-file for PPWdb.fig % PPWdb, by itself, creates a new PPWdb or raises the existing % singleton*. % % H = PPWdb returns the handle to a new PPWdb or the handle to % the existing singleton*. % % PPWdb('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PPWdb.M with the given input arguments. % % PPWdb('Property','Value',...) creates a new PPWdb or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before PPWdb_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to PPWdb_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help PPWdb % Last Modified by GUIDE v2.5 17-Jun-2007 19:53:17 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PPWdb_OpeningFcn, ... 'gui_OutputFcn', @PPWdb_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % -- BAGIAN INI DIEKSEKUSI TEPAT SEBELUM APLIKASI PPWDB DIJALANKAN -function PPWdb_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to PPWdb (see VARARGIN)
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
cekhtemp=exist('htemp.mat','file'); %periksa apakah file htemp.mat ada if cekhtemp==2 %jika file htemp.mat ada, maka delete htemp.mat %hapus file htemp.mat else end
%jika tidak ada, akhiri pencabangan
f1=zeros(1,10332,'double'); f2=zeros(1,10332,'double'); f3=zeros(1,10332,'double'); f4=zeros(1,10332,'double'); f5=zeros(1,10332,'double'); save db f1 f2 f3 f4 f5; js=1; save jcount js;
%beri nilai awal matriks nol %berdimensi 1x10332 tipe double %ke variabel f1 sampai f5
%simpan ke file db.mat %masukkan nilai js=1 %simpan nilai js ke file jcount.mat
%ambil file mrx.jpg dan handles.data1=imread('mrx.jpg'); guidata(hObject,handles); %tampilkan pada aplikasi handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); % Choose default command line output for PPWdb handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes PPWdb wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = PPWdb_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL AMBIL FOTO DITEKAN -function pbambil_Callback(hObject, eventdata, handles) % hObject handle to pbambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %tampilkan kotak dialog untuk mencari citra [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File Jpeg (*.jpg)'; '*.*','Semua File (*.*)'},...
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) %jika citra sudah terpilih, tampilkan %citra di axes1 handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); x=(handles.current_data1); %data citra disimpan dalam variabel x x=double(x); save htemp x;
%x diubah tipe datanya menjadi double %simpan x ke dalam file htemp.mat
load jcount.mat switch js case 1 %jika js=1 np1=nama_path1; %masukkan path citra 1 ke variabel np1 nf1=nama_file1; %masukkan nama file citra1 ke nf1 save impf np1 nf1; %simpan variabel np1 dan nf1 ke file %impf.mat case 2 np2=nama_path1; nf2=nama_file1; save impf np2 nf2 -append; %variabel np2 dan nf2 disimpan dan %disertakan ke file impf.mat case 3 np3=nama_path1; nf3=nama_file1; save impf np3 nf3 -append; case 4 np4=nama_path1; nf4=nama_file1; save impf np4 nf4 -append; case 5 np5=nama_path1; nf5=nama_file1; save impf np5 nf5 -append; end else return; end % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL INPUT KE DATABASE DITEKAN -function pbinput_Callback(hObject, eventdata, handles) % hObject handle to pbinput (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
% handles structure with handles and user data (see GUIDATA) cekhtemp=exist('htemp.mat','file'); %periksa apakah file db.mat ada if cekhtemp==2 %jika file db.mat ada, maka load htemp.mat; load jcount.mat; load db.mat; switch js
%load file htemp.mat %load file jcount.mat %cek nilai js
case 1 %jika js bernilai 1, maka [f1,m] = wavedec2(x,3,'haar'); %lakukan proses wavelet tipe %haar level 3 pada variabel x save db f1 -append; %simpan variabel f1 ke file %db.mat %tambahkan variabel js dengan 1 js=js+1; save jcount js; %simpan nilai js ke file %jcount.mat warndlg('ID FOTO : 1'); %tampilkan pesan nomor ID foto %proses sebelumnya diulang %sampai maksimum 5 input foto case 2 [f2,m] = wavedec2(x,3,'haar'); save db f2 -append; js=js+1; save jcount js; warndlg('ID FOTO : 2'); case 3 [f3,m] = wavedec2(x,3,'haar'); save db f3 -append; js=js+1; save jcount js; warndlg('ID FOTO : 3'); case 4 [f4,m] = wavedec2(x,3,'haar'); save db f4 -append; js=js+1; save jcount js; warndlg('ID FOTO : 4'); case 5 [f5,m] = wavedec2(x,3,'haar'); save db f5 -append; js=js+1; save jcount js; warndlg('ID FOTO : 5'); case 6
%jika input sudah lebih dari 5, %tampilkan pesan warndlg('Anda sudah menyimpan dalam jumlah maksimal..')
end else
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
warndlg('ANDA BELUM MEMILIH FOTO') end % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL KELUAR DITEKAN -function pbkeluar_Callback(hObject, eventdata, handles) % hObject handle to pbkeluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close
%keluar
% -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL RESET DATABASE DITEKAN -function pbreset_Callback(hObject, eventdata, handles) % hObject handle to pbreset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cekhtemp=exist('htemp.mat','file'); %periksa apakah file htemp.mat ada if cekhtemp==2 %jika file htemp.mat ada, maka %hapus file htemp.mat
delete htemp.mat
handles.data1=imread('mrx.jpg'); %tampilkan citra mrx.jpg ke axes1 guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); else end js=1; save jcount js;
%masukkan nilai js=1 %simpan nilai js ke file jcount.mat
f1=zeros(1,10332,'double'); f2=zeros(1,10332,'double'); f3=zeros(1,10332,'double'); f4=zeros(1,10332,'double'); f5=zeros(1,10332,'double'); save db f1 f2 f3 f4 f5;
%beri nilai awal matriks nol %berdimensi 1x10332 tipe double %ke variabel f1 sampai f5
%simpan ke file db.mat
% -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL PENGENAL WAJAH DITEKAN -function pbfacerec_Callback(hObject, eventdata, handles) % hObject handle to pbfacerec (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) load jcount if js==1
%load file jcount.mat %jika nilai js=1 (database belum %diisi), maka munculkan peringatan warndlg('ANDA BELUM MENGISI DATABASE')
else close PPWdb
%jika nilai js lebih dari 1, maka %tutup aplikasi PPWdb
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
PPWfr
%jalankan aplikasi PPWfr
end;
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
Kode Pemrograman PPWfr.m function varargout = PPWfr(varargin) % PPWFR M-file for PPWfr.fig % PPWFR, by itself, creates a new PPWFR or raises the existing % singleton*. % % H = PPWFR returns the handle to a new PPWFR or the handle to % the existing singleton*. % % PPWFR('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PPWFR.M with the given input arguments. % % PPWFR('Property','Value',...) creates a new PPWFR or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before PPWfr_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to PPWfr_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Copyright 2002-2003 The MathWorks, Inc. % Edit the above text to modify the response to help PPWfr % Last Modified by GUIDE v2.5 17-Jun-2007 18:15:07 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PPWfr_OpeningFcn, ... 'gui_OutputFcn', @PPWfr_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % -- BAGIAN INI DIEKSEKUSI TEPAT SEBELUM APLIKASI PPWfr DIJALANKAN -function PPWfr_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to PPWfr (see VARARGIN)
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
% Choose default command line output for PPWfr handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes PPWfr wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = PPWfr_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL AMBIL FOTO DITEKAN -function pbambil2_Callback(hObject, eventdata, handles) % hObject handle to pbambil2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %tampilkan kotak dialog untuk mencari citra [nama_file1, nama_path1]=uigetfile(... {'*.bmp;*.jpg','File Citra(*.bmp,*.jpg)'; '*.bmp','File Bitmap (*.bmp)';... '*.jpg','File Jpeg (*.jpg)'; '*.*','Semua File (*.*)'},... 'Buka File Citra Host/Asli'); if ~isequal(nama_file1, 0) %jika citra sudah terpilih, tampilkan %citra di axes2 handles.data1=imread(fullfile(nama_path1,nama_file1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes1); imshow(handles.current_data1); x=(handles.current_data1); %data citra disimpan dalam variabel x x=double(x); %x diubah tipe datanya menjadi double [fb,m] = wavedec2(x,3,'haar'); %lakukan proses wavelet tipe %haar level 3 pada variabel x %simpan variabel fb ke file htemp2.mat save htemp2 fb; else return; end % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL CARI DI DATABASE DITEKAN -function pbcari_Callback(hObject, eventdata, handles)
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
% hObject handle to pbcari (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cekhtemp2=exist('htemp2.mat','file'); %periksa apakah file htemp.mat ada if cekhtemp2==2 %jika file htemp.mat ada, maka load htemp2.mat load jcount.mat load db.mat
%load file htemp2.mat %load file jcount.mat %load file db.mat
if js==1 %jika nilai js=1(database belum diisi), tampilkan pesan warndlg('ANDA BELUM MEMASUKKAN FOTO KE DATABASE'); %jika nilai js=2 atau lebih, maka else min1=f1-fb; %cari selisih f1 dengan fb, dan simpan hasilnya %ke variabel min1 mean1=mean(min1); %cari nilai rata-rata dari min1 dan simpan %hasilnya ke variabel mean1 hsl1=abs(mean1); %cari nilai absolute dari mean 1 dan simpan %hasilnya ke variabel hsl1, dan merupakan %identitas pembanding dari citra dengan ID 1 min2=f2-fb; mean2=mean(min2); hsl2=abs(mean2); min3=f3-fb; mean3=mean(min3); hsl3=abs(mean3); min4=f4-fb; mean4=mean(min4); hsl4=abs(mean4); min5=f5-fb; mean5=mean(min5); hsl5=abs(mean5); load impf.mat
%load file impf.mat
%cari nilai terkecil %jika hsl1 yang terkecil, dan lebih kecil dari 1, maka a=1 a=(hsl1
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
for i=1:1000; waitbar(i/1000) end close(h) %jika a=1, maka citra dengan ID 1 mirip dengan citra pembanding %maka citra dengan ID 1 tersebut ditampilkan %demikian selanjutnya sampai ID 5 if a==1 handles.data1=imread(fullfile(np1,nf1)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('MIRIP FOTO 1'); elseif b==1 handles.data1=imread(fullfile(np2,nf2)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('MIRIP FOTO 2'); elseif c==1 handles.data1=imread(fullfile(np3,nf3)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('MIRIP FOTO 3'); elseif d==1 handles.data1=imread(fullfile(np4,nf4)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('MIRIP FOTO 4'); elseif e==1 handles.data1=imread(fullfile(np5,nf5)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('MIRIP FOTO 5'); else %jika tidak ada variabel a sampai e yang bernilai 1, maka tidak ada yang %mirip %tampilkan pesan dan tampilkan foto mrx.jpg
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009
handles.data1=imread('mrx.jpg'); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.axes2); imshow(handles.current_data1); warndlg('TIDAK ADA FOTO YANG MIRIP'); end end else warndlg('ANDA BELUM MENGAMBIL FOTO'); end % -- BAGIAN INI DIEKSEKUSI SEWAKTU TOMBOL KELUAR DITEKAN -function pbkeluar2_Callback(hObject, eventdata, handles) % hObject handle to pbkeluar2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cekhtemp2=exist('htemp2.mat','file'); %periksa apakah file htemp.mat ada if cekhtemp2==2 %jika file htemp.mat ada, maka delete htemp2.mat %hapus file htemp2.mat close; %keluar dari program else close;
%keluar dari program
end
Medison A.S : Sistem Pembanding Citra Pas Foto Dengan Metode Transformasi Wavelet, 2007. USU Repository © 2009