[Paper Review] Real-ESRGAN : Training Real-World Blind Super-Resolutionwith Pure Synthetic Data
paper : Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data
github : https://github.com/xinntao/Real-ESRGAN
Abstract
본 논문에서는 기존의 ESRGAN super-resolution 모델을 바탕으로 다양한 전처리 degradations (열화) 기법을 추가해줌으로써 Real-ESRGAN 모델로 확장하였습니다. 실생활에서 생기는 degradations을 구현하기 위해 high-order degradations 기법이 도입되었습니다. 게다가, 논문의 연구진은 ringing (전기 회로에서 입력 신호의 급격한 변화에 대하여 과도적 현상으로 출력 파형에 진동을 일으키는 것)과 overshoot 현상을 고려해서 새로운 degradations 전처리 단계를 만들었습니다. 추가적으로, U-Net doscriminator에 spectral normalization를 추가해서 판별 능력을 올려 안정적인 학습을 할 수 있도록 도왔습니다. 결과적으로, 광범위한 실제 데이터셋을 이용한 비교를 통해 Real-ESRGAN 이 기존 ESSRGAN 보다 시각적으로 뛰어난 성능을 입증했습니다.
1. Introduction
단일 이미지 초해상화 (SISR)은 저 해상도 이미지로부터 고해상도 이미지를 재구성하는 것이 목표입니다. 신경망 네트워크를 통해 처음으로 선보인 SRCNN 모델은 SR 연구 분야 발전에 큰 기여를 했습니다. 하지만 이전까지 SR 모델의 degradations 기법은 단순히 bicubic으로 저해상도 이미지를 생성했기 때문에 실생활에서 생기는 저해상도 이미지와는 많이 달랐습니다.
Blind super-resolution은 알 수 없는 경로로 생긴 degradations와 복잡한 degradations가 합친 저해상도의 이미지를 고해상도 이미지로 복원하는 것이 목표입니다. 기존의 모델들을 명시적과 암시적 두 가지로 degradations 기법으로 분류할 수 있습니다. 고전적 degradations 기법들은 blur, downsampling, noise and JPEG compression을 포함하고 있고 명시적 모델에 많이 사용되었습니다. 하지만 이러한 degradations 기법은 실생활에서 생기는 복잡하고 알 수 없는 degradations을 복원할 수 없었습니다. 암시적 모델은 GAN을 이용해서 degradations 모델을 만들었습니다. 하지만 암시적 모델로 저해상도 이미지를 만드는데 한계가 있었고 무엇보다 저해상도 이미지를 일반화하기 어려웠습니다.
본 연구는 기존에 강력한 ESRGAN 모델에 실생활에 생기는 degradations을 최대한 비슷하게 만든 저해상도 이미지와 고해상도 이미지를 쌍으로 묶어 학습을 진행하였습니다. 실생활에서 생기는 degradations은 대부분 한 가지 과정에서 생기는 것이 아니라 여러 가지 다양한 과정을 통해 degradations가 생깁니다. 예를 들어 카메라의 시스템, 이미지 편집, 인터넷 전송 과정에서 생긴다. 일반적으로 우리는 핸드폰으로 사진을 찍으면 여러 가지 camera blur, sensor noise, sharpening artifacts 그리고 JPEG compression가 생깁니다. 그리고 저자들은 이미지 편집 이후 소셜미디어에 올렸는데 이 과정에서 한번 더 압축과 알 수 없는 노이즈가 생겼다고 합니다. 이처럼 여러 가지 과정을 통해 알 수 없고 복잡한 degradations가 생깁니다. 문제는 실생활에서 생기는 degradations은 앞의 과정이 여러 번 진행된다는 것입니다.
위의 프로세스를 통해 본 연구는 first-order degradations 기법을 high-order degradations 기법으로 확장했습니다. 쉽게 말하면 여러 번의 degradations 과정을 추가해서 저해상도 이미지를 생성하는 것입니다. 또한 본 연구는 second-order degradations 과정을 추가해서 단순성과 효율성 두 마리 토끼를 잡았습니다. 최근에 많은 연구들은 임의적으로 degradations 기법을 섞은 전략을 많이 내세우는데 여전히 고정된 degradations 과정과 불분명한 결과가 생겼습니다. 반면에 본 연구가 주장하는 high-order degradations 모델은 유연하고 실생활에 생기는 프로세스를 최대한 비슷하게 모방하려고 했습니다. 게다가 본 연구는 sinc filters (차단 주파수이상의 주파수를 모두 차단하는 신호 필터) 를 추가해서 ringing (전기 회로에서 입력 신호의 급격한 변화에 대하여 과도적 현상으로 출력 파형에 진동을 일으키는 것) 그리고 overshoot 현상을 줄여줌으로써 고해상도 이미지를 생성하였습니다.
본 연구는 새로운 degradations 기법 프로세스가 추가한 Real-ESRGAN 모델을 학습할 때 몇 가지 어려운 점을 아래와 같이 극복했습니다.
- Generator의 output을 HR 이미지와 정확한 차이점을 구별하기 위해 새로운 discriminator가 필요했습니다. 이에 새로운 discriminator를 VGG-style에서 U-Net 디자인으로 변경했습니다.
- 기존 U-Net design의 discriminator는 복잡한 이미지를 제대로 구별할 수 없었기 때문에 spectral normalization regularization을 추가해서 안정적인 학습을 구현했습니다. 그 결과로 local detail을 복원하는 동시에 더 많은 지울 수 있었습니다.
2. Related Work
SRCNN 등장이후 SR분야에 상당한 발전이 있었습니다. 또한 시각적인 만족감을 위해 GAN 모델이 등장했습니다. 많은 연구는 단순한 bicubic downsampling으로 저해상도 이미지를 만들어 고해상도 이미지와 쌍으로 학습했습니다. 그 결과로 실생활 degradations가 포함된 저해상도 이미지를 고해상도로 복원하는 것은 실패했었습니다. 최근에는 GAN 또는 전이 학습을 통해 이러한 저해상도 degradations 이미지를 복원하려고 노력하고 있습니다.
Introduction에서도 언급을 했었지만 기존에도 blind super-resolution 모델들이 등장했었습니다. 명시적 degradations 모델은 기본적으로 2개의 요소를 포함하고 있는데, degradations 예측 및 조건부 복원입니다. 상기 2개의 요소는 별도로 수행하거나 반복적으로 수행됩니다. 이 접근방식들은 사전에 정의된 degradations 정보에 의존하며 단순한 degradations에 대해서만 고려를 하고 있습니다. 또한 정확한 degradations 정보를 알 수 없을 경우 artifacts가 생기는 단점이 있습니다.
다른 blind super-resolution 모델인 암시적 모델은 실생활 degradations가 포함된 저해상도 이미지와 고해상도 이미지를 쌍으로 묶어 학습합니다. 여기서 생성하는 저해상도 degradations 이미지는 보통 특정 카메라로 생성한 이미지, GAN으로 생성한 이미지 또는 blur와 noise를 섞은 이미지로 만듭니다. 하지만 특정 카메라로 생성한 degradations 이미지는 말 그대로 특정 카메라에서 생성한 저해상도 이미지이기 때문에 일반화하기 어렵고 GAN 모델로 degradations 이미지를 만드는 것은 쉽지 않습니다. 그러다 보니 위의 데이터셋으로 학습한 모델의 결과가 만족스럽지 못하였습니다.
고전적인 degradations 모델은 blind Super resolution에 많이 쓰입니다. 하지만 실생활에서 생기는 degradations은 매우 복잡해서 명시적인 모델링을 할 수가 없다. 그래서 본 연구에서는 암시적 모델과 high-order degradations 과정을 추가해서 학습을 진행하였다고 합니다.
3. Methodology
3.1. Classical Degradation Model
Blind super resolution은 알 수 없고 복잡한 degradations가 첨가된 저해상도 이미지를 고해상도로 복원하는 것인 목표입니다. 고전적인 degradations 기법은 input에 degradations을 더해줍니다. 일반적으로 ground-truth image y에 blur kenel 를 합성곱해서 이미지를 흐릿하게 만들어 줍니다. 그 다음 scale factor 만큼 해상도의 크기를 줄여줍니다(downsampling). 그리고 해상도 크기가 줄어든 이미지 에 노이즈 을 추가한 뒤 마지막으로 JPEG 압축 노이즈를 섞어 마무리합니다.

D = degradation process
Blur.
보통 blur degradation은 linear blur filter에 합성곱을 한 것이라고 합니다. Isotropic과 anisotropic Gaussian filters가 일반적인 선택지 입니다.

시그마 = 공분산 행렬, C = 공간 좌표, N = 정규화 상수
Noise.
3.2. High-order Degradation Model
3.3. Ringing and overshoot artifacts
3.4. Networks and Training
4. Experiments
4.1. Datasets and Implementation
4.2. Comparisons with Prior Works
4.3. Ablation Studies
4.4. Limitations
5. Conclusion
본 논문에서 저자들은 pure synthetic training pairs을 사용해서 real world blind super-resolution를 위한 실용적인 Real-ESRGAN을 학습하였습니다. 좀 더 실용적인 degradations 를 합성하기 위해 high-order degradation process를 제안하고 sinc 필터를 사용하여 일반적인 ringing 및 overshoot artifacts를 모델링하였습니다. 또한 저자들은 spectral normalization regularization와 함께 U-Net discriminator를 활용해서 discriminator capability를 높이고 training dynamics를 안정화 하였습니다. synthetic data로 훈련된 Real-ESRGAN은 대부분의 실제 이미지에서 성가신 artifacts를 제거하는 동시에 세부사항을 개선 할 수 있었습니다.