¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

Mejora de las aplicaciones de visión artificial con visualizaciones

Nuvola Ladi

4 minutos de lectura

12 de mayo de 2025

Aprenda a convertir datos de aplicaciones de visión artificial en gráficos fáciles de entender utilizando el paquete de Python de Ultralytics para obtener mejores perspectivas.

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 artificial. La visión artificial es una rama de la inteligencia artificial (IA) que ayuda a las máquinas a interpretar y comprender la información visual del mundo que les rodea, como imágenes y videos. Si bien los modelos de Visión IA, como Ultralytics YOLO11, pueden ayudar a analizar dichos datos visuales para obtener información, la visualización de datos ayuda a poner esa información en un formato que sea 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 aumento, y se prevé que el mercado alcance los 18.360 millones de dólares en 2030. Anteriormente, exploramos cómo la visión artificial puede ofrecer valiosos conocimientos empresariales. Hoy, daremos un paso más allá y explicaremos cómo generar gráficos analíticos claros y reveladores para aplicaciones de visión artificial utilizando el paquete Ultralytics. ¡Empecemos!

Fig. 1. Un ejemplo de visualización de datos basada en las salidas 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.

Fig. 2. Ejemplos de gráficos analíticos.

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, analicemos más de cerca cómo usar la solución Ultralytics Analytics para visualizar los resultados de las predicciones de su modelo de visión artificial. Antes de repasar el proceso paso a paso, echemos un vistazo a las herramientas y las opciones de configuración para entrenar y usar el paquete y los modelos de Ultralytics como YOLO11. 

El paquete de Python de Ultralytics facilita el entrenamiento de modelos, la detección de objetos, la ejecución de predicciones y la visualización de resultados. Para empezar a usarlo, necesitarás un entorno de codificación. Aquí tienes tres opciones sencillas:

  • Interfaz de línea de comandos (CLI): Es una herramienta básica, solo de texto, donde puede escribir comandos para ejecutar su código. No tiene una interfaz visual, e interactúa con ella escribiendo instrucciones en una 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 basada en la nube de Jupyter Notebooks que se ejecuta en tu navegador web. No requiere ninguna configuración en tu ordenador y te da acceso a GPU gratuitas para un procesamiento más rápido.

Estas herramientas son ideales 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 pipelines de producción. Para obtener más opciones, explore la documentación oficial de 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á trabajando en Google Colab, tenga en cuenta que utiliza una CPU de forma predeterminada, lo que puede ralentizar el rendimiento. Para acelerar las cosas, cambie a una GPU yendo al menú "Runtime" (Entorno de ejecución), seleccionando "Change runtime type" (Cambiar tipo de entorno de ejecución) y configurando el acelerador de hardware en GPU (idealmente una T4).

Para preparar tu entorno, tendrás que instalar el paquete de Python de Ultralytics utilizando el comando que se menciona a continuación. En herramientas basadas en notebooks como Colab o Jupyter, asegúrate 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 detectar. Dado que el modelo está preentrenado en el conjunto de datos COCO, 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.

Comenzaremos importando OpenCV (cv2), que es una biblioteca ampliamente utilizada para trabajar con imágenes y vídeo en visión artificial. También importaremos la biblioteca Ultralytics, que nos ayuda a ejecutar la detección de objetos y a generar analíticas 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, circular, de área o de barras, y qué modelo YOLO utilizar. En este ejemplo, utilizaremos el modelo ligero "yolo11n.pt" y mostraremos los resultados como un gráfico de área.

analytics = solutions.Analytics(
    show=True, 
    analytics_type="area", 
    model="yolo11n.pt",   
)

Paso 6: Procesamiento del video de entrada

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.

frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count) 

        out.write(results.plot_im) 
    else:
        break
cap.release()
out.release()
cv2.destroyAllWindows()

Paso 7: Unión de todo

Finalmente, juntemos todo. Con solo unas pocas líneas de código adicionales, podemos generar dos videos de salida: uno que muestra los resultados de la detección de objetos de 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.

import cv2
from ultralytics import YOLO, solutions

# Load model and video
model = YOLO('yolo11n.pt')
cap = cv2.VideoCapture('path/to/video.mp4')
assert cap.isOpened(), "Error opening video"

# Get properties
w, h = int(cap.get(3)), int(cap.get(4))
fps = cap.get(5)
analytics_res = (1280, 720)

# Writers for prediction and analytics videos
out_pred = cv2.VideoWriter('output_predictions.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, (w, h))
out_ana = cv2.VideoWriter('output_analytics.avi', cv2.VideoWriter_fourcc(*'MJPG'), fps, analytics_res)

# Analytics setup
analytics = solutions.Analytics(show=True, analytics_type="area", model='yolo11n.pt')

# Process frames
frame_count = 0
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break

    frame_count += 1
    pred_frame = model.track(frame, persist=True)[0].plot()
    out_pred.write(pred_frame)

    resized = cv2.resize(pred_frame, analytics_res)
    out_ana.write(analytics(resized, frame_count).plot_im)

cap.release(), out_pred.release(), out_ana.release(), cv2.destroyAllWindows()

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 área.

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.
  • Retail y comercio electrónico: La visión artificial se puede utilizar para rastrear el movimiento de los clientes, el tiempo de permanencia frente a los estantes y las interacciones con los productos. Los análisis visuales, como los gráficos de barras o circulares, pueden destacar qué zonas de la tienda o 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 reveladores que muestran lo que está sucediendo, como el seguimiento de cuántas personas u objetos aparecen con el tiempo. En lugar de revisar manualmente horas de vídeo, puede generar resúmenes visuales que destaquen patrones y tendencias clave, lo que facilita la actuación rápida. Ya sea en hospitales, tiendas minoristas o instalaciones de fabricación, estos gráficos convierten las complejas salidas de la IA en conocimientos que cualquiera puede entender y utilizar.

¿Quiere obtener más información sobre la IA? Explore nuestro repositorio de GitHub, conéctese con nuestra comunidad y consulte nuestras opciones de licencia para impulsar su proyecto de visión artificial. Obtenga más información sobre innovaciones como la IA en la fabricación y la visión artificial en la industria de la logística en nuestras páginas de soluciones.

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis
Enlace copiado al portapapeles