Superresolución en tiempo real y a bordo

Como preámbulo, este artículo complementa al titulado Mejora de imágenes: superresolución con aprendizaje profundo.

Ya hemos demostrado que en varios sectores industriales existe un interés indudable por utilizar la superresolución. Aquí vamos a centrarnos en el proceso de despliegue y el rendimiento, más que en el funcionamiento intrínseco de la superresolución.

Una configuración funcional para la superresolución en tiempo real e integrada

A continuación presentamos la configuración que consideramos óptima para su despliegue en una plataforma empotrada a frecuencias iguales o superiores a 25 Hz.

Uso del SDK NVIDIA TensorRT

TensorRT es un SDK proporcionado por NVIDIA para optimizar la inferencia en las GPU. Se trata de una plataforma de inferencia de alto rendimiento para el aprendizaje profundo. Incluye un entorno de optimización y ejecución de procesos de inferencia que permite un alto rendimiento y una baja latencia para aplicaciones de inferencia de aprendizaje profundo.

TensorRT puede utilizarse en C++ o Python. Pero es necesario convertir un modelo AI inicialmente en formato ONNX en un modelo en formato ENGINE. A continuación, es posible realizar una serie de cambios en el modelo durante la conversión, incluyendo el tamaño de entrada, el tamaño del lote, la precisión (FP32 a FP16, véase INT8), etc.

El modelo también puede adaptarse de antemano a la aplicación deseada (aprendizaje, puesta a punto, etc.).

Uso de una NVIDIA Jetson

Obviamente, las plataformas Jetson de NVIDIA son ideales para este tipo de implantación de la IA en las GPU (en edge computing). Los módulos son de pequeño tamaño, tienen gran capacidad de cálculo en la GPU y consumen muy poca energía. Para obtener más detalles sobre estos módulos, haz clic aquí.

Módulo Jetson TX2 Oficina de diseño de Imasolia Optronics
Ejemplo de un módulo NVIDIA Jetson, disponible en el sitio web de NVIDIA.

Utilización del modelo ESRGAN

ESRGAN (Enhanced Super-Resolution Generative Adversarial Networks) es una red neuronal artificial que puede mejorar la resolución de una imagen. Normalmente, este modelo es capaz de generar una imagen de 1080p a partir de una de 720p.

Si lo desea, puede solicitar otros factores de aumento. Esto facilita la mejora de las resoluciones de imagen por un factor de 3 o 4.

Sin entrar en detalles matemáticos, a continuación encontrará la arquitectura del modelo ESRGAN.

Diagrama de la arquitectura del modelo ERSGAN, fuente.

Para determinados proyectos, se nos puede pedir que apliquemos la superresolución en cámaras específicas en longitudes de onda infrarrojas (por ejemplo). Esto suscita un gran interés, ya que los sensores de esta banda espectral suelen tener poca resolución. El precio de este tipo de sensores es directamente proporcional al número de píxeles.

A continuación, se utiliza software de mejora de la imagen para optimizar la cámara. Es el caso, por ejemplo, de cámaras SWIR muy específicas.

A continuación, es esencial volver a entrenar el modelo neuronal ESRGAN con imágenes de una cámara cuyo rango de longitud de onda será el del uso final.

Uso de Docker y Ansible para el despliegue en producción

En Imasolia también tenemos la experiencia para optimizar su despliegue industrial, en particular con Docker, para permitirle flashear sus Jetsons a gran escala, o desplegar sus aplicaciones en diferentes plataformas (cross-compiling).

También ofreceremos un manual de Ansible para configurar el entorno de su aplicación.

Módulo de superresolución Imasolia
Módulo de superresolución Imasolia. Si desea más información, póngase en contacto con nosotros.

Conclusión

En este artículo, analizamos una configuración típica de hardware y software para mejorar la resolución de las imágenes en tiempo real en una plataforma integrada.

Ya se trate de una imagen en el espectro visible, en el infrarrojo o en cualquier otro, hay un gran número de aplicaciones para "ampliar" una imagen.

En Imasolia, desarrollamos cajas estándar o a medida para la superresolución. Así que si tiene una necesidad, podemos ayudarle, ¡sólo tiene que preguntarnos!

Dejar un comentario