| import json |
| import os |
| from typing import List |
|
|
| from numpy import ndarray |
| from ultralytics.models import YOLO |
|
|
|
|
| def import_describe_model() -> YOLO: |
| current_folder = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) |
| neural_network_file = os.path.join(current_folder, "./yolov8n-fashionpedia-1.torchscript") |
| return YOLO(neural_network_file, task='detect') |
|
|
|
|
| def describe_clothes_batch_opencv_bgr(yolo_model_loaded: YOLO, |
| pictures_rgb: List[ndarray], |
| threshold_to_save: float): |
| results = yolo_model_loaded(pictures_rgb, verbose=False, conf=threshold_to_save) |
|
|
| formatted_results = [] |
| for a_result in results: |
| formatted_results.append(json.loads(a_result.tojson())) |
|
|
| return formatted_results |
|
|
|
|
| def describe_single_clothes_opencv_rgb(yolo_model_loaded: YOLO, |
| one_clothes_picture_rgb: ndarray, |
| threshold_to_save: float): |
| return describe_clothes_batch_opencv_bgr(yolo_model_loaded, |
| [one_clothes_picture_rgb], |
| threshold_to_save)[0] |
|
|