Estimation de vitesse avec Ultralytics YOLO26 🚀

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

L'estimation de vitesse est le processus consistant à calculer la vitesse de déplacement d'un objet dans un contexte donné, souvent utilisé dans des applications de vision par ordinateur. Avec Ultralytics YOLO26, tu peux désormais calculer la vitesse des objets en utilisant le suivi d'objets associé aux données de distance et de temps, ce qui est crucial pour des tâches comme la surveillance du trafic et la sécurité. La précision de l'estimation de la vitesse influence directement l'efficacité et la fiabilité de diverses applications, ce qui en fait un composant clé dans l'avancement des systèmes intelligents et des processus de prise de décision en temps réel.



Watch: Speed Estimation using Ultralytics YOLO26
Consulte notre blog

Pour des informations plus approfondies sur l'estimation de vitesse, consulte notre article de blog : Ultralytics YOLO for Speed Estimation in Computer Vision Projects

Avantages de l'estimation de vitesse

  • Contrôle efficace du trafic : Une estimation précise de la vitesse aide à gérer le flux de circulation, à améliorer la sécurité et à réduire la congestion sur les routes.
  • Navigation autonome précise : Dans les systèmes autonomes tels que les voitures autonomes, une estimation fiable de la vitesse garantit une navigation sûre et précise du véhicule.
  • Sécurité de surveillance renforcée : L'estimation de la vitesse dans l'analyse de surveillance aide à identifier les comportements inhabituels ou les menaces potentielles, améliorant ainsi l'efficacité des mesures de sécurité.

Applications dans le monde réel

TransportTransport
Estimation de vitesse sur route avec Ultralytics YOLO26Estimation de vitesse sur pont avec Ultralytics YOLO26
Estimation de vitesse sur route avec Ultralytics YOLO26Estimation de vitesse sur pont avec Ultralytics YOLO26
La vitesse est une estimation

La vitesse est une estimation et peut ne pas être totalement précise. De plus, l'estimation peut varier en fonction des spécifications de la caméra et d'autres facteurs connexes.

Estimation de vitesse avec Ultralytics YOLO
# Run a speed example
yolo solutions speed show=True

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

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05

Arguments SpeedEstimator

Voici un tableau avec les arguments SpeedEstimator :

ArgumentTypeDéfautDescription
modelstrNoneChemin d'accès vers un fichier de modèle Ultralytics YOLO.
fpsfloat30.0Images par seconde utilisées pour les calculs de vitesse.
max_histint5Points historiques maximaux à 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 réelles.
max_speedint120Limite de vitesse maximale dans les superpositions visuelles (utilisée dans les alertes).

La solution SpeedEstimator permet d'utiliser les paramètres track :

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

De plus, les options de visualisation suivantes sont prises en charge :

ArgumentTypeDéfautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour visuel immédiat lors du développement ou des tests.
line_widthint or NoneNoneSpécifie l'épaisseur de ligne des boîtes englobantes. Si None, l'épaisseur 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.

FAQ

Comment estimer la vitesse d'un objet avec Ultralytics YOLO26 ?

L'estimation de la vitesse d'un objet avec Ultralytics YOLO26 implique de combiner des techniques de détection d'objets et de suivi. D'abord, tu dois détecter les objets dans chaque image à l'aide du modèle YOLO26. Ensuite, suis ces objets à travers les images pour calculer leur mouvement dans le temps. Enfin, utilise la distance parcourue par l'objet entre les images et la fréquence d'images pour estimer sa vitesse.

Exemple :

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.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
speedestimator = solutions.SpeedEstimator(
    model="yolo26n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

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

Pour plus de détails, réfère-toi à notre article de blog officiel.

Quels sont les avantages d'utiliser Ultralytics YOLO26 pour l'estimation de vitesse dans la gestion du trafic ?

Utiliser Ultralytics YOLO26 pour l'estimation de vitesse offre des avantages significatifs dans la gestion du trafic :

  • Sécurité renforcée : Estime avec précision 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éficie de la capacité de détection d'objets en temps réel de YOLO26 pour surveiller efficacement le flux de circulation et les congestions.
  • Évolutivité : Déploie le modèle sur diverses configurations matérielles, des appareils de périphérie aux serveurs, garantissant des solutions flexibles et évolutives pour des mises en œuvre à grande échelle.

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

YOLO26 peut-il être intégré avec d'autres frameworks IA comme TensorFlow ou PyTorch ?

Oui, YOLO26 peut être intégré avec d'autres frameworks IA comme TensorFlow et PyTorch. Ultralytics fournit un support pour l'exportation des modèles YOLO26 vers divers formats comme ONNX, TensorRT et CoreML, assurant une interopérabilité fluide avec d'autres frameworks de ML.

Pour exporter un modèle YOLO26 vers le format ONNX :

yolo export model=yolo26n.pt format=onnx

Apprends-en plus sur l'exportation des modèles dans notre guide sur l'exportation.

Quelle est la précision de l'estimation de vitesse avec Ultralytics YOLO26 ?

La précision de l'estimation de vitesse avec Ultralytics YOLO26 dépend de plusieurs facteurs, notamment la qualité du suivi d'objet, la résolution et 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 dans la vitesse de traitement des images et de l'occlusion des objets.

Note : Considère toujours la marge d'erreur et valide les estimations avec des données de vérité terrain lorsque c'est possible.

Pour d'autres conseils sur l'amélioration de la précision, consulte la section Arguments SpeedEstimator.

Commentaires