Algoritma Gabor Filter dengan teknik GDA (Generalized Discriminant Analysis) 2


Pengenalan Pola adalah cabang kecerdasan yang menitik-beratkan pada metode pengklasifikasian objek ke dalam klas – klas tertentu untuk menyelesaikan masalah tertentu. Contoh yang dibahas kali ini adalah mengenai penentuan pola wajah baru berdasarkan pola wajah yang sudah ada sebelumnya dengan menggunakan metode Gabor Filter.
Algoritma ini adalah pengembangan lebih lanjut dari Algoritma Gabor Filter, yaitu dengan menambahkan sebuah metode yang dinamakan GDA (General Discriminant Analysis). Metode ini digunakan untuk mereduksi ukuran matriks feature dari ruang berdimensi besar menjadi ruang berdimensi kecil, sehingga dapat meningkatkan performa dan tingkat kecocokan data.



Diasumsikan ada 10 wajah manusia yang sudah diketahui sebelumnya, dengan data sebagai berikut:
ef contoh data

Selanjutnya ada pola wajah baru yang ingin diketahui hasilnya
Maka tentukan pola wajah baru ini cocok dengan pola wajah yang mana
Diasumsikan pola wajah yang baru adalah sebagai berikut:
gabor data baru


Langkah-langkah penggunaan algoritma ini adalah

* Lakukan inisialisasi variabel yang digunakan dalam perhitungan (poin 1)

1a. Tentukan parameter u,v,m,n untuk digunakan dalam perhitungan gabor filter bank
u adalah jumlah skala (kecil ke besar), dengan nilai default adalah 5
v adalah jumlah orientasi (horizontal, vertikal, diagonal), dengan nilai default adalah 8
m adalah jumlah baris dalam matriks gabor filter 2 dimensi, nilainya harus integer bulat ganjil, dengan nilai default adalah 39
m adalah jumlah kolom dalam matriks gabor filter 2 dimensi, nilainya harus integer bulat ganjil, dengan nilai default adalah 39

Dengan menggunakan parameter default diatas, maka hasil visualisasi untuk array gabor adalah sebagai berikut. Akan terdapat gambar matriks berjumlah 5 * 8 buah, dengan masing-masing gambar memiliki tingkat skala dan orientasi yang berbeda-beda dengan ukuran 39 x 39
GaborArray

1b. Tentukan parameter d1, d2 untuk digunakan dalam perhitungan gabor features
d1 adalah faktor downsampling dari baris matriks
d2 adalah faktor downsampling dari kolom matriks
downsampling adalah proses untuk mengecilkan ukuran matriks dengan hanya mengambil poin-poin penting dari matriks tersebut
semakin besar nilai downsampling, maka semakin kecil pula ukuran matriks yang dihasilkan,
sehingga perhitungan dapat dilakukan lebih cepat, tetapi tingkat kecocokannya akan semakin lemah
Demikian pula sebaliknya
Angka faktor downsampling juga harus merupakan faktor bilangan bulat dari baris atau kolom yang dimaksud,
jika baris matriks berjumlah 10, maka nilai faktor hanya bisa menggunakan angka 2 atau 5, tidak bisa menggunakan angka lainnya

* Lakukan pembacaan gambar contoh data yang tersedia (poin 2)

2a. Tentukan path folder dari gambar contoh data dan gambar data baru

2b. Cari semua gambar contoh wajah dan data baru yang tersedia pada masing-masing folder
Kemudian hitung jumlah gambar untuk masing-masing contoh data dan data baru yang tersedia

2c. Tentukan tinggi (H) dan lebar (W) dari masing-masing gambar
Kemudian buat matriks kosong berukuran H*W sebanyak jumlah gambar contoh data

2d. Tampilkan data contoh gambar yang tersedia
dan masukkan ke dalam matriks gambar

3. Lakukan proses perhitungan dengan metode Gabor Filter
Penjelasan tentang fungsi ini akan dijelaskan pada perhitungan dibawah ini (poin 3a – 3e)

Memasuki perhitungan pada fungsi GaborFilter

3a. Lakukan perhitungan gabor filter bank untuk mendapatkan array gabor
array gabor akan dihasilkan akan berukuan u x v, dengan masing-masing sel akan berisikan matriks berukuran m x n
contoh gambar gabor array dapat dilihat pada gambar diatas
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Gunakan fungsi ini untuk menghitung array gabor

3b. Lakukan perhitungan pada masing-masing contoh data
Lakukan perhitungan ekstraksi gabor feature untuk mendapatkan vektor feature dari contoh data tersebut
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 3b1 – 3b3)

Memasuki perhitungan pada fungsi gaborFeatures

3b1. Lakukan konversi gambar ke dalam bentuk grayscale apabila data gambar belum dalam bentuk grayscale

3b2. Lakukan proses filter pada data gambar menggunakan masing-masing matriks dalam array gabor

* Lakukan proses ekstraksi vektor feature dari data gambar (poin 3b3)

3b3. Lakukan perhitungan pada masing-masing hasil filter diatas (poin 3b3a – 3b3c)

3b3a. Lakukan proses downsampling untuk mereduksi ukuran hasil filter gabor

3b3b. Lakukan normalisasi menggunakan rata-rata dan standar deviasi dari hasil perhitungan sebelumnya
Proses ini dapat dilewati apabila normalisasi tidak dapat diterapkan pada hasil perhitungan gabor

3b3c. Masukkan hasil perhitungan ke dalam matriks feature

3c. Lakukan perhitungan dengan metode GDA (General Discriminant Analysis) untuk matriks feature contoh data
Metode ini digunakan untuk mereduksi ukuran matriks feature dari ruang berdimensi besar menjadi ruang berdimensi kecil,
dengan cara memaksimalkan rasio antara matriks scatter between dan matriks scatter within
Metode ini terbukti dapat meningkatkan performa dan tingkat kecocokan data
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 3c1 – 3c14)

Memasuki perhitungan pada fungsi gda

3c1. Lakukan pemisahan sample dari masing-masing obyek / class ke dalam array

3c2. Lakukan pembuatan kernel spesifik dari masing-masing obyek contoh data

3c3. Lakukan normalisasi pada data sehingga data tersebut memiliki zero mean

3c4. Lakukan perhitungan matriks blok diagonal W

3c5. Lakukan dekomposisi pada data zero mean menggunakan teknik dekomposisi eigen

3c6. Hilangkan semua eigenvalue yang memiliki nilai cukup rendah

3c7. Lakukan normalisasi pada eigenvector yang telah ditemukan

3c8. Hitung nilai eigenvector (beta) dan eigenvalue (lambda)

3c9. Hilangkan semua eigenvalue yang memiliki nilai cukup rendah

3c10. Hitung nilai alpha dan lakukan normalisasi pada alpha

3c11. Lakukan proses reduksi dimensi menjadi parameter jumlah dimensi
Jika paramter jumlah dimensi tidak didefinisikan sebelumnya, maka nilainya akan digantikan oleh jumlah eigenvector

3c12. Lakukan pembuatan kernel spesifik untuk semua obyek contoh data

3c13. Lakukan normalisasi pada data sehingga data tersebut memiliki zero mean

3c14. Lakukan proyeksi semua data poin secara non linier ke dalam ruang berdimensi kecil yang baru

3d. Lakukan perhitungan pada masing-masing data baru
Lakukan perhitungan ekstraksi gabor feature untuk mendapatkan vektor feature dari data baru tersebut
Penjelasan tentang fungsi ini sudah dijelaskan pada perhitungan sebelumnya

3e. Lakukan perhitungan dengan metode GDA (General Discriminant Analysis) untuk matriks feature data baru
Penjelasan tentang fungsi ini sudah dijelaskan pada perhitungan sebelumnya

4. Lakukan perhitungan pada masing-masing data baru (poin 4a – 4c)

4a. Hitung jarak Euclidean antara proyeksi GDA data baru dengan proyeksi GDA dari semua contoh data

4b. Ambil jarak paling minimal sebagai jawaban gambar contoh data yang paling sesuai dengan gambar data baru

4c. Tampilkan hasil akhir pada layar


Hasil akhir adalah: (klik untuk perbesar gambar)

gabor gda hasil akhir


Contoh modul / source code menggunakan Matlab dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

2 pemikiran di “Algoritma Gabor Filter dengan teknik GDA (Generalized Discriminant Analysis)

    • pip Penulis

      Mengenai nilai default tersebut, saya hanya mengikuti apa yang saya pelajari berdasarkan referensi skrip, sehingga tidak ada pembuktian secara teori / jurnal. Jika anda sudah memiliki referensi yang menggunakan nilai lain, maka silahkan menyesuaikan nilai2 ini dengan nilai yang baru.