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
Aprenda a convertir los datos de las aplicaciones de visión por ordenador en gráficos fáciles de entender utilizando el paquete Ultralytics Python para obtener mejores conocimientos.
Cada minuto, se crean enormes cantidades de datos, desde terminales de aeropuertos y estaciones de tren hasta centros comerciales. A medida que la IA se utiliza más ampliamente, gran parte de estos datos ahora se analizan y desglosan. Pero a veces, los resultados de estos modelos de IA pueden dificultar la detección de patrones o la comprensión de tendencias de un vistazo. Ahí es donde la visualización de datos ayuda: convierte resultados complejos en información clara y fácil de digerir.
Esto es especialmente cierto cuando se trata de aplicaciones de visión por ordenador. La visión por ordenador es una rama de la inteligencia artificial (IA) que ayuda a las máquinas a interpretar y comprender la información visual del mundo circundante, como imágenes y vídeos. Aunque los modelos de IA de visión, como Ultralytics YOLO11pueden ayudar a analizar esos datos visuales para obtener información, la visualización de datos ayuda a poner esa información en un formato fácil de entender.
En pocas palabras, la visualización de datos tiende un puente entre los datos brutos y la comprensión real mediante el uso de gráficos analíticos significativos. En el mundo actual, impulsado por los datos, esto es clave porque no basta con que las máquinas realicen tareas, sino que necesitamos que cuenten una historia.
Esa necesidad de contar historias es exactamente la razón por la que la visualización de datos está en alza, con un mercado que alcanzará los 18.360 millones de dólares en 2030. Anteriormente, hemos explorado cómo la visión por ordenador puede proporcionar información empresarial valiosa. Hoy daremos un paso más y veremos cómo generar gráficos analíticos claros y perspicaces para aplicaciones de visión por ordenador utilizando el paquete Ultralytics . Empecemos.
Fig. 1. Ejemplo de visualización de datos a partir de los resultados de YOLO11.
Una visión general de la visualización de datos en aplicaciones de visión artificial
La visualización de datos en aplicaciones de visión artificial implica transformar los resultados de las tareas de visión artificial, como la detección y el seguimiento de objetos, en gráficos o paneles fáciles de entender. Estas imágenes ayudan a identificar patrones y tendencias, especialmente cuando se trabaja con grandes volúmenes de metraje de vídeo.
Por ejemplo, en lugar de revisar manualmente horas de vídeo de vigilancia, un simple gráfico lineal que muestre el número de coches o personas detectadas a lo largo del tiempo puede destacar rápidamente las horas punta o los periodos inusualmente tranquilos.
Estas son algunas razones clave por las que la visualización de datos es útil:
Simplifica datos complejos: Miles de detecciones de objetos pueden ser abrumadoras, pero las visualizaciones como gráficos de barras o circulares facilitan la visualización del panorama general, por ejemplo, qué objetos aparecen con mayor frecuencia.
Revela tendencias: Los gráficos de líneas y barras ayudan a identificar patrones a lo largo del tiempo, como cuándo y dónde tiende a aumentar el tráfico peatonal.
Ahorra tiempo: En lugar de revisar cada fotograma de vídeo, los gráficos pueden destacar rápidamente detalles importantes, como picos repentinos en la actividad de los vehículos o apariciones inusuales de objetos en zonas restringidas.
Mejora la comunicación: Las imágenes facilitan el intercambio de información con audiencias no técnicas, lo que ayuda a todos a comprender los resultados con mayor claridad.
Diferentes tipos de visualizaciones de datos
Diferentes tipos de gráficos analíticos pueden convertir los resultados de la visión artificial en imágenes claras y fáciles de entender. Digamos que está trabajando en una aplicación de visión artificial que detecta personas y vehículos en imágenes de vigilancia. En este caso, un gráfico de líneas es ideal para mostrar cómo cambia el número de detecciones con el tiempo, como el seguimiento de los picos de tráfico peatonal a lo largo del día.
Del mismo modo, los gráficos de barras son útiles cuando se quiere comparar el número de diferentes tipos de objetos detectados, como ver si aparecen más coches, bicicletas o peatones en el vídeo. Los gráficos circulares, por su parte, muestran qué porcentaje representa cada tipo de objeto del total de detecciones. Cada gráfico tiene su propio uso y ayuda a que los datos complejos de visión artificial sean más fáciles de interpretar y compartir.
Generación de gráficos analíticos para obtener información sobre visión artificial
Ahora que hemos explorado qué es la visualización de datos y por qué son importantes los diferentes tipos de gráficos analíticos, vamos a ver más de cerca cómo utilizar la soluciónUltralytics Analytics para visualizar los resultados de las predicciones de su modelo de visión por ordenador. Antes de recorrer el proceso paso a paso, echemos un vistazo a las herramientas y opciones de configuración para entrenar y utilizar el paquete Ultralytics y modelos como YOLO11.
El paquetePython Ultralytics facilita el entrenamiento de modelos, la detect objetos, la ejecución de predicciones y la visualización de resultados. Para empezar a utilizarlo, necesitará un entorno de codificación. Aquí tienes tres opciones sencillas:
Interfaz de línea de comandos (CLI): Es una herramienta básica de sólo texto en la que puedes escribir comandos para ejecutar tu código. No tiene interfaz visual, e interactúas con ella escribiendo instrucciones en un terminal o símbolo del sistema.
Jupyter Notebooks: Es un entorno de codificación interactivo donde puedes escribir, ejecutar y probar pequeños fragmentos de código (llamados "celdas") uno a la vez. Muestra los resultados directamente debajo de cada celda, lo que facilita la comprensión de lo que está sucediendo paso a paso. Es especialmente útil para el aprendizaje y la experimentación.
Google Colab: Esta opción es una versión gratuita de Jupyter Notebooks basada en la nube que se ejecuta en tu navegador web. No requiere ninguna configuración en tu ordenador y te da acceso a GPUs gratuitas para un procesamiento más rápido.
Estas herramientas son excelentes para empezar rápidamente, pero los usuarios también pueden integrar Ultralytics en entornos de desarrollo integrados (IDE) como Visual Studio Code (VS Code) o en canalizaciones de producción. Para más opciones, consulte la documentación oficial Ultralytics .
Paso 1: Configuración del entorno
Una vez que hayas elegido tu entorno preferido, el siguiente paso es configurarlo para ejecutar predicciones y visualizar los resultados. Puedes utilizar cualquiera de los entornos mencionados anteriormente, dependiendo de con cuál te sientas más cómodo.
Si estás trabajando en Google Colab, ten en cuenta que utiliza una CPU por defecto, lo que puede ralentizar el rendimiento. Para acelerar las cosas, cambia a una GPU yendo al menú "Tiempo de ejecución", seleccionando "Cambiar tipo de tiempo de ejecución" y configurando el acelerador de hardware como GPU (lo ideal sería un T4).
Para preparar su entorno, deberá instalar el paquetePython Ultralytics mediante el comando que se menciona a continuación. En herramientas basadas en cuadernos como Colab o Jupyter, asegúrese de añadir un signo de exclamación (!) antes del comando.
pip install ultralytics
Paso 2: Descarga de un archivo de video
A continuación, necesitaremos un vídeo con el que trabajar. Puedes descargar fácilmente uno de un sitio de stock gratuito como Pexels. Asegúrate de elegir un vídeo que incluya objetos que YOLO11 pueda detect. Dado que el modelo está preentrenado en el conjunto de datosCOCO , puede reconocer objetos comunes como personas, coches y bicicletas.
Para este tutorial, utilizaremos un vídeo de gestión de equipaje en una terminal de aeropuerto concurrida. Puede utilizar el mismo vídeo o elegir uno diferente que se ajuste a su proyecto.
Fig. 3. Un fotograma del vídeo de entrada que muestra la manipulación de equipaje en una terminal de aeropuerto.
Paso 3: Importación de paquetes
A continuación, podemos importar las bibliotecas necesarias y cargar el vídeo de entrada.
Empezaremos importando OpenCV (cv2), que es una librería muy utilizada para trabajar con imágenes y vídeo en visión por computador. También importaremos la librería Ultralytics , que nos ayuda a ejecutar la detección de objetos y generar análisis a partir del vídeo.
Luego, intentaremos abrir el archivo de video especificando su ruta. Asegúrese de reemplazar "path/to/video.mp4" con la ubicación real de su archivo de video descargado.
Además, el fragmento de código a continuación incluye una comprobación simple para asegurarse de que el vídeo se carga correctamente. Si la ruta es incorrecta o el archivo está dañado, el programa se detendrá y mostrará un mensaje de error: "Error al leer el archivo de vídeo".
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
Paso 4: Preparación del escritor de video
Luego, configuraremos un escritor de video para guardar la salida. Cuando ejecutemos el análisis, esta parte del código creará un nuevo archivo de video que registra los gráficos actualizados generados a partir de cada fotograma del video original.
En el fragmento de código siguiente, primero extraemos las propiedades clave del vídeo de entrada: su anchura, altura y fotogramas por segundo (fps). Estos valores se toman directamente del vídeo y se convierten en números enteros para garantizar que tengan el formato correcto para escribir la salida.
A continuación, utilizamos la función cv2.VideoWriter para crear un nuevo archivo de vídeo, llamado "analytics_output.avi" (puedes cambiarle el nombre según sea necesario). El vídeo se guarda utilizando el formato MJPG, que es un método común de compresión de vídeo. La resolución de salida se establece en 1280×720 píxeles, independientemente del tamaño original del vídeo.
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
"analytics_output.avi",
cv2.VideoWriter_fourcc(*"MJPG"),
fps,
(1280, 720),
)
Paso 5: Configuración de la solución Ultralytics Analytics
Ahora, configuraremos la solución Ultralytics Analytics para generar gráficos a partir del vídeo. Puede elegir cómo se muestran los datos, como un gráfico de líneas, de tarta, de área o de barras, y qué modeloYOLO utilizar. En este ejemplo, utilizaremos el modelo ligero "yolo11n.pt" y mostraremos los resultados como un gráfico de área.
La parte final del código ejecuta un bucle que procesa el vídeo un fotograma a la vez. Cada fotograma se pasa a la herramienta de análisis, que actualiza el gráfico en tiempo real. El gráfico actualizado se escribe entonces en el vídeo de salida. Si no se puede leer un fotograma, el bucle se detiene. Después de procesar todos los fotogramas, el vídeo se guarda y se cierran todas las ventanas abiertas.
Por último, juntémoslo todo. Con unas pocas líneas de código adicionales, podemos generar dos vídeos de salida: uno que muestra los resultados dela detección de objetos YOLO11 con cuadros delimitadores y etiquetas, y otro que muestra los gráficos de análisis en tiempo real.
Para ello, configuraremos dos instancias de VideoWriter: una para guardar el vídeo de predicción y otra para los análisis. Esta versión del código incluye tanto el seguimiento de objetos como la generación de gráficos, para que pueda ver los resultados de la detección junto con la información visual.
Aquí está el código completo junto con ejemplos de las salidas de predicción y análisis.
Cuando el código anterior se ejecuta correctamente, generará dos vídeos de salida. El archivo “output_predictions.avi” mostrará los resultados de la detección de objetos con cuadros delimitadores y etiquetas, mientras que “output_analytics.avi” mostrará los gráficos de análisis en tiempo real basados en las detecciones.
Fig. 4. Un fotograma del archivo “output_predictions.avi”.
Aquí tenemos un fotograma de la salida de analítica basada en las predicciones. Utilizando el gráfico de áreas, podemos obtener información como las fluctuaciones en el recuento de maletas a lo largo del tiempo, como un pico alrededor del fotograma 268, lo que indica movimiento o actividad de maletas en esa parte del vídeo.
Fig. 5. Predicciones de YOLO11 visualizadas como un gráfico de áreas.
Uso de grafos en aplicaciones de visión artificial del mundo real
Estos son algunos ejemplos reales de aplicaciones de visión artificial en las que la visualización de datos tiene un impacto significativo:
Atención sanitaria: Los sistemas de visión artificial pueden supervisar la actividad de los pacientes, el movimiento del personal y el uso de los equipos en tiempo real. Esto genera grandes cantidades de datos visuales que, cuando se visualizan, pueden revelar patrones, como las horas de máxima ocupación de pacientes o los retrasos en la respuesta.
Comercio minorista y electrónico: Vision AI puede utilizarse para track los movimientos de los clientes, el tiempo de permanencia frente a las estanterías y las interacciones con los productos. Los análisis visuales, como gráficos de barras o circulares, pueden poner de relieve qué zonas de la tienda o qué artículos reciben más atención, lo que ayuda a los minoristas a optimizar la colocación de los productos y mejorar las conversiones.
Fabricación: Las cámaras equipadas con modelos de visión artificial pueden supervisar las líneas de montaje para detectar defectos, infracciones de seguridad o el estado de los equipos. La visualización de datos puede mostrar las tendencias de los tipos de defectos más comunes o destacar los periodos de tiempo con las tasas de error más elevadas, lo que permite una toma de decisiones más rápida y un mantenimiento preventivo.
Conclusiones clave
Con el paquete Ultralytics , puede convertir fácilmente secuencias de vídeo en gráficos claros y perspicaces que revelen lo que está ocurriendo, como el seguimiento de cuántas personas u objetos aparecen a lo largo del tiempo. En lugar de revisar manualmente horas de vídeo, puede generar resúmenes visuales que pongan de relieve patrones y tendencias clave, facilitando una rápida actuación. Ya sea en hospitales, tiendas minoristas o instalaciones de fabricación, estos gráficos convierten los complejos resultados de la IA en perspectivas que cualquiera puede comprender y utilizar.