Conoce YOLO26: IA de visión de nueva generación.
Ultralytics
Ultralytics YOLO

Ultralytics YOLOv8 para la estimación de velocidad en proyectos de visión artificial

Descubre cómo puedes utilizar el modelo Ultralytics YOLOv8 para la estimación de velocidad en tus proyectos de visión artificial. Pruébalo tú mismo con un sencillo ejemplo de código.

ABAbirami Vina
5 min read
Ultralytics YOLOv8 para la estimación de velocidad en proyectos de visión artificial

Probablemente todos hemos visto señales de límite de velocidad en la carretera. Algunos de nosotros puede que hasta hayamos recibido una notificación automatizada de infracción por exceso de velocidad por correo postal o electrónico. Los sistemas de gestión de tráfico basados en inteligencia artificial (IA) pueden marcar infracciones por exceso de velocidad automáticamente gracias a la visión artificial. El metraje en tiempo real capturado por cámaras en semáforos y autopistas se utiliza para la estimación de velocidad y para reforzar la seguridad vial.

La estimación de velocidad no se limita solo a la seguridad en las autopistas. Se puede utilizar en deportes, vehículos autónomos y otras diversas aplicaciones. En este artículo, hablaremos sobre cómo puedes usar el modelo Ultralytics YOLOv8 para la estimación de velocidad en tus proyectos de visión artificial. También veremos paso a paso un ejemplo de código para que puedas probarlo tú mismo. ¡Empecemos!

Link to this sectionLa estimación de velocidad facilita la gestión del tráfico#

Según la Organización Mundial de la Salud (OMS), aproximadamente 1,19 millones de personas mueren anualmente en accidentes de tráfico como resultado del exceso de velocidad. Además, de 20 a 50 millones más sufren lesiones no mortales, de las cuales muchas resultan en discapacidad. La importancia de la seguridad vial no puede sobreestimarse, especialmente cuando la estimación de velocidad ayuda a prevenir accidentes, salva vidas y mantiene nuestras carreteras seguras y eficientes.

La estimación de velocidad mediante visión artificial implica detectar y rastrear objetos en los fotogramas de vídeo para calcular a qué velocidad se mueven. Algoritmos como YOLOv8 pueden identificar y rastrear objetos como vehículos a través de fotogramas consecutivos. El sistema mide la distancia que recorren estos objetos usando cámaras calibradas o puntos de referencia para medir distancias en el mundo real. Al cronometrar cuánto tiempo tardan los objetos en moverse entre dos puntos, el sistema calcula su velocidad utilizando la relación distancia-tiempo.

Estimación de velocidad usando el modelo Ultralytics YOLOv8

Fig 1. Estimación de velocidad usando el modelo Ultralytics YOLOv8.

Además de captar a los conductores que exceden el límite, los sistemas de estimación de velocidad integrados con IA pueden recopilar datos para hacer predicciones sobre el tráfico. Estas predicciones pueden apoyar tareas de gestión de tráfico, como la optimización de los tiempos de los semáforos y la asignación de recursos. Los conocimientos sobre los patrones de tráfico y las causas de la congestión pueden utilizarse para planificar nuevas carreteras con el fin de reducir el tráfico.

Link to this sectionAplicaciones de la estimación de velocidad en otras industrias#

Las aplicaciones de la estimación de velocidad van más allá de la vigilancia de carreteras. También puede ser útil para controlar el rendimiento de los atletas, ayudar a los vehículos autónomos a comprender la velocidad de los objetos que se mueven a su alrededor, detectar comportamientos sospechosos, etc. Dondequiera que se pueda usar una cámara para medir la velocidad de un objeto, se puede usar la estimación de velocidad mediante visión artificial.

Aquí tienes algunos ejemplos de dónde se utiliza la estimación de velocidad:

  • Los coches autónomos de Tesla utilizan la estimación de velocidad basada en visión para evitar colisiones.
  • La visión artificial y la estimación de velocidad se utilizarán en los Juegos Olímpicos de 2024 para mejorar el análisis del rendimiento en pruebas de atletismo.
  • Las ciudades inteligentes están investigando el análisis de la marcha de los peatones para controlar la velocidad al caminar y aumentar la movilidad y seguridad urbana. Estos sistemas pueden alertar a los conductores sobre la presencia de peatones y evitar accidentes.
  • Los sistemas de monitorización del comportamiento animal utilizan la estimación de velocidad para rastrear el movimiento de los animales y detectar signos de angustia o enfermedad.

Estimación de velocidad midiendo la velocidad al caminar de una persona

Fig 2. La estimación de velocidad puede medir la velocidad al caminar de una persona.

Link to this sectionLos beneficios de estimar la velocidad usando visión artificial#

Los sistemas de estimación de velocidad basados en visión están sustituyendo a los métodos tradicionales basados en sensores debido a su mayor precisión, rentabilidad y flexibilidad. A diferencia de los sistemas que dependen de sensores caros como LiDAR, la visión artificial utiliza cámaras estándar para controlar y analizar la velocidad en tiempo real. Las soluciones de visión artificial para la estimación de velocidad pueden integrarse perfectamente en la infraestructura de tráfico existente. Además, estos sistemas pueden construirse para realizar una serie de tareas complejas, como la identificación del tipo de vehículo y el análisis de patrones de tráfico para mejorar el flujo y la seguridad general del mismo.

Link to this sectionPruébalo tú mismo: Estimación de velocidad con YOLOv8#

Ahora que tenemos una idea clara de la estimación de velocidad y sus aplicaciones, analicemos más de cerca cómo puedes integrar la estimación de velocidad en tus proyectos de visión artificial mediante código. Detectaremos vehículos en movimiento y estimaremos su velocidad utilizando el modelo YOLOv8.

Este ejemplo utiliza un vídeo de coches en una carretera descargado de Internet. Puedes utilizar el mismo vídeo o cualquier vídeo relevante. El modelo YOLOv8 identifica el centro de cada vehículo y calcula su velocidad basándose en la rapidez con la que este centro cruza una línea horizontal en el fotograma del vídeo.

Antes de empezar, es importante señalar que, en este caso, el cálculo de la distancia es aproximado y se basa en la Distancia Euclidiana. La calibración de la cámara no se tiene en cuenta, por lo que la estimación de la velocidad puede no ser totalmente precisa. Además, la velocidad estimada puede variar dependiendo de la velocidad de tu GPU.

Paso 1: Empezaremos instalando el paquete Ultralytics. Abre tu símbolo del sistema o terminal y ejecuta el comando que se muestra a continuación.

pip install ultralytics

Echa un vistazo a nuestra guía de instalación de Ultralytics para obtener instrucciones paso a paso y mejores prácticas sobre el proceso de instalación. Si tienes algún problema durante la instalación de los paquetes necesarios para YOLOv8, nuestra guía de problemas comunes tiene soluciones y consejos útiles.

Paso 2: A continuación, importaremos las bibliotecas necesarias. La biblioteca OpenCV nos ayudará a gestionar el procesamiento de vídeo.

import cv2
from ultralytics import YOLO, solutions

Paso 3: Después, podemos cargar el modelo YOLOv8 y recuperar los nombres de las clases que el modelo puede detectar.

model = YOLO("yolov8n.pt")
names = model.model.names

Consulta todos los modelos que soportamos para entender qué modelo se adapta mejor a tu proyecto.

Paso 4: En este paso, abriremos el archivo de vídeo de entrada usando el módulo VideoCapture de OpenCV. También extraeremos el ancho, el alto y los fotogramas por segundo (fps) del vídeo.

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

Paso 5: Aquí, inicializaremos el escritor de vídeo para guardar nuestros resultados finales de la estimación de velocidad. El archivo de vídeo de salida se guardará como “speed_estimation.avi”.

video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

Paso 6: A continuación, podemos definir los puntos de la línea para la estimación de velocidad. Para nuestro vídeo de entrada, esta línea se colocará horizontalmente en el centro del fotograma. No dudes en jugar con los valores para colocar la línea en las posiciones más adecuadas, dependiendo de tu vídeo de entrada.

line_pts = [(0, 360), (1280, 360)]

Paso 7: Ahora, podemos inicializar el objeto de estimación de velocidad usando los puntos de línea definidos y los nombres de las clases.

speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

Paso 8: El núcleo del script procesa el vídeo fotograma a fotograma. Leemos cada fotograma y detectamos y rastreamos objetos. Se estima la velocidad de los objetos rastreados y el fotograma anotado se escribe en el vídeo de salida.

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

Paso 9: Finalmente, liberamos los objetos de captura y escritura de vídeo y cerramos cualquier ventana de OpenCV.

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

Paso 10: Guarda tu script. Si estás trabajando desde tu terminal o símbolo del sistema, ejecuta el script usando el siguiente comando:

python your_script_name.py

Link to this sectionLos desafíos de la estimación de velocidad basada en visión#

También es importante entender los desafíos que implica la implementación de la estimación de velocidad mediante visión artificial. Las condiciones meteorológicas desfavorables como lluvia, niebla o nieve pueden causar problemas al sistema, ya que pueden obstruir la visibilidad de la carretera. Del mismo modo, las oclusiones causadas por otros vehículos u objetos pueden dificultar que estos sistemas rastreen y estimen con precisión la velocidad de un vehículo objetivo. Las condiciones de iluminación deficientes que provocan sombras o el resplandor del sol también pueden complicar aún más la tarea de estimación de velocidad.

Otro desafío tiene que ver con la potencia computacional. Para estimar la velocidad en tiempo real, tenemos que procesar una gran cantidad de datos visuales procedentes de cámaras de tráfico de alta calidad. Tu solución puede requerir hardware costoso para manejar todo esto y asegurar que todo funcione rápidamente sin retrasos.

Luego, está el tema de la privacidad. Los datos recopilados por estos sistemas pueden incluir los detalles del vehículo de un individuo, como la marca, el modelo y la información de la matrícula, que se recopilan sin su consentimiento. Algunas cámaras HD modernas pueden incluso capturar imágenes de los ocupantes dentro del coche. Dicha recopilación de datos puede plantear graves problemas éticos y legales que deben manejarse con el mayor cuidado.

Link to this sectionAcelerando hacia el futuro#

Usar el modelo Ultralytics YOLOv8 para la estimación de velocidad proporciona una solución flexible y eficiente para muchos usos. Aunque existen desafíos, como la precisión en condiciones difíciles y abordar los problemas de privacidad, las ventajas son múltiples. La estimación de velocidad habilitada por visión artificial es más rentable, adaptable y precisa en comparación con las formas antiguas. Es útil en diversos sectores como el transporte, los deportes, la vigilancia y los coches autónomos. Con todos los beneficios y aplicaciones, está destinado a ser una parte clave de los futuros sistemas inteligentes.

¿Te interesa la IA? ¡Conecta con nuestra comunidad! Explora nuestro repositorio de GitHub para aprender más sobre cómo estamos usando la IA para crear soluciones innovadoras en diversas industrias como la salud y la agricultura. ¡Colabora, innova y aprende con nosotros! 🚀

Explore solutions

Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu viaje con el futuro del aprendizaje automático