Shafeek Saleem commited on
Commit
775c70f
1 Parent(s): caa436d

face recog fixed

Browse files
pages/2_Face Detection and Creating Database.py CHANGED
@@ -56,7 +56,13 @@ def step2_page():
56
  But remember, we should always ask for permission before taking someone's picture. We can use a smartphone or a digital camera to capture pictures, and it's important to take pictures of different people. This will help our application to have a good known-faces database!
57
  """
58
  )
59
- picture = st.camera_input("Take a picture")
 
 
 
 
 
 
60
  if picture:
61
  image = face_recognition.load_image_file(picture)
62
  st.image(image)
 
56
  But remember, we should always ask for permission before taking someone's picture. We can use a smartphone or a digital camera to capture pictures, and it's important to take pictures of different people. This will help our application to have a good known-faces database!
57
  """
58
  )
59
+ st.info("Select an image to continue!")
60
+ input_type = st.radio("Select the Input Type", ["Image", "Camera"])
61
+
62
+ if input_type == "Camera":
63
+ picture = st.camera_input("Take a picture")
64
+ else:
65
+ picture = st.file_uploader("Upload an image", type=["png", "jpg", "jpeg"])
66
  if picture:
67
  image = face_recognition.load_image_file(picture)
68
  st.image(image)
pages/4_Face Recognition.py CHANGED
@@ -54,9 +54,13 @@ def step4_page():
54
  # Loop through each face in this image
55
  cols = st.columns(len(face_encodings))
56
  i = 0
 
 
 
 
57
  for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
58
  # See if the face is a match for the known face(s)
59
- matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
60
 
61
  name = "Unknown"
62
  # If a match was found in known_face_encodings, just use the first one.
@@ -70,23 +74,6 @@ def step4_page():
70
  cols[i].write("Person name: " +name)
71
  i+=1
72
 
73
- # # Draw a box around the face
74
- # cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
75
- #
76
- # # Draw a label with a name below the face
77
- # cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
78
- # font = cv2.FONT_HERSHEY_DUPLEX
79
- # cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)
80
- #
81
- # # Display the resulting image
82
- # cv2.imshow('Video', frame)
83
- # # Hit 'q' on the keyboard to quit!
84
- # if cv2.waitKey(1) & 0xFF == ord('q'):
85
- # break
86
- # # Release handle to the webcam
87
- # video_capture.release()
88
- # cv2.destroyAllWindows()
89
-
90
  st.info("Click on the button below to complete this level!")
91
  if st.button("Complete Level"):
92
  complete_level(LEVEL)
 
54
  # Loop through each face in this image
55
  cols = st.columns(len(face_encodings))
56
  i = 0
57
+ st.image(image)
58
+ st.info("Select the tolerance level you want for your model! (How much distance between faces to consider it a match. "
59
+ "Lower is more strict. 0.6 is typical best performance.)")
60
+ tolerance = st.slider('Select tolerance level', 0, 1, 0.6, 0.1)
61
  for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
62
  # See if the face is a match for the known face(s)
63
+ matches = face_recognition.compare_faces(known_face_encodings, face_encoding, tolerance=tolerance)
64
 
65
  name = "Unknown"
66
  # If a match was found in known_face_encodings, just use the first one.
 
74
  cols[i].write("Person name: " +name)
75
  i+=1
76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  st.info("Click on the button below to complete this level!")
78
  if st.button("Complete Level"):
79
  complete_level(LEVEL)