From ed9367b8f1d267353db4d2b021302f15ecd34520 Mon Sep 17 00:00:00 2001 From: Sefik Ilkin Serengil Date: Fri, 2 Jul 2021 09:30:27 +0300 Subject: [PATCH] resize approach --- deepface/commons/functions.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/deepface/commons/functions.py b/deepface/commons/functions.py index 65489f4..2abc0c2 100644 --- a/deepface/commons/functions.py +++ b/deepface/commons/functions.py @@ -130,7 +130,12 @@ def preprocess_face(img, target_size=(224, 224), grayscale = False, enforce_dete # img = cv2.resize(img, target_size) #resize causes transformation on base image, adding black pixels to resize will not deform the base image # First resize the longer side to the target size - factor = target_size[0] / max(img.shape) # Suppose target_size[0] == target_size[1]. What if this condition is not satisfied? E.g. DeepID expects 57x47 shaped inputs. + #factor = target_size[0] / max(img.shape) + + factor_0 = target_size[0] / img.shape[0] + factor_1 = target_size[1] / img.shape[1] + factor = min(factor_0, factor_1) + dsize = (int(img.shape[1] * factor), int(img.shape[0] * factor)) img = cv2.resize(img, dsize) @@ -143,6 +148,10 @@ def preprocess_face(img, target_size=(224, 224), grayscale = False, enforce_dete else: img = np.pad(img, ((diff_0 // 2, diff_0 - diff_0 // 2), (diff_1 // 2, diff_1 - diff_1 // 2)), 'constant') + #double check: if target image is not still the same size with target. + if img.shape[0:2] != target_size: + img = cv2.resize(img, target_size) + #--------------------------------------------------- img_pixels = image.img_to_array(img)