Spaces:
Sleeping
Sleeping
File size: 4,271 Bytes
13f513b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
---
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.
|