bram4627 commited on
Commit
1d7220e
Β·
verified Β·
1 Parent(s): 0f05500

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +148 -0
README.md ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Sistem Pengenalan Wajah Sederhana
2
+
3
+ Website sederhana untuk melakukan pengenalan wajah menggunakan Python, Flask, dan OpenCV.
4
+
5
+ ## Fitur
6
+
7
+ - **Registrasi Wajah**: Mendaftarkan wajah baru ke dalam database
8
+ - **Pengenalan Wajah**: Mengidentifikasi wajah yang sudah terdaftar secara real-time
9
+ - **Manajemen Data**: Melihat dan menghapus data wajah yang terdaftar
10
+ - **Interface Web**: Antarmuka web yang user-friendly dengan Bootstrap
11
+
12
+ ## Teknologi yang Digunakan
13
+
14
+ - Python 3.7+
15
+ - Flask (Web Framework)
16
+ - OpenCV (Computer Vision)
17
+ - NumPy (Numerical Computing)
18
+ - Bootstrap 5 (Frontend Framework)
19
+
20
+ ## Instalasi
21
+
22
+ 1. **Clone atau download proyek ini**
23
+
24
+ 2. **Install Python dependencies:**
25
+
26
+ ```bash
27
+ pip install -r requirements.txt
28
+ ```
29
+
30
+ 3. **Pastikan kamera laptop/PC Anda berfungsi**
31
+
32
+ ## Cara Menjalankan
33
+
34
+ 1. **Jalankan aplikasi:**
35
+
36
+ ```bash
37
+ python app.py
38
+ ```
39
+
40
+ 2. **Buka browser dan akses:**
41
+ ```
42
+ http://localhost:5000
43
+ ```
44
+
45
+ ## Cara Penggunaan
46
+
47
+ ### 1. Mendaftarkan Wajah Baru
48
+
49
+ - Klik tombol "Daftarkan Wajah Baru"
50
+ - Masukkan nama lengkap
51
+ - Posisikan wajah di depan kamera
52
+ - Klik "Ambil Foto" ketika wajah sudah terlihat jelas
53
+ - Pastikan hanya ada satu wajah dalam frame
54
+
55
+ ### 2. Pengenalan Wajah
56
+
57
+ - Klik tombol "Pengenalan Wajah"
58
+ - Sistem akan menampilkan video real-time dengan deteksi wajah
59
+ - Wajah yang dikenali akan ditampilkan dengan nama dan persentase akurasi
60
+ - Wajah yang tidak dikenali akan ditampilkan sebagai "Unknown"
61
+
62
+ ### 3. Mengelola Data Wajah
63
+
64
+ - Di halaman utama, Anda dapat melihat semua wajah yang terdaftar
65
+ - Klik tombol sampah untuk menghapus data wajah tertentu
66
+
67
+ ## Tips untuk Hasil Terbaik
68
+
69
+ ### Saat Registrasi:
70
+
71
+ - Gunakan pencahayaan yang baik dan merata
72
+ - Pastikan wajah menghadap langsung ke kamera
73
+ - Hindari bayangan pada wajah
74
+ - Jangan gunakan kacamata hitam atau topi
75
+ - Pastikan tidak ada orang lain di dalam frame
76
+
77
+ ### Saat Pengenalan:
78
+
79
+ - Jaga jarak yang tepat dari kamera
80
+ - Hindari gerakan yang terlalu cepat
81
+ - Pastikan pencahayaan konsisten dengan saat registrasi
82
+
83
+ ## Struktur Proyek
84
+
85
+ ```
86
+ Pengenalan Wajah/
87
+ β”œβ”€β”€ app.py # Aplikasi utama Flask
88
+ β”œβ”€β”€ requirements.txt # Dependencies Python
89
+ β”œβ”€β”€ README.md # Dokumentasi proyek
90
+ β”œβ”€β”€ templates/ # Template HTML
91
+ β”‚ β”œβ”€β”€ index.html # Halaman utama
92
+ β”‚ β”œβ”€β”€ register.html # Halaman registrasi
93
+ β”‚ └── recognize.html # Halaman pengenalan
94
+ β”œβ”€β”€ static/ # File statis (CSS, JS, images)
95
+ └── face_data/ # Data wajah (dibuat otomatis)
96
+ β”œβ”€β”€ names.pkl # Daftar nama terdaftar
97
+ └── [nama_orang]/ # Folder untuk setiap orang
98
+ └── *.jpg # File gambar wajah
99
+ ```
100
+
101
+ ## Cara Kerja Sistem
102
+
103
+ 1. **Deteksi Wajah**: Menggunakan Haar Cascade Classifier dari OpenCV
104
+ 2. **Ekstraksi Fitur**: Menggunakan Local Binary Pattern Histogram (LBPH)
105
+ 3. **Pelatihan Model**: Model dilatih ulang setiap kali ada penambahan wajah baru
106
+ 4. **Pengenalan**: Sistem mencocokkan wajah dengan database yang ada
107
+
108
+ ## Troubleshooting
109
+
110
+ ### Kamera tidak berfungsi:
111
+
112
+ - Pastikan kamera tidak digunakan oleh aplikasi lain
113
+ - Coba restart aplikasi
114
+ - Periksa permission kamera di sistem operasi
115
+
116
+ ### Wajah tidak terdeteksi:
117
+
118
+ - Pastikan pencahayaan cukup
119
+ - Coba ubah posisi atau jarak dari kamera
120
+ - Pastikan wajah menghadap langsung ke kamera
121
+
122
+ ### Akurasi pengenalan rendah:
123
+
124
+ - Daftarkan lebih banyak foto untuk orang yang sama
125
+ - Pastikan kualitas foto registrasi baik
126
+ - Gunakan pencahayaan yang konsisten
127
+
128
+ ## Limitasi
129
+
130
+ - Sistem bekerja optimal dengan 1 wajah per frame
131
+ - Membutuhkan pencahayaan yang cukup
132
+ - Akurasi tergantung pada kualitas kamera dan kondisi pencahayaan
133
+ - Performa menurun dengan jumlah wajah terdaftar yang sangat banyak
134
+
135
+ ## Pengembangan Lanjutan
136
+
137
+ Sistem ini dapat dikembangkan lebih lanjut dengan:
138
+
139
+ - Database yang lebih robust (SQLite/PostgreSQL)
140
+ - Multiple foto per orang untuk akurasi yang lebih baik
141
+ - Logging aktivitas pengenalan
142
+ - API untuk integrasi dengan sistem lain
143
+ - Autentikasi dan authorization
144
+ - Deployment ke cloud platform
145
+
146
+ ## Lisensi
147
+
148
+ Proyek ini dibuat untuk tujuan edukasi dan penelitian.