Poisson2Sparse#
- class deepinv.models.Poisson2Sparse(backbone=None, *, lr=1e-4, weight_n2n=2.0, weight_l1_regularization=1e-5, num_iter=200, verbose=False)[source]#
Bases:
DenoiserPoisson2Sparse model for Poisson denoising.
This method, introduced by Ta et al.[1], reconstructs an image corrupted by Poisson noise by learning a sparse non-linear dictionary parametrized by a neural network using a combination of Neighbor2Neighbor Huang et al.[2], of the negative log Poisson likelihood, of the \(\ell^1\) pixel distance and of a sparsity-inducing \(\ell^1\) regularization function on the weights.
Note
This method does not use knowledge of the physics model and assumes a Poisson degradation model internally. Therefore, the physics object can be omitted when calling the model and specifying it will have no effect.
Note
The denoiser expects images with a dynamic range normalized between zero and one.
- Parameters:
backbone (torch.nn.Module, None) – Neural network used as a non-linear dictionary. If
None, a defaultdeepinv.models.ConvListamodel is used.lr (float) – Learning rate of the AdamW optimizer (default: 1e-4).
weight_n2n (float) – Weight of the Neighbor2Neighbor loss term (default: 2.0).
weight_l1_regularization (float) – Weight of the sparsity-inducing \(\ell^1\) regularization on the weights (default: 1e-5).
num_iter (int) – Number of optimization iterations (default: 200).
verbose (bool) – If
True, print progress (default:False).
- References: