mirror of
https://github.com/serengil/deepface.git
synced 2025-06-06 19:45:21 +00:00
detectFace bug + robust eye detector
This commit is contained in:
parent
cca16c56d3
commit
057f06c09c
@ -794,9 +794,7 @@ def detectFace(img_path, detector_backend = 'opencv', enforce_detection = True):
|
||||
Returns:
|
||||
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
|
||||
|
@ -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:
|
||||
|
||||
@ -76,7 +78,7 @@ def align_face(eye_detector, img):
|
||||
df = pd.DataFrame(items, columns = ["length", "idx"]).sort_values(by=['length'], ascending=False)
|
||||
|
||||
eyes = eyes[df.idx.values[0:2]] #eyes variable stores the largest 2 eye
|
||||
|
||||
|
||||
#eyes = eyes[0:2]
|
||||
|
||||
#-----------------------
|
||||
|
@ -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
|
||||
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("DeepFace.detectFace test")
|
||||
detectors = ['opencv', 'ssd', 'dlib', 'mtcnn', 'retinaface']
|
||||
for detector in detectors:
|
||||
img = DeepFace.detectFace("dataset/img11.jpg", detector_backend = detector)
|
||||
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],
|
||||
|
Loading…
x
Reference in New Issue
Block a user