Skip to content

Calcul de la distance Ă  l'aide de Ultralytics YOLO11

Qu'est-ce que le calcul de la distance ?

La mesure de l'écart entre deux objets est connue sous le nom de calcul de la distance dans un espace spécifié. Dans le cas de Ultralytics YOLO11le centroïde de la boîte englobante est utilisé pour calculer la distance pour les boîtes englobantes mises en évidence par l'utilisateur.



Regarder : Calcul de la distance Ă  l'aide de Ultralytics YOLO11

Visuels

Calcul de la distance Ă  l'aide de Ultralytics YOLO11
Ultralytics YOLO11 Calcul de la distance

Avantages du calcul de la distance ?

  • PrĂ©cision de la localisation : AmĂ©liore la prĂ©cision du positionnement spatial dans les tâches de vision par ordinateur.
  • Estimation de la taille : Permet d'estimer la taille de l'objet pour une meilleure comprĂ©hension du contexte.
Calcul de la distance
  • Cliquez avec le bouton gauche de la souris sur deux boĂ®tes de dĂ©limitation quelconques pour calculer la distance.

Calcul de la distance Ă  l'aide de YOLO11 Exemple

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = distance.calculate(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
Note
  • Le clic droit de la souris supprime tous les points dessinĂ©s
  • Le clic gauche de la souris peut ĂŞtre utilisĂ© pour dessiner des points.
La distance est estimée
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.

Arguments DistanceCalculation()

Name Type Default Description
model str None Chemin d'accès au fichier modèle Ultralytics YOLO
line_width int 2 Épaisseur du trait pour les cadres de délimitation.
show bool False Indicateur permettant de contrôler l'affichage ou non du flux vidéo.

Arguments model.track

Argument Type DĂ©faut Description
source str None Spécifie le répertoire source pour les images ou les vidéos. Prend en charge les chemins d'accès aux fichiers et les URL.
persist bool False Permet un suivi persistant des objets entre les images, en conservant les identifiants sur l'ensemble des séquences vidéo.
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 faibles permettent de suivre plus d'objets mais peuvent inclure des faux positifs.
iou float 0.5 Définit le seuil d'intersection sur l'union (IoU) pour le filtrage des détections qui se chevauchent.
classes list None Filtre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
verbose bool True Contrôle l'affichage des résultats du suivi, fournissant une sortie visuelle des objets suivis.

FAQ

Comment calculer les distances entre les objets en utilisant Ultralytics YOLO11 ?

Calculer les distances entre les objets à l'aide de Ultralytics YOLO11vous devez identifier les centroïdes de la boîte englobante des objets détectés. Ce processus implique l'initialisation du DistanceCalculation de Ultralytics' solutions et en utilisant les données de suivi du modèle pour calculer les distances. Vous pouvez vous référer à la mise en œuvre dans le exemple de calcul de distance.

Quels sont les avantages de l'utilisation du calcul de la distance avec Ultralytics YOLO11 ?

L'utilisation du calcul de distance avec Ultralytics YOLO11 offre plusieurs avantages :

  • PrĂ©cision de la localisation : Fournit un positionnement spatial prĂ©cis des objets.
  • Estimation de la taille : Aide Ă  estimer les tailles physiques, contribuant ainsi Ă  une meilleure comprĂ©hension du contexte.
  • ComprĂ©hension de la scène : AmĂ©liore la comprĂ©hension des scènes en 3D, ce qui permet d'amĂ©liorer la prise de dĂ©cision dans des applications telles que la conduite autonome et la surveillance.

Puis-je effectuer un calcul de distance dans des flux vidéo en temps réel avec Ultralytics YOLO11 ?

Oui, vous pouvez calculer la distance dans des flux vidéo en temps réel avec Ultralytics YOLO11 . Le processus consiste à capturer des images vidéo à l'aide de OpenCV, en cours d'exécution YOLO11 détection d'objetset en utilisant le DistanceCalculation pour calculer les distances entre les objets dans des images successives. Pour une implémentation détaillée, voir la page exemple de flux vidéo.

Comment supprimer les points dessinés lors du calcul de la distance à l'aide de Ultralytics YOLO11 ?

Pour effacer les points dessinés pendant le calcul de la distance avec Ultralytics YOLO11 , vous pouvez utiliser un clic droit de la souris. Cette action effacera tous les points que vous avez dessinés. Pour plus de détails, reportez-vous à la section note sous l'exemple de calcul de distance.

Quels sont les arguments clés pour initialiser la classe DistanceCalculation dans Ultralytics YOLO11 ?

Les arguments clés pour l'initialisation du DistanceCalculation dans Ultralytics YOLO11 incluent :

  • model: Chemin du fichier modèle.
  • show: Drapeau indiquant si le flux vidĂ©o doit ĂŞtre affichĂ©.
  • line_width: Épaisseur de la boĂ®te de dĂ©limitation et des lignes dessinĂ©es sur l'image.

Pour une liste exhaustive et les valeurs par défaut, voir les arguments de DistanceCalculation.

📅C réé il y a 11 mois ✏️ Mis à jour il y a 1 mois

Commentaires