Skip to content

Estimation de la vitesse à l'aide de Ultralytics YOLO11 🚀

Qu'est-ce que l'estimation de la vitesse ?

L'estimation de la vitesse est le processus de calcul de la vitesse de déplacement d'un objet dans un contexte donné, souvent utilisé dans les applications de vision par ordinateur. En utilisant Ultralytics YOLO11 vous pouvez désormais calculer la vitesse d'un objet en utilisant le suivi d'objet ainsi que des données de distance et de temps, ce qui est crucial pour des tâches telles que la circulation et la surveillance. La précision de l'estimation de la vitesse influe directement sur l'efficacité et la fiabilité de diverses applications, ce qui en fait un élément clé de l'avancement des systèmes intelligents et des processus de prise de décision en temps réel.



Regarder : Estimation de la vitesse Ă  l'aide de Ultralytics YOLO11

Consultez notre blog

Pour en savoir plus sur l'estimation de la vitesse, consultez notre article de blog : Ultralytics YOLO11 pour l'estimation de la vitesse dans les projets de vision par ordinateur.

Avantages de l'estimation de la vitesse ?

  • ContrĂ´le efficace du trafic : Une estimation prĂ©cise de la vitesse permet de gĂ©rer le flux du trafic, d'amĂ©liorer la sĂ©curitĂ© et de rĂ©duire la congestion sur les routes.
  • Navigation autonome prĂ©cise : Dans les systèmes autonomes tels que les voitures auto-conduites, une estimation fiable de la vitesse garantit une navigation sĂ»re et prĂ©cise du vĂ©hicule.
  • AmĂ©lioration de la sĂ©curitĂ© de la surveillance : L'estimation de la vitesse dans l'analyse de la surveillance permet d'identifier les comportements inhabituels ou les menaces potentielles, amĂ©liorant ainsi l'efficacitĂ© des mesures de sĂ©curitĂ©.

Applications dans le monde réel

Transport Transport
Estimation de la vitesse sur route Ă  l'aide de Ultralytics YOLO11 Estimation de la vitesse sur un pont Ă  l'aide de Ultralytics YOLO11
Estimation de la vitesse sur route Ă  l'aide de Ultralytics YOLO11 Estimation de la vitesse sur un pont Ă  l'aide de Ultralytics YOLO11

Estimation de la vitesse Ă  l'aide de YOLO11 Exemple

# Run a speed example
yolo solutions speed show=True

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

# Pass region coordinates
yolo solutions speed region=[(20, 400), (1080, 400), (1080, 360), (20, 360)]
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("speed_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Define speed region points
speed_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

speed = solutions.SpeedEstimator(
    show=True,  # Display the output
    model="yolo11n-pose.pt",  # Path to the YOLO11 model file.
    region=speed_region,  # Pass region points
    # classes=[0, 2],  # If you want to estimate speed of specific classes.
    # line_width=2,  # Adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if success:
        out = speed.estimate_speed(im0)
        video_writer.write(im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
        continue

    print("Video frame is empty or video processing has been successfully completed.")
    break

cap.release()
cv2.destroyAllWindows()
La vitesse est une estimation

La vitesse est une estimation et peut ne pas ĂŞtre tout Ă  fait exacte. En outre, l'estimation peut varier en fonction de la vitesse de GPU .

Arguments SpeedEstimator

Nom Type DĂ©faut Description
model str None Chemin d'accès au fichier modèle Ultralytics YOLO
region list [(20, 400), (1260, 400)] Liste des points définissant la région de comptage.
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 estimer la vitesse d'un objet Ă  l'aide de Ultralytics YOLO11 ?

L'estimation de la vitesse des objets avec Ultralytics YOLO11 implique de combiner les techniques de détection et de suivi des objets. Tout d'abord, vous devez détecter les objets dans chaque image à l'aide du modèle YOLO11 . Ensuite, suivez ces objets d'une image à l'autre pour calculer leur mouvement dans le temps. Enfin, utilisez la distance parcourue par l'objet entre les images et la fréquence des images pour estimer sa vitesse.

Exemple:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video/file.mp4")
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("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speed_obj = solutions.SpeedEstimator(
    region=[(0, 360), (1280, 360)],
    model="yolo11n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = speed_obj.estimate_speed(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Pour plus de détails, consultez notre article de blog officiel.

Quels sont les avantages de l'utilisation de Ultralytics YOLO11 pour l'estimation de la vitesse dans la gestion du trafic ?

L'utilisation de Ultralytics YOLO11 pour l'estimation de la vitesse offre des avantages significatifs dans la gestion du trafic :

  • SĂ©curitĂ© accrue: Estimation prĂ©cise de la vitesse des vĂ©hicules pour dĂ©tecter les excès de vitesse et amĂ©liorer la sĂ©curitĂ© routière.
  • Surveillance en temps rĂ©el: BĂ©nĂ©ficiez de la capacitĂ© de dĂ©tection d'objets en temps rĂ©el de YOLO11 pour surveiller efficacement le flux de trafic et les embouteillages.
  • ÉvolutivitĂ©: DĂ©ployer le modèle sur diffĂ©rentes configurations matĂ©rielles, des appareils pĂ©riphĂ©riques aux serveurs, afin de garantir des solutions flexibles et Ă©volutives pour les mises en Ĺ“uvre Ă  grande Ă©chelle.

Pour plus d'applications, voir les avantages de l'estimation de la vitesse.

YOLO11 peut-il être intégré à d'autres frameworks d'IA tels que TensorFlow ou PyTorch?

Oui, YOLO11 peut être intégré à d'autres frameworks d'IA tels que TensorFlow et PyTorch. Ultralytics prend en charge l'exportation des modèles YOLO11 vers différents formats tels que ONNX, TensorRT et CoreML, ce qui garantit une interopérabilité harmonieuse avec d'autres frameworks de ML.

Pour exporter un modèle YOLO11 au format ONNX :

yolo export --weights yolo11n.pt --include onnx

Pour en savoir plus sur l'exportation de modèles, consultez notre guide sur l'exportation.

Quelle est la précision de l'estimation de la vitesse à l'aide de Ultralytics YOLO11 ?

La précision de l'estimation de la vitesse à l'aide de Ultralytics YOLO11 dépend de plusieurs facteurs, notamment de la qualité du suivi des objets, de la résolution et de la fréquence d'images de la vidéo, ainsi que des variables environnementales. Bien que l'estimateur de vitesse fournisse des estimations fiables, il peut ne pas être précis à 100 % en raison des variations de la vitesse de traitement des images et de l'occlusion des objets.

Remarque: il faut toujours tenir compte de la marge d'erreur et valider les estimations à l'aide de données de terrain lorsque cela est possible.

Pour plus de conseils sur l'amélioration de la précision, consultez le site Arguments SpeedEstimator section.

Pourquoi choisir Ultralytics YOLO11 plutôt que d'autres modèles de détection d'objets comme TensorFlow Object Detection API ?

Ultralytics YOLO11 offre plusieurs avantages par rapport à d'autres modèles de détection d'objets, tels que l'API de détection d'objets TensorFlow :

  • Performance en temps rĂ©el: YOLO11 est optimisĂ© pour la dĂ©tection en temps rĂ©el, offrant une vitesse et une prĂ©cision Ă©levĂ©es.
  • FacilitĂ© d'utilisation: Conçu avec une interface conviviale, YOLO11 simplifie la formation et le dĂ©ploiement des modèles.
  • Polyvalence: Prise en charge de multiples tâches, notamment la dĂ©tection d'objets, la segmentation et l'estimation de la pose.
  • CommunautĂ© et support: YOLO11 est soutenu par une communautĂ© active et une documentation complète, garantissant aux dĂ©veloppeurs les ressources dont ils ont besoin.

Pour plus d'informations sur les avantages de YOLO11, consultez notre page détaillée sur les modèles.

📅 Created 11 months ago ✏️ Updated 17 days ago

Commentaires