detectFace bug + robust eye detector

This commit is contained in:
Sefik Ilkin Serengil 2021-06-24 15:59:59 +03:00
parent cca16c56d3
commit 057f06c09c
3 changed files with 16 additions and 15 deletions

View File

@ -795,8 +795,6 @@ def detectFace(img_path, detector_backend = 'opencv', enforce_detection = True):
deteced and aligned face in numpy format
"""
functions.initialize_detector(detector_backend = detector_backend)
img = functions.preprocess_face(img = img_path, detector_backend = detector_backend
, enforce_detection = enforce_detection)[0] #preprocess_face returns (1, 224, 224, 3)
return img[:, :, ::-1] #bgr to rgb

View File

@ -42,7 +42,8 @@ def detect_face(detector, img, align = True):
faces = []
try:
faces = detector["face_detector"].detectMultiScale(img, 1.3, 5)
#faces = detector["face_detector"].detectMultiScale(img, 1.3, 5)
faces = detector["face_detector"].detectMultiScale(img, 1.1, 10)
except:
pass
@ -60,7 +61,8 @@ def align_face(eye_detector, img):
detected_face_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #eye detector expects gray scale image
eyes = eye_detector.detectMultiScale(detected_face_gray, 1.3, 5)
#eyes = eye_detector.detectMultiScale(detected_face_gray, 1.3, 5)
eyes = eye_detector.detectMultiScale(detected_face_gray, 1.1, 10)
if len(eyes) >= 2:

View File

@ -24,16 +24,17 @@ print("Running unit tests for TF ", tf.__version__)
from deepface.basemodels import VGGFace, OpenFace, Facenet, FbDeepFace
from deepface.extendedmodels import Age, Gender, Race, Emotion
print("-----------------------------------------")
#-----------------------------------------
if False:
print("Detector tests")
import matplotlib.pyplot as plt
print("DeepFace.detectFace test")
detectors = ['opencv', 'ssd', 'dlib', 'mtcnn', 'retinaface']
for detector in detectors:
img = DeepFace.detectFace("dataset/img11.jpg", detector_backend = detector)
plt.imshow(img)
plt.show()
print(detector," test is done")
#import matplotlib.pyplot as plt
#plt.imshow(img)
#plt.show()
#-----------------------------------------
print("-----------------------------------------")
@ -168,7 +169,7 @@ dataset = [
['dataset/img1.jpg', 'dataset/img2.jpg', True],
['dataset/img5.jpg', 'dataset/img6.jpg', True],
['dataset/img6.jpg', 'dataset/img7.jpg', True],
#['dataset/img8.jpg', 'dataset/img9.jpg', True],
['dataset/img8.jpg', 'dataset/img9.jpg', True],
['dataset/img1.jpg', 'dataset/img11.jpg', True],
['dataset/img2.jpg', 'dataset/img11.jpg', True],