Passer au contenu

Solutions Ultralytics : Exploitez YOLO11 pour résoudre des problèmes du monde réel

Les solutions Ultralytics offrent des applications de pointe des modèles YOLO, proposant des solutions concrètes telles que 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écouvrez la puissance de YOLO11 pour des implémentations pratiques et percutantes.

Miniature des solutions Ultralytics



Regarder : Comment exécuter les solutions Ultralytics à partir de la ligne de commande (CLI) | Ultralytics YOLO11 🚀

Solutions

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

  • Comptage d'objets : Apprenez à effectuer le comptage d'objets en temps réel avec YOLO11. Acquérir l'expertise nécessaire pour compter avec précision les objets dans les flux vidéo en direct.
  • Recadrage d'objets : Maîtrisez le recadrage d'objets avec YOLO11 pour une extraction précise des objets à partir d'images et de vidéos.
  • Floutage d'objets : Appliquez le floutage d'objets à l'aide de YOLO11 pour protéger la confidentialité dans le traitement des images et des vidéos.
  • Workouts Monitoring : Découvrez comment surveiller les entraînements à l'aide de YOLO11. Apprenez à suivre et à analyser diverses routines de remise en forme en temps réel.
  • Comptage d'objets dans les régions: Comptez les objets dans des régions spécifiques à l'aide de YOLO11 pour une détection précise dans des zones variées.
  • Système d'alarme de sécurité : Créez un système d'alarme de sécurité avec YOLO11 qui déclenche des alertes lors de la détection de nouveaux objets. Personnalisez le système pour qu'il réponde à vos besoins spécifiques.
  • Cartes thermiques : Utilisez des cartes thermiques de détection pour visualiser l'intensité des données à travers une matrice, fournissant ainsi des informations claires dans les tâches de vision par ordinateur.
  • Segmentation d'instance avec suivi d'objet : implémentez la segmentation d'instance et le suivi d'objet avec YOLO11 pour obtenir des limites d'objet précises et une surveillance continue.
  • VisionEye View Objects Mapping : Développez des systèmes qui imitent la focalisation de l'œil humain sur des objets spécifiques, améliorant ainsi la capacité de l'ordinateur à discerner et à hiérarchiser les détails.
  • Estimation de la vitesse : Estimez la vitesse des objets à l'aide de YOLO11 et des techniques de suivi d'objets, ce qui est essentiel pour les applications telles que les véhicules autonomes et la surveillance du trafic.
  • Calcul de distance : Calculez les distances entre les objets à l'aide des centroïdes de la boîte englobante dans YOLO11, ce qui est essentiel pour l'analyse spatiale.
  • Gestion des files d'attente : Mettez en œuvre des systèmes efficaces de gestion des files d'attente pour minimiser les temps d'attente et améliorer la productivité à l'aide de YOLO11.
  • Gestion du stationnement : Organisez et dirigez le flux de véhicules dans les zones de stationnement avec YOLO11, en optimisant l'utilisation de l'espace et l'expérience utilisateur.
  • Analytique : Effectuez une analyse complète des données pour découvrir des tendances et prendre des décisions éclairées, en tirant parti de YOLO11 pour l'analytique descriptive, prédictive et prescriptive.
  • Inférence en direct avec Streamlit : Tirez parti de la puissance de YOLO11 pour la détection d'objets en temps réel directement via votre navigateur Web grâce à une interface Streamlit conviviale.
  • Suivre les objets dans la zone : Apprenez à suivre les objets dans des zones spécifiques des trames vidéo à l'aide de YOLO11 pour une surveillance précise et efficace.
  • Recherche de similarité 🚀 NOUVEAU : Activez la recherche intelligente d'images en combinant les embeddings OpenAI CLIP avec Meta FAISS, ce qui permet d'effectuer des requêtes en langage naturel telles que « personne tenant un sac » ou « véhicules en mouvement ».

Arguments des solutions

ArgumentTypePar défautDescription
modelstrNoneChemin d'accès à un fichier modèle Ultralytics YOLO .
regionlist'[(20, 400), (1260, 400)]'Liste des points définissant la région de comptage.
show_inboolTrueIndicateur pour contrôler l'affichage des comptes entrants sur le flux vidéo.
show_outboolTrueIndicateur pour contrôler l'affichage des comptes sortants sur le flux vidéo.
analytics_typestrlineType de graphe, c'est-à-dire, line, bar, area, ou pie.
colormapintcv2.COLORMAP_JETPalette de couleurs à utiliser pour la carte thermique.
json_filestrNoneChemin d'accès au fichier JSON qui contient toutes les données de coordonnées de stationnement.
up_anglefloat145.0Seuil d'angle pour la pose 'haute'.
kptslist[int, int, int]'[6, 8, 10]'Liste des points clés utilisés pour surveiller les entraînements. Ces points clés correspondent aux articulations ou parties du corps, telles que les épaules, les coudes et les poignets, pour des exercices comme les pompes, les tractions, les squats, les exercices abdominaux.
down_anglefloat90.0Seuil d'angle pour la pose 'basse'.
blur_ratiofloat0.5Ajuste le pourcentage d'intensité du flou, avec des valeurs comprises 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 des chemins à l'aide de VisionEye Solution.
sourcestrNoneChemin d'accès à la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) Solutions.
figsizetuple[int, int](12.8, 7.2)Taille de la figure pour les graphiques d'analyse tels que les cartes thermiques ou les graphiques.
fpsfloat30.0Images par seconde utilisées pour les calculs de vitesse.
max_histint5Nombre maximal de points historiques à 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 du monde réel.
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

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

ArgumentTypePar défautDescription
trackerstr'botsort.yaml'Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml.
conffloat0.3Définit le seuil de confiance pour les détections ; des valeurs plus basses permettent de suivre plus d'objets, mais peuvent inclure de faux positifs.
ioufloat0.5Définit le seuil Intersection sur 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 périphériques de calcul pour l'exécution du modèle.

Arguments de visualisation

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

ArgumentTypePar défautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat pendant le développement ou les tests.
line_widthNone or intNoneSpécifie la largeur de ligne des boîtes englobantes. Si None, la largeur 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 le principal Annotator class, et ont les méthodes suivantes :

MéthodeType de retourDescription
draw_region()NoneDessine une région en utilisant les points, les couleurs et l'épaisseur spécifiés.
queue_counts_display()NoneAffiche le nombre de files d'attente dans la région spécifiée.
display_analytics()NoneAffiche les statistiques globales pour la gestion du stationnement.
estimate_pose_angle()floatCalcule l'angle entre trois points dans une pose d'objet.
draw_specific_points()NoneDessine des points clés spécifiques sur l'image.
plot_workout_information()NoneDessine une zone de texte étiquetée sur l'image.
plot_angle_and_count_and_stage()NoneVisualise l'angle, le nombre de pas et l'étape pour la surveillance de l'entraînement.
plot_distance_and_line()NoneAffiche la distance entre les centroïdes et les relie par une ligne.
display_objects_labels()NoneAnnoter les cadres de délimitation avec les étiquettes de classe d’objet.
sweep_annotator()NoneVisualiser une ligne de balayage verticale et une étiquette facultative.
visioneye()NoneMappe et connecte les centroïdes d'objets à un point "d'œil" visuel.
adaptive_label()NoneDessinez une forme d'arrière-plan circulaire ou rectangulaire au centre d'une boîte englobante.

Travailler avec SolutionResults

Sauf Similarity Search, chaque appel de Solution renvoie une liste de SolutionResults objet.

  • 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="yolo11n.pt",  # model="yolo11n-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

SolutionResults objet possède 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 le nombre d'objets entrants/sortants par classe pour une analyse avancée.
queue_countintNombre d'objets actuellement dans une file d'attente ou une zone d'attente prédéfinie (convient à la gestion des files d'attente).
workout_countintNombre total de répétitions d'entraînement effectuées lors du suivi d'exercice.
workout_anglefloatCalcul de l'angle des articulations ou de la posture pendant l'entraînement pour l'évaluation de la forme.
workout_stagestrPhase actuelle de l’entraînement ou phase de mouvement (p. ex., « haut », « bas »).
pixels_distancefloatDistance en pixels entre deux objets ou points, par exemple, des boîtes englobantes (convient au calcul de distance).
available_slotsintNombre d'emplacements inoccupés dans une zone surveillée (convient à la gestion du stationnement).
filled_slotsintNombre d'emplacements occupés dans une zone surveillée (convient à la gestion du stationnement).
email_sentboolIndique si un e-mail de notification ou d'alerte a été envoyé avec succès (convient pour une alarme de sécurité).
total_tracksintNombre total de suivis d'objets uniques observés lors de l'analyse vidéo.
region_countsDict[str, int]Nombre d'objets dans des régions ou des zones définies par l'utilisateur.
speed_dictDict[str, float]Dictionnaire par suivi des vitesses d'objet calculées, utile pour l'analyse de la 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 mesures de performance pour le suivi et le traitement des solutions.

Pour plus de détails, consultez le SolutionResults documentation de la classe.

Utilisation des solutions via CLI

Informations sur la commande

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

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

Syntaxe

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

Contribuer à nos solutions

Nous encourageons les contributions de la communauté ! Si vous maîtrisez un aspect particulier d'Ultralytics YOLO qui n'est pas encore couvert dans nos solutions, nous vous encourageons à partager votre expertise. La rédaction d'un guide est un excellent moyen de redonner à la communauté et de nous aider à rendre notre documentation plus complète et conviviale.

Pour commencer, veuillez lire notre Guide de contribution pour connaître les directives sur la manière d'ouvrir une demande dePull Request (PR) 🛠️. Nous attendons vos contributions avec impatience !

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 YOLO11 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. Vous pouvez suivre notre guide détaillé sur le Comptage d'objets pour configurer YOLO11 pour l'analyse de flux vidéo en direct. Installez simplement YOLO11, chargez votre modèle et traitez les trames vidéo pour compter les objets de manière dynamique.

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

Ultralytics YOLO11 améliore les systèmes de sécurité en offrant une détection d'objets en temps réel et des mécanismes d'alerte. En utilisant YOLO11, vous pouvez 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. Découvrez comment configurer un Système d'alarme de sécurité avec YOLO11 pour une surveillance de sécurité robuste.

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

Ultralytics YOLO11 peut améliorer considérablement les systèmes de gestion des files d'attente en comptant et en suivant avec précision les personnes dans les files d'attente, contribuant ainsi à réduire les temps d'attente et à optimiser l'efficacité du service. Suivez notre guide détaillé sur la Gestion des files d'attente pour apprendre à implémenter YOLO11 pour une surveillance et une analyse efficaces des files d'attente.

Peut-on utiliser Ultralytics YOLO pour le suivi d'entraînements ?

Oui, Ultralytics YOLO11 peut être utilisé efficacement pour la surveillance des séances d'entraînement en suivant et en analysant les routines de fitness en temps réel. Cela permet une évaluation précise de la forme et des performances de l'exercice. Explorez notre guide sur la Surveillance des séances d'entraînement pour apprendre à configurer un système de surveillance des séances d'entraînement basé sur l'IA en utilisant YOLO11.

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

Ultralytics YOLO11 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. Apprenez-en davantage sur la création et l'utilisation de Cartes thermiques avec YOLO11 pour une analyse et une visualisation complètes des données.



📅C réé il y a 1 an ✏️ Mis à jour il y a 3 jours
RizwanMunawarglenn-jocherLaughing-qUltralyticsAssistant

Commentaires