  Generative adversarial networks (GANs) transform low-dimensional latent
vectors into visually plausible images. If the real dataset contains only clean
images, then ostensibly, the manifold learned by the GAN should contain only
clean images. In this paper, we propose to denoise corrupted images by finding
the nearest point on the GAN manifold, recovering latent vectors by minimizing
distances in image space. We first demonstrate that given a corrupted version
of an image that truly lies on the GAN manifold, we can approximately recover
the latent vector and denoise the image, obtaining significantly higher
quality, comparing with BM3D. Next, we demonstrate that latent vectors
recovered from noisy images exhibit a consistent bias. By subtracting this bias
before projecting back to image space, we improve denoising results even
further. Finally, even for unseen images, our method performs better at
denoising better than BM3D. Notably, the basic version of our method (without
bias correction) requires no prior knowledge on the noise variance. To achieve
the highest possible denoising quality, the best performing signal processing
based methods, such as BM3D, require an estimate of the blur kernel.
