--- 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.