일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- unsupervised learning
- AWS
- git commit
- bash 명령어
- CycleGAN
- 말해보시개 딥러닝
- gan
- git log
- ubuntu zsh
- anomaly detection
- ubuntu
- ubuntu 명령어
- aws rds
- docker
- F-AnoGAN
- 쏴아리 딥러닝
- AWS Certificate
- ubuntu grep
- pix2pix
- Image to image translation
- ubuntu mount
- 말해보시개 Linux
- EC2
- AnoGAN
- bash vs zsh
- AWS EC2
- ubuntu pipe
- autoencoder
- DCGAN
- linux
- Today
- Total
쏴아리의 딥러닝 스터디
Real-World Super-Resolution via Kernel Estimation and Noise Injection(2020) 본문
Real-World Super-Resolution via Kernel Estimation and Noise Injection(2020)
말해보시개 2021. 7. 17. 15:24Real-World Super-Resolution via Kernel Estimation and Noise Injection(2020)
Abstract
최근 SoTA super-resolution 방법들(supervised super-resolution)은 ideal datasets에서 인상적인 성능을 보여주었습니다.
- Supervised super-resolution 방법들은 high quality images를 단순히 bicubic downsampling을 하여 Low-Resolution이미지와 High Resolution(HR)이미지 pair를 만들어 모델을 학습합니다.
- 하지만, 이런 방법들은 real-world image super-resolution 문제에 적용하면 실패하는 경우가 많습니다.
본 연구에서는 이러한 문제를 해결하기 위해, real noise distributions와 various blur kernels를 estimating하는 designing a novel degradation framework for real world images을 제안합니다.
- Novel degradation framework에 기반하여, real-world images와 공통적인 도메인을 sharing하는 LR images를 얻은 뒤, real-world super-resolution model를 학습합니다.
본 연구에서 제안한 모델은 NTIRE 2020 Challenge의 Real-World Super-Resolution 2개 tracks에서 winner를 차지하였습니다.
1. Introduction
Super-Resolution(SR) task는 low-quality images의 resolution을 증가시켜 clarity를 강화하는 일을 말합니다.
- 최근 몇년 동안 deep learning-based methods가 fidelity performance의 관점에서 놀랄 만한 성능을 보여주었고, network structures를 설계하여 specific datasets 에서의 성능을 증가시키기 위한 연구를 주로 초점을 맞추었습니다.
- 대부분은 fixed bicubic operation기반의 downsampling을 통해 training data pairs를 구성하게 되고, test phase에서도 bicubic kernel로 downsampled된 input image가 network에 입력되어 Ground Truth(GT)와 비교하여 PSNR과 SSIM 같은 metric을 계산하게 됩니다.
Fidelity의 향상에도 불구하고, 이러한 방법들은 ideal bicubic downsampling이 비현실적이라는 문제가 있습니다.
이전의 방법론들은 다음과 같은 ideal downsampling method를 통해 data를 구축합니다.
- $I_{LR}, I_{HR}$: LR and HR image respectively
- $s$: scale factor
이러한 데이터 구축 방법은 모델을 학습하기 위한 paired data를 획득하기 쉽다는 장점이 있지만, fixed downsampling kernel은 degraded images가 high-frequency details을 잃게 만들고 low-frequency content를 더 clear하게 할 수도 있습니다.
이렇게 구축된 paired data를 통해, SR model $f()$은 다음과 같은 $n$ images의 average error를 최소화 하기 위해 학습됩니다.
same downsampling dataset에서 test 하는 경우, generated results는 기대 했던 대로 나오지만, 직접 original image에 test를 하는 경우에는 results가 매우 blurry하고 noise가 많이 포함되는 경우가 있습니다.
- 이러한 문제가 발생하는 이유는 bicubic downsampled image가 original image와 같은 도메인에 속하지 않기 때문입니다.
- domain gap 때문에, 이와같은 방법들은 unpleasant artifacts를 만들게 되고 real-world images에 fail하게 됩니다.
- 예) Figure 1에서 EDSR/ZSSR은 real image에 대해 unsatisfied result를 생성하게 됩니다.
- 따라서 real-world super resolution의 key problem은 generated Low-Resolution(LR) image와 original image가 same domain attributes를 갖도록 정확한 degradation을 해야합니다.
본 연구에서는 다양한 kernel에 대한 downsampled image로의 영향을 조사하였습니다.
- original ream images가 source domain $X$, clean High-Resolution(HR) images가 target domain $Y$라고 정의하겠습니다.
- Bicubic은 $X$에서의 information을 가능한 유지하려고 하기 떄문에 downsampling의 ideal way로 여겨질 수 있습니다.
- 하지만 downsampled images의 frequency는 another domain $X'$에서 변하게 됩니다.
- $\{X', Y\}$에서 학습될 때, model은 domain $X'$에서 중요한 모든 information을 recover 하기 위한 시도를 할 것이고, 이 모델은 $I_{LR}$에서는 잘 작동하지만 $I_{src} \in X$의 이미지(unprocessed real image)에서는 잘 작동하지 못하게 됩니다.
- 또한 real-world images $X$는 noise를 많이 포함하고 있는 반면, downsampled image는 거의 noise가 없게 된다는 문제가 있어 blurry kernel이 model의 degradation process를 잘 추정하지 못하게 될 수 있습니다.
본 연구에서는 kernel estimation과 noise injection을 통해 original domain attributes를 유지할 수 있는 방법으로, Realistic degradation framework for Super-Resolution(RealSR)을 제안합니다.
- existing kernel estimation 방법을 활용하여 더 realistic한 LR images를 generate합니다.
- original image로 부터 noise를 collect하고 downsampled image에 noise를 첨가하는 방법을 제안합니다.
- patch discriminator를 통해 RealSR이 generated artifacts를 피할 수 있도록 합니다.
2. Related Work
Super-Resolution
최근 Convolutional Neural Networks (CNN)-vased SR networks가 bicubic downsampling images에서 강력한 성능을 달성하였습니다.
- 그 중 대표적으로 EDSR은 deep residual network를 통해 SR model을 학습합니다.
- 또한 Generative Adversarial Networks(GAN)-based method는 adversarial losses와 perceptual losses를 도입하며, visual effect에 더 집중해 generated image의 quality를 향상 시켰습니다.
하지만 이런 SR 모델들은 clean HR data로부터 bicubic kernel을 통해 generated된 image에서 학습되어, 학습기간동안 blurry/noisy data를 경험하지 못했다는 한계점이 있습니다.
- 이는 real LR images가 자주 noise와 blur하다는 real-world의 needs를 반영하지 못하고 있습니다.
- 본 연구에서는 real images에서 degradation을 분석하여, SR network를 real data에서 훈련할 수 있는 전략에 초점을 맞추고 있습니다.
Real-World Super-Resolution
real-world super-resolution의 challenge를 극복하기 위해 최근 denoising or deblurring이 결합된 연구들이 제안되었습니다.
- 이런 연구들은 artificially constructed blurry and noise-added data에서 학습되어, SR 모델의 robustness를 향상시킵니다.
- 하지만, 이러한 explicit modeling methods는 blur/noise에 대한 sufficient prior을 필요로 하므로 적용할 수 있는 범위가 제한적이라는 한계점이 있습니다.
최근 real-world super-resolution challenges 에서 새로운 방법론들이 이러한 문제점을 해결하기 위해 연구되었습니다.
- ZSSR은 대량의 데이터를 활용한 training process를 버리고, 각 test image에서 internal information에 집중하는 작은 모델들을 학습합니다.
- 하지만, ZSSR은 inference imte이 증가한다는 단점이 있어 real scence에 적용하기 어렵다는 한계점이 있습니다.
3. The Proposed Method
proposed degradation method는 Figure 2에 기술되어 있습니다.
- First Stage: real data로 부터 degradation을 추정하고 realistic LR images를 생성합니다.
- Second Stage: constructed data를 활용하여 SR모델을 학습합니다.
3.1 Realistic Degradation for Super-Resolution
kernel estimation과 noise injection에 기반한 real image degradation 방법에 대해 기술합니다.
LR image는 다음과 같은 degradation method에 의해 생성되었음을 가정합니다.
- $k$: blurry kernel, $n$: noise
- $I_{HR}$ , $k$, $n$ 은 알려져 있지 않습니다.
degradation 방법을 더 정확하게 추정하기 위하여, kernel과 noise를 image로 부터 추정합니다.
- kernel과 noise를 추정 한 뒤, degradation pool을 만듭니다. 이때 degradation pool은 clean HR
- images를 blurry and noisy images로 degrade하여 SR 모델을 훈련하기 위한 image pairs를 생성합니다.
위와같은 data constructing pipeline은 Algorithm 1에 기술되어 있습니다.
3.2 Kernel Estimation and Downsampling
real images로부터 kernel을 추정하기 위해 kernel estimation algorithm을 사용합니다.
KernelGAN과 유사항 estimation을 채택하여, real images로부터 적절한 parameter를 셋팅합니다.
- KernelGAN의 generator는 activation layers가 없는 linear model이고, 모든 layers의 parameters는 fixed kernel로 combined 될 수 있습니다.
추정된 kernel은 다음과 같은 constraint를 만족해야 합니다.
- 첫번째 term: downsampled image가 source image의 important low-frequency information을 encourage하게 error를 최소화 합니다.
- $(I_{SRC}*k)\downarrow_s$: downsampled LR image with kernel $k$
- $I_{SRC}\downarrow_s$: downsampled image with ideal kernel
- 두번째 term: $k$의 합이 1이 되도록 하는 제약조건 입니다.
- 세번째 term: Discriminator $D()$가 source domain의 consistency를 보ㅓ장하도록 합니다
Clean-Up
더 많은 HR images를 얻기 위하여 $X$로 부터 noise-free images를 생성합니다.
특히, bicubic downsampling을 source domain real image에 적용하여 noise를 제거하고 image를 sharper하게 만듭니다.
- $I_{src} \in X$, image from real source images set
- $k_{bic}$: ideal bicubic kernel
- image는 clean-up scale factor $sc$에의해 down sampled됩니다.
Degradation with Blur Kernels
downsampling이 적용된 images를 clean HR images로 고려합니다.
이러한 HR images을 대상으로, degradation pool에서 blur kernel을 랜덤하게 선택한 뒤 degradation을 수행합니다.
downsampling process는 다음과 같이 stride $s$를 가진 sampling을 따르는 cross-correlation 연산입니다.
- $I_D$: downsampled image
- $k_i$: selected specific blur kernel from $\{k_1, k_2 ... k_m\}$
3.3 Noise Injection
Realistic LR images를 생성하기 위하여 downsampled images에 noise를 inject합니다.
high-frequency information은 downsampling process에 의해 잃게 되므로, degraded noise distribution도 함께 변하게 됩니다.
degraded image가 source image의 noise distibution과 유사하게 만들도록 하기 위해서, source dataset $X$로부터 noise patch를 수집합니다.
richer content를 가진 patches는 larger variance를 갖는다는 사실을 발견하였습니다. 이러한 발견에 기초하여, variance에 기반하여 patches를 수집하는 filtering rule을 설계하였습니다.
단순하지만 효과적이게도, noise를 다음의 rule에 따라서 추출합니다.
- $\sigma()$: function to calculate variance
- $v$: max value of variance
Degradation with Noise Injection
series of noise patches $\{n_1, n_2 ... n_;\}$이 수집되어 degradation pool에 더해졌다고 가정합니다.
noise injection process는 랜덤하게 noise pool로부터 patches를 crop하여 수행됩니다.
- $n_i$: cropped noise patch from the noise pool consisting of $\{k_1, k_2 ... k_l\}$
구체적으로, training phase동안 content와 noise가 결합되는 online noise injection method를 채택합니다.
- 이는 noise가 더 다양하게 하고, SR model이 content와 noise를 구분할 수 있도록 regularizes하는 효과가 있습니다.
- blur kernels와 injecting noise를 통한 degradation 이후, $I_{LR} \in X$를 얻게 됩니다.
3.4 Super-Resolution Model
constructed paired data $\{I_{LR}, I_{HR}\}\in\{X,Y\}$를 활용하여 ESRGAN에 기반한 SR 모델을 훈련하였습니다.
loss function은 3개 loss들의 가중 합으로 구성됩니다.
- pixel loss $L_1$: Li distance
- Perceptual loss $L_{per}$: inactive features of VGG-19
- edges와 같은 low-frequency features의 visual effect를 enhance하는데 도움을 줌
- Adversarial loss $L_{adv}$: generated image가 realistic하게 보일 수 있도록 generated image의 texture details를 enhance하는데 활용됨
- $\lambda_1, \lambda_{per}, \lambda_{adv}$: 0.01, 1, 0.005
3.5 Patch Discriminator in RealSR
다음과 같은 이유로 default ESRGAN setting과 다르게, VGG-128대신 patch discriminator를 활용하였습니다.
- VGG-128은 generated image의 size를 128로 제한하기 때문에, multi-scale training을 하는데 불편합니다.
- VGG-128은 deeper network를 포함하고 있고, fixes fully connected layers는 discriminator가 더 global feature에 집중하게 만들고, local feature를 무시하게 합니다.
Fixed receptive field를 가진 Fully convolution structure 기반 patch discriminator를 사용하였습니다.
- ex) a three-layer network corresponds to a 70*70 patch
- discriminator의 각 output value는 오직 local fixed area의 patch에 관련됩니다.
- patch losses는 generator로 피드백되어 local details의 gradient를 최적화 하는데 활용됩니다.
Final error는 local error의 평균으로, global consistency를 guarantee하게 됩니다.
4. Experiments
4.1 Datasets
DF2K
- DF2K dataset은 DIV2K와 Flikr2K datasets을 merge하였으며 3,540 images를 포함하고 있습니다.
- artificially added with Gaussian noise to simulate sensor noise
- validation set은 ground truth와 함께 100 images가 제공되어, reference based metric을 계산 할 수 있습니다.
DPED
- iPhone3 camera로 얻은 5,614 images를 포함합니다.
- unprocessed real images, containing noise, blur, dark light and low-quality problems
- validation set은 original real images로부터 cropped 되었으며, ground truth가 없어 오직 visual comparison만 가능합니다.
4.2 Evaluation Metrics
PSNR & SSIM
- commonly-used evaluation metrics for image restoration
- visual quality 보다는 image의 fidelity에 더 집중합니다.
LPIPS
- LPIPS는 images의 visual features가 유사한지 아닌지에 더 집중합니다.
- LPIPS는 pretrained Alexnet을 활용하여 image features를 추출하고 두 features간 distance를 계산합니다.
- LPIPS가 작으면, generated image가 ground truth와 더 가깝다는 의미입니다.
4.3 Evaluation on Corrupted Images
LPIPS가 visual quality를 잘 반영하기 때문에, LPIPS metric에 주로 초점을 맞추었습니다.
EDSR, ESRGAN, ZSSR, K-ZSSR과 비교를 하였습니다.
- EDSR과 ESRGAN은 authors에 의해 released된 pre-trained model을 활용하였습니다.
- ZSSR은 training process가 필요없기 때문에, 간단히 test code를 validation images에 대해 돌렸습니다.
- K-ZSSR은 KernelGAN과 ZSSR의 combination으로, KernelGAN은 ZSSR training동안 image patches를 downsampling하는데 활용됩니다(ZSSR은 bicubic degradation을 default로 채택).
Quantitative Results on DF2K
RealSR은 best LPIPS performance를 달성 하여, visual characteristics의 관점에서 ground truth에 더 근접하였습니다.
PSNR은 EDSR보다 낮았는데, RealSR의 perceptual loss가 visual quality에 더 집중 하였기 때문인 것으로 판단됩니다.
일반적으로 PSNR과 LPIPS metric은 positive correlated하지 않고 certain range에서는 오히려 반대 관계를 보이기도 합니다.
Qualitative Results on DF2K
local details를 살펴보았을 때, RealSR은 더 적은 noise를 보여주었습니다.
또한, EDSR과 ZSSR과 비교하였을 때, richer texture details관점에서 RealSR이 더 clear한 결과를 보여주었습니다.
ESRGAN, K-ZSSR과 비교하였을 때, RealSR의 results가 거의 인공적인 부분이 없는 것으로 보이고(almost no artifacts), 이는 real noise distribution을 정확하게 degradation하여 얻은 기여점인 것으로 판단됩니다.
K-ZSSR은 bicubic 보다 더 blurry한 결과를 얻어 거의 noise가 없지만, 많은 artifacts을 생성하게 된다는 단점이 있습니다.
4.4 Evaluation on Real-World Images
Qualitative Results on DPED
4.5 NTIRE 2020 Challenge
본 연구의 RealSR은 NTIRE 2020 Challenge의 Real-World Super-Resolution의 2개 track에서 우승하였습니다.
- Track 1: synthetic corrupted data via image processing artifacts
- Track 2: real data of smartphone images
각 track에서의 data는 2개 domain을 포함합니다.
- source domain dataset containing noise and blur
- clean HR target dataset
이 Task는 LR image의 resolution을 4배 확대하고, generated SR image의 clarity와 sharpeness를 given target dataset과 consistent 해야 합니다.
- 학습을 위해 주어진 pair data가 없으므로, 참가자들은 two set of images를 training data를 구성하는데 사용해야합니다.
- 본 연구에서는 proposed method를 적용하여 2개 track에서 best results를 달성하였습니다(Table 2, Table 3).
4.6 Ablation Study
kernel 추정을 하는 데, injecting noise during the degradation process, patch discriminator during SR training 등의 필요성을 증명하기 위하여 DPED dataset에서의 ablation experiments를 수행하였습니다.
5. Conclusion
본 연구에서는 kernel estimation과 noise injection에 기반한 novel degradation framework RealSR을 제안하였습니다.
- 다양한 degradation의 조합(blur and noise)으로 LR images들은 real images와 common domain을 share하게 됩니다.
- domain-consistent data를 활용해 real image super-resolution GAN을 훈련하였고 HR result를 더 좋은 perception으로 생성 할 수 있었습니다.
Synthetic noise data와 real-world images의 실험에서 본 연구에서 제안함 RealSR이 state-of-the-art method의 성능을 능가함을 확인 하였고, NTIRE 2020 Challenge의 Real-World Super-Resolution의 2개 track에서 우승하였습니다.
같이 보시면 좋아요.
포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!