summaryrefslogtreecommitdiff
path: root/megapixels/app/processors/face_beauty.py
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2019-01-16 13:30:16 +0100
committeradamhrv <adam@ahprojects.com>2019-01-16 13:30:16 +0100
commit65cb506ca182272e2701136097fd00c55dc6bd69 (patch)
treecc5be8e61a8d5173745be1d331b210e967e146b5 /megapixels/app/processors/face_beauty.py
parentfceeb3b7adbc8d522e9fe1c40e12e9a529199068 (diff)
change bbox to norm, refine face extractor
Diffstat (limited to 'megapixels/app/processors/face_beauty.py')
-rw-r--r--megapixels/app/processors/face_beauty.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/megapixels/app/processors/face_beauty.py b/megapixels/app/processors/face_beauty.py
index a01c6834..e2d54c98 100644
--- a/megapixels/app/processors/face_beauty.py
+++ b/megapixels/app/processors/face_beauty.py
@@ -1,3 +1,7 @@
+"""
+https://github.com/ustcqidi/BeautyPredict
+"""
+
import sys
import os
from os.path import join
@@ -45,18 +49,15 @@ class FaceBeauty:
self.model.load_weights(fp_model)
- def beauty(self, im, bbox_dim):
+ def beauty(self, im, bbox_norm):
'''Predicts facial "beauty" score based on SCUT-FBP attractiveness labels
:param im: (numpy.ndarray) BGR image
:param bbox_dim: (BBox) dimensioned BBox
:returns (float) 0.0-1.0 with 1 being most attractive
'''
-
- face = bbox_dim.to_xyxy()
- self.log.debug(f'face: {face}')
-
- cropped_im = im[face[1]:face[3], face[0]:face[2]]
-
+ dim = im.shape[:2][::-1]
+ roi = bbox_norm.to_dim(dim).to_xyxy()
+ cropped_im = im[roi[1]:roi[3], roi[0]:roi[2]]
im_resized = cv.resize(cropped_im, (224, 224)) # force size
im_norm = np.array([(im_resized - 127.5) / 127.5]) # subtract mean