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 des régions : Comptez les objets dans des régions spécifiques à l'aide de YOLO11 pour une détection précise dans différentes zones.
  • 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

Argument Type Par défaut Description
model str None Chemin d'accès au fichier de modèle Ultralytics YOLO.
region list '[(20, 400), (1260, 400)]' Liste des points définissant la région de comptage.
show_in bool True Indicateur pour contrôler l'affichage des comptes entrants sur le flux vidéo.
show_out bool True Indicateur pour contrôler l'affichage des comptes sortants sur le flux vidéo.
analytics_type str line Type de graphe, c'est-à-dire, line, bar, area, ou pie.
colormap int cv2.COLORMAP_JET Palette de couleurs à utiliser pour la carte thermique.
json_file str None Chemin d'accès au fichier JSON qui contient toutes les données de coordonnées de stationnement.
up_angle float 145.0 Seuil d'angle pour la pose 'haute'.
kpts list[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_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 pour stocker les détections recadrées.
records int 5 Nombre total de détections pour déclencher un e-mail avec le système d'alarme de sécurité.
vision_point tuple[int, int] (20, 20) Le point où la vision suivra les objets et dessinera des chemins à l'aide de VisionEye Solution.
source str None Chemin d'accès à la source d'entrée (vidéo, RTSP, etc.). Utilisable uniquement avec l'interface de ligne de commande (CLI) Solutions.
figsize tuple[int, int] (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 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/direction.
meter_per_pixel float 0.05 Facteur d'échelle utilisé pour convertir la distance en pixels en unités du monde réel.
max_speed int 120 Limite de vitesse maximale dans les superpositions visuelles (utilisée dans les alertes).
data str '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.

Argument Type Par défaut Description
tracker str 'botsort.yaml' Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml.
conf float 0.3 Dé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.
iou float 0.5 Définit le seuil Intersection sur Union (IoU) pour filtrer les détections qui se chevauchent.
classes list None Filtre les résultats par index de classe. Par exemple, classes=[0, 2, 3] suit uniquement les classes spécifiées.
verbose bool True Contrôle l'affichage des résultats de suivi, fournissant une sortie visuelle des objets suivis.
device str None Spé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.

Argument Type Par défaut Description
show bool False Si 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_width None or int None Spé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_conf bool True Affiche 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_labels bool True Affiche 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éthode Type de retour Description
draw_region() None Dessine une région en utilisant les points, les couleurs et l'épaisseur spécifiés.
queue_counts_display() None Affiche le nombre de files d'attente dans la région spécifiée.
display_analytics() None Affiche les statistiques globales pour la gestion du stationnement.
estimate_pose_angle() float Calcule l'angle entre trois points dans une pose d'objet.
draw_specific_points() None Dessine des points clés spécifiques sur l'image.
plot_workout_information() None Dessine une zone de texte étiquetée sur l'image.
plot_angle_and_count_and_stage() None Visualise l'angle, le nombre de pas et l'étape pour la surveillance de l'entraînement.
plot_distance_and_line() None Affiche la distance entre les centroïdes et les relie par une ligne.
display_objects_labels() None Annoter les cadres de délimitation avec les étiquettes de classe d’objet.
sweep_annotator() None Visualiser une ligne de balayage verticale et une étiquette facultative.
visioneye() None Mappe et connecte les centroïdes d'objets à un point "d'œil" visuel.
adaptive_label() None Dessinez 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 :

Attribut Type Description
plot_im np.ndarray Image avec des superpositions visuelles telles que des comptages, des effets de flou ou des améliorations spécifiques à la solution.
in_count int Nombre total d'objets détectés entrant dans la zone définie dans le flux vidéo.
out_count int Nombre total d'objets détectés sortant de la zone définie dans le flux vidéo.
classwise_count Dict[str, int] Dictionnaire enregistrant le nombre d'objets entrants/sortants par classe pour une analyse avancée.
queue_count int Nombre d'objets actuellement dans une file d'attente ou une zone d'attente prédéfinie (convient à la gestion des files d'attente).
workout_count int Nombre total de répétitions d'entraînement effectuées lors du suivi d'exercice.
workout_angle float Calcul de l'angle des articulations ou de la posture pendant l'entraînement pour l'évaluation de la forme.
workout_stage str Phase actuelle de l’entraînement ou phase de mouvement (p. ex., « haut », « bas »).
pixels_distance float Distance en pixels entre deux objets ou points, par exemple, des boîtes englobantes (convient au calcul de distance).
available_slots int Nombre d'emplacements inoccupés dans une zone surveillée (convient à la gestion du stationnement).
filled_slots int Nombre d'emplacements occupés dans une zone surveillée (convient à la gestion du stationnement).
email_sent bool Indique si un e-mail de notification ou d'alerte a été envoyé avec succès (convient pour une alarme de sécurité).
total_tracks int Nombre total de suivis d'objets uniques observés lors de l'analyse vidéo.
region_counts Dict[str, int] Nombre d'objets dans des régions ou des zones définies par l'utilisateur.
speed_dict Dict[str, float] Dictionnaire par suivi des vitesses d'objet calculées, utile pour l'analyse de la vélocité.
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 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 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.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 1 mois

Commentaires