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. Con Ultralytics YOLO11 ahora es posible calcular la velocidad de un objeto utilizando el seguimiento de objetos junto con datos de distancia y tiempo, algo crucial para tareas como el tr谩fico y la vigilancia. 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

Estimaci贸n de la velocidad mediante YOLO11 Ejemplo

# 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 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 .

Argumentos SpeedEstimator

Nombre Tipo Por defecto Descripci贸n
model str None Ruta de acceso al archivo del modelo Ultralytics YOLO
region list [(20, 400), (1260, 400)] Lista de puntos que definen la regi贸n de recuento.
line_width int 2 Grosor de l铆nea de los cuadros delimitadores.
show bool False Indicador para controlar si se muestra el flujo de v铆deo.

Argumentos model.track

Argumento Tipo Por defecto Descripci贸n
source str None Especifica el directorio de origen de las im谩genes o v铆deos. Admite rutas de archivo y URL.
persist bool False Permite el seguimiento persistente de objetos entre fotogramas, manteniendo los ID en todas las secuencias de v铆deo.
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.

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/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()

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 proporciona soporte para exportar modelos YOLO11 a varios formatos como ONNX, TensorRT, y CoreML, asegurando 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.

驴Por qu茅 elegir Ultralytics YOLO11 en lugar de otros modelos de detecci贸n de objetos como TensorFlow Object Detection API?

Ultralytics YOLO11 ofrece varias ventajas sobre otros modelos de detecci贸n de objetos, como la API de detecci贸n de objetos TensorFlow :

  • Rendimiento en tiempo real: YOLO11 est谩 optimizado para la detecci贸n en tiempo real, lo que proporciona una gran velocidad y precisi贸n.
  • Facilidad de uso: Dise帽ado con una interfaz f谩cil de usar, YOLO11 simplifica la formaci贸n y la implantaci贸n de modelos.
  • Versatilidad: Admite m煤ltiples tareas, como la detecci贸n de objetos, la segmentaci贸n y la estimaci贸n de la pose.
  • Comunidad y asistencia: YOLO11 cuenta con el respaldo de una comunidad activa y una amplia documentaci贸n, lo que garantiza que los desarrolladores dispongan de los recursos que necesitan.

Para m谩s informaci贸n sobre las ventajas de YOLO11, explore nuestra p谩gina de modelos detallados.

馃搮 Created 11 months ago 鉁忥笍 Updated 16 days ago

Comentarios