Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Técnicas de Superresolución | Procesamiento de Imágenes con OpenCV
Fundamentos de Visión por Computadora

Desliza para mostrar el menú

book
Técnicas de Superresolución

Las técnicas de super-resolución pueden clasificarse ampliamente en:

  • Métodos tradicionales basados en interpolación (Bilineal, Bicúbica, Lanczos);

  • Super-resolución basada en aprendizaje profundo (CNNs, GANs, Transformers).

Métodos tradicionales basados en interpolación

La interpolación es uno de los enfoques más simples para la super-resolución, donde los píxeles faltantes se estiman en función de los valores de los píxeles circundantes. Todas las técnicas comunes de interpolación incluyen cv2.resize(), pero el parámetro interpolation varía:

Interpolación por vecino más cercano

  • Copia el valor del píxel más cercano a la nueva ubicación;

  • Produce imágenes nítidas pero con apariencia de bloques;

  • Rápido pero carece de suavidad y detalle.

Interpolación Bilineal

  • Promedia cuatro píxeles vecinos para estimar el nuevo valor del píxel;

  • Produce imágenes más suaves, pero puede introducir desenfoque.

Interpolación Bicúbica

  • Utiliza un promedio ponderado de 16 píxeles circundantes;

  • Ofrece mayor suavidad y nitidez en comparación con la interpolación bilineal.

Interpolación Lanczos

  • Utiliza una función sinc para calcular los valores de los píxeles;

  • Proporciona mejor nitidez y un aliasing mínimo.

Si bien los métodos basados en interpolación son computacionalmente eficientes, a menudo no logran restaurar detalles finos y texturas.

Superresolución Basada en Aprendizaje Profundo

Modelos Preentrenados de Superresolución:

  • ESPCN (Efficient Sub-Pixel Convolutional Network): Rápido y eficiente para superresolución en tiempo real;

  • FSRCNN (Fast Super-Resolution CNN): Red ligera optimizada para la velocidad;

  • LapSRN (Laplacian Pyramid SR Network): Utiliza escalado progresivo para obtener mejores detalles.

Tarea

Swipe to start coding

Se proporciona una image con baja resolución:

  • Aplicar el método de interpolación bicúbica con un aumento de escala de 4x y almacenar el resultado en bicubic_image;
  • Definir y crear un objeto de red neuronal profunda en la variable sr;
  • Leer el modelo desde model_path;
  • Establecer el nombre espcn y la escala 4x;
  • Aplicar el método de super-resolución DNN y almacenar el resultado en dnn_image.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

book
Técnicas de Superresolución

Las técnicas de super-resolución pueden clasificarse ampliamente en:

  • Métodos tradicionales basados en interpolación (Bilineal, Bicúbica, Lanczos);

  • Super-resolución basada en aprendizaje profundo (CNNs, GANs, Transformers).

Métodos tradicionales basados en interpolación

La interpolación es uno de los enfoques más simples para la super-resolución, donde los píxeles faltantes se estiman en función de los valores de los píxeles circundantes. Todas las técnicas comunes de interpolación incluyen cv2.resize(), pero el parámetro interpolation varía:

Interpolación por vecino más cercano

  • Copia el valor del píxel más cercano a la nueva ubicación;

  • Produce imágenes nítidas pero con apariencia de bloques;

  • Rápido pero carece de suavidad y detalle.

Interpolación Bilineal

  • Promedia cuatro píxeles vecinos para estimar el nuevo valor del píxel;

  • Produce imágenes más suaves, pero puede introducir desenfoque.

Interpolación Bicúbica

  • Utiliza un promedio ponderado de 16 píxeles circundantes;

  • Ofrece mayor suavidad y nitidez en comparación con la interpolación bilineal.

Interpolación Lanczos

  • Utiliza una función sinc para calcular los valores de los píxeles;

  • Proporciona mejor nitidez y un aliasing mínimo.

Si bien los métodos basados en interpolación son computacionalmente eficientes, a menudo no logran restaurar detalles finos y texturas.

Superresolución Basada en Aprendizaje Profundo

Modelos Preentrenados de Superresolución:

  • ESPCN (Efficient Sub-Pixel Convolutional Network): Rápido y eficiente para superresolución en tiempo real;

  • FSRCNN (Fast Super-Resolution CNN): Red ligera optimizada para la velocidad;

  • LapSRN (Laplacian Pyramid SR Network): Utiliza escalado progresivo para obtener mejores detalles.

Tarea

Swipe to start coding

Se proporciona una image con baja resolución:

  • Aplicar el método de interpolación bicúbica con un aumento de escala de 4x y almacenar el resultado en bicubic_image;
  • Definir y crear un objeto de red neuronal profunda en la variable sr;
  • Leer el modelo desde model_path;
  • Establecer el nombre espcn y la escala 4x;
  • Aplicar el método de super-resolución DNN y almacenar el resultado en dnn_image.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt