TEKNIK PENGENALAN WAJAH DENGAN ALGORITMA PCA BERBASIS SELEKSI EIGENVECTOR DWI ACHTI NOVIATUR R. 2208100656 Dosen Pembimbing : Dr. Ir. Wirawan, DEA (Ir. Hendra Kusuma, M.Eng)
PIE Problem
Representasi Citra Wajah n 1 m m x n Citra Wajah 2-D Vektor Kolom N-D Pencocokan Citra Wajah = Mencari jarak minimum
Reduksi Dimensi (Algoritma PCA)
PCA Digunakan untuk mendapatkan vektor-vektor (principal component) yang memberikan informasi variance maksimum dalam database Ax = λx ( A λi ) x = 0 Eigenvectors yg diperoleh merupakan Eigenfaces
Pengenalan Citra Wajah dengan Metoda Eigenface (PCA)
Tujuan Tugas akhir ini bertujuan untuk menerapkan metode pengenalan wajah menggunakan algoritma PCA dengan seleksi eigenvector untuk proses identifikasi
Permasalahan Berapa besar akurasi pengenalan wajah menggunakan algoritma PCA dengan seleksi eigenvektor terhadap faktor intrapersonal? Penggunaan metode seleksi eigenvector mana yang menghasilkan akurasi tinggi? Apakah adanya pre-processing dapat meningkatkan akurasi pengenalan? Berapa besar akurasi pengenalan wajah menggunakan algoritma PCA dengan seleksi eigenvector terhadap penambahan proses pre-processing?
Batasan Masalah Software, Matlab-GUI Database YaleB (telah dicrop dan grayscale) Citra tes YaleB, 5 pencahayaan yang berbeda Ukuran pixel citra 150x135
Blok sistem secara umum
Pengenalan Wajah Memiliki 2 permasalahan penting : Representasi Citra - Local fitur-based - Holistic fitur-based Pencocokan (matching)
Histogram Equalization Proses transformasi mendistribusikan harga intensitas pixel pada citra menjadi merata (uniform) Memperbaiki kekontrasan citra secara keseluruhan
Histogram Remapping Merupakan proses untuk penataan kembali histogram yang telah ada Distribusi target berupa distribusi normal, lognormal, serta distribusi yang lain
Metode Algoritma PCA (pada pengenalan wajah) :
Proyeksi PCA Tahap reduksi dimensi Untuk memperoleh eigenvector, digunakan matrik Q berukuran (Mt x Mt) Tahap klasifikasi - Proyeksi ω = υ k T k Proyeksi citra training untuk setiap eigenvektor, k = 1, 2, 3,... M - Matrik bobot Ω = Φ = υ T k ( Γ Ψ) [ ω ω, ω,..., ] T 1, 2 3 ω M ' Representasi citra training dalam ruang eigenface, berukuran(m x 1)
Proyeksi Citra Tes pada PCA Citra baru diproyeksikan ke eigenspace Algoritma : - Matrik dari selisih vektor citra tes dan mean citra training, berukuran (N x 1) Φ T = Γ T Ψ - Proyeksi dari suatu citra training pada setiap eigenvektor, k = 1, 2,3...M ω k T = υ k Φ T = υ k T ( Γ Ψ ) - Matrik bobot dari citra tes ini merupakan representasi dari citra tes pada ruang eigenface dengan ukuran (M x 1) Ω T = ω 1, ω 2, ω 3,..., ω - Matrik vektor rekonstruksi, berukuran (N x 1) T M ' ' T Γ f = υ Ω + Ψ = Φ f + Ψ
Konsep Similarity Memperoleh tingkat kesamaan antar 2 citra wajah dengan menghitung jarak antar 2 citra Jarak Euclidean antara 2 titik adalah panjang sisi miring dari segitiga siku-siku, x=citra training ; y=citra tes δ i 2 = x y = ( x ) = i y i m i 1 2
Konsep Similarity (2) Distance Threshold θ = maks Ukuran Jarak ε 2 ( ) Ω Ω Ψ i = Φ Φ Ψ j 2 f Maka, - Jika ε > θ, maka citra tes bukan suatu wajah, tidak tergantung pada nilai dari δ i. - Jika ε < θ, untuk semua i, δ i < θ, maka citra tes tersebut adalah wajah yang tidak diketahui. - Jika ε < θ, dan untuk salah satu i, δ i < θ, maka citra tes tersebut merupakan anggota dari kelas ke- i.
Metode Seleksi Eigenvector Seleksi eigenvector untuk memaksimalkan pemilihan kandungan informasi citra bernilai tinggi Metode : - Remove last eigenvector menghilangkan 40% eigenvector terakhir - Remove first eigenvector mengatasi efek perbedaan pencahayaan pada citra wajah.
Blok sistem Pengujian Tanpa Normalisasi Citra masukan Uji Klasifikasi Normalisasi intensitas piksel (cropping, grayscale & resize) Normalisasi iluminasi (Histogram Equalization, Histogram remapping) Proyeksi fitur ke eigenspace Klasifikasi (Pengukuran jarak & Threshold) Wajah tidak dikenali Wajah dikenali Bukan wajah Training Citra training Normalisasi intensitas piksel (cropping, grayscale & resize) Normalisasi iluminasi (Histogram Equalization, histogram remapping) Proyeksi PCA (Pembentukan eigenface) Pemprosesan awal Tanpa Normalisasi
Pengujian dengan Pre-processing Pengujian citra training laju pengenalan 100% Pengujian citra tes - Histogram Equalization
Pengujian dengan Pre-processing (2) - Histogram Normal - Histogram Lognormal
Pengujian dengan Pre-processing (2) Grafik Laju pengenalan seluruh hasil histogram Database YaleB Laju Pengenalan 100.00% 95.00% 90.00% 85.00% 80.00% 75.00% Normal remove last 10% remove last 40% remove last 50% remove first Metode Seleksi Eigenvektor Histogram Equalization Histogram Normal Histogram Lognormal
Pengujian tanpa Pre-processing Pengujian citra training laju pengenalan 100% Pengujian citra tes database YaleB
Grafik perbandingan laju pengenalan pre-processing dengan tanpa pre-processing Database YaleB Laju Pengenalan 100.00% 95.00% 90.00% 85.00% 80.00% 75.00% 70.00% Normal remove last 10% remove last 40% remove last 50% remove first Histogram Equalization Histogram Normal Histogram Lognormal Tanpa Pre processing Metode Seleksi Eigenvektor
Kesimpulan Akurasi pengenalan wajah menggunakan algoritma PCA dengan seleksi eigenvector terhadap perubahan faktor intrapersonal (pencahayaan) menjadi 80% - 86%. Untuk menghasilkan akurasi tinggi, maka digunakan metode seleksi remove first eigenvector untuk sistem pengenalan wajah terhadap perbedaan faktor pencahayaan. Penggunaan pre-processing dapat meningkatkan laju pengenalan. Pre-processing yang digunakan yaitu histogram lognormal. Besarnya akurasi pengenalan wajah menggunakan algoritma PCA dengan seleksi eigenvector terhadap penambahan proses pre-processing dengan dipengaruhi oleh faktor pencahayaan menjadi 84% - 95,33%.
Saran Menggunakan database citra training lebih dari 1 citra wajah untuk tiap individu yang berbeda. Melakukan normalisasi pada citra wajah dengan menghilangkan latar belakang pada citra, sehingga pada citra wajah hanya mengandung informasi wajah saja. Melakukan pengenalan wajah menggunakan metode seleksi eigenvector yang lain, diantaranya metode seleksi remove last eigenvector dengan menghitung stretch dan menggunakan metode Like-Image Difference.
Terima Kasih