Solutions Ultralytics : exploiter YOLO26 pour résoudre des problèmes du monde réel#
Les solutions Ultralytics proposent des applications de pointe des modèles YOLO, avec des solutions concrètes telles que le comptage d'objets, le floutage et les systèmes de sécurité. Elles améliorent l'efficacité et l'exactitude dans divers secteurs. Découvre la puissance de YOLO26 grâce à des mises en œuvre pratiques et efficaces.

Regarder : Comment exécuter les solutions Ultralytics depuis la ligne de commande (CLI) | Ultralytics YOLO26 🚀
Solutions#
Voici notre sélection de solutions Ultralytics pour créer des projets exceptionnels de vision par ordinateur.
- Analytique : réalise une analyse approfondie des données pour découvrir des tendances et prendre des décisions éclairées, en exploitant YOLO26 pour des analyses descriptives, prédictives et prescriptives.
- Calcul de distance : calcule les distances entre des objets à partir des centroïdes de leurs boîtes englobantes avec YOLO26, une fonction essentielle à l'analyse spatiale.
- Cartes thermiques : utilise des cartes thermiques de détection pour visualiser l'intensité des données sur une matrice et obtenir des informations claires pour les tâches de vision par ordinateur.
- Segmentation d'instances avec suivi d'objets : mets en œuvre la segmentation d'instances et le suivi d'objets avec YOLO26 afin de délimiter précisément les objets et d'assurer leur surveillance continue.
- Inférence en direct avec Streamlit : exploite toute la puissance de YOLO26 pour effectuer de la détection d'objets en temps réel directement dans ton navigateur Web grâce à une interface Streamlit conviviale.
- Floutage d'objets : applique un floutage aux objets avec YOLO26 afin de protéger la confidentialité lors du traitement d'images et de vidéos.
- Comptage d'objets : découvre comment compter des objets en temps réel avec YOLO26. Apprends à compter précisément les objets dans des flux vidéo en direct.
- Comptage d'objets dans des zones : compte les objets dans des zones spécifiques avec YOLO26 pour détecter précisément les objets dans différents espaces.
- Recadrage d'objets : maîtrise le recadrage d'objets avec YOLO26 pour extraire précisément des objets d'images et de vidéos.
- Gestion des parkings : organise et régule la circulation des véhicules dans les parkings avec YOLO26, en optimisant l'utilisation de l'espace et l'expérience utilisateur.
- Gestion des files d'attente : mets en place des systèmes efficaces de gestion des files d'attente pour réduire les temps d'attente et améliorer la productivité grâce à YOLO26.
- Système d'alarme de sécurité : crée un système d'alarme de sécurité avec YOLO26 qui déclenche des alertes lorsqu'il détecte de nouveaux objets. Personnalise le système selon tes besoins spécifiques.
- Recherche par similarité : active la recherche intelligente d'images en combinant les embeddings OpenAI CLIP avec une recherche par similarité cosinus. Tu peux ainsi effectuer des requêtes en langage naturel comme « personne tenant un sac » ou « véhicules en mouvement ».
- Estimation de la vitesse : estime la vitesse des objets à l'aide de YOLO26 et de techniques de suivi d'objets, essentielles pour des applications comme les véhicules autonomes et la surveillance du trafic.
- Suivi d'objets dans une zone : découvre comment suivre des objets dans des zones précises d'images vidéo avec YOLO26 pour assurer une surveillance précise et efficace.
- Cartographie des objets avec VisionEye : développe des systèmes qui imitent la focalisation de l'œil humain sur des objets précis, afin d'améliorer la capacité de l'ordinateur à discerner et à hiérarchiser les détails.
- Suivi des entraînements : découvre comment suivre les entraînements avec YOLO26. Apprends à suivre et à analyser en temps réel différentes routines de fitness.
Arguments des solutions#
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
model | str | None | Chemin vers un fichier de modèle Ultralytics YOLO. |
region | list ou dict | None | Points définissant la région d'intérêt : une liste de tuples (x, y) ou un dictionnaire associant des noms de régions à des listes de points pour plusieurs régions (uniquement RegionCounter). Si None, les solutions qui nécessitent une région utilisent une région par défaut prédéfinie. |
show_in | bool | True | Indicateur permettant de contrôler l'affichage du nombre d'entrées dans le flux vidéo. |
show_out | bool | True | Indicateur permettant de contrôler l'affichage du nombre de sorties dans le flux vidéo. |
analytics_type | str | 'line' | Type de graphique, c'est-à-dire line, bar, area ou pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Palette de couleurs à utiliser pour la carte thermique. |
line_width | int | 2 | Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution. |
verbose | bool | True | Active le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux. |
json_file | str | None | Chemin vers le fichier JSON contenant toutes les coordonnées des places de stationnement. |
up_angle | float | 145.0 | Seuil d'angle pour la pose « haute ». |
kpts | list[int] | [6, 8, 10] | Liste de trois indices de points clés utilisés pour suivre les entraînements. Ces points clés correspondent à des articulations ou parties du corps, telles que les épaules, les coudes et les poignets, pour des exercices comme les pompes, les tractions, les squats et les exercices abdominaux. |
down_angle | float | 90.0 | Seuil d'angle pour la pose « basse ». |
blur_ratio | float | 0.5 | Ajuste le pourcentage d’intensité du flou, avec des valeurs comprises dans la plage 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | Nom du répertoire où stocker les détections recadrées. |
records | int | 5 | Nombre total de détections nécessaire pour déclencher un e-mail avec le système d’alarme de sécurité. |
vision_point | tuple[int, int] | (20, 20) | Point où la vision suivra les objets et tracera des trajectoires avec la solution VisionEye. |
source | str | None | Chemin vers la source d’entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l’interface de ligne de commande Solutions (CLI). |
figsize | tuple[float, float] | (12.8, 7.2) | Dimensions de la figure en pouces pour les graphiques Analytics ; (12.8, 7.2) affiche une image de 1280×720. |
fps | float | 30.0 | Images par seconde utilisées pour les calculs de vitesse. |
max_hist | int | 5 | Nombre maximal de points historiques à suivre par objet pour les calculs de vitesse et de direction. |
meter_per_pixel | float | 0.05 | Facteur d’échelle utilisé pour convertir les distances en pixels en unités du monde réel. |
max_speed | int | 120 | Vitesse maximale en km/h ; les vitesses estimées supérieures sont plafonnées à cette valeur. |
data | str | 'images' | Chemin vers le répertoire d’images utilisé pour la recherche de similarité. |
imgsz | int | 640 | Taille de l’image d’entrée pour l’inférence du modèle. |
Les solutions transmettent les arguments d'inférence et de suivi ci-dessous à model.track().
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs. |
iou | float | 0.7 | Définit le seuil d'intersection sur l'union (IoU) utilisé pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats selon l'indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées. |
device | str | None | Indique le périphérique utilisé pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle. |
imgsz | int or tuple | 640 | Taille cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle. |
max_det | int | 300 | Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses. |
quantize | int or str | None | Précision d’inférence : 16 (FP16) ou 32/unset (FP32) pour les modèles PyTorch et TorchScript hors CPU ; les autres formats utilisent la précision définie par leur artefact et leur environnement d’exécution. Remplace l’argument half obsolète. |
Tu peux utiliser show_conf, show_labels et les autres arguments mentionnés pour personnaliser la visualisation.
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
show | bool | False | Si True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour obtenir un retour visuel immédiat pendant le développement ou les tests. |
show_conf | bool | True | Affiche le score de confiance de chaque détection à côté de son étiquette. Donne une indication du degré de certitude du modèle pour chaque détection. |
show_labels | bool | True | Affiche les étiquettes de chaque détection dans le résultat visuel. Permet d'identifier immédiatement les objets détectés. |
Utilisation de SolutionAnnotator#
Toutes les solutions Ultralytics utilisent la classe distincte SolutionAnnotator, qui étend la classe principale Annotator et propose les méthodes suivantes :
| Méthode | Type de retour | Description |
|---|---|---|
draw_region() | None | Trace une région à partir des points, des couleurs et de l'épaisseur spécifiés. |
queue_counts_display() | None | Affiche le nombre de personnes dans la file d'attente de la région spécifiée. |
display_analytics() | None | Affiche les statistiques globales de gestion du parking. |
estimate_pose_angle() | float | Calcule l'angle entre trois points de la pose d'un objet. |
draw_specific_kpts() | np.ndarray | Dessine des points clés spécifiques sur l'image. |
plot_workout_information() | int | Dessine une zone de texte avec étiquette sur l'image. |
plot_angle_and_count_and_stage() | None | Visualise l'angle, le nombre de répétitions et l'étape du suivi des entraînements. |
plot_distance_and_line() | None | Affiche la distance entre les centroïdes et les relie par une ligne. |
display_objects_labels() | None | Ajoute des étiquettes de classe d'objet aux boîtes englobantes. |
sweep_annotator() | None | Visualise une ligne de balayage verticale et une étiquette facultative. |
visioneye() | None | Relie les centroïdes des objets à un point visuel représentant un « œil ». |
adaptive_label() | None | Dessine une étiquette de fond circulaire ou rectangulaire au centre d'une boîte englobante. |
Travailler avec SolutionResults#
À l'exception de Similarity Search, chaque appel de solution renvoie un objet SolutionResults.
- Pour le comptage d'objets, les résultats comprennent
in_count,out_countetclasswise_count.
import cv2
from ultralytics import solutions
im0 = cv2.imread("path/to/img")
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(
show=True, # afficher le résultat
region=region_points, # transmettre les points de la région
model="yolo26n.pt", # model="yolo26n-obb.pt" pour le comptage d'objets avec un modèle OBB.
# classes=[0, 2], # compter des classes spécifiques, par exemple les personnes et les voitures avec le modèle préentraîné COCO.
# tracker="botsort.yaml" # Choisir les traqueurs, par exemple « bytetrack.yaml »
)
results = counter(im0)
print(results.in_count) # display in_counts
print(results.out_count) # display out_counts
print(results.classwise_count) # display classwise_countLes objets SolutionResults possèdent les attributs suivants :
| Attribut | Type | Description |
|---|---|---|
plot_im | np.ndarray | Image comportant des superpositions visuelles telles que des comptages, des effets de floutage ou des améliorations propres à la solution. |
in_count | int | Nombre total d'objets détectés entrant dans la zone définie du flux vidéo. |
out_count | int | Nombre total d'objets détectés sortant de la zone définie du flux vidéo. |
classwise_count | dict[str, dict[str, int] | int] | Comptages par classe : {"IN": int, "OUT": int} pour ObjectCounter et Heatmap, ou un int pour Analytics. |
queue_count | int | Nombre d'objets présents dans une file d'attente ou une zone d'attente prédéfinie (adapté à la gestion des files d'attente). |
workout_count | list[int] | Nombre de répétitions d'exercice par suivi dans AI Gym (une entrée par personne actuellement suivie). |
workout_angle | list[float] | Angles d'exercice par suivi dans AI Gym (une entrée par personne actuellement suivie). |
workout_stage | list[str] | Étape actuelle de l'entraînement par suivi dans AI Gym (une entrée par personne actuellement suivie). |
pixels_distance | float | Distance en pixels entre deux objets ou points, par exemple des boîtes englobantes. (Adapté au calcul de distance). |
available_slots | int | Nombre de places inoccupées dans une zone surveillée (adapté à la gestion des parkings). |
filled_slots | int | Nombre de places occupées dans une zone surveillée. (adapté à la gestion des parkings) |
email_sent | bool | Indique si une notification ou un e-mail d'alerte a été envoyé avec succès (adapté aux alarmes de sécurité). |
total_tracks | int | Nombre total de trajectoires d'objets uniques observées pendant l'analyse vidéo. |
region_counts | Dict[str, int] | Nombre d’objets dans des régions ou zones définies par l’utilisateur. |
speed_dict | Dict[int, int] | Dictionnaire des vitesses estimées des objets par identifiant de suivi, en km/h, fourni par SpeedEstimator et utile pour l’analyse des vitesses. |
total_crop_objects | int | Nombre total d’images d’objets recadrées générées par la solution ObjectCropper. |
speed | Dict[str, float] | Dictionnaire contenant les métriques de performance du suivi et du traitement de la solution. |
Pour plus de détails, consulte la documentation de la classe SolutionResults.
Utilisation des solutions via la CLI#
La plupart des solutions peuvent être utilisées directement via l’interface de ligne de commande.
Syntaxe
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS est un mot-clé obligatoire.
- SOLUTION_NAME peut prendre la valeur suivante :
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - ARGS (facultatifs) sont des paires personnalisées
arg=value, telles queshow_in=True, qui remplacent les paramètres par défaut.
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathContribue à nos solutions#
Nous accueillons avec plaisir les contributions de la communauté ! Si tu maîtrises un aspect particulier d’Ultralytics YOLO qui n’est pas encore traité dans nos solutions, nous t’encourageons à partager ton expertise. Rédiger un guide est un excellent moyen de contribuer à la communauté et de nous aider à rendre notre documentation plus complète et plus facile à utiliser.
Pour commencer, lis notre guide de contribution pour connaître les étapes à suivre afin d’ouvrir une demande de fusion (PR) 🛠️. Nous avons hâte de découvrir tes contributions !
Travaillons ensemble pour rendre l’écosystème Ultralytics YOLO plus robuste et polyvalent 🙏 !
FAQ#
Ultralytics YOLO26 permet de compter des objets en temps réel grâce à ses capacités avancées de détection d’objets. Tu peux suivre notre guide détaillé sur le comptage d’objets pour configurer YOLO26 et analyser un flux vidéo en direct. Il suffit d’installer YOLO26, de charger ton modèle et de traiter les images vidéo pour compter les objets de manière dynamique.
Ultralytics YOLO26 améliore les systèmes de sécurité en proposant la détection d’objets en temps réel et des mécanismes d’alerte. Avec YOLO26, tu peux créer un système d’alarme qui déclenche des alertes lorsque de nouveaux objets sont détectés dans la zone surveillée. Découvre comment configurer un système d’alarme de sécurité avec YOLO26 pour assurer une surveillance efficace.
Ultralytics YOLO26 peut considérablement améliorer les systèmes de gestion des files d’attente en comptant et en suivant précisément les personnes, ce qui contribue à réduire le temps d’attente et à optimiser l’efficacité du service. Suis notre guide détaillé sur la gestion des files d’attente pour apprendre à utiliser YOLO26 afin d’assurer une surveillance et une analyse efficaces des files.
Oui, Ultralytics YOLO26 peut suivre efficacement les entraînements en analysant les routines de remise en forme en temps réel. Cela permet d’évaluer avec précision la posture et les performances pendant les exercices. Consulte notre guide sur le suivi des entraînements pour apprendre à configurer un système de suivi des entraînements basé sur l’IA avec YOLO26.
Ultralytics YOLO26 peut générer des cartes thermiques pour visualiser l’intensité des données dans une zone donnée et mettre en évidence les régions où l’activité ou l’intérêt est élevé. Cette fonctionnalité est particulièrement utile pour comprendre les motifs et les tendances dans diverses tâches de vision par ordinateur. Pour une analyse et une visualisation complètes des données, découvre comment créer et utiliser des cartes thermiques avec YOLO26.