DPIR#

class deepinv.optim.DPIR(sigma=0.1, denoiser=None, device='cuda')[source]#

Bases: BaseOptim

Deep Plug-and-Play (DPIR) algorithm for image restoration.

The method is based on half-quadratic splitting (HQS) and a PnP prior with a pretrained denoiser deepinv.models.DRUNet. The optimization is stopped early and the noise level for the denoiser is adapted at each iteration. See DPIR method for PnP image deblurring. for more details on the implementation, and how to adapt it to your specific problem.

This method uses a standard \(\ell_2\) data fidelity term.

The DPIR method is described in Zhang et al.[1].

Parameters:
  • sigma (float, torch.Tensor) – Standard deviation of the measurement noise, which controls the choice of the rest of the hyperparameters of the algorithm. Default is 0.1.

  • denoiser (deepinv.models.Denoiser) – optional denoiser. If None, use a pretrained denoiser deepinv.models.DRUNet.

  • device (str, torch.device) – Device to run the algorithm, either “cpu” or “cuda”. Default is “cuda”.


References:

Examples using DPIR:#

Use a pretrained model

Use a pretrained model

5 minute quickstart tutorial

5 minute quickstart tutorial

DPIR method for PnP image deblurring.

DPIR method for PnP image deblurring.