Spaces:
Sleeping
Sleeping
metadata
title: Face Recognition App
emoji: πΌοΈ
colorFrom: indigo
colorTo: purple
sdk: docker
app_file: app.py
pinned: false
Sistem Pengenalan Wajah Sederhana
Website sederhana untuk melakukan pengenalan wajah menggunakan Python, Flask, dan OpenCV.
Fitur
- Registrasi Wajah: Mendaftarkan wajah baru ke dalam database
- Pengenalan Wajah: Mengidentifikasi wajah yang sudah terdaftar secara real-time
- Manajemen Data: Melihat dan menghapus data wajah yang terdaftar
- Interface Web: Antarmuka web yang user-friendly dengan Bootstrap
Teknologi yang Digunakan
- Python 3.7+
- Flask (Web Framework)
- OpenCV (Computer Vision)
- NumPy (Numerical Computing)
- Bootstrap 5 (Frontend Framework)
Instalasi
Clone atau download proyek ini
Install Python dependencies:
pip install -r requirements.txtPastikan kamera laptop/PC Anda berfungsi
Cara Menjalankan
Jalankan aplikasi:
python app.pyBuka browser dan akses:
http://localhost:5000
Cara Penggunaan
1. Mendaftarkan Wajah Baru
- Klik tombol "Daftarkan Wajah Baru"
- Masukkan nama lengkap
- Posisikan wajah di depan kamera
- Klik "Ambil Foto" ketika wajah sudah terlihat jelas
- Pastikan hanya ada satu wajah dalam frame
2. Pengenalan Wajah
- Klik tombol "Pengenalan Wajah"
- Sistem akan menampilkan video real-time dengan deteksi wajah
- Wajah yang dikenali akan ditampilkan dengan nama dan persentase akurasi
- Wajah yang tidak dikenali akan ditampilkan sebagai "Unknown"
3. Mengelola Data Wajah
- Di halaman utama, Anda dapat melihat semua wajah yang terdaftar
- Klik tombol sampah untuk menghapus data wajah tertentu
Tips untuk Hasil Terbaik
Saat Registrasi:
- Gunakan pencahayaan yang baik dan merata
- Pastikan wajah menghadap langsung ke kamera
- Hindari bayangan pada wajah
- Jangan gunakan kacamata hitam atau topi
- Pastikan tidak ada orang lain di dalam frame
Saat Pengenalan:
- Jaga jarak yang tepat dari kamera
- Hindari gerakan yang terlalu cepat
- Pastikan pencahayaan konsisten dengan saat registrasi
Struktur Proyek
Pengenalan Wajah/
βββ app.py # Aplikasi utama Flask
βββ requirements.txt # Dependencies Python
βββ README.md # Dokumentasi proyek
βββ templates/ # Template HTML
β βββ index.html # Halaman utama
β βββ register.html # Halaman registrasi
β βββ recognize.html # Halaman pengenalan
βββ static/ # File statis (CSS, JS, images)
βββ face_data/ # Data wajah (dibuat otomatis)
βββ names.pkl # Daftar nama terdaftar
βββ [nama_orang]/ # Folder untuk setiap orang
βββ *.jpg # File gambar wajah
Cara Kerja Sistem
- Deteksi Wajah: Menggunakan Haar Cascade Classifier dari OpenCV
- Ekstraksi Fitur: Menggunakan Local Binary Pattern Histogram (LBPH)
- Pelatihan Model: Model dilatih ulang setiap kali ada penambahan wajah baru
- Pengenalan: Sistem mencocokkan wajah dengan database yang ada
Troubleshooting
Kamera tidak berfungsi:
- Pastikan kamera tidak digunakan oleh aplikasi lain
- Coba restart aplikasi
- Periksa permission kamera di sistem operasi
Wajah tidak terdeteksi:
- Pastikan pencahayaan cukup
- Coba ubah posisi atau jarak dari kamera
- Pastikan wajah menghadap langsung ke kamera
Akurasi pengenalan rendah:
- Daftarkan lebih banyak foto untuk orang yang sama
- Pastikan kualitas foto registrasi baik
- Gunakan pencahayaan yang konsisten
Limitasi
- Sistem bekerja optimal dengan 1 wajah per frame
- Membutuhkan pencahayaan yang cukup
- Akurasi tergantung pada kualitas kamera dan kondisi pencahayaan
- Performa menurun dengan jumlah wajah terdaftar yang sangat banyak
Pengembangan Lanjutan
Sistem ini dapat dikembangkan lebih lanjut dengan:
- Database yang lebih robust (SQLite/PostgreSQL)
- Multiple foto per orang untuk akurasi yang lebih baik
- Logging aktivitas pengenalan
- API untuk integrasi dengan sistem lain
- Autentikasi dan authorization
- Deployment ke cloud platform
Lisensi
Proyek ini dibuat untuk tujuan edukasi dan penelitian.