docstring updated

This commit is contained in:
Sefik Ilkin Serengil 2024-03-24 16:48:22 +00:00
parent 745b4b8835
commit 8a178d0305
4 changed files with 39 additions and 12 deletions

View File

@ -476,7 +476,9 @@ def extract_faces(
- "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing: - "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing:
- keys 'x', 'y', 'w', 'h' with int values - keys 'x', 'y', 'w', 'h' with int values
- keys 'left_eye', 'right_eye' with a tuple of 2 ints as values - keys 'left_eye', 'right_eye' with a tuple of 2 ints as values. left and right eyes
are eyes on the left and right respectively with respect to the person itself
instead of observer.
- "confidence" (float): The confidence score associated with the detected face. - "confidence" (float): The confidence score associated with the detected face.
""" """

View File

@ -76,7 +76,9 @@ def detect_faces(
- img (np.ndarray): The detected face as a NumPy array. - img (np.ndarray): The detected face as a NumPy array.
- facial_area (FacialAreaRegion): The facial area region represented as x, y, w, h - facial_area (FacialAreaRegion): The facial area region represented as x, y, w, h,
left_eye and right eye. left eye and right eye are eyes on the left and right
with respect to the person instead of observer.
- confidence (float): The confidence score associated with the detected face. - confidence (float): The confidence score associated with the detected face.
""" """
@ -123,13 +125,11 @@ def detect_faces(
img=img, left_eye=left_eye, right_eye=right_eye img=img, left_eye=left_eye, right_eye=right_eye
) )
rotated_x1, rotated_y1, rotated_x2, rotated_y2 = rotate_facial_area( rotated_x1, rotated_y1, rotated_x2, rotated_y2 = rotate_facial_area(
facial_area=(x, y, x + w, y + h), facial_area=(x, y, x + w, y + h), angle=angle, size=(img.shape[0], img.shape[1])
angle=angle,
size=(img.shape[0], img.shape[1])
) )
detected_face = aligned_img[ detected_face = aligned_img[
int(rotated_y1) : int(rotated_y2), int(rotated_y1) : int(rotated_y2), int(rotated_x1) : int(rotated_x2)
int(rotated_x1) : int(rotated_x2)] ]
result = DetectedFace( result = DetectedFace(
img=detected_face, img=detected_face,
@ -143,9 +143,7 @@ def detect_faces(
def rotate_facial_area( def rotate_facial_area(
facial_area: Tuple[int, int, int, int], facial_area: Tuple[int, int, int, int], angle: float, size: Tuple[int, int]
angle: float,
size: Tuple[int, int]
) -> Tuple[int, int, int, int]: ) -> Tuple[int, int, int, int]:
""" """
Rotate the facial area around its center. Rotate the facial area around its center.

View File

@ -20,7 +20,9 @@ class Detector(ABC):
where each object contains: where each object contains:
- facial_area (FacialAreaRegion): The facial area region represented - facial_area (FacialAreaRegion): The facial area region represented
as x, y, w, h, left_eye and right_eye as x, y, w, h, left_eye and right_eye. left eye and right eye are
eyes on the left and right respectively with respect to the person
instead of observer.
""" """
pass pass
@ -44,6 +46,21 @@ class FacialAreaRegion:
right_eye: Optional[Tuple[int, int]] = None, right_eye: Optional[Tuple[int, int]] = None,
confidence: Optional[float] = None, confidence: Optional[float] = None,
): ):
"""
Initialize a Face object.
Args:
x (int): The x-coordinate of the top-left corner of the bounding box.
y (int): The y-coordinate of the top-left corner of the bounding box.
w (int): The width of the bounding box.
h (int): The height of the bounding box.
left_eye (tuple): The coordinates (x, y) of the left eye with respect to
the person instead of observer. Default is None.
right_eye (tuple): The coordinates (x, y) of the right eye with respect to
the person instead of observer. Default is None.
confidence (float, optional): Confidence score associated with the face detection.
Default is None.
"""
self.x = x self.x = x
self.y = y self.y = y
self.w = w self.w = w
@ -59,6 +76,14 @@ class DetectedFace:
confidence: float confidence: float
def __init__(self, img: np.ndarray, facial_area: FacialAreaRegion, confidence: float): def __init__(self, img: np.ndarray, facial_area: FacialAreaRegion, confidence: float):
"""
Initialize detected face object.
Args:
img (np.ndarray): detected face image as numpy array
facial_area (FacialAreaRegion): detected face's metadata (e.g. bounding box)
confidence (float): confidence score for face detection
"""
self.img = img self.img = img
self.facial_area = facial_area self.facial_area = facial_area
self.confidence = confidence self.confidence = confidence

View File

@ -68,7 +68,9 @@ def extract_faces(
- "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing: - "facial_area" (Dict[str, Any]): The detected face's regions as a dictionary containing:
- keys 'x', 'y', 'w', 'h' with int values - keys 'x', 'y', 'w', 'h' with int values
- keys 'left_eye', 'right_eye' with a tuple of 2 ints as values - keys 'left_eye', 'right_eye' with a tuple of 2 ints as values.
left eye and right eye are eyes on the left and right respectively with respect
to the person itself instead of observer.
- "confidence" (float): The confidence score associated with the detected face. - "confidence" (float): The confidence score associated with the detected face.
""" """