반응형
Abstract
- DeblurGAN-v2는 motion deblurring을 위한 새로운 end-to-end GAN이다.
- Generator의 핵심 block으로 Feature Pyramid Network를 도입.
- 다양항 backbone과 유연하게 작동하여 성능과 효율성 사이의 균형을 찾을 수 있다.
1. Introduction
- Blur는 일반적으로 알 수 없는 blur kernel과 noise가 있는데 이를 역산하기는 까다롭다.
- 최근 딥러닝 기반으로 image restoration 분야가 크게 발전, 특히 GAN은 기존 feed-forward encoder 방식 보다 더 선명하고 그럴듯한 texture를 생성한다. 대표적으로 DeblurGAN이 있다.
- 본 논문은 DeblurGAN을 개선하고 높은 유연성을 지원하는 새로운 Framework를 소개한다.
2. Related work
2.1 Image Deblurring
- Single image motion deblurring은 전통적으로 deconvolution 문제로 처리되었다.
- 하지만 실제 이미지의 복잡한 blur를 잘 처리할 수 없는데, 딥러닝의 발전에 따라 CNN으로 blur kernel을 추정하여 문제를 해결하였다.
- 이후 blur kernel 추정 없이 end-to-end 방식으로 연구.
- GNA을 활용한 deblurring 방식도 연구되어 왔다.
2.2 Generative adversarial networks
- GAN은 판별자 D와 생성자 G라는 두 가지 모델로 구성되어 minimax game을 구성하는 network다.
- 생성자는 실제 데이터 분포와 같은 인공 샘플을 생성하는 방법을 학습하고 판별자를 속이도록 훈련된다.
- 판별자는 데이터가 실제 데이터인지 인공 샘플 데이터인지 구분하도록 학습.
- 이러한 조건부 GAN의 value function은 아래와 같이 정의된다.
- 하지만 위 조건부 GAN은 최적화하기 매우 어렵고, 훈련 과정에서 mode collapse, gradient vanishing/explosion 문제가 발생한다.
- 최소 제곱 GAN(LSGAN) 판별기는 부드럽고 포화되지 않는 기울기를 제공하는 손실 함수를 도입하여 gradient가 소멸하거나 폭주하는 문제를 해결한다.
- 또한 Relativistic GAN을 사용하여 DeblurGAN-v1에서 사용된 WGAN-GP보다 안정적이고 효율적으로 훈련을 했다고 한다.
* LSGAN, Relativistic GAN은 추가로 찾아봐야겠다...
3. DeblurGAN-v2 Architecture
3.1 Feature Pyramid Deblurring
- 본 논문은 처음으로 image deblurring에 대한 FPN 아이디어를 소개한다.
- FPN은 원래 Object Detection을 위해 설계되었는데, 다양한 의미를 encoding 하고 더 나은 품질의 feature를 포함하는 여러 feature map layer를 생성한다.
- FPN은 상향식, 하향식 경로로 구성.
- 상향식 경로는 특징 추출
- 하향식 경로는 의미가 풍부한 더 높은 공간의 해상도를 재구성.
- 상향식 경로와 하향식 경로 사이의 측면 연결은 고해상도의 세부 정보를 보완하고 객체 위치를 파악하는데 도움이 된다.
3.2 Choice of Backbones: Trade-off between Performance and Efficiency
- FPN Architecture는 backbone feature 추출기 선택에 독립적이다.
- 기본적으로 ImageNet pre-train backbone을 선택.
- 선택 사항으로 inception-ResNet-v2를 사용하여 강력한 deblurring 성능을 확인할 수 있다.
- MobileNet-v2를 backbone으로 선택하면 효율적이고 가벼운 모델 성능을 확인할 수 있다.
- (더 가벼운 MobileNet-DSC도 있다)
3.3 Double-Scale RaGAN-LS Discriminator
- DeblurGAN의 WGAN-GP 대신 여러 업그레이드를 제안.
- LSGAN의 상대론적 "wrapping"을 채택하여 새로운 RaGAN-LS Loss를 생성.
- WGAN-GP를 사용하는 것에 비해 훈련이 훨씬 더 빠르고 안정적이라고 한다.
Extending to Both Global and Local Scales
- 70x70 size의 image patch에서 작동하는 PatchGAN 판별기 사용을 제안.
- 이는 전체 이미지에서 작동하는 Global 판별기보다 더 선명한 결과를 생성한다.
- Global, Local feature를 모두 활용하기 위해 patch 수준에서 작동하는 Local 분기와 전체 이미지를 제공하는 Global 분기로 구성된 이중 scale 판별자를 사용.
* PatchGAN을 통해 local 정보를 보고, 추가적으로 전체 이미지 GAN을 통해 global 정보도 같이 본다는 뜻 같다...
Overall Loss Function
- 일반적으로 Image Restoration GAN 훈련의 경우 재구성된 이미지와 원본 이미지를 비교하여 pixel-space loss Lp(L1 or L2)을 구한다.
- 하지만 Lp를 사용하면 지나치게 평활화(평균화) 된 pixel 공간을 생성하는 경향이 있다.
- DeblurGAN-v2에서는 학습을 위해 hybrid treeterm loss를 제안.
- L_abv : Global 판별 loss와 Local 판별 loss 모두 포함된다.
- L_p : 평균 제곱 오차(MSE) loss.
- L_x : content loss로 perceptual 거리를 사용. (VGG19 conv3_3 feature map에서 유클리드 손실을 계산)
- DeblurGAN에서는 L_p 항을 포함하지 않았지만 색상 및 질감 왜곡을 수정하는데 도움이 되는것으로 확인되어 포함시킴.
Conclusion
DeblurGAN-v2는 성능과 효율성을 고려하며 다양한 backbone 전환이 가능하다.
끝.
반응형
'DeepLearning > GAN' 카테고리의 다른 글
[GAN] DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks, 논문 리뷰 (0) | 2024.03.06 |
---|