Skip to content

muhamadafif87/Face-Recognition--using-Eigenfaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Face Recognition using Eigenfaces

Proyek ini adalah aplikasi pengenalan wajah berbasis GUI website menggunakan algoritma Eigenfaces, dibangun dengan Python & Flask sebagai Framework dan antarmuka web modern (HTML, CSS, JavaScript).


Kontributor

  • Muhamad Afif Aji Putra (L0124134)
  • Muhammad Akbar Kurniawan (L0124136)
  • Muhammad Ayman (L0124137)

🚀 Fitur Utama

  • Upload Gambar Wajah: Pengguna dapat mengunggah foto wajah untuk dikenali sistem.
  • Pengenalan Wajah Otomatis: Sistem akan mencocokkan wajah yang diupload dengan data yang sudah ada.
  • Latih Model dari Dataset: Admin dapat melatih ulang model dengan dataset baru.
  • Manajemen Dataset: Mendukung upload dataset baik per file maupun per folder.
  • Antarmuka Web Interaktif: Tampilan responsif dan mudah digunakan.

🧠 Algoritma: Eigenfaces

  • Mean Face: Menghitung rata-rata wajah dari dataset pelatihan.
  • PCA (Principal Component Analysis): Menghasilkan Eigenfaces sebagai basis fitur wajah.
  • Proyeksi ke Eigenspace: Wajah baru diproyeksikan ke ruang eigenspace untuk pencocokan.
  • Pengukuran Euclidean Distancek: Sistem menentukan kecocokan berdasarkan jarak minimum di ruang eigenspace.

🧰 Framework & Library

  • Flask: Backend web server.
  • NumPy: Perhitungan numerik dan PCA.
  • OpenCV: Manipulasi dan pembacaan gambar.
  • Werkzeug: Utilitas upload file.
  • HTML/CSS/JS: Antarmuka web di folder layout/view/.

📁 Struktur Direktori

flask/
├── app.py                # File utama Flask app
├── train_model.py        # Script pelatihan model Eigenfaces
├── model/
│   └── algorithmFinal.py # Implementasi algoritma Eigenfaces
├── layout/
│   ├── view/             # Template HTML
│   └── static/           # Aset CSS & JS
├── dataset/              # Dataset wajah untuk training
├── uploads/              # Tempat upload gambar input
├── train_model/          # Model hasil training
├── requirements.txt      # Daftar dependensi Python
└── README.md             # Dokumentasi proyek

🏃 Cara Menjalankan

  1. Siapkan environment:

    pip install -r requirements.txt
  2. Latih model dengan dataset:

    python train_model.py
  3. Jalankan server Flask:

    python app.py
  4. Buka aplikasi di browser:

    http://127.0.0.1:5000/
    

📸 Cara Kerja Singkat

  1. Upload gambar wajah melalui halaman utama.
  2. Sistem memproses gambar dan melakukan pencocokan dengan model yang sudah dilatih.
  3. Hasil pencocokan (nama, gambar dataset, dan skor kecocokan) ditampilkan di halaman hasil.
  4. Admin dapat menambah dataset baru dan melatih ulang model melalui menu khusus.

❓ FAQ & Catatan

  • Format gambar: JPG/JPEG/PNG.
  • Dataset: Letakkan gambar wajah pada folder dataset/ dengan struktur per orang (1 folder = 1 orang).
  • Model: Hasil pelatihan disimpan di folder train_model/.
  • Error handling: Sistem akan menampilkan pesan jika gambar tidak valid atau tidak ditemukan kecocokan.

👨‍💻 Kontribusi

Silakan fork dan pull request jika ingin berkontribusi atau mengembangkan fitur lebih lanjut.


Lisensi

Proyek ini dibuat untuk memenuhi tugas project mata kuliah Aljabar Linear

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI DAN SAINS DATA

UNIVERSITAS SEBELAS MARET

About

Facial Recognition Project using eigenface algorithm, and built using Python, Flask, HTML, CSS, Javascript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors