YOLO Vision 2026 :

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.

Vignette des solutions Ultralytics



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#

ArgumentTypeValeur par défautDescription
modelstrNoneChemin vers un fichier de modèle Ultralytics YOLO.
regionlist ou dictNonePoints 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_inboolTrueIndicateur contrôlant l'affichage ou non des comptages entrants sur le flux vidéo.
show_outboolTrueIndicateur contrôlant l'affichage ou non des comptages sortants sur le flux vidéo.
analytics_typestr'line'Type de graphique, c'est-à-dire line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENPalette de couleurs à utiliser pour la carte thermique.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des comptages dessinés par la solution.
verboseboolTrueActive 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_filestrNoneChemin vers le fichier JSON contenant toutes les données de coordonnées des places de stationnement.
up_anglefloat145.0Seuil d'angle pour la pose « vers le haut ».
kptslist[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_angleint90Seuil d'angle pour la pose « vers le bas ».
blur_ratiofloat0.5Ajuste le pourcentage d'intensité du flou, avec des valeurs comprises dans 0.1 - 1.0.
crop_dirstr'cropped-detections'Nom du répertoire où stocker les détections recadrées.
recordsint5Nombre total de détections nécessaire pour déclencher un e-mail avec le système d'alarme de sécurité.
vision_pointtuple[int, int](20, 20)Point à partir duquel VisionEye suit les objets et dessine les trajectoires à l'aide de VisionEye Solution.
sourcestrNoneChemin vers la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) des solutions.
figsizetuple[float, float](12.8, 7.2)Taille de la figure pour les graphiques d'analyse tels que les cartes thermiques ou les graphiques.
fpsfloat30.0Nombre d'images par seconde utilisé pour les calculs de vitesse.
max_histint5Nombre maximal de points historiques à suivre par objet pour les calculs de vitesse et de direction.
meter_per_pixelfloat0.05Facteur d'échelle utilisé pour convertir une distance en pixels en unités réelles.
max_speedint120Limite de vitesse maximale dans les superpositions visuelles (utilisée pour les alertes).
datastr'images'Chemin vers le répertoire d'images utilisé pour la recherche de similarité.
imgszint640Taille de l'image d'entrée pour l'inférence du modèle.
Arguments de suivi

Les solutions transmettent certains de leurs arguments à track, notamment tracker, conf, iou, classes et device.

ArgumentTypeValeur par défautDescription
trackerstr'botsort.yaml'Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil d'intersection sur union (IoU) pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
devicestrNoneIndique 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.
Arguments de visualisation

Tu peux utiliser show_conf, show_labels et les autres arguments mentionnés pour personnaliser la visualisation.

ArgumentTypeValeur par défautDescription
showboolFalseSi 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_confboolTrueAffiche 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_labelsboolTrueAffiche 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éthodeType de retourDescription
draw_region()NoneDessine une région à l'aide des points, couleurs et épaisseurs spécifiés.
queue_counts_display()NoneAffiche le nombre de personnes dans la file dans la région spécifiée.
display_analytics()NoneAffiche les statistiques générales de gestion du parking.
estimate_pose_angle()floatCalcule l'angle entre trois points dans la pose d'un objet.
draw_specific_kpts()np.ndarrayDessine des points clés spécifiques sur l'image.
plot_workout_information()intDessine une boîte de texte avec étiquette sur l'image.
plot_angle_and_count_and_stage()NoneVisualise l'angle, le nombre de répétitions et l'étape pour le suivi des entraînements.
plot_distance_and_line()NoneAffiche la distance entre les centroïdes et les relie par une ligne.
display_objects_labels()NoneAnnote les boîtes englobantes avec les étiquettes des classes d'objets.
sweep_annotator()NoneVisualise une ligne de balayage verticale et une étiquette facultative.
visioneye()NoneCartographie les centroïdes des objets vers un point « œil » visuel et les relie.
adaptive_label()NoneDessine 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_count et classwise_count.
SolutionResults
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_count

L'objet SolutionResults possède les attributs suivants :

AttributTypeDescription
plot_imnp.ndarrayImage avec des incrustations visuelles telles que des compteurs, des effets de flou ou des améliorations propres à la solution.
in_countintNombre total d'objets détectés entrant dans la zone définie du flux vidéo.
out_countintNombre total d'objets détectés sortant de la zone définie du flux vidéo.
classwise_countDict[str, int]Dictionnaire enregistrant les nombres d'objets entrants et sortants par classe pour une analyse avancée.
queue_countintNombre d'objets actuellement présents dans une file ou une zone d'attente prédéfinie (adapté à la gestion des files d'attente).
workout_countlist[int]Nombre de répétitions d'entraînement par suivi provenant d'AI Gym (une entrée par individu actuellement suivi).
workout_anglelist[float]Angles d'exercice par suivi provenant d'AI Gym (une entrée par individu actuellement suivi).
workout_stagelist[str]Étape actuelle de l'entraînement par suivi provenant d'AI Gym (une entrée par individu actuellement suivi).
pixels_distancefloatDistance en pixels entre deux objets ou points, par exemple des boîtes englobantes. (Adapté au calcul de distance.)
available_slotsintNombre de places inoccupées dans une zone surveillée (adapté à la gestion des parkings).
filled_slotsintNombre de places occupées dans une zone surveillée. (adapté à la gestion des parkings)
email_sentboolIndique si une notification ou un e-mail d'alerte a été envoyé avec succès (adapté aux alarmes de sécurité).
total_tracksintNombre total de suivis d'objets uniques observés pendant l'analyse vidéo.
region_countsDict[str, int]Nombre d'objets dans les régions ou zones définies par l'utilisateur.
speed_dictDict[str, float]Dictionnaire des vitesses d'objets calculées pour chaque suivi, utile pour l'analyse de la vitesse.
total_crop_objectsintNombre total d'images d'objets recadrés générées par la solution ObjectCropper.
speedDict[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#

Informations sur la commande

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 que show_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 path

Contribue à 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 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.

  • 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.

Commentaires