Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Ultralytics YOLO

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

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

Abirami VinaAbirami Vina8 min de lectura
Descubre cómo utilizar el modelo Ultralytics YOLOv8 para estimar la velocidad en tus proyectos de visión artificial. Pruébalo con un sencillo ejemplo de código.

Probablemente todos hayamos visto señales de límite de velocidad. Algunos incluso habremos recibido por correo postal o electrónico una notificación automática por exceso de velocidad. Los sistemas de gestión del tráfico basados en inteligencia artificial (IA) pueden detectar automáticamente las infracciones por exceso de velocidad gracias a la visión artificial. Las imágenes en tiempo real captadas por cámaras en farolas y autopistas se utilizan para estimar la velocidad y mejorar la seguridad vial.

La estimación de velocidad no se limita a la seguridad en carretera. También puede utilizarse en deportes, vehículos autónomos y muchas otras aplicaciones. En este artículo, veremos cómo puedes utilizar el modelo Ultralytics YOLOv8 para estimar la velocidad en tus proyectos de visión artificial. También explicaremos paso a paso un ejemplo de código para que puedas probarlo.

La estimación de velocidad facilita la gestión del tráfico#

Según la Organización Mundial de la Salud (WHO), aproximadamente 1,16 millones de personas mueren cada año en accidentes de tráfico, y el exceso de velocidad es uno de los principales factores. Además, entre 20 y 50 millones de personas más sufren lesiones no mortales, muchas de las cuales provocan discapacidades. No se puede exagerar la importancia de la seguridad vial, especialmente cuando la estimación de velocidad ayuda a prevenir accidentes, salvar vidas y mantener nuestras carreteras seguras y eficientes.

La estimación de velocidad mediante visión artificial consiste en detectar y seguir objetos en fotogramas de vídeo para calcular a qué velocidad se mueven. Modelos como Ultralytics YOLOv8 pueden identificar y seguir objetos, como vehículos, en fotogramas consecutivos. El sistema mide la distancia que recorren estos objetos mediante cámaras calibradas o puntos de referencia para calcular distancias reales. Al medir el tiempo que tardan los objetos en desplazarse entre dos puntos, el sistema calcula su velocidad a partir de la relación entre distancia y tiempo.

Estimación de velocidad con el modelo Ultralytics YOLOv8

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

Además de detectar a quienes superan el límite de velocidad, los sistemas de estimación de velocidad con IA pueden recopilar datos para predecir el tráfico. Estas predicciones pueden contribuir a tareas de gestión del tráfico, como optimizar los tiempos de los semáforos y la asignación de recursos. La información sobre los patrones del tráfico y las causas de la congestión puede utilizarse para planificar nuevas carreteras y reducir los atascos.

Aplicaciones de la estimación de velocidad en otros sectores#

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

Estos son algunos ejemplos de usos de la estimación de velocidad:

  • Los coches autónomos de Tesla usan la estimación de velocidad basada en visión para evitar colisiones.
  • Las ciudades inteligentes investigan el análisis de la marcha de los peatones para supervisar su velocidad al caminar y mejorar la movilidad y la seguridad urbanas. Estos sistemas pueden avisar a los conductores de la presencia de peatones y prevenir accidentes.
  • Los sistemas de supervisión del comportamiento animal utilizan la estimación de velocidad para seguir los movimientos de los animales y detectar señales de estrés o enfermedad.

Peatones esperando en un paso de cebra urbano por la noche, bajo un semáforo peatonal en rojo

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

Ventajas de estimar la velocidad mediante 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 gracias 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 supervisar y analizar la velocidad en tiempo real. Las soluciones de visión artificial para estimar la velocidad pueden integrarse en las infraestructuras de tráfico existentes. Además, estos sistemas pueden realizar varias tareas complejas, como identificar el tipo de vehículo y analizar los patrones de tráfico, para mejorar el flujo y la seguridad vial en general.

Pruébalo: estimación de velocidad con Ultralytics YOLOv8#

Ahora que ya entendemos la estimación de velocidad y sus aplicaciones, veamos cómo puedes integrarla en tus proyectos de visión artificial mediante código. Detectaremos vehículos en movimiento y estimaremos su velocidad con el modelo Ultralytics YOLOv8.

Este ejemplo utiliza un vídeo de coches en una carretera descargado de Internet. Puedes usar el mismo vídeo o cualquier otro que resulte pertinente. El modelo Ultralytics YOLOv8 detecta y sigue cada vehículo, y el estimador de velocidad convierte la distancia recorrida por cada vehículo seguido a lo largo de varios fotogramas en una velocidad, utilizando la frecuencia de fotogramas del vídeo y una escala de metros por píxel.

Antes de empezar, es importante tener en cuenta que, en este caso, el cálculo de la distancia es aproximado y se basa en la distancia euclídea en píxeles multiplicada por un valor estimado de metros por píxel. No se tiene en cuenta la calibración de la cámara, por lo que la estimación de velocidad puede no ser del todo precisa.

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

pip install ultralytics

Consulta nuestra guía de instalación de Ultralytics para ver instrucciones paso a paso y recomendaciones sobre el proceso de instalación. Si tienes algún problema al instalar los paquetes necesarios para YOLOv8, nuestra guía de problemas comunes incluye soluciones y consejos útiles.

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

import cv2
from ultralytics import solutions

Paso 3: En este paso, abriremos el archivo de vídeo de entrada con el módulo VideoCapture de OpenCV. También extraeremos la anchura, la altura 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 4: Aquí inicializaremos el escritor de vídeo para guardar los 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 5: Ahora podemos inicializar el objeto de estimación de velocidad con el modelo Ultralytics YOLOv8 y la frecuencia de fotogramas del vídeo. El valor meter_per_pixel establece la escala del mundo real de la escena, así que puedes ajustarlo para que coincida con la configuración de tu cámara.

speed_obj = solutions.SpeedEstimator(
    model="yolov8n.pt",
    fps=fps,
    meter_per_pixel=0.05,
    show=True,
)

Consulta todos los modelos que admitimos para saber cuál se adapta mejor a tu proyecto.

Paso 6: El núcleo del script procesa el vídeo fotograma a fotograma. Leemos cada fotograma y el estimador de velocidad detecta y sigue los objetos, calcula su velocidad y devuelve el fotograma anotado, que 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
    results = speed_obj(im0)
    video_writer.write(results.plot_im)

Paso 7: Por último, liberamos los objetos de captura y escritura de vídeo y cerramos las ventanas de OpenCV.

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

Paso 8: Guarda el script. Si trabajas desde el terminal o el símbolo del sistema, ejecuta el script con el siguiente comando:

python your_script_name.py

Los retos de la estimación de velocidad basada en visión#

También es importante entender los retos que implica implementar la estimación de velocidad mediante visión artificial. Las condiciones meteorológicas adversas, como la lluvia, la niebla o la nieve, pueden causar problemas al sistema, ya que reducen la visibilidad de la carretera. Del mismo modo, las oclusiones provocadas por otros vehículos u objetos pueden dificultar que estos sistemas sigan y calculen con precisión la velocidad de un vehículo objetivo. La mala iluminación, que provoca sombras o deslumbramientos del sol, también puede complicar aún más la estimación de velocidad.

Otro reto es la potencia de cálculo. Para estimar la velocidad en tiempo real, tenemos que procesar muchos datos visuales procedentes de cámaras de tráfico de alta calidad. Es posible que tu solución necesite hardware caro para gestionar todo esto y garantizar que funcione rápidamente y sin retrasos.

También está la cuestión de la privacidad. Los datos recopilados por estos sistemas pueden incluir información del vehículo de una persona, como la marca, el modelo y la matrícula, que podría obtenerse sin su consentimiento. Algunas cámaras HD modernas incluso pueden capturar imágenes de los ocupantes del coche. La recopilación de estos datos puede plantear graves problemas éticos y legales que deben tratarse con el máximo cuidado.

A toda velocidad hacia el futuro#

El uso del modelo Ultralytics YOLOv8 para estimar la velocidad ofrece una solución flexible y eficiente para muchos casos de uso. Aunque presenta retos, como mantener la precisión en condiciones difíciles y abordar los problemas de privacidad, sus ventajas son considerables. La estimación de velocidad mediante visión artificial es más rentable, adaptable y precisa que los métodos tradicionales. Resulta útil en sectores como el transporte, el deporte, la vigilancia y los coches autónomos. Con todas sus ventajas y aplicaciones, probablemente será una parte clave de los futuros sistemas inteligentes.

¿Te interesa la IA? ¡Conecta con nuestra comunidad! Explora nuestro repositorio de GitHub para saber más sobre cómo usamos la IA para crear soluciones innovadoras en sectores como la atención sanitaria y la agricultura. ¡Colabora, innova y aprende con nosotros!

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual 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
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático