Ultralytics YOLO27 :
Get Started

Cartographie des objets avec VisionEye View et Ultralytics YOLO26#

Qu’est-ce que la cartographie des objets VisionEye ?#

Ultralytics YOLO26 VisionEye permet aux ordinateurs d’identifier et de localiser des objets, en simulant la précision de l’œil humain. Cette fonctionnalité permet aux ordinateurs de distinguer des objets spécifiques et de se concentrer sur eux, à la manière dont l’œil humain observe les détails depuis un point de vue particulier.

VisionEye object mapping with YOLO tracking

Cartographie des objets avec YOLO26#

VisionEye fixe un point d’observation unique dans l’image et trace un rayon depuis ce point jusqu’à chaque objet suivi, ce qui te permet de visualiser une scène depuis un point de vue donné. Définis vision_point avec les coordonnées en pixels de l’observateur, puis exécute la solution sur ta vidéo avec l’API Python ou la CLI.

Cartographie VisionEye avec Ultralytics YOLO
# Monitor objects position with visioneye
yolo solutions visioneye show=True

# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"

Arguments de VisionEye#

Voici un tableau des arguments de VisionEye :

ArgumentTypeValeur par défautDescription
modelstrNoneChemin vers un fichier de modèle Ultralytics YOLO.
vision_pointtuple[int, int](20, 20)Point où la vision suivra les objets et tracera des trajectoires avec la solution VisionEye.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution.
verboseboolTrueActive le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux.

Tu peux également utiliser différents arguments track dans la solution VisionEye :

ArgumentTypeValeur par défautDescription
trackerstr'tracktrack.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 l'union (IoU) utilisé pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats selon l'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.
imgszint or tuple640Taille cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle.
max_detint300Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses.
quantizeint or strNonePrécision de l'inférence : 16 (FP16) ou 32/non défini (FP32) pour les modèles PyTorch et TorchScript ; les autres formats utilisent la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'option obsolète half.

De plus, certains arguments de visualisation sont pris en charge, comme indiqué ci-dessous :

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 une indication du degré de certitude du modèle pour chaque détection.
show_labelsboolTrueAffiche les étiquettes de chaque détection dans le résultat visuel. Permet d'identifier immédiatement les objets détectés.

Fonctionnement de VisionEye#

VisionEye fonctionne en définissant un point de vue fixe dans l’image et en traçant des lignes depuis ce point vers les objets détectés. Cela simule la façon dont la vision humaine se concentre sur plusieurs objets depuis un seul point de vue. La solution utilise le suivi d’objets pour identifier les objets de manière cohérente d’une image à l’autre, créant ainsi une représentation visuelle de la relation spatiale entre l’observateur (point de vue) et les objets de la scène.

La méthode process de la classe VisionEye effectue plusieurs opérations clés :

  1. Extrait les trajectoires (boîtes englobantes, classes et ID de suivi) de l’image d’entrée
  2. Crée un annotateur pour dessiner les boîtes englobantes et les étiquettes
  3. Pour chaque objet détecté, dessine une étiquette de boîte et trace une ligne de vision depuis le point de vue
  4. Renvoie l’image annotée avec les statistiques de suivi

Cette approche est particulièrement utile pour les applications nécessitant une perception spatiale et la visualisation des relations entre objets, comme les systèmes de surveillance, la navigation autonome et les installations interactives.

Applications de VisionEye#

La cartographie des objets avec VisionEye offre de nombreuses applications pratiques dans divers secteurs :

  • Sécurité et surveillance : surveiller plusieurs objets d’intérêt depuis une position de caméra fixe
  • Analyse du commerce de détail : suivre les déplacements des clients par rapport aux présentoirs du magasin
  • Analyse sportive : analyser le positionnement et les déplacements des joueurs du point de vue d’un entraîneur
  • Véhicules autonomes : visualiser comment un véhicule « voit » les objets de son environnement et établit ses priorités
  • Interaction humain-machine : créer des interfaces plus intuitives qui réagissent aux relations spatiales

En combinant VisionEye à d’autres solutions Ultralytics, comme le calcul de distance ou l’estimation de vitesse, tu peux créer des systèmes complets qui suivent les objets tout en comprenant leurs relations spatiales et leurs comportements.

FAQ#

  • Pour commencer à utiliser la cartographie des objets VisionEye avec Ultralytics YOLO26, installe d’abord le package Ultralytics YOLO avec pip. Tu peux ensuite utiliser l’exemple de code fourni dans la documentation pour configurer la détection d’objets avec VisionEye. Voici un exemple simple pour te lancer :

    import cv2
    
    from ultralytics import solutions
    
    cap = cv2.VideoCapture("path/to/video.mp4")
    assert cap.isOpened(), "Error reading video file"
    
    # Écriture de la vidéo
    w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
    video_writer = cv2.VideoWriter("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
    
    # Initialiser l’objet VisionEye
    visioneye = solutions.VisionEye(
        show=True,  # afficher le résultat
        model="yolo26n.pt",  # utiliser n’importe quel modèle pris en charge par Ultralytics, par exemple yolo26s.pt
        classes=[0, 2],  # générer une vue VisionEye pour des classes spécifiques
    )
    
    # Traiter la vidéo
    while cap.isOpened():
        success, im0 = cap.read()
    
        if not success:
            print("Video frame is empty or video processing has been successfully completed.")
            break
    
        results = visioneye(im0)
    
        print(results)  # Accéder à la sortie
    
        video_writer.write(results.plot_im)  # écrire le fichier vidéo
    
    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()  # fermer toutes les fenêtres ouvertes
  • Ultralytics YOLO26 est réputé pour sa vitesse, sa précision et sa facilité d’intégration, ce qui en fait un excellent choix pour la cartographie et le suivi d’objets. Ses principaux avantages sont les suivants :

    1. Performances de pointe : offre une grande précision pour la détection d’objets en temps réel.
    2. Flexibilité : prend en charge la détection, le suivi et le calcul de distance dans un seul pipeline.
    3. Communauté et assistance : documentation complète et communauté GitHub active pour le dépannage et les améliorations.
    4. Facilité d’utilisation : son API intuitive simplifie les tâches complexes et permet un déploiement et des itérations rapides.

    Pour en savoir plus sur les applications et les avantages, consulte la documentation Ultralytics YOLO26.

  • Ultralytics YOLO26 s’intègre facilement à différents outils d’apprentissage automatique comme Comet et ClearML, améliorant le suivi des expériences, la collaboration et la reproductibilité. Consulte les guides détaillés sur l’intégration de YOLO26 avec Comet et l’intégration de YOLO26 avec ClearML pour commencer.

    Pour découvrir d’autres exemples d’intégration, consulte notre guide des intégrations Ultralytics.

Commentaires