1. Paper Bibliography
논문 제목
- Unsupervised Degradation Representation Learning for Blind Super-Resolution
저자
- Wang et al.
출판 정보 / 학술대회 발표 정보
- Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.
년도
- 2021
2. Problems & Motivations
Blind Super-Resolution
대부분 존재하던 CNN-based SR methods들은 degradation(ex: bicubic downsampling)을 알고 있다는 전제하에 연구되어왔습니다. 하지만 이러한 methods들은 실제 degradation이 가정했었던 degradation과 다른 경우, 심각한 성능 저하를 유발합니다.
Real-world에 존재하는 여러 unknown degradation을 다루기 위해서, 이미지를 SR할 때 degradation estimation을 하곤 했습니다. 하지만 이를 직접적으로 예측 하는 것은 많은 시간이 소요되고 만약 큰 estimation error가 발생했을 경우 SR에 실패하기도 합니다.
Unsupervised degradation representation learning
그렇기 때문에 논문에서는 blind SR을 위한 unsupervised degradation representation learning scheme을 제안합니다. 직접적으로(explicit) pixel space의 degragation을 예측하기 보단, representation space에 있는 다양한 degradations를 구분하기 위해 abstract representation를 학습합니다.
3. Method
3.1 Problem Formulation
$k$: blur kernel
$⊗$: convolutional operation
$↓_{s}$: downsampling activation, scale factor s
$n$: usually refers to additive white Gaussian noise (bicubic 사용함)
3.2 Our Method
논문의 blind SR framework는 degradation encoder와 degradation-aware SR network로 구성됩니다.
3.2.1 Degradation Representation Learning
Degradation representation learning의 목표는 unsupervised 방식으로 LR이미지에서 discriminative representation을 추출하는 것입니다. Fig 1.은 contrastive learning frame를 나타낸 그림이며 논문에서는 하나의 이미지 내의 degradation은 동일하고 다른 이미지와의 degradation은 다르다고 가정합니다.
1. 패치 추출
query patch로 이미지 패치가 하나 주어졌을 때, 같은 LR이미지 내에서 추출한 패치들은 positive samples, 다른 LR이미지에 추출한 패치는 negative samples로 간주합니다.
2. degradation representation 만들기
conv net을 이용하여 query, positive, negative 패치를 degradation representaion으로 encode합니다
3. x, x+, x-만들기
2에서 만든 representation을 two-layer multi-layer perceptron (MLP) projection head를 통해 x, x+와 x, x-를 만듭니다.
x와 x+는 가깝게, x-와는 멀리 취급하게 됩니다.
보통 Similarity는 InfoNCE loss로 계산되곤 합니다
$N$: number of negatve samples
$τ$: temperature huper-parameter
$·$: dot product between two vectors
최종 Loss
Content-invariant degradation representation을 얻기 위해 다양한 contents와 degradation으로 이루어진 큐가 유지됩니다. 학습 과정에서 B LR(B different degradations) 이미지들은 먼저 랜덤으로 선택되고 각 이미지에서 패치가 2개씩 랜덤으로 크롭됩니다. 그 다음 2B 패치들은 degradation encoder를 통해 {${p^{1}_{i}, p^{2}_{i} \in ℝ ^{256}}$}로 인코딩 됩니다.
--> 같은 degradation이라면 이미지가 달라져도 비슷한 degradation representation 정보를 가지고 있어야함
$p^{1}_{i}$: embedding of the first patch from $i^{th}$ image, query
$p^{2}_{i}$: embedding of the second patch from $i^{th}$ image, positive samples
최종 loss는 다음과 같습니다
$N_{queue}$: number of samples in the queue
$p^{i}_{queue}$: $j^{th}$ negative sample
이러한 방법은 explicit하게 pixel level의 degradation을 추측하는 것이 아닌, specific degradation을 구별할 수 있는 "good" abstact representation을 학습하는 것에 목적이 있다.
또 groundtruth degradation이 필요 없고 unsupervised 방식으로 가능하다
3.2.2 Degradation-Aware SR Network
Degradation-aware SR (DASR) network는 앞서 얻은 representation을 이용해 LR 이미지를 SR한다
Network Architecture
DASR은 5개의 residual groups으로 이루어져 있으며 각 그룹은 5개의 Degradation-aware block(DA block)들로 구성됩니다.
추출된 degradation representations는 DA convolutions와 합쳐져서 convolution kernels와 channel-wise modulation coefficients를 예측해 다양한 degradation에 대한 adaption을 얻는다.
1. DA conv layer는 degradation representation의 조건에 따라 depth-wise convolution kernel을 predict하는 법을 학습합니다
(다른 restoration levels들 위해 훈련된 모델들의 conv kernels는 비슷한 패턴을 공유하나 다른 분포를 가지고 있다)
참고: Depth-wise Convolution은 한 번 통과하면, 하나로 병합되지 않고, (R, G, B)가 각각 Feature Map이 됩니다.
https://coding-yoon.tistory.com/122
- 1-1. degradation representation $R$이 2개의 FC 레이어에 들어가고 reshape되어 convolutional kernel $w \in ℝ ^{C \times 1 \times 3 \times 3}$을 만든다.
- 1-2. 그 다음 입력 피처 $F$가 3x3 depth-wise convolution($w$)와 1x1 convolution을 통해 $F_{1}$이 됩니다.
2. 더불어 DA conv layer는 channel-wise feature를 얻기 위해 degradation representation기반 modulation coefficients를 만드는 법도 학습합니다.
(다양한 degradation을 다루기 위해 controlling variables를 사용해 다른 채널들을 rescale. SResMD[16])
- 2-1. $R$이 또 다른 2개의 FC layers에 들어간 후 sigmoid 활성화 레이어에 들어가 channel-wise modulation coefficients $v$를 얻습니다.
- 2-2. $v$는 $F$에서 다른 채널 요소들을 rescale하고 $F_{2}$를 만듭니다
3. 마지막으로 $F_{1}$은 $F_{2}$와 더해지고 이어지는 레이어들을 지나 최종 $F_{out}$을 만듭니다
이전 multiple degradations을 위한 SR network는 보통 degradation representations를 이미지 features와 concat해서 CNN에 입력으로 넣었습니다. 하지만 degradation representations와 이미지 features의 domain gap 때문에 이를 바로 convolution 처리하는 것은 좋지 않습니. 이와 다르게 DASR은 degradation representation을 기반으로 convolution kernel과 modulation coefficients를 예측하는 방법을 학습함으로써, 특정 degrdation에 적응하기 위한 degradation 정보를 잘 활용할 수 있습니다.
[16] Jingwen He, Chao Dong, and Yu Qiao. Interactive multidimension modulation with dynamic controllable residual learning for image restoration. In ECCV, 2020.
4. Experiments
Datasets
Train: 800 training images in DIV2K [1] and 2650 training images in Flickr2K
Evaluation: four benchmark datasets (Set5, Set14, B100, Urban100)
Investigate...
1. noise-free degradation model with isotropic Gaussian kernels
2. anisotropic Gaussian kernels and noises
3. real-world degradations
참고: https://bskyvision.com/778
5. Results
Google Scholar Link
GitHub
https://github.com/The-Learning-And-Vision-Atelier-LAVA/DASR
댓글