diff --git a/deepface/models/demography/Emotion.py b/deepface/models/demography/Emotion.py index 66d09cc..ac2af29 100644 --- a/deepface/models/demography/Emotion.py +++ b/deepface/models/demography/Emotion.py @@ -72,14 +72,16 @@ class EmotionClient(Demography): # Preprocessing input image or image list. imgs = self._preprocess_batch_or_single_input(img) - # Preprocess each image and add channel dimension for grayscale images - processed_imgs = np.expand_dims(np.array([self._preprocess_image(img) for img in imgs]), axis=-1) - - # Reshape input for model (expected shape=(n, 48, 48, 1)), where n is the batch size - processed_imgs = processed_imgs.reshape(processed_imgs.shape[0], 48, 48, 1) + if imgs.shape[0] == 1: + # Preprocess single image and add channel dimension for grayscale images + processed_imgs = np.expand_dims(np.array([self._preprocess_image(img) for img in imgs]), axis=0) + else: + # Preprocess batch of images and add channel dimension for grayscale images + processed_imgs = np.expand_dims(np.array([self._preprocess_image(img) for img in imgs]), axis=-1) + # Reshape input for model (expected shape=(n, 48, 48, 1)), where n is the batch size + processed_imgs = processed_imgs.reshape(processed_imgs.shape[0], 48, 48, 1) # Prediction - # Emotion model input shape is (48, 48, 1, n), where n is the batch size predictions = self._predict_internal(processed_imgs) return predictions