imgutils.detect.head
- Overview:
Detect human heads (including the entire head) in anime images.
Trained on dataset ani_face_detection with YOLOv8.
This is an overall benchmark of all the head detect models:
detect_heads
- imgutils.detect.head.detect_heads(image: str | PathLike | bytes | bytearray | BinaryIO | Image, level: str = 's', max_infer_size=640, conf_threshold: float = 0.3, iou_threshold: float = 0.7) List[Tuple[Tuple[int, int, int, int], str, float]] [source]
- Overview:
Detect human heads in anime images.
- Parameters:
image – Image to detect.
level – The model level being used can be either s or n. The n model runs faster with smaller system overhead, while the s model achieves higher accuracy. The default value is s.
max_infer_size – The maximum image size used for model inference, if the image size exceeds this limit, the image will be resized and used for inference. The default value is 640 pixels.
conf_threshold – The confidence threshold, only detection results with confidence scores above this threshold will be returned. The default value is 0.3.
iou_threshold – The detection area coverage overlap threshold, areas with overlaps above this threshold will be discarded. The default value is 0.7.
- Returns:
The detection results list, each item includes the detected area (x0, y0, x1, y1), the target type (always head) and the target confidence score.
- Examples::
>>> from imgutils.detect import detect_heads, detection_visualize >>> >>> image = 'mostima_post.jpg' >>> result = detect_heads(image) # detect it >>> result [ ((29, 441, 204, 584), 'head', 0.7874319553375244), ((346, 59, 529, 275), 'head', 0.7510495185852051), ((606, 51, 895, 336), 'head', 0.6986488103866577) ] >>> >>> # visualize it >>> from matplotlib import pyplot as plt >>> plt.imshow(detection_visualize(image, result)) >>> plt.show()