Ir al contenido

Estimaci贸n de la velocidad mediante Ultralytics YOLO11 馃殌

驴Qu茅 es la estimaci贸n de la velocidad?

La estimaci贸n de la velocidad es el proceso de c谩lculo de la velocidad de movimiento de un objeto dentro de un contexto determinado, a menudo empleado en aplicaciones de visi贸n por ordenador. En Ultralytics YOLO11 ahora es posible calcular la velocidad de los objetos utilizando el seguimiento de objetos junto con datos de distancia y tiempo, lo que resulta crucial para tareas como el control y la vigilancia del tr谩fico. La precisi贸n de la estimaci贸n de la velocidad influye directamente en la eficacia y fiabilidad de diversas aplicaciones, lo que la convierte en un componente clave para el avance de los sistemas inteligentes y los procesos de toma de decisiones en tiempo real.



Observa: Estimaci贸n de la velocidad mediante Ultralytics YOLO11

Visita nuestro blog

Para profundizar en la estimaci贸n de la velocidad, consulte nuestra entrada de blog: Ultralytics YOLO11 for Speed Estimation in Computer Vision Projects (en ingl茅s).

Ventajas de la estimaci贸n de la velocidad

  • Control eficaz del tr谩fico: La estimaci贸n precisa de la velocidad ayuda a gestionar el flujo de tr谩fico, mejorar la seguridad y reducir la congesti贸n en las carreteras.
  • Navegaci贸n aut贸noma precisa: En sistemas aut贸nomos como los coches autoconducidos, una estimaci贸n fiable de la velocidad garantiza una navegaci贸n segura y precisa del veh铆culo.
  • Seguridad de vigilancia mejorada: La estimaci贸n de la velocidad en los an谩lisis de vigilancia ayuda a identificar comportamientos inusuales o amenazas potenciales, mejorando la eficacia de las medidas de seguridad.

Aplicaciones en el mundo real

Transporte Transporte
Estimaci贸n de la velocidad en carretera mediante Ultralytics YOLO11 Estimaci贸n de la velocidad en puentes mediante Ultralytics YOLO11
Estimaci贸n de la velocidad en carretera mediante Ultralytics YOLO11 Estimaci贸n de la velocidad en puentes mediante Ultralytics YOLO11
La velocidad es una estimaci贸n

La velocidad ser谩 una estimaci贸n y puede no ser completamente exacta. Adem谩s, la estimaci贸n puede variar en funci贸n de la velocidad de GPU y de factores ambientales.

Estimaci贸n de la velocidad mediante Ultralytics YOLO

# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.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.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
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_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

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

# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file.
    region=speed_region,  # pass region points
    # classes=[0, 2],  # estimate speed of specific classes.
    # line_width=2,  # adjust the line width for bounding boxes
)

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

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = speedestimator(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

SpeedEstimator Argumentos

Aqu铆 tiene una tabla con los SpeedEstimator argumentos:

Argumento Tipo Por defecto Descripci贸n
model str None Ruta al archivo del modeloYOLO Ultralytics .
region list [(20, 400), (1260, 400)] Lista de puntos que definen la regi贸n de recuento.

En SpeedEstimator permite utilizar track par谩metros:

Argumento Tipo Por defecto Descripci贸n
tracker str 'botsort.yaml' Especifica el algoritmo de seguimiento a utilizar, por ejemplo, bytetrack.yaml o botsort.yaml.
conf float 0.3 Establece el umbral de confianza para las detecciones; los valores m谩s bajos permiten rastrear m谩s objetos pero pueden incluir falsos positivos.
iou float 0.5 Establece el umbral de intersecci贸n sobre uni贸n (IoU) para filtrar las detecciones solapadas.
classes list None Filtra los resultados por 铆ndice de clase. Por ejemplo, classes=[0, 2, 3] s贸lo rastrea las clases especificadas.
verbose bool True Controla la visualizaci贸n de los resultados del rastreo, proporcionando una salida visual de los objetos rastreados.
device str None Especifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, un GPU espec铆fico u otros dispositivos de c谩lculo para la ejecuci贸n del modelo.

Adem谩s, se admiten las siguientes opciones de visualizaci贸n:

Argumento Tipo Por defecto Descripci贸n
show bool False Si Truemuestra las im谩genes o v铆deos anotados en una ventana. Resulta 煤til para obtener informaci贸n visual inmediata durante el desarrollo o las pruebas.
line_width None or int None Especifica el ancho de l铆nea de los cuadros delimitadores. Si NoneEl ancho de l铆nea se ajusta autom谩ticamente en funci贸n del tama帽o de la imagen. Proporciona personalizaci贸n visual para mayor claridad.

PREGUNTAS FRECUENTES

驴C贸mo puedo estimar la velocidad de un objeto utilizando Ultralytics YOLO11 ?

Estimar la velocidad de un objeto con Ultralytics YOLO11 implica combinar t茅cnicas de detecci贸n y seguimiento de objetos. En primer lugar, es necesario detectar objetos en cada fotograma utilizando el modelo YOLO11 . A continuaci贸n, realizar un seguimiento de estos objetos a trav茅s de los fotogramas para calcular su movimiento en el tiempo. Por 煤ltimo, utiliza la distancia recorrida por el objeto entre fotogramas y la frecuencia de fotogramas para estimar su velocidad.

Por ejemplo:

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(
    region=[(0, 360), (1280, 360)],
    model="yolo11n.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()

Para m谩s detalles, consulte nuestra entrada oficial en el blog.

驴Cu谩les son las ventajas de utilizar Ultralytics YOLO11 para estimar la velocidad en la gesti贸n del tr谩fico?

La utilizaci贸n de Ultralytics YOLO11 para la estimaci贸n de la velocidad ofrece importantes ventajas en la gesti贸n del tr谩fico:

  • Mayor seguridad: Estime con precisi贸n la velocidad de los veh铆culos para detectar el exceso de velocidad y mejorar la seguridad vial.
  • Supervisi贸n en tiempo real: Benef铆ciese de la capacidad de detecci贸n de objetos en tiempo real de YOLO11 para supervisar eficazmente el flujo de tr谩fico y los atascos.
  • Escalabilidad: Despliegue el modelo en varias configuraciones de hardware, desde dispositivos perif茅ricos hasta servidores, lo que garantiza soluciones flexibles y escalables para implementaciones a gran escala.

Para m谩s aplicaciones, consulte las ventajas de la estimaci贸n de la velocidad.

驴Puede YOLO11 integrarse con otros marcos de IA como TensorFlow o PyTorch?

S铆, YOLO11 puede integrarse con otros marcos de IA como TensorFlow y PyTorch. Ultralytics ofrece soporte para exportar modelos YOLO11 a varios formatos como ONNX, TensorRTy CoreMLgarantizando una interoperabilidad fluida con otros marcos de ML.

Para exportar un modelo YOLO11 al formato ONNX :

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

M谩s informaci贸n sobre la exportaci贸n de modelos en nuestra gu铆a sobre exportaci贸n.

驴Cu谩l es la precisi贸n de la estimaci贸n de la velocidad mediante Ultralytics YOLO11 ?

La precisi贸n de la estimaci贸n de la velocidad mediante Ultralytics YOLO11 depende de varios factores, como la calidad del seguimiento del objeto, la resoluci贸n y la frecuencia de fotogramas del v铆deo y las variables ambientales. Aunque el estimador de velocidad proporciona estimaciones fiables, puede no ser preciso al 100% debido a las variaciones en la velocidad de procesamiento de fotogramas y a la oclusi贸n de objetos.

Nota: tenga siempre en cuenta el margen de error y valide las estimaciones con datos reales sobre el terreno cuando sea posible.

Si desea m谩s consejos para mejorar la precisi贸n, consulte el Argumentos SpeedEstimator secci贸n.

Creado hace 1 a帽o 鉁忥笍 Actualizado hace 21 d铆as

Comentarios