ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks
    paper 2019. 8. 11. 16:13

    1. Introduction

     

    deblurring을 image-to-image translation의 특별한 경우로 다룰 것이다. 

    DeblurGAN은 conditional generative adversarial networks와 multi-component loss function을 base로 한 접근 방법이다.

    이전의 다른 모델과 달리, DeblurGAN은 gradient penalty와 perceptual loss와 함께 Wasserstein GAN을 사용합니다.

     

         3 contribution

    1. we propose a loss and architecture. 5x faster than the fastest competitor.
    2. we present a method based on random trajectories for generating a dataset for motion deblurring training in an automated fashion from the set of sharp image. 
    3. we present a novel dataset and method for evaluation of deblurring algorithms based on how they improve object detection results.

    Figure 4: DeblurGAN training. The generator network takes the blurred image as input and produces the estimate of the sharp image. The critic network takes the restored and sharp images and outputs a distance between them. The total loss consists of the WGAN loss from critic and the perceptual loss [17]. The perceptual loss is the difference between the VGG-19 [34] conv3.3 feature maps of the sharp and restored images. At test time, only the generator is kept.

     

    2. The proposed method

    n formulation of non-uniform blur model

    IB is a blurred image, k(M) are unknown blur kernels determined by motion field M. Is is the sharp latent image, ∗ denotes the convolution, N is an additive noise.

     

    목표 : 인풋으로 주어진는 blurred image IB로 sparp image Is를 발견하는 것이다. blur kernel에 대한 정보는 주어지지 않는다.

     

    2.1 Loss function

    • DeblurGAN의 loss function은 content loss와 adversarial loss로 이루어져 있다.
    •  

    •  λ의 값은 모든 실험에서 100을 사용
    • input과 output 사이의 mismatch를 penalize하지 않아도 되기 때문에, DeblurGAN에서는 discriminator에 조건을 걸지 않았다. discriminator loss에는 condition이 없다는 의미인 것 같다. 

    2.1 Adversarial Loss

    • conditional GAN과 관련된 대부분의 논문에서는 loss로 vanilla GAN objective를 loss로 사용핟ㄴ다. 하지만, 최근에는 가장 안정적인 GAN을 사용하는 대체 방법을 제공하여 보다 안정적이며 고품질의 결과를 생성합니다.
    • WGAN-GP loss를 critic function으로 사용하였다. 이것은 generator architecture에 영향을 크게 받지 않는다.
    •  

    • GAN component없이 학습된 DeblurGAN은 수렴하지만, smooth하고, blurry한 이미지를 만들어 낸다.

    2.2. Content loss

    • "content" loss에 대한 두가지 고전적인 선택은 raw pixel에 대한 L1 or MAE loss, L2 or MSE loss 였다. 하지만, 이것을 유일한 optimizer target으로 사용하는 것은 generated image를 blur하게 만들었다. 왜냐하면, pixel space에서 wise average를 하기 때문이다. 
    • 대신에 DeblurGAN에서는 Perceptual loss를 수용하였다. Perceptual loss는 간단한 L2-loss이지만, generated image와 target image의 CNN feature map의 차이를 기반하고 있다.
    • 식은 다음과 같다.
    •  

    • φi,j is the feature map obtained by the j-th convolution (after activation) before the i-th maxpooling layer within the VGG19 network, pretrained on ImageNet
    • Wi,j and Hi,j are the dimensions of the feature maps.
    • In our work we use activations from V GG3,3 convolutional layer.
    • deep layers의 activations는 higher abstraction의 feature를 표현한다. (feature matching)

     

    • Perceptual lossss는 general content에 초점을 맞추고, 반면에 adversarial loss는 texture detail에 초점을 맞춘다.
    • Perceptual loss없거나 간단한 pixel에 대한 MSE로 훈련된 DeblurGAN은 의미있는 상태로 수렴하지 않습니다.

    3. Network architecture

    Figure 3: DeblurGAN generator architecture. DeblurGAN contains two strided convolution blocks with stride 1 2 , nine residual blocks [13] and two transposed convolution blocks. Each ResBlock consists of a convolution layer, instance normalization layer, and ReLU activation.

    • Figure3은 generator CNN구조이다. 
    • 2개의 strided convolution block (stride 1/2), 9개의 residual blocks (ResBlocks), 2개의 transposed convolution block들을 포함하고 있다.
    • 각 ResBlock은 convolution layer와 instnace normalization layer와 ReLu activation을 포함하고 있다.
    • Drop regularization (확률: 0.5)는 각 ResBlock안의 첫 번째 convolution layer뒤에 추가되어 있다.
    • 우리는 ResOut이라고 불리는 global skip connection을 소개함. 
      • CNN은 blurred image IB에 대한 residual correction IR을 학습한다. 

    • 이러한 식은 training을 빠르게 만들어 주고, model generalize 결과를 좀 더 좋게 만들어 준다.
    • training 단계 동안, 우리는 critic network를 정의하였다. 이것은 gradient penality를 가진 Wasserstein GAN이다. 이것을 우리는 WGAN-GP라고 부른다. critic network구조는 PatchGAN과 동일하다. 마지막을 제외한 convolution layer는 Instance normalization과 LeakyReLU(a=0.2)가 따라서 온다.  

    4. Motion blur generation

    sharp image와 대응하는 blurred image, 이와 같은 pair를 얻는 쉬운 방법은 없었습니다. 이 논문의 저자는 좀 더 realistic하고 complex blur kernel을 만드는 방법을 제시하였습니다. 

Designed by Tistory.