mirror of
https://github.com/serengil/deepface.git
synced 2025-06-04 02:20:06 +00:00
Merge pull request #2 from haddyadnan/add_angulat_distance
Add angular distance: - Update angular distance thresholds - fix typos
This commit is contained in:
commit
9134bdcf1b
@ -153,7 +153,7 @@ Face recognition models are regular [convolutional neural networks](https://sefi
|
||||
Similarity could be calculated by different metrics such as [Cosine Similarity](https://sefiks.com/2018/08/13/cosine-similarity-in-machine-learning/), Angular Distance, Euclidean Distance or L2 normalized Euclidean. The default configuration uses cosine similarity. According to [experiments](https://github.com/serengil/deepface/tree/master/benchmarks), no distance metric is overperforming than other.
|
||||
|
||||
```python
|
||||
metrics = ["cosine", "euclidean", "euclidean_l2", 'angular']
|
||||
metrics = ["cosine", "euclidean", "euclidean_l2", "angular"]
|
||||
|
||||
result = DeepFace.verify(
|
||||
img1_path = "img1.jpg", img2_path = "img2.jpg", distance_metric = metrics[1]
|
||||
|
@ -223,7 +223,7 @@ def search_identity(
|
||||
'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s', 'yolov11m',
|
||||
'centerface' or 'skip' (default is opencv).
|
||||
distance_metric (string): Metric for measuring similarity. Options: 'cosine',
|
||||
'euclidean', 'euclidean_l2', angular, (default is cosine).
|
||||
'euclidean', 'euclidean_l2', 'angular', (default is cosine).
|
||||
Returns:
|
||||
result (tuple): result consisting of following objects
|
||||
identified image path (str)
|
||||
@ -474,7 +474,7 @@ def perform_facial_recognition(
|
||||
'mtcnn', 'ssd', 'dlib', 'mediapipe', 'yolov8', 'yolov11n', 'yolov11s',
|
||||
'yolov11m', 'centerface' or 'skip' (default is opencv).
|
||||
distance_metric (string): Metric for measuring similarity. Options: 'cosine',
|
||||
'euclidean', 'euclidean_l2', angular (default is cosine).
|
||||
'euclidean', 'euclidean_l2', 'angular' (default is cosine).
|
||||
model_name (str): Model for face recognition. Options: VGG-Face, Facenet, Facenet512,
|
||||
OpenFace, DeepFace, DeepID, Dlib, ArcFace, SFace and GhostFaceNet (default is VGG-Face).
|
||||
Returns:
|
||||
|
@ -51,7 +51,7 @@ def verify(
|
||||
'centerface' or 'skip' (default is opencv)
|
||||
|
||||
distance_metric (string): Metric for measuring similarity. Options: 'cosine',
|
||||
'euclidean', 'euclidean_l2', angular (default is cosine).
|
||||
'euclidean', 'euclidean_l2', 'angular' (default is cosine).
|
||||
|
||||
enforce_detection (boolean): If no face is detected in an image, raise an exception.
|
||||
Set to False to avoid the exception for low-resolution images (default is True).
|
||||
@ -454,17 +454,17 @@ def find_threshold(model_name: str, distance_metric: str) -> float:
|
||||
"cosine": 0.68,
|
||||
"euclidean": 1.17,
|
||||
"euclidean_l2": 1.17,
|
||||
"angular": 0.43,
|
||||
"angular": 0.39,
|
||||
}, # 4096d - tuned with LFW
|
||||
"Facenet": {"cosine": 0.40, "euclidean": 10, "euclidean_l2": 0.80, "angular": 0.47},
|
||||
"Facenet512": {"cosine": 0.30, "euclidean": 23.56, "euclidean_l2": 1.04, "angular": 0.49},
|
||||
"ArcFace": {"cosine": 0.68, "euclidean": 4.15, "euclidean_l2": 1.13, "angular": 0.43},
|
||||
"Dlib": {"cosine": 0.07, "euclidean": 0.6, "euclidean_l2": 0.4, "angular": 0.50},
|
||||
"SFace": {"cosine": 0.593, "euclidean": 10.734, "euclidean_l2": 1.055, "angular": 0.445},
|
||||
"OpenFace": {"cosine": 0.10, "euclidean": 0.55, "euclidean_l2": 0.55, "angular": 0.50},
|
||||
"DeepFace": {"cosine": 0.23, "euclidean": 64, "euclidean_l2": 0.64, "angular": 0.49},
|
||||
"DeepID": {"cosine": 0.015, "euclidean": 45, "euclidean_l2": 0.17, "angular": 0.50},
|
||||
"GhostFaceNet": {"cosine": 0.65, "euclidean": 35.71, "euclidean_l2": 1.10, "angular": 0.43},
|
||||
"Facenet": {"cosine": 0.40, "euclidean": 10, "euclidean_l2": 0.80, "angular": 0.33},
|
||||
"Facenet512": {"cosine": 0.30, "euclidean": 23.56, "euclidean_l2": 1.04, "angular": 0.35},
|
||||
"ArcFace": {"cosine": 0.68, "euclidean": 4.15, "euclidean_l2": 1.13, "angular": 0.39},
|
||||
"Dlib": {"cosine": 0.07, "euclidean": 0.6, "euclidean_l2": 0.4, "angular": 0.12},
|
||||
"SFace": {"cosine": 0.593, "euclidean": 10.734, "euclidean_l2": 1.055, "angular": 0.36},
|
||||
"OpenFace": {"cosine": 0.10, "euclidean": 0.55, "euclidean_l2": 0.55, "angular": 0.11},
|
||||
"DeepFace": {"cosine": 0.23, "euclidean": 64, "euclidean_l2": 0.64, "angular": 0.12},
|
||||
"DeepID": {"cosine": 0.015, "euclidean": 45, "euclidean_l2": 0.17, "angular": 0.04},
|
||||
"GhostFaceNet": {"cosine": 0.65, "euclidean": 35.71, "euclidean_l2": 1.10, "angular": 0.38},
|
||||
"Buffalo_L": {"cosine": 0.55, "euclidean": 0.6, "euclidean_l2": 1.1, "angular": 0.45},
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user