diff --git a/wyzely_detect/__main__.py b/wyzely_detect/__main__.py index dd618f2..937172e 100644 --- a/wyzely_detect/__main__.py +++ b/wyzely_detect/__main__.py @@ -37,7 +37,7 @@ def main(): # It's taking up too many lines in this file argparser = argparse.ArgumentParser( prog="Wyzely Detect", - description="Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices", # noqa: E501 + description="Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices", # noqa: E501 epilog=":)", ) @@ -89,7 +89,7 @@ def main(): if "FACES_DIRECTORY" in os.environ and os.environ["FACES_DIRECTORY"] != "" else "faces", type=str, - help="The directory to store the faces. Can either contain images or subdirectories with images, the latter being the preferred method", # noqa: E501 + help="The directory to store the faces. Can either contain images or subdirectories with images, the latter being the preferred method", # noqa: E501 ) argparser.add_argument( "--detect-object", @@ -202,7 +202,7 @@ def main(): results = model(run_frame, verbose=False) path_to_faces = Path(args.faces_directory) - path_to_faces_exists = path_to_faces.is_dir() + path_to_faces_exists = path_to_faces.is_dir() for i, r in enumerate(results): # list of dicts with each dict containing a label, x1, y1, x2, y2 @@ -216,8 +216,7 @@ def main(): # May be better to check every iteration, but this also works if path_to_faces_exists: if face_details := utils.recognize_face( - path_to_directory=path_to_faces, - run_frame=run_frame + path_to_directory=path_to_faces, run_frame=run_frame ): plot_boxes.append(face_details) objects_and_peoples = notify.thing_detected( diff --git a/wyzely_detect/utils/utils.py b/wyzely_detect/utils/utils.py index 46ae4d1..f0114ca 100644 --- a/wyzely_detect/utils/utils.py +++ b/wyzely_detect/utils/utils.py @@ -102,11 +102,10 @@ def recognize_face( print("representations_arcface.pkl does not exist") first_face_try = False - # face_dataframes is a vanilla list of dataframes # It seems face_dataframes is empty if the face database (directory) doesn't exist. Seems to work if it's empty though # This line is here to prevent a crash if that happens. However, there is a check in __main__ so it shouldn't happen - face_dataframes = [] + face_dataframes = [] try: face_dataframes = DeepFace.find( run_frame, @@ -117,12 +116,13 @@ def recognize_face( silent=True, # Could use VGG-Face, but whilst fixing another issue, ArcFace seemed to be slightly faster # I read somewhere that opencv is the fastest (but not as accurate). Could be changed later, but opencv seems to work well - model_name="ArcFace", detector_backend="opencv" - ) + model_name="ArcFace", + detector_backend="opencv", + ) except ValueError as e: if ( str(e) - == "Face could not be detected. Please confirm that the picture is a face photo or consider to set enforce_detection param to False." # noqa: E501 + == "Face could not be detected. Please confirm that the picture is a face photo or consider to set enforce_detection param to False." # noqa: E501 ): # print("No faces recognized") # For debugging return None