Spaces:
Runtime error
Runtime error
Shafeek Saleem
commited on
Commit
·
b3ec987
1
Parent(s):
3d38802
bug fixed images
Browse files
pages/{3_Face Encodings.py → 3_Training teh Model.py}
RENAMED
|
@@ -28,7 +28,8 @@ def get_database():
|
|
| 28 |
return database
|
| 29 |
|
| 30 |
def step3_page():
|
| 31 |
-
st.header("
|
|
|
|
| 32 |
st.markdown(
|
| 33 |
"""
|
| 34 |
### What is Face Encoding?
|
|
@@ -54,26 +55,29 @@ def step3_page():
|
|
| 54 |
)
|
| 55 |
|
| 56 |
st.info(
|
| 57 |
-
"Now it's your turn to create face encodings to each of the faces in the known-face database that you have created in the previous step!"
|
| 58 |
)
|
| 59 |
|
| 60 |
img_dir = os.path.join(".sessions", get_login()["username"], "known_faces")
|
| 61 |
-
face_encodings_dir = os.path.join(".sessions", get_login()["username"], "face_encodings")
|
| 62 |
-
os.makedirs(face_encodings_dir, exist_ok=True)
|
| 63 |
images = os.listdir(img_dir)
|
| 64 |
if len(images) > 0:
|
| 65 |
-
st.subheader("
|
| 66 |
cols = st.columns(len(images))
|
| 67 |
for i, img in enumerate(images):
|
| 68 |
face_name = img.split("_")[0]
|
| 69 |
cols[i].image(os.path.join(img_dir, img), use_column_width=True)
|
| 70 |
cols[i].write(face_name)
|
| 71 |
-
st.subheader("
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
database = get_database()
|
| 75 |
-
my_bar = st.progress(0, text="Generating face encodings...")
|
| 76 |
if len(images) > 0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
for i, img in enumerate(images):
|
| 78 |
face_image = face_recognition.load_image_file(os.path.join(img_dir, img))
|
| 79 |
my_face_encoding = face_recognition.face_encodings(face_image)
|
|
@@ -91,14 +95,10 @@ def step3_page():
|
|
| 91 |
pkl.dump(database, f)
|
| 92 |
|
| 93 |
my_bar.progress(int((i + 1) / len(images) * 100), text="Generating face encodings...")
|
| 94 |
-
# np.save(os.path.join(face_encodings_dir, img.split("_")[0]+".npy"), my_face_encoding)
|
| 95 |
-
# # face_encodings_dict[img.split("_")[1]] = my_face_encoding.tolist()
|
| 96 |
my_bar.progress(100, text="Successfully encoded all the known faces!")
|
| 97 |
st.success("Face encoding completed successfully!")
|
| 98 |
-
st.
|
| 99 |
-
|
| 100 |
-
# json.dump(face_encodings_dict, write_file, indent=4)
|
| 101 |
-
complete_level(LEVEL)
|
| 102 |
else:
|
| 103 |
my_bar.empty()
|
| 104 |
st.error("You have not taken any images yet! Do the previous steps first!")
|
|
|
|
| 28 |
return database
|
| 29 |
|
| 30 |
def step3_page():
|
| 31 |
+
st.header("Training the Model")
|
| 32 |
+
st.subheader("Face encoding")
|
| 33 |
st.markdown(
|
| 34 |
"""
|
| 35 |
### What is Face Encoding?
|
|
|
|
| 55 |
)
|
| 56 |
|
| 57 |
st.info(
|
| 58 |
+
"Now it's your turn to train your model to create face encodings to each of the faces in the known-face database that you have created in the previous step!"
|
| 59 |
)
|
| 60 |
|
| 61 |
img_dir = os.path.join(".sessions", get_login()["username"], "known_faces")
|
|
|
|
|
|
|
| 62 |
images = os.listdir(img_dir)
|
| 63 |
if len(images) > 0:
|
| 64 |
+
st.subheader("First, let's see your saved faces in your known-face database.")
|
| 65 |
cols = st.columns(len(images))
|
| 66 |
for i, img in enumerate(images):
|
| 67 |
face_name = img.split("_")[0]
|
| 68 |
cols[i].image(os.path.join(img_dir, img), use_column_width=True)
|
| 69 |
cols[i].write(face_name)
|
| 70 |
+
st.subheader("Now it's your turn to train the model! Click on the button below to train the model with your data to generate face encodings!")
|
| 71 |
+
if st.button("Train Model"):
|
| 72 |
+
my_bar = st.progress(0, text="Training....")
|
|
|
|
|
|
|
| 73 |
if len(images) > 0:
|
| 74 |
+
database = get_database()
|
| 75 |
+
for i in range(1000):
|
| 76 |
+
my_bar.progress(i / 10, text="Training....")
|
| 77 |
+
my_bar.progress(100, text="Successfully Trained!")
|
| 78 |
+
st.success("Model trained successfully!")
|
| 79 |
+
st.info("Now, lets generate face encodings for each face in known-face database using the model you just trained!")
|
| 80 |
+
my_bar = st.progress(0, text="Generating face encodings...")
|
| 81 |
for i, img in enumerate(images):
|
| 82 |
face_image = face_recognition.load_image_file(os.path.join(img_dir, img))
|
| 83 |
my_face_encoding = face_recognition.face_encodings(face_image)
|
|
|
|
| 95 |
pkl.dump(database, f)
|
| 96 |
|
| 97 |
my_bar.progress(int((i + 1) / len(images) * 100), text="Generating face encodings...")
|
|
|
|
|
|
|
| 98 |
my_bar.progress(100, text="Successfully encoded all the known faces!")
|
| 99 |
st.success("Face encoding completed successfully!")
|
| 100 |
+
if st.button("Complete"):
|
| 101 |
+
complete_level(LEVEL)
|
|
|
|
|
|
|
| 102 |
else:
|
| 103 |
my_bar.empty()
|
| 104 |
st.error("You have not taken any images yet! Do the previous steps first!")
|
pages/{4_Face Recognition.py → 4_Trying It Out.py}
RENAMED
|
File without changes
|