  Image denoising is a well studied problem with an extensive activity that has
spread over several decades. Despite the many available denoising algorithms,
the quest for simple, powerful and fast denoisers is still an active and
vibrant topic of research. Leading classical denoising methods are typically
designed to exploit the inner structure in images by modeling local overlapping
patches, while operating in an unsupervised fashion. In contrast, recent
newcomers to this arena are supervised and universal neural-network-based
methods that bypass this modeling altogether, targeting the inference goal
directly and globally, while tending to be very deep and parameter heavy.
  This work proposes a novel lightweight learnable architecture for image
denoising, and presents a combination of supervised and unsupervised training
of it, the first aiming for a universal denoiser and the second for adapting it
to the incoming image. Our architecture embeds in it several of the main
concepts taken from classical methods, relying on patch processing, leveraging
non-local self-similarity, exploiting representation sparsity and providing a
multiscale treatment. Our proposed universal denoiser achieves near
state-of-the-art results, while using a small fraction of the typical number of
parameters. In addition, we introduce and demonstrate two highly effective ways
for further boosting the denoising performance, by adapting this universal
network to the input image.
