Shafeek Saleem commited on
Commit
68c2ecc
·
1 Parent(s): c8dbc56
pages/3_Training the Model.py CHANGED
@@ -1,5 +1,6 @@
1
  import streamlit as st
2
  from PIL import Image
 
3
  from utils.levels import complete_level, render_page, initialize_level
4
  from utils.login import get_login, initialize_login
5
  from utils.database import get_database
@@ -64,6 +65,7 @@ def step3_page():
64
  if len(images) > 0:
65
  database = get_database(PKL_PATH)
66
  for i in range(100):
 
67
  my_bar.progress(i, text="Training....")
68
  my_bar.progress(100, text="Successfully Trained!")
69
  st.success("Model trained successfully!")
@@ -85,7 +87,7 @@ def step3_page():
85
  'encoding': my_face_encoding}
86
  with open(PKL_PATH, 'wb') as f:
87
  pkl.dump(database, f)
88
-
89
  my_bar.progress(int((i + 1) / len(images) * 100), text="Generating face encodings...")
90
  my_bar.progress(100, text="Successfully encoded all the known faces!")
91
  st.success("Face encoding completed successfully!")
 
1
  import streamlit as st
2
  from PIL import Image
3
+ import time
4
  from utils.levels import complete_level, render_page, initialize_level
5
  from utils.login import get_login, initialize_login
6
  from utils.database import get_database
 
65
  if len(images) > 0:
66
  database = get_database(PKL_PATH)
67
  for i in range(100):
68
+ time.sleep(0.1)
69
  my_bar.progress(i, text="Training....")
70
  my_bar.progress(100, text="Successfully Trained!")
71
  st.success("Model trained successfully!")
 
87
  'encoding': my_face_encoding}
88
  with open(PKL_PATH, 'wb') as f:
89
  pkl.dump(database, f)
90
+ time.sleep(0.5)
91
  my_bar.progress(int((i + 1) / len(images) * 100), text="Generating face encodings...")
92
  my_bar.progress(100, text="Successfully encoded all the known faces!")
93
  st.success("Face encoding completed successfully!")
pages/4_Trying It Out.py CHANGED
@@ -32,9 +32,10 @@ def step4_page():
32
  st.info("Select your input type to analyze!")
33
  input_type = st.radio("Select the Input Type", ["Image upload", "Camera"])
34
  # Put slide to adjust tolerance
35
- tolerance = st.slider("Tolerance", 0.0, 1.0, 0.15, 0.01)
36
- st.info(
37
- "Tolerance is the threshold for face recognition. The lower the tolerance, the more strict the face recognition. The higher the tolerance, the more loose the face recognition.")
 
38
 
39
  if input_type == "Image upload":
40
  st.title("Face Recognition App")
 
32
  st.info("Select your input type to analyze!")
33
  input_type = st.radio("Select the Input Type", ["Image upload", "Camera"])
34
  # Put slide to adjust tolerance
35
+ tolerance = 0.14
36
+ # tolerance = st.slider("Tolerance", 0.0, 1.0, 0.15, 0.01)
37
+ # st.info(
38
+ # "Tolerance is the threshold for face recognition. The lower the tolerance, the more strict the face recognition. The higher the tolerance, the more loose the face recognition.")
39
 
40
  if input_type == "Image upload":
41
  st.title("Face Recognition App")
utils/inference.py CHANGED
@@ -17,7 +17,7 @@ def recognize(image,tolerance):
17
  face_encodings = face_recognition.face_encodings(image,face_locations)
18
  for (top,right,bottom,left), face_encoding in zip(face_locations,face_encodings):
19
  matches = face_recognition.compare_faces(known_encoding,face_encoding,tolerance=tolerance)
20
- distance = face_recognition.face_distance(known_encoding,face_encoding)
21
  name = 'Unknown'
22
  face_id = 'Unknown'
23
  for i in range(len(matches)):
@@ -25,8 +25,8 @@ def recognize(image,tolerance):
25
  match_index = i
26
  name = database[match_index]['name']
27
  face_id = database[match_index]['face_id'].split("_")[1]
28
- distance = round(np.sum(distance[match_index]),2)
29
- cv2.putText(image,str(distance),(left,top-30),cv2.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),2)
30
  break
31
  cv2.rectangle(image,(left,top),(right,bottom),(0,255,0),2)
32
  cv2.putText(image,name,(left,top-10),cv2.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),2)
 
17
  face_encodings = face_recognition.face_encodings(image,face_locations)
18
  for (top,right,bottom,left), face_encoding in zip(face_locations,face_encodings):
19
  matches = face_recognition.compare_faces(known_encoding,face_encoding,tolerance=tolerance)
20
+ # distance = face_recognition.face_distance(known_encoding,face_encoding)
21
  name = 'Unknown'
22
  face_id = 'Unknown'
23
  for i in range(len(matches)):
 
25
  match_index = i
26
  name = database[match_index]['name']
27
  face_id = database[match_index]['face_id'].split("_")[1]
28
+ # distance = round(np.sum(distance[match_index]),2)
29
+ # cv2.putText(image,str(distance),(left,top-30),cv2.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),2)
30
  break
31
  cv2.rectangle(image,(left,top),(right,bottom),(0,255,0),2)
32
  cv2.putText(image,name,(left,top-10),cv2.FONT_HERSHEY_SIMPLEX,0.75,(0,255,0),2)