Mejora de imágenes: superresolución con aprendizaje profundo

En el procesamiento de imágenes, la superresolución se refiere al proceso de mejorar la resolución espacial, es decir, el nivel de detalle de una imagen. El objetivo de este artículo es presentar la superresolución basada en aprendizaje profundo con algunas aplicaciones útiles y un ejemplo sencillo para su visualización.

¿Qué es la superresolución?

La superresolución es un conjunto de algoritmos y técnicas utilizadas para mejorar, aumentar y aumentar la resolución de una imagen de entrada.

En otras palabras, consiste en tomar una imagen de entrada y aumentar su tamaño —es decir, su anchura y altura— con una mínima pérdida de calidad. Idealmente, la calidad no se degrada en absoluto, y ese es el objetivo principal de la superresolución. De hecho, casi todo el mundo ha intentado ampliar una imagen y ha notado que pierde nitidez o incluso se vuelve borrosa.

De hecho, la mayoría de los programas de edición fotográfica (Photoshop, GIMP, etc.) utilizan técnicas y algoritmos de interpolación clásicos:

  • interpolación del vecino más cercano
  • interpolación lineal
  • interpolación bicúbica
  • ...

¿Por qué usar superresolución?

Existen muchas razones para usar la superresolución. Sin embargo, la superresolución no es un proceso gratuito en términos de potencia de cálculo (elección de la plataforma de procesamiento, consumo de energía, tamaño, etc.). Por lo tanto, ¡su uso debe estar justificado! Por ejemplo, al usar una cámara visible estándar, cuyo precio sigue siendo razonable, es mejor reemplazar la cámara que realizar un procesamiento de superresolución. En cambio, para los siguientes ejemplos, la superresolución es esencial:

  • Cámaras caras: este es el caso, por ejemplo, de las cámaras MWIR (infrarrojas de onda media). Estas cámaras suelen tener una resolución limitada a 640×480 píxeles y su precio puede alcanzar decenas de miles de euros.
  • En el caso de cámaras ya integradas en un producto fabricado, suele ser más sencillo implementar la superresolución que cambiar la cámara en un producto que ya cumple con los estándares de resistencia a golpes, vibraciones, compatibilidad electromagnética, etc. Este puede ser el caso, por ejemplo, de ciertos productos militares.

Modelos de superresolución (compatibles con OpenCV)

Es posible implementar varios modelos de superresolución. Entre ellos, podemos mencionar algunos a continuación. La mayoría se basan en Inteligencia Artificial (Aprendizaje Profundo) .

  • EDSR – Redes residuales profundas mejoradas para superresolución de imágenes individuales
  • ESPRC : Superresolución en tiempo real de imágenes y vídeos individuales mediante una eficiente red neuronal convolucional subpíxel.
  • FSRCNN – Acelerando la red neuronal convolucional de superresolución
  • LapSRN : Superresolución rápida y precisa con redes piramidales laplacianas profundas

Estos modelos se pueden implementar para que funcionen en tiempo real, en plataformas integradas como NVIDIA TX2 , Xavier , etc. También es posible implementarlos para que funcionen en GPU.

Esta figura muestra las estructuras de las redes SRCNN y FSRCNN. Estos modelos no se tratan aquí, pero puede obtener más información haciendo clic en el siguiente enlace ( imagen de origen ).

Ejemplo de superresolución

Como ejemplo, presentamos los resultados de la implementación de nuestro modelo de superresolución basado en aprendizaje profundo. Tomamos nuestro logotipo de Imosolia, de baja resolución, y lo introdujimos en nuestro modelo. El resultado es mucho menos pixelado y visualmente más atractivo. Aumentamos la resolución aproximadamente cuatro veces.

Ejemplo del logotipo de Imosolia sin superresolución (imagen original).
Ejemplo del logotipo de Imosolia en superresolución (imagen de nuestro modelo de superresolución basado en aprendizaje profundo).

Otro ejemplo, esta vez extraído de la bibliografía , se presenta a continuación. Se utilizaron y compararon diferentes modelos en la imagen de Lenna. Los resultados no se discuten aquí, ya que no es el objetivo de este artículo. El propósito es demostrar que es posible utilizar varios modelos, cada uno con sus propias ventajas e inconvenientes.

Ejemplos de diferentes modelos de superresolución en la imagen Lenna con un factor de escala de 3 ( imagen fuente ).

Conclusión

En este artículo, presentamos el concepto de superresolución mediante modelos basados ​​en aprendizaje profundo . Explicamos sus ventajas y cómo se puede implementar en GPU y plataformas integradas para el procesamiento en tiempo real. De hecho, ¡nos especializamos en la implementación de este tipo de procesamiento de imágenes en plataformas integradas de NVIDIA !

Imosolia ofrece sus algoritmos de superresolución con aprendizaje profundo para sus aplicaciones específicas. No dude en contactarnos para obtener más información.

Dejar un comentario