Eliminación de marcas de agua (basada en el modelo + código optimizado de nosie2noise)

enlace de github

1. Cálculo del campo de recepción:

r_ {n}: Esta capa de campo receptivo;

r_ {n-1}: Campo receptivo superior;

si}: El tamaño del paso de la i-ésima capa de convolución o agrupación

k: el tamaño del núcleo de convolución de esta capa

2. Cálculo del núcleo de convolución hueca: K = k + (k-1) (r-1), k es el tamaño del núcleo de convolución original, r es la relación de vacíos del parámetro de convolución de vacíos y el volumen de vacíos puede calcularse ingresando la fórmula anterior Acumular campo receptivo;

3. Transformación para noise2nosie:

(1). Profundice la red, el campo receptivo de la estructura original es solo 192, y la escala de la marca de agua que se eliminará es relativamente grande. Cambie las dos capas de la estructura original a la circunvolución del agujero, la tasa de dilatación se establece en 6 , y el campo receptivo se amplía a 672, incluso más Es adecuado para el razonamiento de escala de 640 * 640, de modo que el ruido global se puede ver más claramente y la pérdida de información de la imagen original no es muy grave;
(2). función de pérdida y aumentar la pérdida con la época para optimizar deliberadamente las muestras difíciles.


class L0Loss(nn.Module):
    """High dynamic range loss."""
    def __init__(self, eps=1e-8, nb_epochs=10):
        """Initializes loss with numerical stability epsilon."""

        super(L0Loss, self).__init__()
        self._eps = eps
        self.nb_epochs =  nb_epochs

    def forward(self, denoised, target, epoch):
        """Computes loss by unpacking render buffer."""
        # gamma = 2.0 * (self.nb_epochs - epoch) / self.nb_epochs
        gamma = 2.0 * (epoch+1) / self.nb_epochs
        loss = ((torch.abs(denoised - target) + self._eps) ** gamma)
        return torch.mean(loss.view(-1))

Imagen de efecto:

   

Desventajas:

1. Dado que la función de pérdida es similar a L2loss, es una optimización media de todos los píxeles. Aunque se elimina la marca de agua, la imagen también se suaviza al mismo tiempo.

2. Usar esta pérdida es operar en un solo píxel sin considerar la información espacial.

 

Proceso de cálculo de campo receptivo:

 

Supongo que te gusta

Origin blog.csdn.net/fanzonghao/article/details/109389708
Recomendado
Clasificación