bram4627 commited on
Commit
13f513b
Β·
verified Β·
1 Parent(s): fe52b2d

Update README.md

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