COMPRESIÓN DE IMAGEN DE VELOCIDAD VARIABLE CON REDES NEURALES RECURRENTES

Introducción

  Este artículo es un trabajo pionero basado en RNN. Toderici et al. utilizaron LSTM convolucional por primera vez para lograr la compresión de imágenes de aprendizaje de un extremo a otro con una velocidad de bits variable. Se puede decir que este método es un método representativo del uso de RNN. para la compresión de imágenes. Verifica que para cualquier imagen de entrada, bajo una calidad de imagen determinada, el efecto de calidad de imagen reconstruida puede ser mejor que la tasa de compresión óptima actual, pero este efecto está limitado a imágenes de tamaño 32 × 32, lo que ilustra el método. es insuficiente para capturar las dependencias de las imágenes.
papel

código

   El código en este enlace no es el mismo que el del autor del artículo y la estructura también es ligeramente diferente. Sin embargo, ambos se basan en el marco de compresión RNN y tienen algunas similitudes. Puede consultar el código aquí, y los estudiantes capaces Puedes modificarlo. Muéstralo.
código

Resumen del artículo

  Se propone un marco general para la compresión de imágenes de tasa variable y una nueva arquitectura basada en redes recurrentes LSTM convolucionales y deconvolucionales
  para resolver los siguientes problemas:
(1) Independientemente del tamaño de la imagen de entrada y la tasa de compresión requerida, nuestra red solo necesita entrenar una vez ( en lugar de por imagen).
(2) Nuestra red es progresiva, lo que significa que cuantos más bits se envíen, más precisa será la reconstrucción de la imagen.
(3) Para un número determinado de bits, la arquitectura propuesta es al menos tan eficiente como un codificador automático estándar especialmente entrenado.
  En pruebas comparativas a gran escala con miniaturas de 32×32, nuestro enfoque basado en LSTM proporciona una mejor calidad visual que JPEG, JPEG2000 y WebP, con una reducción del tamaño de almacenamiento del 10 % o más.

Interpretación del artículo

  Este artículo está dividido en 5 partes, a continuación explicaré de qué habla cada parte y qué trabajos relacionados se han realizado.

INTRODUCCIÓN

  En esta sección, el autor presenta principalmente el trabajo de compresión de imágenes anterior y propone que en el pasado se prefería la compresión de imágenes para imágenes grandes, mientras que se ignoraban las imágenes de pequeña resolución y se consideraba que las imágenes de pequeña resolución eran más difíciles de comprimir. esta propuesto. También señaló las deficiencias de algunos de los codificadores automáticos actuales, como (1) la codificación de tasa variable generalmente es imposible y solo se puede entrenar una red para cada tasa de compresión. (2) La calidad visual de la salida es difícil de garantizar; generalmente están entrenados para una escala específica y solo pueden capturar la redundancia en esa escala.
  propuso que su arquitectura debe cumplir estos requisitos:
(1) La tasa de compresión debería poder limitarse dentro del presupuesto de bits anterior.
(2) El códec puede asignar más bits a regiones de la imagen que contienen características visuales importantes.
(3) El modelo debería poder aprender de un gran conjunto de imágenes existentes para optimizar este proceso de compresión para datos del mundo real.

TRABAJO RELACIONADO

  El autor presentó la arquitectura del codificador automático de extremo a extremo. Hinton y su alumno Salakhutdinov publicaron un artículo sobre Reducción de la dimensionalidad de datos de las redes neuronales en 2006. La estructura de red utilizada aquí es un codificador automático profundo. El codificador automático profundo aquí consta de lo siguiente:
(1) Primero, una red de reducción de dimensionalidad se llama codificador. Este codificador es una estructura de red de muchas redes de capas ocultas. Después de ingresar una imagen, se generará el resultado de la reducción de dimensionalidad.
(2) Luego hay una capa de cuello de botella: los datos originales se extraen en un vector no lineal ajustado bajo la compresión de la capa de cuello de botella, logrando así el efecto de reducción de dimensionalidad no lineal.
(3) El decodificador también es una estructura de red, y al ingresar una imagen de dimensiones reducidas se generará la imagen original.
  Controle la tasa de compresión y la fidelidad visual de las imágenes codificadas ajustando la cantidad de nodos en la capa de cuello de botella antes del entrenamiento.

Insertar descripción de la imagen aquí

  El autor también propuso la memoria a largo plazo (LSTM), una de las arquitecturas RNN, y mencionó LSTM convolucional, por lo que el autor usó esto como inspiración para la compresión de imágenes. Además de usar la arquitectura convolucional LSTM, también usó otras arquitecturas simples. Estos La arquitectura utiliza los residuos de un codificador automático como entrada para otro codificador automático, que se presentarán uno por uno más adelante.
  Red neuronal recurrente (RNN, LSTM)

ARQUITECTURAS DE COMPRESIÓN DE TASA VARIABLE

  Los autores describen un marco de compresión general basado en redes neuronales y luego analizan los detalles de la arquitectura, antes de describir varias estructuras diferentes que se basan en modelos anteriores.

estructura general

x'=D(B(E(x)))

  Entre ellos, E es el codificador, que codifica los bloques de imágenes de entrada. B es la función de binarización. D es la función decodificadora que toma como entrada el binario producido por B y reconstruye el parche de imagen. x es la imagen original, x ′ es la imagen comprimida y reconstruida. Juntos, estos tres componentes forman un codificador automático, que es el componente básico de todas las redes de compresión.

Arquitectura de compresión de imágenes

  Los autores proponen en esta sección una arquitectura construida sobre residuos, con el objetivo de minimizar los residuos en la reconstrucción cuando el decodificador obtiene información adicional.
  Marco de red de compresión de imágenes basado en entrada residual:

Ft​(rt−1​)=Dt​(B(Et​(rt−1​)))

   r es la entrada residual y el subíndice indica el punto temporal de la iteración.
  También se propusieron una arquitectura residual basada en LSTM y una arquitectura residual no basada en LSTM.

Arquitectura no basada en LSTM

  Para los modelos que no se basan en la estructura LSTM, F no tiene memoria y el residuo en cada paso se calcula solo en función del resultado residual del paso anterior, por lo que la reconstrucción de todo el bloque de imagen se obtiene sumando la suma de todos los residuales. , como el codificador residual directo completamente conectado y el codificador residual de convolución/deconvolución directa que se mencionarán más adelante.
  La fórmula de cálculo residual para cada paso es la siguiente:

rt​=Ft​(rt−1​)−rt−1​
Arquitectura basada en LSTM

  Para los modelos basados ​​​​en la estructura LSTM, F tiene memoria y el residuo de cada paso se calcula directamente en función de la imagen original, por lo que la salida de cada paso predice la imagen original, como la red de compresión basada en LSTM y Se mencionará más adelante.
  La fórmula de cálculo residual para cada paso de es la siguiente:

rt​=Ft​(rt−1​)−r0

  Las redes de compresión de los dos métodos anteriores se entrenan de la siguiente manera, donde N es el número total de codificadores automáticos en la red:
Insertar descripción de la imagen aquí

Codificación de representación binarizada

El autor propone que la binarización tiene tres beneficios:
  los vectores de bits son serializables/deserializables para la transmisión de imágenes.
  El control de la tasa de compresión de la red solo se logra mediante restricciones en los vectores de bits.
  En comparación con las soluciones tradicionales, estas dos valorizaciones pueden extraer información más efectiva (forzando la red para aprender información más efectiva)

El método de binarización citado en el artículo se divide en los siguientes dos pasos:
  el primer paso utiliza una capa completamente conectada más una función de activación tanh para asignar la representación obtenida después del codificador al intervalo de (-1, 1)
  usando la siguiente función a (-1, 1) Los códigos en el intervalo se binarizan en el conjunto {-1, 1}

Insertar descripción de la imagen aquí
se puede simplificar a:

Insertar descripción de la imagen aquí
Por tanto, el codificador binario completo se puede expresar como:

Insertar descripción de la imagen aquí  Donde W y b son los pesos y sesgos de la capa lineal completamente conectada respectivamente, y x es el valor de activación de la capa anterior.
  La relación de compresión de la imagen está determinada por el número de bits de representación generados en cada paso (es decir, el número de filas de la matriz W) y el número de iteraciones de la red (es decir, el número de repeticiones del codificador automático residual).

Modelo 1: codificador residual completamente conectado no basado en LSTM

  El artículo primero propone que el ejemplo más simple es el codificador E y el decodificador D apilados con capas completamente conectadas.

Insertar descripción de la imagen aquí
  Configure E y D para que consistan en capas apiladas y completamente conectadas. Establezca el número de salidas de cada capa completamente conectada en una constante (512) y utilice únicamente la función de activación no lineal tanh.
  Se puede ver en la imagen estructural que la reconstrucción del parche de imagen final se obtiene sumando los residuos de todas las etapas.

Modelo 2: codificador residual basado en LSTM

  Este modelo construye un codificador E y un decodificador D basados ​​en LSTM apilando capas de LSTM. Y la estructura LSTM utilizada en este artículo es una estructura simple propuesta por Grave en 2013. La estructura LSTM simple es la siguiente:

Insertar descripción de la imagen aquí
  El superíndice ly el subíndice t representan el estado de la capa oculta de LSTM en la capa ly el punto de tiempo t, T representa una transformación afín y ⊙ representa el producto de los elementos de posición correspondientes de las dos matrices. Este LSTM simple puede reducir la cantidad de operaciones en cada paso y garantizar una ejecución eficiente de la GPU.
  La estructura de la red de compresión basada en LSTM es la siguiente:

Insertar descripción de la imagen aquí
  La figura muestra el LSTM requerido para el entrenamiento desplegado en dos pasos de tiempo, la arquitectura real solo tendrá la primera fila de bloques, la segunda fila (y la recursividad posterior) funciona alimentando el residuo del pase anterior a Se implementa el primer bloque LSTM .
  El codificador consta de una capa completamente conectada y dos capas LSTM; el decodificador consta de dos capas LSTM y una capa completamente conectada más una función de activación no lineal tanh para predecir el valor RGB del parche de imagen original, por lo que cada paso de iteración predice el parche de la imagen original.

Modelo 3: codificador residual de convolución/deconvolución no basado en LSTM

  El artículo propone un codificador automático residual completamente conectado en el Modelo 1. Sobre esta base, las operaciones de convolución se utilizan para reemplazar las capas completamente conectadas en el codificador del Modelo 1, y las operaciones de deconvolución se usan para reemplazar las capas completamente conectadas en el decodificador del Modelo 1. y convertir la representación decodificada en valores RGB de tres canales a través de tres convoluciones 1 × 1. Los resultados del codificador residual convolucional / deconvolucional no basado en LSTM son los siguientes:

Insertar descripción de la imagen aquí
  Nuevamente, de manera similar al Modelo 1, la reconstrucción del parche de imagen se obtiene sumando los residuos de todas las etapas.

Modelo 4: codificador residual de convolución/deconvolución basado en LSTM

  El codificador del último modelo reemplaza la segunda y tercera convolución en el codificador del modelo tres con convolución LSTM, y la segunda y tercera deconvolución en el decodificador se reemplazan con deconvolución LSTM, es decir, reemplace la transformación afín T en el modelo 2 con convolución más inclinación.
  La ecuación de operación de convolución de LSTM es:

Insertar descripción de la imagen aquí
  La ecuación operativa de deconvolución de LSTM es:

Insertar descripción de la imagen aquíUtilice los subíndices cyd para distinguir los pesos asociados con las operaciones de convolución y deconvolución.

Experimentos y análisis

tren

  El artículo utiliza el algoritmo Adam y utiliza varias tasas de aprendizaje {0.1, 0.3, 0.5, 0.8, 1} para el entrenamiento respectivamente. De acuerdo con la pérdida L2 estandarizada por el número de píxeles del bloque y el número total de pasos de iteración, la pérdida La función utiliza pasos de codificación de 8 a 16 bits. Número de pruebas.

Protocolos y métricas de evaluación.

  El artículo enfatiza que PSNR no debe usarse como criterio de evaluación porque PSNR está sesgado hacia los modelos que usan pérdida L2. El modelo propuesto en este artículo es injusto para el algoritmo JPEG. Por lo tanto, el artículo abandona PSNR y en su lugar usa SSIM (Índice de similitud estructural). ). El artículo divide 32 32 imágenes en diferentes 8 8 parches y calcula SSIM en diferentes parches y diferentes canales de color. La puntuación final viene dada por el SSIM promedio de todos los parches y canales. Al analizar los resultados, una puntuación más alta indica una mejor calidad de reconstrucción de la imagen y 1,0 indica una reconstrucción perfecta.
  La similitud estructural (SSIM) es una medida de la similitud entre dos imágenes. Este indicador fue propuesto por primera vez por el Laboratorio de Ingeniería de Imagen y Vídeo de la Universidad de Texas en Austin. Dadas dos imágenes xey, la similitud estructural de las dos imágenes se puede encontrar de la siguiente manera:

Insertar descripción de la imagen aquí
Cuando las dos imágenes son exactamente iguales, el valor de SSIM es igual a 1.

Resultados y análisis

  Los resultados de la evaluación de cada red en el artículo y los resultados de la comparación con algoritmos de compresión de imágenes estándar (JPEG, JPEG2000 y WebP) se muestran en la siguiente tabla:

Insertar descripción de la imagen aquí
  El rendimiento del modelo LSTM completamente conectado es comparable al de JPEG, y el modelo de convolución/deconvolución basado en LSTM supera al JPEG en términos de indicadores SSIM.

Insertar descripción de la imagen aquí
Referencia: Reflexionar2022

Supongo que te gusta

Origin blog.csdn.net/officewords/article/details/130273728
Recomendado
Clasificación