Orest Kupyn, Tetiana Martyniuk, Junru Wu, Zhangyang Wang
We present a new end-to-end generative adversarial network (GAN) for single image motion deblurring, named DeblurGAN-v2, which considerably boosts state-of-the-art deblurring efficiency, quality, and flexibility. DeblurGAN-v2 is based on a relativistic conditional GAN with a double-scale discriminator. For the first time, we introduce the Feature Pyramid Network into deblurring, as a core building block in the generator of DeblurGAN-v2. It can flexibly work with a wide range of backbones, to navigate the balance between performance and efficiency. The plug-in of sophisticated backbones (e.g., Inception-ResNet-v2) can lead to solid state-of-the-art deblurring. Meanwhile, with light-weight backbones (e.g., MobileNet and its variants), DeblurGAN-v2 reaches 10-100 times faster than the nearest competitors, while maintaining close to state-of-the-art results, implying the option of real-time video deblurring. We demonstrate that DeblurGAN-v2 obtains very competitive performance on several popular benchmarks, in terms of deblurring quality (both objective and subjective), as well as efficiency. Besides, we show the architecture to be effective for general image restoration tasks too. Our codes, models and data are available at: https://github.com/KupynOrest/DeblurGANv2
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Deblurring | RealBlur-J | PSNR (sRGB) | 29.69 | DeblurGAN-v2 |
| Deblurring | RealBlur-J | Params(M) | 5.08 | DeblurGAN-v2 |
| Deblurring | RealBlur-J | SSIM (sRGB) | 0.87 | DeblurGAN-v2 |
| Deblurring | BASED | ERQAv2.0 | 0.74297 | DeblurGAN Inception |
| Deblurring | BASED | LPIPS | 0.08867 | DeblurGAN Inception |
| Deblurring | BASED | PSNR | 31.17171 | DeblurGAN Inception |
| Deblurring | BASED | SSIM | 0.94301 | DeblurGAN Inception |
| Deblurring | BASED | VMAF | 66.91781 | DeblurGAN Inception |
| Deblurring | RealBlur-R | PSNR (sRGB) | 36.44 | DeblurGAN-v2 |
| Deblurring | RealBlur-R | SSIM (sRGB) | 0.935 | DeblurGAN-v2 |
| Deblurring | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| Deblurring | GoPro | SSIM | 0.934 | DeblurGAN-v2 |
| Deblurring | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| Deblurring | GoPro | SSIM | 0.925 | DeblurGANv2-MobileNet |
| Deblurring | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| Deblurring | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| Deblurring | RealBlur-R (trained on GoPro) | SSIM (sRGB) | 0.944 | DeblurGAN-v2 |
| Deblurring | MSU BASED | Subjective | 1.0375 | DeblurGAN Inception |
| Deblurring | RealBlur-J (trained on GoPro) | PSNR (sRGB) | 28.7 | DeblurGAN-v2 |
| Deblurring | RealBlur-J (trained on GoPro) | SSIM (sRGB) | 0.866 | DeblurGAN-v2 |
| Blind Face Restoration | CelebA-Test | Deg. | 39.64 | DeblurGANv2* |
| Blind Face Restoration | CelebA-Test | FID | 52.69 | DeblurGANv2* |
| Blind Face Restoration | CelebA-Test | LPIPS | 40.01 | DeblurGANv2* |
| Blind Face Restoration | CelebA-Test | NIQE | 4.917 | DeblurGANv2* |
| Blind Face Restoration | CelebA-Test | PSNR | 25.91 | DeblurGANv2* |
| Blind Face Restoration | CelebA-Test | SSIM | 0.6952 | DeblurGANv2* |
| 2D Classification | RealBlur-J | PSNR (sRGB) | 29.69 | DeblurGAN-v2 |
| 2D Classification | RealBlur-J | Params(M) | 5.08 | DeblurGAN-v2 |
| 2D Classification | RealBlur-J | SSIM (sRGB) | 0.87 | DeblurGAN-v2 |
| 2D Classification | BASED | ERQAv2.0 | 0.74297 | DeblurGAN Inception |
| 2D Classification | BASED | LPIPS | 0.08867 | DeblurGAN Inception |
| 2D Classification | BASED | PSNR | 31.17171 | DeblurGAN Inception |
| 2D Classification | BASED | SSIM | 0.94301 | DeblurGAN Inception |
| 2D Classification | BASED | VMAF | 66.91781 | DeblurGAN Inception |
| 2D Classification | RealBlur-R | PSNR (sRGB) | 36.44 | DeblurGAN-v2 |
| 2D Classification | RealBlur-R | SSIM (sRGB) | 0.935 | DeblurGAN-v2 |
| 2D Classification | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| 2D Classification | GoPro | SSIM | 0.934 | DeblurGAN-v2 |
| 2D Classification | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| 2D Classification | GoPro | SSIM | 0.925 | DeblurGANv2-MobileNet |
| 2D Classification | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| 2D Classification | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| 2D Classification | RealBlur-R (trained on GoPro) | SSIM (sRGB) | 0.944 | DeblurGAN-v2 |
| 2D Classification | MSU BASED | Subjective | 1.0375 | DeblurGAN Inception |
| 2D Classification | RealBlur-J (trained on GoPro) | PSNR (sRGB) | 28.7 | DeblurGAN-v2 |
| 2D Classification | RealBlur-J (trained on GoPro) | SSIM (sRGB) | 0.866 | DeblurGAN-v2 |
| Image Deblurring | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| Image Deblurring | GoPro | Params (M) | 5.08 | DeblurGAN-v2 |
| Image Deblurring | GoPro | SSIM | 0.925 | DeblurGAN-v2 |
| Image Deblurring | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| Image Deblurring | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| Image Deblurring | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| 10-shot image generation | RealBlur-J | PSNR (sRGB) | 29.69 | DeblurGAN-v2 |
| 10-shot image generation | RealBlur-J | Params(M) | 5.08 | DeblurGAN-v2 |
| 10-shot image generation | RealBlur-J | SSIM (sRGB) | 0.87 | DeblurGAN-v2 |
| 10-shot image generation | BASED | ERQAv2.0 | 0.74297 | DeblurGAN Inception |
| 10-shot image generation | BASED | LPIPS | 0.08867 | DeblurGAN Inception |
| 10-shot image generation | BASED | PSNR | 31.17171 | DeblurGAN Inception |
| 10-shot image generation | BASED | SSIM | 0.94301 | DeblurGAN Inception |
| 10-shot image generation | BASED | VMAF | 66.91781 | DeblurGAN Inception |
| 10-shot image generation | RealBlur-R | PSNR (sRGB) | 36.44 | DeblurGAN-v2 |
| 10-shot image generation | RealBlur-R | SSIM (sRGB) | 0.935 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | SSIM | 0.934 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| 10-shot image generation | GoPro | SSIM | 0.925 | DeblurGANv2-MobileNet |
| 10-shot image generation | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| 10-shot image generation | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| 10-shot image generation | RealBlur-R (trained on GoPro) | SSIM (sRGB) | 0.944 | DeblurGAN-v2 |
| 10-shot image generation | MSU BASED | Subjective | 1.0375 | DeblurGAN Inception |
| 10-shot image generation | RealBlur-J (trained on GoPro) | PSNR (sRGB) | 28.7 | DeblurGAN-v2 |
| 10-shot image generation | RealBlur-J (trained on GoPro) | SSIM (sRGB) | 0.866 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | Params (M) | 5.08 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | SSIM | 0.925 | DeblurGAN-v2 |
| 10-shot image generation | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| 10-shot image generation | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| 10-shot image generation | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| 1 Image, 2*2 Stitchi | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| 1 Image, 2*2 Stitchi | GoPro | Params (M) | 5.08 | DeblurGAN-v2 |
| 1 Image, 2*2 Stitchi | GoPro | SSIM | 0.925 | DeblurGAN-v2 |
| 1 Image, 2*2 Stitchi | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| 1 Image, 2*2 Stitchi | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| 1 Image, 2*2 Stitchi | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| 16k | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| 16k | GoPro | Params (M) | 5.08 | DeblurGAN-v2 |
| 16k | GoPro | SSIM | 0.925 | DeblurGAN-v2 |
| 16k | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| 16k | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| 16k | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| Blind Image Deblurring | RealBlur-J | PSNR (sRGB) | 29.69 | DeblurGAN-v2 |
| Blind Image Deblurring | RealBlur-J | Params(M) | 5.08 | DeblurGAN-v2 |
| Blind Image Deblurring | RealBlur-J | SSIM (sRGB) | 0.87 | DeblurGAN-v2 |
| Blind Image Deblurring | BASED | ERQAv2.0 | 0.74297 | DeblurGAN Inception |
| Blind Image Deblurring | BASED | LPIPS | 0.08867 | DeblurGAN Inception |
| Blind Image Deblurring | BASED | PSNR | 31.17171 | DeblurGAN Inception |
| Blind Image Deblurring | BASED | SSIM | 0.94301 | DeblurGAN Inception |
| Blind Image Deblurring | BASED | VMAF | 66.91781 | DeblurGAN Inception |
| Blind Image Deblurring | RealBlur-R | PSNR (sRGB) | 36.44 | DeblurGAN-v2 |
| Blind Image Deblurring | RealBlur-R | SSIM (sRGB) | 0.935 | DeblurGAN-v2 |
| Blind Image Deblurring | GoPro | PSNR | 29.55 | DeblurGAN-v2 |
| Blind Image Deblurring | GoPro | SSIM | 0.934 | DeblurGAN-v2 |
| Blind Image Deblurring | GoPro | PSNR | 28.17 | DeblurGANv2-MobileNet |
| Blind Image Deblurring | GoPro | SSIM | 0.925 | DeblurGANv2-MobileNet |
| Blind Image Deblurring | GoPro | PSNR | 28.03 | DeblurGANv2-MobileNet-DSC |
| Blind Image Deblurring | GoPro | SSIM | 0.922 | DeblurGANv2-MobileNet-DSC |
| Blind Image Deblurring | RealBlur-R (trained on GoPro) | SSIM (sRGB) | 0.944 | DeblurGAN-v2 |
| Blind Image Deblurring | MSU BASED | Subjective | 1.0375 | DeblurGAN Inception |
| Blind Image Deblurring | RealBlur-J (trained on GoPro) | PSNR (sRGB) | 28.7 | DeblurGAN-v2 |
| Blind Image Deblurring | RealBlur-J (trained on GoPro) | SSIM (sRGB) | 0.866 | DeblurGAN-v2 |