일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- aws rds
- CycleGAN
- bash 명령어
- ubuntu 명령어
- docker
- ubuntu pipe
- gan
- F-AnoGAN
- unsupervised learning
- git log
- 쏴아리 딥러닝
- AWS EC2
- DCGAN
- EC2
- 말해보시개 딥러닝
- Image to image translation
- 말해보시개 Linux
- git commit
- ubuntu
- ubuntu zsh
- ubuntu mount
- AWS
- ubuntu grep
- linux
- anomaly detection
- autoencoder
- AWS Certificate
- pix2pix
- AnoGAN
- bash vs zsh
- Today
- Total
쏴아리의 딥러닝 스터디
“Zero-Shot” Super-Resolution Using Deep Internal Learning(2018) 본문
“Zero-Shot” Super-Resolution Using Deep Internal Learning(2018)
말해보시개 2021. 7. 18. 15:05“Zero-Shot” Super-Resolution Using Deep Internal Learning(2018)
Abstract
지난 몇년동안 Deep Learning은 Super Resolution(SR)에서 훌륭한 성능을 보여주었습니다.
하지만, supervised 기반의 SR 방법론들은 specific training data에 제한적이라는 단점이 있습니다.
- high-resolution(HR) image로부터 미리 정해진 방법으로(예: bicubic downscaling) low-resolution(LR) image를 획득합니다.
- Real LR images는 이러한 제한에 따르는 경우가 드물기 때문에, SotA method를 적용하였을 경우 대개 poor SR result를 만들게 됩니다.
본 연구에서는 "Zero-Shot" SR을 소개합니다.
- Zero-Shot SR은 Deep Learning을 활용하지만, prior training에 의존하지 않습니다.
- Zero-Shot SR은 single image 안에 있는 internal recurrence of information을 이용하여, test time에 오직 한장의 image로 부터 추출된 예제를 활용해 small image-specific CNN을 학습합니다.
- 즉, Zero-Shot SR은 각 image 마다 다른 stetting을 채택합니다.
이를통해 real old photos, noisy images, biological data 등 image 취득 과정이 unknown 혹은 non-ideal인 경우에도 SR이 가능합니다.
- 이러한 images에서 ZSSR은 SotA CNN-based SR methods와 previous unsupervised SR methods를 outperform 하였습니다.
- ZSSR은 first unsupervised CNN-based SR method라는 점에 의미가 있습니다.
1. Introduction
Single image Super-Resolution(SR)는 최근 Deep-Learning based method를 활용하며 많은 성과를 이루어 냈습니다.
- 주로 exhaustively on external databases로부터 훈련된 very deep and well engineered CNNs통해 이러한 성능향상을 이루어 냈습니다.
- 하지만 externally supervised methods는 훈련 상황을 만족하는 데이터에서는 아주 잘 작동하지만, 훈련 데이터와 다른 경우에는 잘 작동하지 않는다는 한계점이 있습니다.
예컨대, SR CNNs는 주로 high quality natural images에서 specific downscaling kernel로 인해 생성된 low-resolution(LR) 이미지를 활용해 훈련됩니다.
- Figure 1에서 real LR images를 다루는 경우, 'non-ideal' cases에서 SotA SR methods가 poor results를 보여줍니다.
- Figure 2는 훈련 조건이 만족하지 않았을 때를 보여줍니다.
- downscaling kernel이 non-ideal한 경우
- aliasing effect를 포함하는 경우
- sensor noise or compression artifacts를 포함하는 경우
본 연구에서는 "Zero-Shot" SR(ZSSR)을 소개합니다.
- ZSSR은 prior image examples 나 prior training이 없이 Deep Learning의 Power를 이용합니다.
- internel recurrence of information within a single image를 활용하여, test time에 a small image-specific CNN을 훈련합니다.
- 즉, 오직 LR input image 자체만을 활용하여 훈련데이터가 추출됩니다(internal self-supervision).
- 따라서 CNN은 image 별로 다른 setting에 적용될 수 있습니다.
- 이는 SR이 acquisition process가 unknown and non-ideal한 real images에서 작동 가능하게 합니다(Figure 1, Figure 2).
Single image에서의 recurrence of small pieces of information은 natural images에서 매우 강력한 특성을 가집니다.
- 이는 unsupervised image enhancement methods(unsupervised SR, Blind-SR, Blind-Deblurring 등)의 기초가 됩니다.
- 이와 같은 unsupervised methods는 image-specific information을 이용할 수 있지만, 주로 K-nearest-neighbours search를 활용하여 Eucledian similarity of small image patches에 의존합니다.
- 따라서, LR image안에 존재 하지 않는 patch, non-uniform sized of repeating structures inside the image 등의 문제에서 generalize 하기 어렵습니다.
본 연구에서 제안하는 image-specific CNN은 위에 기술한 patch-based methods에서 제한되지 않고 , cross-scale internal recurrence of image-specific information을 활용합니다.
- LR image와 그것의 downscaled versions으로 부터 생성된(self-supervision) 복잡한 image-specific HR-LR relations을 추론하기 위해 CNN을 학습합니다.
- 이렇게 학습된 relations을 활용하여 LR input image을 바탕으로 HR output을 생성합니다.
- ZSSR은 unsupervised patch-based SR을 크게 능가 하였습니다.
본 연구의 기여점은 다음과 같습니다.
- ZSSR은 first unsupervised CNN-based SR method입니다.
- non-ideal imaging condition도 다룰수 있고, 다양한 data types의 images에 적용이 가능합니다.
- pretraining이 필요 없고, modest amounts of computational resources 환경에서 실행이 가능합니다.
- 어떠한 size에서도 SR이 적용 가능합니다.
- unknown imaging conditions에도 적용이 가능합니다.
- 'non-ideal' conditions하에서 취득된 SotA SR results를 제공하며, 'ideal' conditions에서도 SotA supervised methods와 competitive한 results를 보여줍니다.
2. The Power of Internal Image Statistics
본 연구의 접근 방법의 fundamental은 natural images가 strong internal data repetition을 가진다는 사실에 있습니다.
- 예를들어 small image patches(예: 55, 77)는 같은 scale 혹은 다른 scale안에 있는 이미지 내에 repeat pattern을 보여주는 경우가 많이 있습니다.
Figure 3는 internal patch recurrence 기반의 simple single-image SR의 예시를 보여줍니다.
- 이 예제에서 larger balconies를 참고하여 tiny balconies 안에 있는 tiny handrails가 recover하는 것이 가능합니다.
- 사실 이러한 tiny handrails의 존재에 대한 유일한 증거는 다른 location의 다른 scale로 이미지 안에 존재합니다.
- SoTA SR methods는 externally trained images에 의존할 때 이러한 image-specific information을 recover하는데 실패합니다.
사실, 선행연구에서 external entropy of patches in a general collection of natural images보다 internal entropy of patches inside a single image가 훨씬 더 작나든 것이 실증적으로 보여졌습니다.
- 이는 internal image statistics가 때때로 general image collection으로 부터 얻어진 external statistics보다 stronger predictive-power를 줄 수 있다는 점을 의미합니다.
3. Image-Specific CNN
본 연구에서 제안하는 image-specific CNN은 predictive power와 low entropy of internal image-specific information을 Deep-Learning의 generalization capabilities와 결합합니다.
- 학습시킨 external examples가 없는 상황의 주어진 test image $I$에 대하여, Image-Specific CNN을 활용해 이 specific image를 위한 SR task를 해결합니다.
- test image 자체에서 추출된 examples을 활용해 CNN을 훈련합니다.
- 이러한 examples는 LR image $I$를 downscaling해서 얻어지고, 그 자체의 low-resolution version($I \downarrow s$)을 생성하기 위해 활용됩니다.
- 상대적으로 가벼운 CNN을 활용하여, test image $I$를 low-resolution version ($I \downarrow s$)으로 재구성해 학습합니다(Figure 4. (b)의 윗부분).
- 그 뒤, 학습된 CNN 결과를 test image $I$에 적용하여($I$를 network의 LR input으로 활용), desired HR output $I \uparrow s$를 얻어냅니다(Figure 4 (b)의 아래부분).
- 이때, 학습된 CNN은 fully convolutional이므로, 다양한 size의 images에 적용이 가능합니다.
본 연구에서의 "training set"이 하나의 instance만으로만 구성되었기 때문에, 더 많은 LR-HR example-pairs를 추출하기 위해 data augmentation을 수행하였습니다.
- augmentation은 test image $I$를 downscaling하면서 많은 smaller version($I= I_0, I_1, I_2, ..., I_n$)을 생성하여 수행됩니다.
- 이들은 HR supervision의 역할을 하여 "HR fathers"라고 불립니다.
- 각 HR fathers는 desired SR scale-factor $s$에 의해 downscaled되어 "LR sons"(input training instances)를 얻게 됩니다.
- 결국 training set은 많은 image-specific LR-HR example pairs로 구성되게 됩니다.
또한, training set을 enrich하게 하기 위하여 각 LR-HR pair를 변형 하여 x8의 더 많은 image-specific training example을 확보하였습니다.
- 4 rotations(0, 90, 180, 270)
- mirror reflections in the vertical and horizontal directions
robustness를 위해 large SR scale factor $s$를 아주 작은 small LR images에 대해도 적용하였고, SR이 gradually perform하게 하였습니다.
- several intermediate scale factors ($s_1, s_2, ..., s_m = s$)이 적용됩니다.
- 각 intermediate scale $s_i$에서, generated image $HR_i$와 downscaled/rotated versions를 gradually growing training-set(as new HR fathers)이 되게 하였습니다.
- 그것들(previous smaller 'HR examples')을 next gradual scale factor $s_{i+1}$로 새로운 new LR-HR training example pairs를 생성합니다.
- 이 과정은 full desired resolution increase $s$까지 반복합니다.
3.1 Architecture & Optimization
large and diverse external collection of LR-HR image examples로 부터 학습되는 Supervised CNNs은 large diversity of all possible LR-HR relations로부터 weights를 학습해야 합니다.
- 이러한 네트워크는 굉장히 deep and very complex한 경향이 있습니다.
- 반대로, diversity of LR-HR relations of single image는 매우 작기 때문에, 훨씬 작고 간단한 image-specific network에 의해 encoded될 수 있습니다.
본 연구에서는 8개의 hidden layers(each has 64 channels)를 가진 simple, fully convolutional network를 활용합니다.
- 각 layer에서 ReLU activation을 활용하였습니다.
- Network input은 output size로 interpolated됩니다.
- 이전의 CNN-based SR methods와 같이, interpolated LR과 HR parent간 residual을 학습합니다.
- $L_1$ loss를 ADAM optimizer와 함께 사용합니다.
- learning rate 0.001로 시작하여, 주기적으로 reconstruction error의 linear fit을 계산하여, standard deviation이 slope of the linear fit보다 특정 factor 이상으로 크다면, learning rate를 10으로 나눠줍니다.
- learning rate 가 $10^-6$이 도달하면 훈련을 종료합니다.
training stage를 가속화하고 test image $I$의 size에 따른 runtime을 독립적으로 하기 위해, 각 iteration동안 랜덤하게 선택된 father-son example pair로 부터 random crop of fixed size를 취득합니다.
- crop은 대개 128*128 size입니다.
- 각 훈련 iteration에서 LR-HR example을 sampling하는 확률은 non -uniform하고 size of the HR-father에 비례합니다.
- size-ratio(between the HR-father and the test image $I$)가 1에 가까울수록 sampling될 확률이 증가합니다.
마지막으로 geometric self-ensemble과 비슷하게, 8개의 outputs에서 median을 취합니다.
3.2 Adapting to the Test Image
HR으로부터 LR images의 acquisition parameter가 fixed되어 있다면(예: same downscaling kernel, high-quality imaging conditions), supervised SR 방법은 매우 높은 성능을 보여줄 수 있습니다.
- 하지만 실무에서는 cameras/sensors가 다르고, 개인마다 image를 취득하는 조건이 다르기 때문에, acquisition process가 image마다 다를 수 있습니다.
- 이는 다른 downscaling kernels, 다른 noise characteristics의 결과를 내개 됩니다.
- 따라서 모든 가능한 image acquisition configurations/settings를 고려하여 훈련하는 것은 실무적으로 불가능할지도 모릅니다.
- 게다가, 하나의 single supervised CNN은 모든 가능한 degradations/settings의 환경에서 잘 작동하기 힘들고, 좋은 성능을 내기 위해서는, 각각 다른 degradations/setting하에서 학습된 specialized SR이 필요합니다.
이러한 환경에서는 image-specific network의 이점이 있을 수 있습니다.
- network는 test time에서, test image의 specific degradations/settings에 직접 맞춰집니다.
- 네트워크는 test time에 user로부터 다음과 같은 parameters를 받을 수 있습니다.
- The desired downsacling kernel
- The desired SR scale-factor $s$
- The desired number of gradual scale increases
- Whether to enforce Backprojection between the LR ans HR image
- Whether to add 'noise' to the LR sons in each LR-HR example pair extracted from the LR test image
4. Experiments & Results
ZSSR(Zero-Shot SR)은 주로 realistic(unknown and varying) acquisition setting의 real LR images를 다루는 것이 목적입니다.
- 이는 보통 HR ground truth가 없기 때문에 visually evaluated 됩니다(Figure 1).
- ZSSR을 quantitatively evaluate 하기 위하여, 다양한 setting의 controlled experiments를 수행하였습니다.
- 흥미로운 것은 ZSSR은 SotA supervised method들에 특화되어있는 'ideal' benchmark datasets에서도 competitive results를 보여주었습니다.
- 'non-ideal' datasets에서 ZSSR은 SotA SR을 크게 능가하는 성능을 보여주었습니다.
4.1 The 'Ideal' Case
Ideal case는 ZSSR의 주요 목적이 아니지만, 본 연구에서는 'ideal' LR image SR benchmark에서도 테스트를 수행하였습니다.
- LR images는 HR version으로부터 ideally downscaled(bicubic kernel downsampling with antialiasing) 됩니다.
- Table 1은 image-specific ZSSR이 externally-supervised methods와 비교해서도 competitive results를 달성함을 보여줍니다.
- 심지어, SRCNN 보다 ZSSR의 성능이 더 좋게 나왔고, some cases에서는 VDSR보다도 좋은 성능을 보여주었습니다.
- Unsupervised-SR 영역에서는 leading method인 SelfExSR을 크게 능가하였습니다.
게다가, very strong internal repetitive structures에서는 'ideal' supervised setting에서도 ZSSR이 VDSR, 때때로 EDSR+를 능가하기도 하였습니다.
- Figure 5에 관련 예제가 표현되어있습니다(not a typical natural image 예제).
- 또한 natural image예제는 Figure 6에 표현되어있습니다.
4.2 The 'Non-ideal' Case
Real LR images는 ideally generated 되지 않은 경향이 있습니다. 본 연구에서는 non-ideal cases를 ㅅ실험하기 위해 다음과 같은 실험을 하였습니다.
- non-ideal downscaling kernels(that deviate from the bicubic kernel)
- low-quality LR images
Non-ideal cases에서 image-specific ZSSR은 SotA SR method에 비해여 매우 높은 성능을 보여주었습니다.
- Figure 2에 visual results가 소개되어있습니다.
(A) Non-ideal downscaling kernels
실험의 목적은 더 realistic blur kernels에 대해 테스트 하는 것입니다.
- 이를 위해, BSD100부터 HR images를 random(but reasonably sized) Gaussian kernels를 적용하여 새롭게 데이터를 만들었습니다.
- For each image, the covariance matrix $\sum$ of its downscaling kernwl was chosen to have a random angle $\theta$ and random lengths $\lambda_1, \lambda2$ in each axis.
- $s$: HR-LR downscaling factor
- 즉, 각 LR image는 different random kernel로 인해 subsample 되었습니다.
Table 2에는 leading externally-supervised SR methods와 비교한 performance가 기술되어있습니다.
- 본 연구에서는 2가지 Case에 대한 ZSSR도 고려하였습니다.
- The more realistic scenario of unknown downscaling kernel
- For this mode we used [14] to evaluate the kernel directly from the test image and fed it to ZSSR.
- The unknown SR kernel is estimated in [14] by seeking a non-parametric downscaling kernel which maximizes the similarity of patches across scales in the LR test image.
- ZSSR with the true downscaling kernel used to create the LR image
- The more realistic scenario of unknown downscaling kernel
- Table 2는 ZSSR이 SotA methods를 매우 크게 능가한 성능을 보여줍니다.
(B) Poor-quality LR images
이 실험에서는 다른 종류의 quality degradation에 대해 images를 테스트 하였습니다.
- unknown damage를 ZSSR이 잘 다루는지 robustness를 테스트 하기 위하여, BSD100의 각 image를 선택하여 random type of degradation out of 3 degradations를 적용하였습니다.
- Gaussian noise [$\sigma$=0.05]
- Speckle noise [$\sigma$=0.05]
- JPEG compression [quality =45]
- Table 3는 ZSSR이 unknown degradation types에 robust하고, SR supervised method는 bicubic interpolation보다 낮은 성능을 가짐을 보여줍니다.
5. Conclusion
본 연구에서는 "Zero-Shot" SR의 컨셉을 소개합하였습니다.
- external examples or prior training에 의존하지 않고 Deep Learning을 이용합니다.
- test time에서 only LR test image로 부터 취득된 internal examples에 기반하여 훈련된 small image-specific CNN을 통해 얻을 수 있습니다.
이는 non-ideal, unknown process를 통해 얻어진 real-world images의 SR을 수행합니다.
- real-world 'non-ideal' setting에서, ZSSR은 SotA SR methods를 qualitatively and quantitatively outperform 하였습니다.
- ZSSR은 최초의 unsupervised CNN-based SR method입니다.
같이 보시면 좋아요.
포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!