  Due to the fast inference and good performance, discriminative learning
methods have been widely studied in image denoising. However, these methods
mostly learn a specific model for each noise level, and require multiple models
for denoising images with different noise levels. They also lack flexibility to
deal with spatially variant noise, limiting their applications in practical
denoising. To address these issues, we present a fast and flexible denoising
convolutional neural network, namely FFDNet, with a tunable noise level map as
the input. The proposed FFDNet works on downsampled sub-images, achieving a
good trade-off between inference speed and denoising performance. In contrast
to the existing discriminative denoisers, FFDNet enjoys several desirable
properties, including (i) the ability to handle a wide range of noise levels
(i.e., [0, 75]) effectively with a single network, (ii) the ability to remove
spatially variant noise by specifying a non-uniform noise level map, and (iii)
faster speed than benchmark BM3D even on CPU without sacrificing denoising
performance. Extensive experiments on synthetic and real noisy images are
conducted to evaluate FFDNet in comparison with state-of-the-art denoisers. The
results show that FFDNet is effective and efficient, making it highly
attractive for practical denoising applications.
