Solutions Ultralytics : exploite YOLO26 pour résoudre des problèmes du monde réel

Les Solutions Ultralytics fournissent des applications de pointe des modèles YOLO, en offrant des solutions concrètes comme le comptage d'objets, le floutage et les systèmes de sécurité, améliorant ainsi l'efficacité et la précision dans divers secteurs. Découvre la puissance de YOLO26 pour des implémentations pratiques et efficaces.

Vignette des Solutions Ultralytics



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Solutions

Voici notre liste organisée de solutions Ultralytics qui peuvent être utilisées pour créer des projets impressionnants de vision par ordinateur.

  • Analytics : effectue une analyse de données complète 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 les objets en utilisant les centroïdes de boîtes englobantes dans YOLO26, essentiel pour l'analyse spatiale.
  • Cartes de chaleur : utilise des cartes de chaleur de détection pour visualiser l'intensité des données à travers une matrice, offrant des perspectives claires dans les tâches de vision par ordinateur.
  • Segmentation d'instance avec suivi d'objet : implémente la segmentation d'instance et le suivi d'objet avec YOLO26 pour obtenir des frontières d'objets précises et une surveillance continue.
  • Inférence en direct avec Streamlit : tire parti de la puissance de YOLO26 pour la détection d'objets en temps réel directement via ton navigateur web avec une interface Streamlit conviviale.
  • Floutage d'objet : applique le floutage d'objet en utilisant YOLO26 pour protéger la confidentialité dans le traitement d'images et de vidéos.
  • Comptage d'objets : apprends à effectuer un comptage d'objets en temps réel avec YOLO26. Acquiers l'expertise nécessaire pour 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 en utilisant YOLO26 pour une détection précise dans des espaces variés.
  • Recadrage d'objet : maîtrise le recadrage d'objet avec YOLO26 pour une extraction précise d'objets à partir d'images et de vidéos.
  • Gestion de parking : organise et dirige le flux de véhicules dans les zones de stationnement avec YOLO26, en optimisant l'utilisation de l'espace et l'expérience utilisateur.
  • Gestion de file d'attente : implémente des systèmes de gestion de file d'attente efficaces pour minimiser les temps d'attente et améliorer la productivité en utilisant 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 lors de la détection de nouveaux objets. Personnalise le système pour répondre à tes besoins spécifiques.
  • Recherche de similarité : active la recherche intelligente d'images en combinant les embeddings OpenAI CLIP avec Meta FAISS, permettant des requêtes en langage naturel telles que "personne tenant un sac" ou "véhicules en mouvement."
  • Estimation de vitesse : estime la vitesse des objets en utilisant YOLO26 et des techniques de suivi d'objet, crucial pour des applications comme les véhicules autonomes et la surveillance du trafic.
  • Suivi d'objets dans une zone : apprends à suivre les objets dans des zones spécifiques des images vidéo en utilisant YOLO26 pour une surveillance précise et efficace.
  • VisionEye View Objects Mapping : développe des systèmes qui imitent la focalisation de l'œil humain sur des objets spécifiques, améliorant la capacité de l'ordinateur à discerner et hiérarchiser les détails.
  • Suivi d'entraînement : découvre comment surveiller les entraînements avec YOLO26. Apprends à suivre et à analyser diverses routines de fitness en temps réel.

Arguments des Solutions

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Liste de points définissant la zone de comptage.
show_inboolTrueDrapeau pour contrôler si les comptes entrants doivent être affichés sur le flux vidéo.
show_outboolTrueDrapeau pour contrôler si les comptes sortants doivent être affichés sur le flux vidéo.
analytics_typestr'line'Type de graphique, par ex. line, bar, area ou pie.
colormapintcv2.COLORMAP_DEEPGREENPalette de couleurs à utiliser pour la carte thermique.
json_filestrNoneChemin d'accès vers le fichier JSON qui contient toutes les données de coordonnées 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 surveiller les entraînements. Ces points clés correspondent aux articulations ou aux parties du corps, comme les épaules, les coudes et les poignets, pour des exercices tels que les pompes, les tractions, les squats et les abdominaux.
down_angleint90Seuil d'angle pour la pose 'vers le bas'.
blur_ratiofloat0.5Ajuste le pourcentage d'intensité du flou, avec des valeurs dans la plage 0.1 - 1.0.
crop_dirstr'cropped-detections'Nom du répertoire pour stocker les détections recadrées.
recordsint5Nombre total de détections pour déclencher un e-mail avec le système d'alarme de sécurité.
vision_pointtuple[int, int](20, 20)Le point où la vision suivra les objets et dessinera les chemins en utilisant la solution VisionEye.
sourcestrNoneChemin d'accès vers la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) de Solutions.
figsizetuple[int, int](12.8, 7.2)Taille de la figure pour les graphiques analytiques tels que les cartes thermiques ou les graphiques linéaires.
fpsfloat30.0Images par seconde utilisées pour les calculs de vitesse.
max_histint5Points historiques maximaux à suivre par objet pour les calculs de vitesse/direction.
meter_per_pixelfloat0.05Facteur d'échelle utilisé pour convertir la distance en pixels en unités réelles.
max_speedint120Limite de vitesse maximale dans les superpositions visuelles (utilisée dans les alertes).
datastr'images'Chemin d'accès au répertoire d'images utilisé pour la recherche de similarité.
Arguments de suivi (track)

Les Solutions prennent également en charge certains arguments de track, incluant des paramètres tels que conf, line_width, tracker, model, show, verbose et classes.

ArgumentTypeDéfautDescription
trackerstr'botsort.yaml'Spécifie l'algorithme de suivi à utiliser, par exemple bytetrack.yaml ou botsort.yaml.
conffloat0.1Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre davantage d'objets mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil Intersection over Union (IoU) pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées.
verboseboolTrueContrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis.
devicestrNoneSpécifie le périphérique pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet aux utilisateurs de choisir entre le CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle.
Arguments de visualisation

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

ArgumentTypeDéfautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat lors du développement ou des tests.
line_widthint or NoneNoneSpécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur de ligne est automatiquement ajustée en fonction de la taille de l'image. Fournit une personnalisation visuelle pour plus de clarté.
show_confboolTrueAffiche le score de confiance pour chaque détection à côté de l'étiquette. Donne un aperçu de la certitude du modèle pour chaque détection.
show_labelsboolTrueAffiche les étiquettes pour chaque détection dans la sortie visuelle. Fournit une compréhension immédiate des objets détectés.

Utilisation de SolutionAnnotator

Toutes les Solutions Ultralytics utilisent la classe séparée SolutionAnnotator, qui étend la classe principale Annotator, et possèdent les méthodes suivantes :

MéthodeType de retourDescription
draw_region()NoneDessine une région en utilisant les points, couleurs et épaisseurs spécifiés.
queue_counts_display()NoneAffiche les comptages de file d'attente dans la région spécifiée.
display_analytics()NoneAffiche les statistiques globales pour la gestion de parking.
estimate_pose_angle()floatCalcule l'angle entre trois points dans la pose d'un objet.
draw_specific_points()NoneDessine des points clés spécifiques sur l'image.
plot_workout_information()NoneDessine une boîte de texte étiquetée sur l'image.
plot_angle_and_count_and_stage()NoneVisualise l'angle, le nombre de répétitions et l'étape pour le suivi d'entraînement.
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 de classe des objets.
sweep_annotator()NoneVisualise une ligne de balayage verticale et une étiquette optionnelle.
visioneye()NoneCartographie et connecte les centroïdes des objets à un point visuel "œil".
adaptive_label()NoneDessine une étiquette avec un arrière-plan circulaire ou rectangulaire au centre d'une boîte englobante.

Travailler avec SolutionResults

Except Similarity Search, each Solution call returns a list of SolutionResults objects.

  • 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

Les objets SolutionResults ont les attributs suivants :

AttributTypeDescription
plot_imnp.ndarrayImage avec des superpositions visuelles telles que des comptages, des effets de flou ou des améliorations spécifiques à la solution.
in_countintNombre total d'objets détectés entrant dans la zone définie dans le flux vidéo.
out_countintNombre total d'objets détectés sortant de la zone définie dans le flux vidéo.
classwise_countDict[str, int]Dictionnaire enregistrant les comptages d'objets entrants/sortants par classe pour des analyses avancées.
queue_countintNombre d'objets actuellement dans une file d'attente ou une zone d'attente prédéfinie (adapté pour la gestion de file d'attente).
workout_countintNombre total de répétitions d'entraînement effectuées pendant le suivi d'exercice.
workout_anglefloatAngle de l'articulation ou de la pose calculé pendant l'entraînement pour l'évaluation de la forme.
workout_stagestrÉtape de l'entraînement actuel ou phase de mouvement (par exemple, 'haut', 'bas').
pixels_distancefloatDistance en pixels entre deux objets ou points, par exemple des boîtes englobantes. (Adapté pour le calcul de distance).
available_slotsintNombre d'emplacements inoccupés dans une zone surveillée (adapté pour la gestion de parking).
filled_slotsintNombre d'emplacements occupés dans une zone surveillée. (Adapté pour la gestion de parking)
email_sentboolIndique si un e-mail de notification ou d'alerte a été envoyé avec succès (adapté pour l'alarme de sécurité).
total_tracksintNombre total de suivis d'objets uniques observés lors de l'analyse vidéo.
region_countsDict[str, int]Comptages d'objets au sein de régions ou zones définies par l'utilisateur.
speed_dictDict[str, float]Dictionnaire par suivi des vitesses d'objets calculées, utile pour l'analyse de vélocité.
total_crop_objectsintNombre total d'images d'objets recadrées générées par la solution ObjectCropper.
speedDict[str, float]Dictionnaire contenant les métriques de performance pour le suivi et le traitement des solutions.

Pour plus de détails, réfère-toi à la documentation de la classe SolutionResults.

Utilisation des solutions via CLI

Informations sur la commande

La plupart des solutions peuvent être utilisées directement via l'interface en ligne de commande, notamment :

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference, Trackzone

Syntaxe

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS est un mot-clé obligatoire.
  • SOLUTION_NAME est l'un des suivants : ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye'].
  • ARGS (facultatif) sont des paires arg=value personnalisées, telles que show_in=True, pour 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 conviviale.

Pour commencer, lis notre Guide de contribution pour obtenir des directives sur la façon d'ouvrir une Pull Request (PR) 🛠️. Nous avons hâte de voir tes contributions !

Travaillons ensemble pour rendre l'écosystème Ultralytics YOLO plus robuste et polyvalent 🙏 !

FAQ

Comment puis-je utiliser Ultralytics YOLO pour le comptage d'objets en temps réel ?

Ultralytics YOLO26 peut être utilisé pour le comptage d'objets en temps réel en tirant parti de 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 pour l'analyse de flux vidéo en direct. Installe simplement YOLO26, charge ton modèle et traite les images vidéo pour compter les objets dynamiquement.

Quels sont les avantages d'utiliser Ultralytics YOLO pour les systèmes de sécurité ?

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. En utilisant 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 de surveillance. Apprends comment configurer un Système d'alarme de sécurité avec YOLO26 pour une surveillance robuste.

Comment Ultralytics YOLO peut-il améliorer les systèmes de gestion de files d'attente ?

Ultralytics YOLO26 peut améliorer considérablement les systèmes de gestion de files d'attente en comptant et en suivant avec précision les personnes dans les files, aidant ainsi à 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 à implémenter YOLO26 pour un suivi et une analyse efficaces des files.

Ultralytics YOLO peut-il être utilisé pour le suivi des entraînements ?

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 une évaluation précise de la forme et de la performance des exercices. Explore notre guide sur le Suivi des entraînements pour apprendre à configurer un système de surveillance d'entraînement assisté par IA utilisant YOLO26.

Comment Ultralytics YOLO aide-t-il à créer des cartes thermiques pour la visualisation de données ?

Ultralytics YOLO26 peut générer des cartes thermiques pour visualiser l'intensité des données sur une zone donnée, mettant en évidence les régions de forte activité ou d'intérêt. Cette fonctionnalité est particulièrement utile pour comprendre les modèles et les tendances dans diverses tâches de vision par ordinateur. Apprends-en davantage sur la création et l'utilisation de Cartes thermiques avec YOLO26 pour une analyse et une visualisation complètes des données.

Commentaires