Spaces:
Sleeping
Sleeping
| 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 | |
| 1. **Clone atau download proyek ini** | |
| 2. **Install Python dependencies:** | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| 3. **Pastikan kamera laptop/PC Anda berfungsi** | |
| ## Cara Menjalankan | |
| 1. **Jalankan aplikasi:** | |
| ```bash | |
| python app.py | |
| ``` | |
| 2. **Buka 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 | |
| 1. **Deteksi Wajah**: Menggunakan Haar Cascade Classifier dari OpenCV | |
| 2. **Ekstraksi Fitur**: Menggunakan Local Binary Pattern Histogram (LBPH) | |
| 3. **Pelatihan Model**: Model dilatih ulang setiap kali ada penambahan wajah baru | |
| 4. **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. | |