Solutions Ultralytics : exploite YOLO26 pour résoudre des problèmes du monde réel#
Les solutions Ultralytics proposent des applications de pointe des modèles YOLO, offrant des solutions concrètes comme le comptage d'objets, le floutage et les systèmes de sécurité, afin d'améliorer l'efficacité et la précision dans divers secteurs. Découvre la puissance de YOLO26 pour des mises en œuvre pratiques et à fort impact.

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Solutions#
Voici notre liste sélectionnée de solutions Ultralytics que tu peux utiliser pour créer d'excellents projets de vision par ordinateur.
- Analytique : effectue une analyse complète des données pour découvrir des tendances et prendre des décisions éclairées, en exploitant YOLO26 pour l'analytique descriptive, prédictive et prescriptive.
- Calcul de distance : calcule les distances entre les objets à l'aide des centroïdes des boîtes englobantes dans YOLO26, ce qui est essentiel pour l'analyse spatiale.
- Cartes de chaleur : utilise des cartes de chaleur de détection pour visualiser l'intensité des données sur une matrice et obtenir des informations claires dans 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 pour obtenir des contours d'objets précis et assurer une surveillance continue.
- Inférence en direct avec Streamlit : exploite la puissance de YOLO26 pour effectuer une détection d'objets en temps réel directement depuis ton navigateur web grâce à une interface Streamlit conviviale.
- Floutage d'objets : applique un floutage des objets avec YOLO26 pour protéger la confidentialité lors du traitement d'images et de vidéos.
- Comptage d'objets : apprends à effectuer un comptage d'objets en temps réel avec YOLO26. Développe ton expertise pour compter précisément les objets dans des flux vidéo en direct.
- Comptage d'objets dans des régions : compte les objets dans des régions spécifiques avec YOLO26 pour une détection précise dans différentes zones.
- Recadrage d'objets : maîtrise le recadrage d'objets avec YOLO26 pour extraire précisément les objets des images et des vidéos.
- Gestion des parkings : organise et dirige la circulation des véhicules dans les parkings avec YOLO26 afin d'optimiser l'utilisation de l'espace et l'expérience utilisateur.
- Gestion des files d'attente : mets en œuvre des systèmes efficaces de gestion des files d'attente pour réduire les temps d'attente et améliorer la productivité avec 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, ce qui permet 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, ce qui est essentiel pour des applications comme les véhicules autonomes et la surveillance du trafic.
- Suivi des objets dans une zone : apprends à suivre les objets dans des zones spécifiques des images vidéo avec YOLO26 pour une surveillance précise et efficace.
- Cartographie des objets avec la vue VisionEye : développe des systèmes qui reproduisent la focalisation de l'œil humain sur des objets spécifiques afin d'améliorer la capacité de l'ordinateur à discerner et à hiérarchiser les détails.
- Suivi des entraînements : découvre comment surveiller les entraînements avec YOLO26. Apprends à suivre et à analyser diverses routines de fitness en temps réel.
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, soit une liste de tuples (x, y), soit un dictionnaire associant les noms des régions à des listes de points pour plusieurs régions (RegionCounter uniquement). Lorsque None, les solutions qui nécessitent une région utilisent une région par défaut prédéfinie. |
show_in | bool | True | Indicateur contrôlant l'affichage ou non des comptages entrants sur le flux vidéo. |
show_out | bool | True | Indicateur contrôlant l'affichage ou non des comptages sortants sur 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 comptages dessinés par la solution. |
verbose | bool | True | Active le journal par image de la solution, qui indique la forme d'entrée, les comptages par classe et la vitesse de traitement. L'appel de suivi lui-même est toujours silencieux. |
json_file | str | None | Chemin vers le fichier JSON contenant toutes les données de coordonnées des places de stationnement. |
up_angle | float | 145.0 | Seuil d'angle pour la pose « vers le haut ». |
kpts | list[int] | '[6, 8, 10]' | Liste de trois indices de points clés utilisés pour le suivi des séances d'entraînement. Ces points clés correspondent à des articulations ou parties du corps, comme les épaules, les coudes et les poignets, pour des exercices tels que les pompes, les tractions, les squats et les exercices abdominaux. |
down_angle | int | 90 | Seuil d'angle pour la pose « vers le bas ». |
blur_ratio | float | 0.5 | Ajuste le pourcentage d'intensité du flou, avec des valeurs comprises dans 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 à partir duquel VisionEye suit les objets et dessine les trajectoires à l'aide de VisionEye Solution. |
source | str | None | Chemin vers la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) des solutions. |
figsize | tuple[float, float] | (12.8, 7.2) | Taille de la figure pour les graphiques d'analyse tels que les cartes thermiques ou les graphiques. |
fps | float | 30.0 | Nombre d'images par seconde utilisé 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 une distance en pixels en unités réelles. |
max_speed | int | 120 | Limite de vitesse maximale dans les superpositions visuelles (utilisée pour les alertes). |
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 certains de leurs arguments à track, notamment tracker, conf, iou, classes et device.
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
tracker | str | 'botsort.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 union (IoU) pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats par 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. |
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 un aperçu du degré de certitude du modèle pour chaque détection. |
show_labels | bool | True | Affiche les étiquettes de chaque détection dans la sortie visuelle. 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 disposent des méthodes suivantes :
| Méthode | Type de retour | Description |
|---|---|---|
draw_region() | None | Dessine une région à l'aide des points, couleurs et épaisseurs spécifiés. |
queue_counts_display() | None | Affiche le nombre de personnes dans la file dans la région spécifiée. |
display_analytics() | None | Affiche les statistiques générales de gestion du parking. |
estimate_pose_angle() | float | Calcule l'angle entre trois points dans 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 boîte 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 pour le 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 | Annote les boîtes englobantes avec les étiquettes des classes d'objets. |
sweep_annotator() | None | Visualise une ligne de balayage verticale et une étiquette facultative. |
visioneye() | None | Cartographie les centroïdes des objets vers un point « œil » visuel et les relie. |
adaptive_label() | None | Dessine une étiquette d'arrière-plan circulaire ou rectangulaire au centre d'une boîte englobante. |
Utilisation de SolutionResults#
À l'exception de Similarity Search, chaque appel de solution renvoie un objet SolutionResults.
- Pour le comptage d'objets, les résultats incluent
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, # display the output
region=region_points, # pass region points
model="yolo26n.pt", # model="yolo26n-obb.pt" for object counting with OBB model.
# classes=[0, 2], # count specific classes i.e. person and car with COCO pretrained model.
# tracker="botsort.yaml" # Choose trackers i.e "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_countL'objet SolutionResults possède les attributs suivants :
| Attribut | Type | Description |
|---|---|---|
plot_im | np.ndarray | Image avec des incrustations visuelles telles que des compteurs, des effets de flou 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, int] | Dictionnaire enregistrant les nombres d'objets entrants et sortants par classe pour une analyse avancée. |
queue_count | int | Nombre d'objets actuellement présents dans une file 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'entraînement par suivi provenant d'AI Gym (une entrée par individu actuellement suivi). |
workout_angle | list[float] | Angles d'exercice par suivi provenant d'AI Gym (une entrée par individu actuellement suivi). |
workout_stage | list[str] | Étape actuelle de l'entraînement par suivi provenant d'AI Gym (une entrée par individu actuellement suivi). |
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 suivis d'objets uniques observés pendant l'analyse vidéo. |
region_counts | Dict[str, int] | Nombre d'objets dans les régions ou zones définies par l'utilisateur. |
speed_dict | Dict[str, float] | Dictionnaire des vitesses d'objets calculées pour chaque suivi, utile pour l'analyse de la vitesse. |
total_crop_objects | int | Nombre total d'images d'objets recadrés 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 en ligne de commande.
Syntaxe
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS est un mot-clé obligatoire.
- SOLUTION_NAME correspond à l'une des valeurs suivantes :
['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 permettent de remplacer 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 les contributions de la communauté ! Si tu maîtrises un aspect particulier d'Ultralytics YOLO qui n'est pas encore couvert par 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 afin de connaître les consignes pour ouvrir une demande de contribution (PR) 🛠️. Nous attendons tes contributions avec impatience !
Travaillons ensemble pour rendre l'écosystème Ultralytics YOLO plus robuste et polyvalent 🙏 !
FAQ#
Ultralytics YOLO26 améliore les systèmes de sécurité en offrant une détection d'objets et des mécanismes d'alerte en temps réel. Avec YOLO26, tu peux créer un système d'alarme de sécurité 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 de sécurité robuste.
Ultralytics YOLO26 peut améliorer considérablement les systèmes de gestion des files d'attente en comptant et en suivant précisément les personnes qui attendent, ce qui contribue à réduire les temps d'attente et à optimiser l'efficacité du service. Suis notre guide détaillé sur la gestion des files d'attente pour apprendre à mettre en œuvre YOLO26 afin d'assurer une surveillance et une analyse efficaces des files.
Oui, Ultralytics YOLO26 peut être utilisé efficacement pour surveiller les entraînements en suivant et en analysant les routines de fitness en temps réel. Cela permet d'évaluer précisément la forme 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 propulsé par l'IA avec YOLO26.
Ultralytics YOLO26 peut générer des cartes de chaleur pour visualiser l'intensité des données dans une zone donnée, en mettant en évidence les régions de forte activité ou d'intérêt. Cette fonctionnalité est particulièrement utile pour comprendre les tendances et les modèles dans diverses tâches de vision par ordinateur. En savoir plus sur la création et l'utilisation de cartes de chaleur avec YOLO26 pour une analyse et une visualisation complètes des données.
Ultralytics YOLO26 peut être utilisé pour 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 afin d'analyser des flux vidéo en direct. Il te suffit d'installer YOLO26, de charger ton modèle et de traiter les images vidéo pour compter les objets dynamiquement.