diff --git a/deepface/DeepFace.py b/deepface/DeepFace.py index 5441ba4..3f82141 100644 --- a/deepface/DeepFace.py +++ b/deepface/DeepFace.py @@ -145,23 +145,10 @@ def verify(img1_path, img2_path = '', model_name = 'VGG-Face', distance_metric = ensemble_features_string += "]" #------------------------------- - #find deepface path + + deepface_ensemble = functions.boosting_method() - home = str(Path.home()) - - if os.path.isfile(home+'/.deepface/weights/face-recognition-ensemble-model.txt') != True: - print("face-recognition-ensemble-model.txt will be downloaded...") - url = 'https://raw.githubusercontent.com/serengil/deepface/master/deepface/models/face-recognition-ensemble-model.txt' - output = home+'/.deepface/weights/face-recognition-ensemble-model.txt' - gdown.download(url, output, quiet=False) - - ensemble_model_path = home+'/.deepface/weights/face-recognition-ensemble-model.txt' - - #print(ensemble_model_path) - - #------------------------------- - - deepface_ensemble = lgb.Booster(model_file = ensemble_model_path) + #--------------------------- prediction = deepface_ensemble.predict(np.expand_dims(np.array(ensemble_features), axis=0))[0] @@ -680,18 +667,8 @@ def find(img_path, db_path, model_name ='VGG-Face', distance_metric = 'cosine', x = df[feature_names].values #---------------------------------- - #lightgbm model - home = str(Path.home()) - - if os.path.isfile(home+'/.deepface/weights/face-recognition-ensemble-model.txt') != True: - print("face-recognition-ensemble-model.txt will be downloaded...") - url = 'https://raw.githubusercontent.com/serengil/deepface/master/deepface/models/face-recognition-ensemble-model.txt' - output = home+'/.deepface/weights/face-recognition-ensemble-model.txt' - gdown.download(url, output, quiet=False) - - ensemble_model_path = home+'/.deepface/weights/face-recognition-ensemble-model.txt' - - deepface_ensemble = lgb.Booster(model_file = ensemble_model_path) + #lightgbm model + deepface_ensemble = functions.boosting_method() y = deepface_ensemble.predict(x) diff --git a/deepface/commons/functions.py b/deepface/commons/functions.py index 645ab83..89ba10e 100644 --- a/deepface/commons/functions.py +++ b/deepface/commons/functions.py @@ -447,3 +447,21 @@ def preprocess_face(img, target_size=(224, 224), grayscale = False, enforce_dete img_pixels /= 255 #normalize input in [0, 1] return img_pixels + +def boosting_method(): + + import lightgbm as lgb #lightgbm==2.3.1 + + home = str(Path.home()) + + if os.path.isfile(home+'/.deepface/weights/face-recognition-ensemble-model.txt') != True: + print("face-recognition-ensemble-model.txt will be downloaded...") + url = 'https://raw.githubusercontent.com/serengil/deepface/master/deepface/models/face-recognition-ensemble-model.txt' + output = home+'/.deepface/weights/face-recognition-ensemble-model.txt' + gdown.download(url, output, quiet=False) + + ensemble_model_path = home+'/.deepface/weights/face-recognition-ensemble-model.txt' + + deepface_ensemble = lgb.Booster(model_file = ensemble_model_path) + + return deepface_ensemble diff --git a/tests/unit_tests.py b/tests/unit_tests.py index 1d01c3f..e5a02e8 100644 --- a/tests/unit_tests.py +++ b/tests/unit_tests.py @@ -242,19 +242,3 @@ print(df) #----------------------------------- print("--------------------------") -print("Different face detector backends") - -backends = ['opencv', 'ssd', 'dlib', 'mtcnn'] - -for backend in backends: - - tic = time.time() - - processed_img = functions.preprocess_face(img = "dataset/img11.jpg", detector_backend = backend) - - toc = time.time() - - print("Backend ", backend, " is done in ", toc-tic," seconds") - -#----------------------------------- -print("--------------------------")