Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Configuración de cookies
Al hacer clic en “Aceptar todas las cookies”, aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación del sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing. Más información
Descubra cómo el modelo Ultralytics YOLOv8 se puede utilizar para la estimación de la velocidad en sus proyectos de visión artificial. Pruébelo usted mismo con un sencillo ejemplo de codificación.
Probablemente todos hemos visto señales de límite de velocidad en la carretera. Es posible que algunos de nosotros incluso hayamos recibido una notificación automatizada de infracción del límite de velocidad por correo postal o electrónico. Los sistemas de gestión del tráfico con inteligencia artificial (IA) pueden señalar las infracciones de velocidad automáticamente gracias a la visión artificial. Las imágenes en tiempo real capturadas por cámaras en semáforos y autopistas se utilizan para la estimación de la velocidad y para reforzar la seguridad vial.
La estimación de la velocidad no se limita únicamente a la seguridad en las autopistas. Se puede utilizar en deportes, vehículos autónomos y otras aplicaciones. En este artículo, analizaremos cómo puede utilizar el modelo Ultralytics YOLOv8 para la estimación de la velocidad en sus proyectos de visión artificial. También le guiaremos paso a paso a través de un ejemplo de codificación para que pueda probarlo usted mismo. ¡Empecemos!
La estimación de la 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 a causa de accidentes de tráfico como resultado del exceso de velocidad. Además, entre 20 y 50 millones más sufren lesiones no mortales, muchas de las cuales provocan discapacidades. La importancia de la seguridad vial no puede ser exagerada, especialmente cuando la estimación de la velocidad ayuda a prevenir accidentes, salva vidas y mantiene nuestras carreteras seguras y eficientes.
La estimación de la velocidad mediante visión artificial implica detectar y rastrear objetos en fotogramas de vídeo para calcular la rapidez con la que 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 utilizando cámaras calibradas o puntos de referencia para calcular las distancias en el mundo real. Al cronometrar cuánto tardan los objetos en moverse entre dos puntos, el sistema calcula su velocidad utilizando la relación distancia-tiempo.
Fig. 1. Estimación de velocidad utilizando el modelo Ultralytics YOLOv8.
Además de detectar a los infractores de velocidad, 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 del tráfico como la optimización de los tiempos de las señales y la asignación de recursos. La información sobre los patrones de tráfico y las causas de la congestión puede utilizarse para planificar nuevas carreteras con el fin de reducir la congestión del tráfico.
Aplicaciones de la estimación de velocidad en otras industrias
Las aplicaciones de estimación de velocidad van más allá de la supervisión de carreteras. También puede ser útil para supervisar 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. En cualquier lugar donde se pueda utilizar una cámara para medir la velocidad de un objeto, se puede utilizar la estimación de velocidad mediante visión artificial.
Aquí hay algunos ejemplos de dónde se está utilizando la estimación de velocidad:
Los coches autónomos de Tesla utilizan la estimación de la velocidad basada en la visión para evitar colisiones. 
La visión artificial y la estimación de la velocidad se utilizarán en los Juegos Olímpicos de 2024 para mejorar el análisis del rendimiento en eventos de atletismo. 
Las ciudades inteligentes están investigando el análisis de la marcha de los peatones para supervisar las velocidades de caminata y aumentar la movilidad y la seguridad urbanas. Estos sistemas pueden alertar a los conductores de la presencia de peatones y prevenir accidentes. 
Los sistemas de monitorización del comportamiento animal utilizan la estimación de la velocidad para rastrear el movimiento de los animales y detectar signos de angustia o enfermedad.
Fig 2. La estimación de la velocidad puede medir la velocidad de una persona al caminar.
Las ventajas de estimar la velocidad mediante visión artificial
Los sistemas de estimación de velocidad basados en la visión están reemplazando 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 costosos 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 la estimación de la velocidad se pueden integrar perfectamente con la infraestructura de tráfico existente. Además, estos sistemas se pueden construir 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 tráfico.
Pruébelo usted mismo: Estimación de velocidad con YOLOv8
Ahora que tenemos una comprensión clara de la estimación de velocidad y sus aplicaciones, analicemos más de cerca cómo puede integrar la estimación de velocidad en sus proyectos de visión artificial a través de 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. Puede usar 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 sumergirnos, 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. La calibración de la cámara no se tiene en cuenta, por lo que la estimación de la velocidad puede no ser del todo precisa. Además, la velocidad estimada puede variar dependiendo de la velocidad de tu GPU.
Paso 1: Comenzaremos instalando el paquete Ultralytics. Abra su símbolo del sistema o terminal y ejecute el comando que se muestra a continuación.
pip install ultralytics
Consulte nuestra guía de instalación de Ultralytics para obtener instrucciones paso a paso y las mejores prácticas sobre el proceso de instalación. Si tiene algún problema al instalar 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 manejar el procesamiento de video.
import cv2
from ultralytics import YOLO, solutions
Paso 3: Luego, 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 admitimos para comprender qué modelo se adapta mejor a tu proyecto.
Paso 4: En este paso, abriremos el archivo de video de entrada utilizando el módulo VideoCapture de OpenCV. También extraeremos el ancho, el alto y los fotogramas por segundo (fps) del video.
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 video para guardar los resultados finales de la estimación de velocidad. El archivo de video de salida se guardará como “espeed_estimation.avi”.
Paso 6: A continuación, podemos definir los puntos de línea para la estimación de la velocidad. Para nuestro vídeo de entrada, esta línea se colocará horizontalmente en el centro del fotograma. Siéntete libre de 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 utilizando los puntos de línea definidos y los nombres de las clases.
Paso 8: El núcleo del script procesa el video 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 video de salida.
while cap.isOpened():
success, im0 = cap.read()
ifnot 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 video y cerramos cualquier ventana de OpenCV.
Paso 10: Guarde su script. Si está trabajando desde su terminal o símbolo del sistema, ejecute el script con el siguiente comando:
python your_script_name.py
 Los retos de la estimación de la velocidad basada en la visión
También es importante comprender los retos que implica la implementación de la estimación de la velocidad mediante visión artificial. Las condiciones meteorológicas desfavorables, como la lluvia, la niebla o la 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 malas condiciones de iluminación que provocan sombras o el deslumbramiento del sol también pueden complicar aún más la tarea de estimación de la velocidad.
Otro reto se refiere a 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. Su solución puede requerir hardware caro para gestionar todo esto y garantizar que todo funcione rápidamente sin retrasos.
Luego, está el problema 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 automóvil. Tal recopilación de datos puede plantear serios problemas éticos y legales que deben manejarse con el máximo cuidado.
Acelerando hacia el futuro
El uso del 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 la resolución de 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 más antiguas. Es útil en varios 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? ¡Conéctate con nuestra comunidad! Explora nuestro repositorio de GitHub para obtener más información sobre cómo estamos utilizando la IA para crear soluciones innovadoras en diversas industrias como la atención médica y la agricultura. ¡Colabora, innova y aprende con nosotros! 🚀