Una arquitectura que une la potencia de CPU y GPU mediante publicación y suscripción logra procesar imágenes en tiempo real con eficiencia, flexibilidad y precisión industrial.
El procesamiento de imágenes en tiempo real se ha convertido en un pilar de la visión por computador, la realidad aumentada y los sistemas de inspección automatizada. En estos entornos, la rapidez con que una imagen es analizada puede marcar la diferencia entre una detección correcta o un fallo costoso.
Las cámaras industriales actuales generan enormes volúmenes de datos que deben ser interpretados en milisegundos, lo que impone exigencias extremas sobre el rendimiento y la latencia de los sistemas informáticos. En este contexto, las arquitecturas heterogéneas que combinan unidades centrales de procesamiento (CPU) con unidades gráficas (GPU) se han consolidado como la opción más eficiente para ejecutar tareas paralelas y lograr tiempos de respuesta adecuados.
En nuestro artículo presentado en Jornadas SARTECO 2025 se propone una arquitectura de software basada en el patrón publicación/suscripción, aplicada al procesamiento de imágenes sobre sistemas heterogéneos. Este enfoque busca incrementar el paralelismo sin aumentar la complejidad del código y facilitar la escalabilidad en entornos industriales exigentes. El trabajo se valida en un caso real: un sistema de inspección superficial de acero, que debe identificar defectos en tiempo real mediante técnicas de visión por computador y aprendizaje profundo. Los resultados obtenidos demuestran que la estrategia propuesta logra mantener el ritmo de captura de imágenes sin pérdidas de rendimiento, garantizando precisión y estabilidad en condiciones de producción.
El reto del tiempo real
El procesamiento en tiempo real implica que cada imagen debe ser capturada, analizada y clasificada antes de que llegue la siguiente. En la práctica, esto significa operar con latencias inferiores a los 40 milisegundos por imagen, algo que solo puede conseguirse si el flujo de trabajo está cuidadosamente optimizado. En los últimos años, las GPUs se han destacado por su capacidad de procesar miles de operaciones en paralelo, lo que las convierte en el componente ideal para etapas intensivas como la detección de defectos o la inferencia de modelos de inteligencia artificial.
Sin embargo, no todas las tareas se benefician de la misma manera del paralelismo masivo. Algunas operaciones, como la gestión de datos, la comunicación entre procesos o ciertos ajustes de imagen, siguen siendo más eficientes en CPU. La cuestión clave es cómo coordinar ambos tipos de unidades sin crear cuellos de botella. En este punto, nuestro trabajo introduce un diseño que permite distribuir las tareas según sus fortalezas naturales, de modo que cada componente —CPU o GPU— trabaje en aquello para lo que está mejor preparado.
Una arquitectura basada en publicación y suscripción
El patrón publicación/suscripción (pub/sub) es una forma de comunicación asíncrona donde los componentes del sistema no se conectan directamente entre sí. En lugar de enviar datos de un módulo a otro, cada productor publica mensajes en un tópico, y los consumidores se suscriben a esos tópicos según sus necesidades. Este modelo permite un bajo acoplamiento: los módulos pueden agregarse, eliminarse o modificarse sin alterar el resto del sistema.
En nuestro trabajo, esta idea se lleva al ámbito del procesamiento de imágenes. Se diseña un “broker” central que gestiona los mensajes y coordina la ejecución entre etapas. Las imágenes se transmiten mediante punteros inteligentes, lo que evita copias innecesarias de memoria y mantiene la eficiencia.
Cada suscriptor puede funcionar con distintas políticas de ejecución: síncrona, en hilos independientes o incluso en procesos separados. Gracias a esta flexibilidad, el sistema se adapta dinámicamente a las demandas del entorno, manteniendo el equilibrio entre rendimiento y estabilidad. Esta capacidad resulta esencial cuando se trabaja con flujos de imágenes de alta resolución que requieren respuestas instantáneas.
Paralelismo sin complejidad
Uno de los mayores desafíos en sistemas de visión industrial es mantener la modularidad sin sacrificar el rendimiento. En muchos casos, los ingenieros optan por arquitecturas rígidas en las que cada etapa está firmemente encadenada a la siguiente.
Aunque este enfoque simplifica el diseño inicial, dificulta las actualizaciones y limita la escalabilidad. En cambio, el modelo pub/sub permite que las etapas funcionen como piezas intercambiables, capaces de ejecutarse en paralelo o en secuencia según convenga.
La independencia de los componentes facilita, además, la reconfiguración en caliente, una característica que permite ajustar parámetros o añadir nuevas funcionalidades sin detener el sistema.
De este modo, un mismo software puede adaptarse a distintas líneas de producción o cámaras sin necesidad de reescribir el código base. En nuestro trabajo, esta filosofía se traduce en un sistema que combina modularidad y rendimiento, con la posibilidad de incorporar nuevos algoritmos de aprendizaje profundo a medida que evolucionan las técnicas de visión artificial.


Aplicación en la industria del acero
Para validar la propuesta, se implementó el sistema en una línea de decapado de acero, donde la superficie del material debe inspeccionarse de manera continua. La cámara industrial utilizada —una Basler acA4096-11gc— genera imágenes de 4096 por 2168 píxeles, con una resolución espacial de 0,37 milímetros por píxel y una tasa de captura de 8 imágenes por segundo. El desafío consiste en procesar cada imagen en tiempo real, ejecutando una cadena de operaciones que incluye interpolación Bayer (debayerización), compensación de intensidad, mejora de contraste y detección de defectos mediante YOLOv8, un modelo de aprendizaje profundo optimizado para la detección de objetos.
El sistema completo opera en un equipo con procesador Intel i9, 128 GB de memoria RAM y una GPU NVIDIA RTX 3090, configurado para maximizar el paralelismo entre CPU y GPU. Los resultados muestran que la etapa más costosa —la inferencia del modelo YOLOv8— alcanza un tiempo medio de 21,7 milisegundos por imagen, lo que permite mantener un flujo continuo de 46 fotogramas por segundo.
Esto demuestra que la arquitectura propuesta no solo cumple los requisitos de tiempo real, sino que además aprovecha al máximo los recursos disponibles, sin necesidad de hardware adicional.


Monitorización y resultados
La integración industrial requiere algo más que rendimiento. La supervisión continua del sistema es esencial para garantizar su fiabilidad y facilitar el mantenimiento. Por ello, se incorporó un esquema de monitorización basado en Prometheus y Grafana, herramientas que permiten registrar métricas en tiemporeal, generar gráficos y establecer alarmas ante cualquier anomalía. De esta forma, se obtiene una visión completa del rendimiento de cada etapa del proceso y se pueden identificar rápidamente posibles desequilibrios entre CPU y GPU.
El análisis de datos muestra que el flujo pub/sub mantiene una carga de trabajo equilibrada y que el sistema logra procesar todas las imágenes capturadas sin pérdidas. Las operaciones de compensación de iluminación y mejora de contraste producen resultados visuales estables, incluso ante variaciones de brillo o reflectancia del acero. Este rendimiento sostenido confirma que el modelo propuesto es robusto, escalable y apto para producción continua, tres requisitos indispensables en entornos industriales de alta exigencia.

Conclusiones
El patrón publicación/suscripción aplicado al procesamiento de imágenes ofrece una solución moderna y eficiente para los desafíos del tiempo real. La arquitectura desarrollada demuestra que es posible combinar flexibilidad, paralelismo y mantenibilidad sin comprometer la velocidad de ejecución.
La experiencia obtenida en el entorno industrial confirma que el diseño permite reconfigurar, ampliar y supervisar el sistema de manera sencilla, adaptándose a las necesidades de producción sin interrupciones.
Más allá de su caso específico, este enfoque es transferible a otros ámbitos de la visión por computador, desde la robótica hasta la medicina. La capacidad de orquestar múltiples tareas de procesamiento en paralelo abre la puerta a aplicaciones más complejas y precisas. En definitiva, el trabajo presentado constituye una contribución tangible a la integración de inteligencia artificial y visión industrial, demostrando que una arquitectura bien pensada puede marcar la diferencia entre la teoría y la aplicación práctica.
Referencias
- Usamentiaga, R., Menéndez, F., Pérez, L., de la Calle, F. J., & Lema, D. G. (2025). Paralelismo en el procesamiento de imágenes en tiempo real sobre arquitecturas heterogéneas usando el patrón publicación/suscripción. Jornadas SARTECO 2025. https://jornadassarteco.org
Cortesía de Muy Interesante
Dejanos un comentario: