Pengenalan Wajah Menggunakan Metode Principal Component Analysis (PCA)


Pengenalan wajah adalah bidang yang mendapat perhatian besar dalam pengolahan citra dan kecerdasan buatan. Metode Principal Component Analysis (PCA) adalah salah satu teknik yang kuat dan umum digunakan dalam pengenalan wajah. Dalam artikel ini, kita akan membahas bagaimana PCA bekerja dalam pengenalan wajah dan mengapa metode ini menjadi pilihan populer dalam tugas ini.

Pengenalan wajah adalah proses identifikasi individu berdasarkan ciri-ciri wajah yang unik. Dalam kasus sistem otomatis, tujuan utamanya adalah mengidentifikasi atau mengautentikasi seseorang menggunakan citra wajah mereka. Metode PCA adalah salah satu pendekatan yang dapat mengurangi dimensi data citra wajah dan mengekstraksi informasi penting untuk pengenalan.

Prinsip Dasar PCA

PCA adalah teknik statistik yang digunakan untuk mereduksi dimensi data dengan memproyeksikan data asli ke ruang dimensi yang lebih rendah tetapi mempertahankan informasi yang signifikan. Dalam konteks pengenalan wajah, PCA dapat mengidentifikasi komponen utama atau arah utama variasi dari kumpulan data citra wajah.

Langkah-langkah Implementasi PCA dalam Pengenalan Wajah

  1. Pengumpulan Data Citra Wajah: Langkah pertama adalah mengumpulkan dataset citra wajah dari individu yang berbeda. Dataset ini akan digunakan untuk melatih model PCA.
  2. Preprocessing Citra: Citra wajah diubah menjadi vektor fitur. Setiap citra diubah menjadi satu vektor kolom dalam matriks, dengan setiap piksel yang direpresentasikan oleh nilai vektor. Data tersebut kemudian di-normalisasi.
  3. Penghitungan Rata-rata Wajah: Rata-rata wajah dari seluruh dataset dihitung dan digunakan sebagai wajah rujukan untuk perhitungan deviasi.
  4. Perhitungan Matriks Kovariansi: Matriks kovariansi dari dataset dihitung. Matriks ini merepresentasikan hubungan antara piksel-piksel dalam citra.
  5. Perhitungan Eigenvector dan Eigenvalue: PCA menghitung eigenvector dan eigenvalue dari matriks kovariansi. Eigenvector menggambarkan arah variasi dalam data, sedangkan eigenvalue mengukur seberapa penting arah tersebut.
  6. Pemilihan Komponen Utama: Komponen utama dipilih berdasarkan eigenvalue terbesar, yang menggambarkan variasi paling signifikan dalam data. Komponen ini disebut sebagai “principal components”.
  7. Proyeksi ke Ruang Fitur Baru: Citra wajah dalam dataset di-proyeksikan ke ruang fitur baru yang dibentuk oleh komponen utama. Ini mengurangi dimensi data citra dan menghasilkan representasi yang lebih ringkas dan informatif.
  8. Pelatihan Model Pengenalan Wajah: Proyeksi ruang fitur baru digunakan untuk melatih model pengenalan wajah, seperti k-Nearest Neighbors (k-NN) atau Support Vector Machines (SVM).
  9. Pengujian dan Identifikasi: Setelah pelatihan, model digunakan untuk menguji dan mengidentifikasi wajah dalam dataset baru berdasarkan representasi ruang fitur.

Keuntungan dan Kelemahan PCA dalam Pengenalan Wajah

Keuntungan:

  • Reduksi Dimensi: PCA mengurangi dimensi data citra wajah, menghasilkan representasi yang lebih kompak.
  • Ekstraksi Informasi: PCA mengidentifikasi fitur yang paling penting dalam data.
  • Stabil terhadap Variasi: PCA cenderung stabil terhadap perubahan pose, pencahayaan, dan ekspresi wajah.

Kelemahan:

  • Sensitivitas Terhadap Variasi: PCA mungkin kurang efektif dalam mengatasi variasi yang signifikan dalam pose, pencahayaan, dan ekspresi wajah.
  • Komputasi: PCA dapat membutuhkan waktu komputasi yang lama, terutama pada dataset yang besar.

Berikut langkah-demi-langkah untuk mengimplementasikan pengenalan wajah dengan metode PCA menggunakan MATLAB:

Langkah 1: Memuat Dataset Citra Wajah

Mulai dengan memuat dataset citra wajah yang akan digunakan untuk pelatihan dan pengujian. Dataset ini harus berisi sejumlah citra wajah dari individu yang berbeda.

% Letakkan citra wajah dalam folder yang sesuai
imageFolder = 'path_to_images';
imageFiles = dir(fullfile(imageFolder, '*.jpg')); % Ganti ekstensi file jika diperlukan

numImages = numel(imageFiles);
images = cell(1, numImages);

for i = 1:numImages
    images{i} = imread(fullfile(imageFolder, imageFiles(i).name));
end

Langkah 2: Preprocessing Citra

Preprocessing citra diperlukan untuk menghilangkan noise dan mempersiapkan citra untuk analisis selanjutnya.

% Konversi citra menjadi grayscale jika perlu
for i = 1:numImages
    if size(images{i}, 3) == 3
        images{i} = rgb2gray(images{i});
    end
end

Langkah 3: Mengubah Citra Menjadi Vektor Fitur

Citra wajah diubah menjadi vektor fitur dalam bentuk matriks, dengan setiap kolom mewakili satu citra.

% Membuat matriks data dengan setiap kolom adalah vektor fitur citra
dataMatrix = reshape(cell2mat(images), [], numImages);

Langkah 4: Menghitung Rata-rata Wajah

Hitung rata-rata wajah dari dataset.

% Hitung rata-rata wajah
meanFace = mean(dataMatrix, 2);

Langkah 5: Menghitung Matriks Kovariansi

Matriks kovariansi dari dataset dihitung.

% Menghitung matriks kovariansi
covMatrix = cov(dataMatrix');

Langkah 6: Menghitung Eigenvector dan Eigenvalue

Menghitung eigenvector dan eigenvalue dari matriks kovariansi.

% Menghitung eigenvector dan eigenvalue
[eigVectors, eigValues] = eig(covMatrix);

Langkah 7: Memilih Komponen Utama

Pilih komponen utama berdasarkan eigenvalue terbesar.

% Mengambil komponen utama yang sesuai
numComponents = 50; % Jumlah komponen yang ingin diambil
selectedEigVectors = eigVectors(:, end-numComponents+1:end);

Langkah 8: Proyeksi ke Ruang Fitur Baru

Proyeksikan citra wajah ke ruang fitur baru yang dihasilkan oleh komponen utama.

% Proyeksikan citra ke ruang fitur baru
projectedFaces = selectedEigVectors' * (dataMatrix - meanFace);

Langkah 9: Pelatihan Model Pengenalan Wajah

Dalam langkah ini, Anda dapat menggunakan algoritma pengenalan seperti k-Nearest Neighbors (k-NN) atau Support Vector Machines (SVM) untuk melatih model pengenalan wajah.

% Pelatihan model k-NN menggunakan vektor fitur yang telah di-proyeksikan
trainedModel = fitcknn(projectedFaces', labels);

Langkah 10: Pengujian dan Identifikasi

Gunakan model yang telah dilatih untuk menguji dan mengidentifikasi citra wajah baru.

Metode Principal Component Analysis (PCA) adalah teknik yang kuat dalam pengenalan wajah, yang memungkinkan reduksi dimensi data dan ekstraksi informasi yang penting. Dalam dunia pengolahan citra dan kecerdasan buatan, PCA telah membantu mengembangkan sistem pengenalan wajah yang efisien dan akurat, memberikan manfaat besar dalam berbagai aplikasi seperti keamanan, identifikasi, dan pengelolaan data individu.

Contoh penerapan pengenalan wajah menggunakan metode Principal Component Analysis (PCA) dapat dilihat pada video berikut ini:

Posted on August 10, 2023, in Pengenalan Pola, Pengolahan Citra and tagged , , , , , , , , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment