LED~~

Este método no necesita calibrar los parámetros de ruido ni un entrenamiento repetido, y solo necesita una pequeña cantidad de datos emparejados y un ajuste rápido para adaptarse a la cámara de destino. Nueva canalización para la eliminación de ruido de imágenes RAW en escenas extremadamente oscuras

Página de inicio: https://srameo.github.io/projects/led-iccv23

Papel: https://arxiv.org/abs/2308.03448

Github: https://github.com/Srameo/LED

Google Drive: https://drive.google.com/drive/folders/11MYkjzbPIZ7mJbu9vrgaVC-OwGcOFKsM%3Fusp%3Dsharing

Los métodos basados ​​en la calibración dominan la eliminación de ruido de las imágenes RAW en entornos con poca luz. Sin embargo, estos enfoques adolecen de varios inconvenientes importantes:

  1. El proceso de calibración de parámetros de ruido es laborioso y requiere mucho tiempo,

  2. Las redes de reducción de ruido de diferentes cámaras son difíciles de convertir entre sí,

  3. La diferencia entre el ruido sintético y el ruido real se amplifica mediante una alta ganancia digital.

Para superar las deficiencias anteriores, proponemos una tubería sin calibración para iluminar  la iluminación en toda  oscuridad ( LED ), independientemente de la ganancia digital o el  tipo de sensor de la cámara. Nuestro método no necesita calibrar los parámetros de ruido y el entrenamiento repetido, solo necesita una pequeña cantidad de datos emparejados y un ajuste rápido para adaptarse a la cámara de destino. Además, los cambios estructurales simples pueden reducir la brecha de dominio entre el ruido sintético y el real sin ningún costo computacional adicional . Con solo un total de _6 pares de datos emparejados, y 0,5 % de iteraciones y 0,2 % de tiempo de entrenamiento_ en SID[1], ¡LED muestra un rendimiento SOTA!

Entrenamiento con datos reales pareados

SID[1] propuso por primera vez un conjunto completo de puntos de referencia y conjuntos de datos para mejorar o eliminar el ruido de las imágenes RAW con poca luz. ¿Por qué empezar con imágenes RAW para eliminar el ruido y mejorar con poca luz? Debido a que tiene un límite superior más alto, consulte el artículo de SID[1] para obtener más detalles.

Entonces, ¿qué hace exactamente? Es muy simple, como se muestra a la izquierda en la Figura 1, use una cámara para capturar una gran cantidad de datos reales emparejados y luego apílelos directamente en la red para el entrenamiento. Figura 1: Proceso de entrenamiento basado en datos emparejados reales (izquierda) y proceso de entrenamiento basado en la calibración del modelo de ruido (derecha)

Pero hay un problema muy importante, diferentes sensores, modelos de ruido y parámetros son diferentes. Entonces, de acuerdo con este proceso, ¿necesitamos volver a recopilar una gran cantidad de datos y volver a entrenar para cada cámara? ¿Es un poco demasiado engorroso?

Flujo de algoritmo basado en la calibración del modelo de ruido

Con respecto a los problemas antes mencionados, el artículo reciente [2] [3] [4] [5] nos dice uniformemente: sí. Ahora, todos ruedan principalmente, incluso en varios escenarios industriales (teléfonos móviles, dispositivos de borde), las tareas de eliminación de ruido han comenzado a utilizar métodos basados ​​en calibración.

Entonces, ¿qué es la calibración? Para conocer el proceso de calibración específico, puede consultar el artículo de @Wang Hawk Modelo de ruido y calibración para imágenes de cámaras digitales (https://zhuanlan.zhihu.com/p/397873289). Por supuesto, el algoritmo basado en aprendizaje profundo + calibración del modelo de ruido se divide aproximadamente en los siguientes tres pasos (consulte la parte derecha de la Figura 1):

  1. Diseñe el modelo de ruido, recopile datos de calibración,

  2. Utilice los datos calibrados en 1. para estimar los parámetros del modelo de ruido, y la ganancia (o iso) y la varianza del ruido tienen una relación lineal en el dominio logarítmico.

  3. Utilice el modelo de ruido calibrado en 2. para sintetizar datos emparejados y entrenar la red neuronal.

De esta manera, para diferentes cámaras, solo necesitamos usar diferentes datos de calibración (la dificultad de recopilar es mucho menor que la de conjuntos de datos emparejados a gran escala), y luego podemos entrenar una red de eliminación de ruido dedicada correspondiente a la cámara.

Pero, ¿el algoritmo de calibración es realmente bueno?

Fallos de calibración y LED Figura 2: Fallos de algoritmo basados ​​en la calibración del modelo de ruido

Entonces, ¿qué nos gusta?

  1. Calibración simplificada [6] [7], o incluso sin calibración ,

  2. Implemente rápidamente en nuevas cámaras,

  3. Fuerte capacidad de "generalización": muy buena generalización a escenas reales , superando la brecha de dominio entre el ruido sintético y el ruido real.

¡Así que aquí vienen los LED! Figura 3: algoritmo de calibración en comparación con los LED

  1. Sin necesidad de calibración : en comparación con el algoritmo de calibración que necesita usar los parámetros de ruido de la cámara real, usamos los parámetros de ruido de la cámara virtual para la síntesis de datos.

  2. Implementación rápida : con la estrategia de entrenamiento Pretrain-Finetune, solo se necesita una pequeña cantidad de datos para ajustar algunos parámetros de la red para la nueva cámara.

  3. Superación de la brecha de dominio : Finetune se realiza en una pequeña cantidad de datos reales para obtener la capacidad de eliminar el ruido real.

¿Qué pueden hacer los LED? 

 Figura 4: 6 pares de datos + 1.5K de iteración = Rendimiento SOTA Figura 5: Comparación de registros más intuitiva

Método

El LED se divide aproximadamente en los siguientes pasos:

  1. El modelo de ruido predefinido Φ\Phi\Phi recopila aleatoriamente grupos NNN de parámetros de ruido de "cámara virtual" del espacio de parámetros,

  2. Use los parámetros de ruido de la "cámara virtual" del grupo NNN en 1. para sintetizar y entrenar previamente la red neuronal,

  3. Use la cámara de destino para recopilar una pequeña cantidad de datos emparejados,

  4. Uso de la pequeña cantidad de datos en 3. Finetune 2. La red neuronal preentrenada.

Por supuesto, una UNet ordinaria no puede satisfacer las tres "necesidades" que mencionamos anteriormente. Por lo tanto, se requiere un pequeño cambio en la estructura: Figura 6: Bloque RepNR en la estructura UNet

En primer lugar, emparejamos todas las Conv3 en UNet con un conjunto de CSACSACSA (Alineación específica de cámara) CSACSACSA se refiere a un peso de canal simple y un conjunto de sesgo de canal para la alineación en el espacio de características.

Durante el preentrenamiento, para los datos sintetizados por la cámara kkkth, solo entrenamos el kkkth CSACSACSA y Conv3.

Cuando realice el ajuste fino, primero promedie el grupo CSACSACSA durante el preentrenamiento para obtener el CSATCSA^TCSA^T inicializado (para la cámara de destino), y luego entrénelo para que converja primero; luego agregue una rama adicional para continuar con el ajuste fino, y se usa la rama adicional para el aprendizaje de síntesis Dominio Brecha entre el ruido y el ruido real.

Por supuesto, dado que CSACSACSA y la convolución son operaciones lineales, podemos repararmetrizarlas todas juntas en el momento de la implementación, ¡así que no terminamos introduciendo ningún cálculo adicional ! Figura 7: Reparametrización

Resultado visual

La siguiente figura muestra la capacidad del LED para eliminar el ruido fuera del modelo (la capacidad de superar la brecha de dominio entre el ruido sintético y el ruido real).

Ruido fuera del modelo se refiere al ruido que no está predefinido en el modelo de ruido, como el ruido causado por la lente en la Figura 8 o el ruido causado por el sombreado oscuro en la Figura 9 Figura 8: Eliminación del patrón fuera del modelo (Artefacto causado por la lente)  Figura 9: Capacidad de eliminación de ruido fuera del modelo (sombreado oscuro)

Discusión sobre "¿Por qué necesita dos pares de datos?" Figura 10

No sé si recuerdas un presagio que quedó enterrado antes: existe una relación logarítmica lineal entre la ganancia y la variación del ruido.

¿Qué significa una relación lineal? ¡Dos puntos determinan una línea recta ! Es decir, dos pares de datos (cada par de datos puede proporcionar el valor de la varianza del ruido con una determinada ganancia) pueden determinar esta relación lineal. Sin embargo , debido al error [2], necesitamos dos pares de datos con una brecha de ganancia lo más grande posible para completar el aprendizaje de la red de la relación lineal. ¿Qué software  es?  http://143ai.com 

También se puede ver a la derecha de la Figura 10 que cuando usamos 1, 2 y 4 pares de datos con la misma ganancia, no hay mucha diferencia en el rendimiento. Sin embargo, cuando se utilizan dos pares de datos con una gran diferencia en la ganancia (una gran diferencia se refiere a ISO<500 e ISO>5000), el rendimiento mejora considerablemente. Esto también valida nuestra suposición de que dos pares de datos pueden aprender una relación lineal.

La capacitación y las pruebas, incluido el código de reproducción para ELD, han sido de código abierto en Github (https://github.com/Srameo/LED) 

Por supuesto, no solo el código, sino que también abrimos el modelo de ruido de datos emparejados, ELD, PG (Poisson-Gaussian) en múltiples cámaras, diferentes estrategias de entrenamiento y diferentes etapas (refiriéndose a las etapas Pre-entrenamiento y Ajuste fino de LED) Un total de 15 modelos , ver pretrained-model.md para más detalles

https://github.com/Srameo/LED/blob/main/docs/pretrained-models.md%23network-for-benchmark

Además, dado que el bloque RepNR actualmente solo se prueba en UNet, creemos en su potencial en otros modelos. Por lo tanto, se proporciona el código para usar rápidamente el bloque RepNR en otros modelos. Puede usar el bloque RepNR en su propia estructura de red con solo una línea de código . Con nuestro generador Noisy-Clean, puede verificar rápidamente que el bloque RepNR es en Otra validez estructural. Las explicaciones y los códigos relacionados se pueden encontrar en desarrollar.md (https://github.com/Srameo/LED/blob/main/docs/develop.md).

GitHub:

https://github.com/Srameo/LEDgithub.com/Srameo/LED

Página principal:

https://srameo.github.io/projects/led-iccv23/

Papel:

http://arxiv.org/abs/2308.03448

Supongo que te gusta

Origin blog.csdn.net/qq_29788741/article/details/132200001
Recomendado
Clasificación