PENGENALAN WAJAH MENGGUNAKAN METODE LINEAR DISCRIMINANT ANALYSIS DAN K NEAREST NEIGHBOR

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017

PENGENALAN WAJAH MENGGUNAKAN METODE LINEAR DISCRIMINANT ANALYSIS DAN K NEAREST NEIGHBOR 1

Fandiansyah, 2

Autor Yuliani Kusuma

10 downloads 342 Views 1MB Size

Data uploaded manual by user so if you have question learn more, including how to report content that you think infringes your intellectual property rights, here.

Report DMCA / Copyright

Transcript

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017

PENGENALAN WAJAH MENGGUNAKAN METODE LINEAR DISCRIMINANT ANALYSIS DAN K NEAREST NEIGHBOR 1

Fandiansyah, 2Jayanti Yusmah Sari, 3Ika Purwanti Ningrum Jurusan Teknik Informatika, Fakultas Teknik Universitas Halu Oleo, Kendari, 93232 Email: [email protected], 2 [email protected],3 ika.purwanti.n@gmail Abstrak

Pengenalan wajah merupakan sistem biometrika yang banyak digunakan untuk pengenalan individu pada penggunaan mesin absensi atau akses kontrol.Hal ini karena wajah merupakan salah satu ciri biometrika yang paling umum digunakan untuk mengenali seseorang.Selain itu, pengenalan wajah tidak mengganggu kenyamanan seseorang saat pengambilan citra. Namun, ada dua hal yang menjadi masalah pengenalan wajah yaitu proses ekstraksi fitur dan teknik klasifiksi yang digunakan. Penelitian ini menggunakan linear discriminant analysis (LDA) dan k nearest neighbor untuk membangun sistem pengenalan wajah. LDA digunakan untuk membentuk satu set fisherface, di mana seluruh citra wajah direkonstruksi dari kombinasi fisherface dengan bobot yang berbeda-beda. Nilai bobot suatu citra testing akan dicocokkan dengan nilai bobot citra di database menggunakan metode klasifikasi k nearest neighbor. Sistem ini dibangun menggunakan bahasa pemograman Java.Sistem telah diuji menggunakan database sebanyak 66 citra wajah dari 22 individu. Hasil pengujian menunjukkan metode LDA dan k nearest neighbor cukup optimal untuk melakukan pengenalan wajah dengan akurasi pengenalan citra wajah normal mencapai 98.33% dan akurasi pengenalan citra wajah yang diberi noise sebesar 86,66%. Kata Kunci: face recognition, k nearest neighbor, linear discriminant analysis. 1. PENDAHULUAN Sistem biometrika merupakan teknologi pengenalan diri menggunakan bagian tubuh manusia seperti sidik jari, telinga, wajah, geometri tangan, telapak tangan, retina, gigi dan bibir. Pengenalan wajah merupakan sistem biometrika yang banyak digunakan untuk identifikasi personal pada penggunaan mesin absensi atau akses control. Hal ini karena wajah merupakan salah satu biometrika yang paling umum digunakan untuk mengenali seseorang.Selain itu, pengenalan wajah juga tidak mengganggu kenyamanan seseorang saat pengambilan citra. Banyak orang yang mencoba untuk membangun program aplikasi pengenalan wajah dengan berbagai macam metode yang masing-masing memiliki kelebihan dan kelemahan. Ada metode yang cepat dalam mengenali citra wajah akan tetapi mengorbankan tingkat keakuratan dalam pengenalan. Ada dua hal yang menjadi masalah utama pada pengenalan wajah yaitu proses ekstraksi fitur dari citra wajah dan juga teknik klasifikasi yang digunakan untuk mengklasifikasikan wajah yang ingin dikenali berdasarkan fitur-fitur yang telah dipilih. 48

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017 Ada beberapa metode ekstraksi fitur yang telah digunakan untuk aplikasi pengenalan wajah salah satunya yaitu Principal Component Analysis (PCA). Metode PCA bertujuan untuk memproyeksikan data pada arah yang memiliki variasi terbesar, yang ditunjukkan oleh vektor eigen yang bersesuaian dengan nilai terbesar dari matrikskovarian. Di samping itu juga bertujuan untuk mereduksi dimensi dengan melakukan transformasi linear dari suatu ruang berdimensi tinggi ke dalam ruang berdimensi rendah.Kelemahan dari metode PCA adalah kurang optimal dalam pemisahan antar kelas sehingga dapat mempengaruhi tingkat akurasi pengenalan wajah [1].Untuk mengatasi masalah tersebut, Turk dan Pentland pada tahun 1991 [2] memperkenalkan Linear Discriminant Analysis (LDA) untuk pengenalan wajah. Metode ini mencoba menemukan subruang linear yang memaksimalkan perpisahan dua kelas pola menurut Fisher Criterion (bobot fisher kriteria). Hal ini dapat diperoleh dengan meminimalkan jarak matriks sebaran within-classSw dan memaksimalkan jarak matriks sebaran betweenclassSb secara simultan sehingga menghasilkan fisher criterion yang maksimal. LDA akan menemukan subruang linear di mana kelas-kelas saling terpisah dengan memaksimalkan fisher criterion. Dalam pengenalan wajah, proses klasifikasi sama pentingnya dengan proses ekstraksi fitur. Setelah fitur-fitur penting citra wajah dihasilkan pada proses ekstraksi fitur, fitur-fitur tersebut nantinya akan digunakan untuk proses klasifikasi. Metode klasifikasi yang akan digunakan adalah klasifikasi knearest neighbor. Klasifikasi knearest neighbor adalah suatu metode yang menggunakan algoritma supervised di mana hasil dari query instance yang baru diklasifikasikan berdasarkan mayoritas dari kategori pada knearest neighbor. Klasifikasi knearest neighbor mempunyai kemampuan yang baik dalam mencari nilai kedekatan antara data baru dan data lama, yaitu berdasarkan pada pencocokkan bobot sejumlah fitur, meskipun data training kehilangan beberapa informasi yang diakibatkan oleh sistem yang tidak diketahui oleh pemakai [3]. Penelitian ini menggunakan Linear Discriminant Analysis (LDA) dan knearest neighbor untuk pengenalan wajah.LDA digunakan sebagai metode ekstraksi fitur untuk mengoptimalkan pemisahan antar kelas citra wajah sedangkan klasifikasi knearest neighbor mempunyai kemampuan yang baik dalam mencari nilai kedekatan antara data baru dan data lama, yaitu berdasarkan pada pencocokkan bobot sejumlah fitur. 2. METODE PENELITIAN Pada penelitian in dibuat sistem pengenalan wajah menggunakan metode Linear Discriminant Analisys (LDA) dan knearest neighbor yang dirancang agar dapat mendeteksi wajah seseorang pada citra digital kemudian mengenali citra wajah tersebut dengan cara mencocokkan hasil ekstraksi fiturnya dengan fitur citra wajah yang sebelumnya sudah tersimpan di dalam database. Citra yang digunakan sebanyak 66 citra wajah dengan format *.png dan berasal dari 22 Mahasiswa Jurusan Teknik Informatika Universitas Halu Oleo. Setiap individu masing-masing mempunyai 3 citra wajah dengan ekspresi yang berbeda-beda. Jumlah data citra wajah yang akan diidentifikasi sebanyak 56 citra meliput: 20 citra dari 20 individu yang datanya ada di database, 20 citra dari 20 individu yang datanya ada di database namun diberikan gangguan ocean distortion, 12 citra dari 12 individu yang datanya ada di dalam database namun diakuisisi dengan pose wajah yang berbeda, serta 4 citra dari 4 individu yang berbeda namun diakuisisi dengan pencahayaan yang berbeda. Gambar. 1 menunjukkan gambaran umum sistem pengenalan wajah yang dibuat. 49

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017

Gambar 1. Gambaran umum sistem Secara umum, tahapan pada sistem pengenalan wajah ini dibagi menjadi dua yaitu tahap preprocessing, dan tahap processing yang meliputi ekstraksi fitur dan pengenalan (recognize). Gambar 1 menggambarkan proses yang dilakukan oleh sistem. Proses yang akan dilakukan pertama adalah tahap akuisis citra testing maupun citra database berfungsi untuk pengambilan citra wajah, tahap preprocessing yang berfungsi untuk menyeragamkan ukuran citra wajah dan memperbaiki kualitasnya sebelum melalui tahap ekstraksi fitur. Selanjutnya akan dimulai pembentukan fitur citra testing yang berfungsi mengekstraksi ciri fitur citra untuk dipergunakan sebagai perhitungan mencari bobot. Tahap pembentukan fitur citra database berfungsi sama seperti ekstraksi citra testing. Proses pengenalan menggunakan metode klasifikasi k nearest neighbor yangberfungsi untuk mengelompokkan informasi fitur citra dari proses pembentukan fitur citra database, kemudian dilakukan klasifikasi pada sistem dengan data yang sudah diberikan label. 2.1 Preprocessing Citra Citra wajah yang disimpan di database dan citra yang akan diidentifikasi harus melalui tahap preprocessing terlebih dahulu yang meliputi akuisisi citra, konversi citra RBG-grayscale, dan ekualisasi histogram. Berikut tahapan preprocessing yang harus dilakukan secara berurutan. a. Akuisisi citra wajah menggunakan webcam laptop. Citra hasil akuisisi merupakan citra RGB 24 bit berformat PNG dengan ukuran 92 x 112 piksel. b. Konversi citra wajah hasil akuisisi dari RGB ke grayscale. c. Ekualisasi histogram (histogram equalization), hasilnya akan disimpan untuk proses pengenalan selanjutnya yang terdiri dari 66 citra yang ada di dalam database wajah dan 22 citra sebagai citra testing. Tahapan ini merupakan tahapan terakhir dari preprocessing citra wajah. 2.2 Processing Citra Pada tahapan processing,akan diterapkan metode LDA untuk menghasilkan vektor fitur dari citra wajah dan melakukan pencocokan vektor fitur citra di database dengan vektor fitur citra testing menggunakan perhitungan knearest neighbor. Setelah melakukan tahapan preprocessing, maka selanjutnya adalah proses ekstrasi fitur citra seperti yang ditunjukkan pada Gambar 2. Ekstraksi fitur dilakukan pada citra testing 50

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017 maupun citra yang ada di dalam database.Pada tahap awal prosesekstraksi fitur pada penelitian ini digunakan Algoritma Eigenface sebagai salah satu algoritma berbasis metode PCA (Principal Component Analysis) untuk memperoleh bobot. Bobot tersebut selanjutnya akan digunakan pada metode LDA (Linear Discriminant Analysis) untuk membentuk vektor fitur citra wajah. 2.2.1 PCA (Principal Component Analysis) [4] Eigenface merupakan salah satu algoritma pengenalan wajah manusia yang berbasis metode PCA. Untuk menghasilkan eigenface, sekumpulan citra digital dari wajah manusia diambil pada kondisi pencahayaan yang sama kemudian dinormalisasikan dan diproses pada resolusi yang sama (misal m x n), kemudian citra tersebut diperlakukan sebagai vektor dimensi m x n di mana komponennya merupakan nilai piksel citra. Berikut uraian langkah-langkah Algoritma Eigenfaceseperti yang ditunjukkan pada Gambar 2 untuk memperoleh bobot dari citra database. a. Mengubah M jumlah citra di database dengan ukuran B x K (92 x 112) piksel ke dalam bentuk vektor Y dengan panjang 1 x 10304. … , ⋱ ⋮ X= ⋮ … , , Y = [Γ 1, Γ 2, ... , ... , Γ 10304] ,

b.

=



=

,

… ,

… , … … … , … ,



,



(3)

,

;

= 1,2, . .

(4)

Menghitung selisih (Φ) antara citra di databaseΓmdengan nilai tengah (Ѱ) menggunakan persamaan (5) sehingga diperoleh matriks selisih Φ berukuran 66 x 10304. Φ=

e.

,

Mencari matriks rata-rata (Ѱ) dari semua piksel citra di database Pmdengan m merupakan jumlah piksel citra dan M adalah jumlah citra di database,dengan menggunakan persamaan (4) sehingga dihasilkan matriks vektor rata-rata dengan dimensi 1 x 10304. Ѱ=

d.

(2)

Simpan vektor dari 66 citra di database ke dalam list image (S). ,

c.

(1)

−Ѱ

(5)

Kemudian tentukan matriks kovarian C dengan mengalikan selisih Φ dan matriks transpose ΦT menggunakan persaamaan (6). Matriks C yang diperoleh nanti berukuran 66 x 66. =ΦΦ (6)

51

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017

Gambar2. Proses pembentukan vektor fitur citra database

52

JURNAL INFORMATIKA Vol. 11, No. 2 Juli 2017 f.

Tentukan nilai eigenvalue (λ) dan eigenvector (υ) dari matriks kovarian C menggunakan persamaan (7). (λ) yang diperoleh berukuran 1 x 66 dan sedangkan υ berukuran 66 x 66. = λ (C − λI) = 0 (Φ Φ − λI) = 0

g.

Dengan I adalah matriks identitas, λ adalah eigenvalue dari C dan V adalah eigenvector yang bersesuian dengan λ. Untuk mencari nilai λ, maka determinant (C - λ ) harus sama dengan 0. Setiap citra akan memiliki n buah λ, ambil λ dengan nilai tertinggi dan cari eigenvector yang bersesuian dengan λ tersebut. Setiap eigenvector akan memiliki panjang M elemen. Masukkan nilai eigenvector (v) yang dipilih ke dalam matriks eigenface (Ek) dengan mengalikan v yang berukuran MxM (M=66) dengan matriks selisih Φyang berukuran M xBK (BK=10304) dan simpan hasilnya dalam matriks yang berukuran M x BK. =∑

h.

;

= 1,2, … ,

,

(11)

Hitung bobot dengan mengalikan matriks selisi Ф kberukuran M x BK dengan matriks transpose dari Enk yang berukuran BK x M, menggunakan persamaan (12). ѡ=Φ x

j.

(10)

Normalisasi eigenface dengan menggunakan persamaan (11), dan simpan eigenface hasil normalisasi ini ke dalam matriks En berukuran 45 x 10304 pada feature extraction. =

i.

(7) (8) (9)

(12)

Bobot yang diperoleh merupakan nilai ciri yang yang digunakan dalam proses pengenalan selanjutnya. Simpan bobot ini ke dalam matriks Ω berukuran M x N dengan N

Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.