딥러닝논문읽기모임에서 처음으로 발표를 하게된 논문을 오늘 소개하려고 합니다. 발표영상은 YouTube에서 확인이 가능합니다!
해당 논문은 Super Resolution 즉 해상도 복원 분야의 논문으로 Meta-Transfer Learning for Zero-Shot Super-Resolution입니다. 해당 논문은 2020년CVPR에서 발표한 논문입니다.
Index
- Introduction
- Previous Methods
- Proposed Methods
- Experiments
- Discussion
- Conclusion
Introduction
간략하게 논문 내용을 말씀드리면 기존 CNN 기반의 방법은 제한된 condition에서만 높은 성능을 냈었는데 flexibility 개선하고 Meta-transfer learning 기법을 사용해 각 task에 빠른 적용을 가능하게 한 방법입니다. 그래서 MZSR은 1번 혹은 10번의 gradient update만으로 real-world image에서도 높은 해상도 복원 성능을 나타낸 모델입니다.
Previous Methods
기존의 방법들에 대해 말씀 드리기 전에 Down-sampling에 대해 알 필요가 있습니다.
Down-sampling은 말 그대로 이미지를 줄이면서 sampling하는 방법입니다. 학습 단계에서 모델을 학습시키기 위해 원본 이미지를 Down-sampling 시켜 LR-HR image pair를 만듭니다. 그리고 test 단계에서 train된 정보를 기반으로 해상도 복원 즉 Super-Resolution을 진행합니다. 즉, Down-sampling은 LR-HR image pair를 만들기 위해 필요한 것입니다.
기존에는 CNN의 방법을 많이 쓰는데 이는 SISR 에서 큰 성능향상을 보였습니다. (SISR은 아래에서 설명)
이렇게 큰 성능 향상을 보였으나 앞서 말씀드린 대로 대부분 bicubric downsampling 같은 특정 condition에서만 좋은 성능을 보였습니다.
이 CNN기반 방법의 SOTA 중 하나인 RCAN의 경우 보시다시피 bicubic down- sampling condition에서는 높은 성능을 보이나 아래 Gaussian으로 downsampling이 될 경우 낮은 성능이 보이고 있습니다. 또한 이러한 방법은 학습을 위해 large scale external data를 사용해야 하고 많은 parameter가 필요하다는 한계점도 가지고 있습니다.
본 논문에서 제안한 MZSR은 CNN 방법의 한계점을 극복하면서도 SISR의 external sample을 활용해 학습하는 방법을 학습 단계에서 사용합니다. 왼쪽 그림을 보시면 Training 단계에서 다양한 external sample로 먼저 downsample후 HR, LR pair을 만들어 학습을 진행합니다. 그리고 테스트 단계에서 이 학습된 모델을 기반으로 LR을 HR로예측하는 과정을 거칩니다. 오른 쪽 수식은 Blur Kernel K과 Gaussian noise를 활용해 LR Image를 만들기 위한 수식입니다.
MZSR의 Meta-test 단계에서 활용하게될 Zero-Shot Super Resolution에 대해 설명드리도록 하겠습니다. ZSSR 앞서 말씀드린 SISR과 달리 학습 단계에서 자기 자신 즉 internal infromation을 학습합니다.
자기 자신 image로부터 추출된 HR-LR pair를 만들어 학습을 진행하고 이렇게 학습된 정보를 토대로 원본을 LR로 이용하여 확대한 결과 즉 예측을 진행합니다. 그러나 한계점으로는 한 장의 이미지에 대해서만 학습을 하다보니 학습 시간이 많이 필요하고, 다른 이미지엔 사용 어렵다는 점을 본 논문에서 지적하고 있습니다.
Proposed Methods
그래서 이러한 CNN 기반의 방법과 ZSSR의 한계점을 극복하고자 본 논문은 MZSR을 제안합니다. 전체적인 흐름을 보시면 externel data로 large scale training과 meta transfer learning을 진행합니다. 그리고 Meta-Test 단계에서는 zero-shot super- resolution 방법을 사용합니다.
Large-scale Training단계에서는 다양한 이미지로부터 공통적으로 사용되는 representation들을 학습할 수 있도록 합니다. natural image들로 부터 특징값들을 받아와서 활용함으로써 높은 성능을 보이도록 합니다. 수식을 보시면 바이큐픽으로 low resolution image를 만들어서 HR, LR pair를 만든 뒤 L1를 사용해서 loss를 최소화하는 방향으로 training 진행합니다.
이제 Meta-Transfer Learning 단계입니다.
Meta learning은 학습을 위한 학습이라고도 합니다. 나중에 학습이 잘 될 수 있도록 하기 위해서 특정한 각 task로 빠르게 학습될 수 있도록 만드는 것입니다.
다양한 kernel condition에 가장 sensitive한 initial point를 찾기 위해 transfer-learning과 optimaization 기반의 meta-learning 방법즉 MAML을사용핮니다.
이와 같이 task가 3개가 있다고 할때 각각 task에 맞는 optimal한 weight값은 세타1, 세타2, 세타3이 있고 가 있고, 화살표 끝으로 도달하게 되면 각각의 가중치로 가는 각 task에 대한 loss의 방향성을 구할 수 있습니다.
Kernel distribution을 위해서는 Covariance matrix을 사용하는데요. 처음 괄호는 rotation matrix로 세타만큼 이미지를 회전합니다. 그리고 람다 파라미터는 사용해서 블러처리를 수행하기 위한 사용합니다. 그리고 다시 세타만큼 반대로 회전을 시켜서 원본이미지로 되돌릴 수 있도록 합니다.
이제 이 meta-learner를 train시킵니다. Task-level Loss를 통해 model parameter 𝜃를 업데이트하는 하고 Test error를 최소화하는 방향으로 optimization을 진행합니다.
그 다음은 Meta-Test 단계입니다. 이는 앞서 설명드린 Zero-shot super learning 방식과 동일하게 a single image 내에서 internal information을 학습하는 걸 왼쪽 그림에서 볼실 수 있습니다.
앞서 설명드린 Meta-Transfer Learning과 Meta-Test의 알고리즘입니다.
Meta-Transfer Learning 알고리즘을 보시면 Data(D)가 있을 때 때 LR과 HR batch를 만든 다음 L1 Loss를 이용해서 Training을 진행합니다. 그리고 task distridution 내 각 task에 대해 나중에 학습을 진행했을 때 학습이 빨리 될 수 있도록 meta-learning을 진행합니다. 마지막으로 meta-learn을 optimization합니다.
Meta-Test 단계에서는 하나의 이미지가 들어왔을 때 각 kernel에 맞게 meta-learning이 된 가중치 값을 빠르게 update 시킵니다. 이런 과정을 통해 SR이미지를 return 하는 걸 보실 수 있습니다.
Experiments
본 논문에서는 실험을 진행하기 위해 측정 지표는 PSNR와 SSIM을 사용했고, 바이큐빅을 포함한 4가지 커널을 사용했습니다.
바이큐빅으로 다운샘플링된 데이터셋의 실험 결과입니다. 아무래도 바이큐빅 다운샘플링을 진행했기 때문에 다른 모델과 비교했을 때 MZSR이 비교적 낮은 성능을 보이는 데이터셋이 있지만 1-10번의 업데이트만으로 유사한 성능을 낼 수 있음을 알 수 있습니다.
해당 테이블은 다양한 커널을 사용한 실험 결과입니다. 빨간색이 1위, 파란색이 2위 결과인데, 대부분 unsupervised 방법이 우수한 성능을 보이며 MZSR의 경우 10번만 업데이트한 실험결과에서는 대부분 1, 2위를 차지한 것을 알 수 있습니다.
이러한 수치를 시각화한 결과입니다. 좌측 상단 커널을 사용한 실험 결과이며, MZSR을 10번만 업데이트 했음에도 우수한 복원 성능을 보이는 것을 할 수 있습니다.
여기도 마찬가지로 해당 커널 condition에서도 MZSR은 10번만 업데이트 했음에도 우수한 복원 성능을 보이고 있음을 알 수 있습니다.
Discussion
MZSR의 경우 1번의 gradient update만으로 높은 성능을 보임을 앞서 언급했습니다.
그림을 보시면 initial point에서는 가장 안 좋은 성능을 보이는 것을 알 수 있었습니다. 그러나 이와 같이 1번의 업데이트만으로 다른 pre-trained network으로 복원된 이미지보다 좋은 성능을 낼 수 있음을 확인할 수 있는데요. 이는 얼마나 MZSR이 빠른 적응 능력이 있는지 알 수 있습니다.
또한, MZSR은 자기 자신으로부터 학습을 진행하기 때문에 오른쪽 그림과 같이 multi-scale recurrent patterns을 가진 이미지에서도 좋은 성능을 보이는 것을 알 수 있습니다
Conclusion
결론적으로 MZSR은 internal과 external 샘플을 모두 사용하여 적은 업데이트로만으로 해상도 복원을 수행하게 하는 빠르고 flexible한 방법이라고 말씀드릴 수있습니다.
감사합니다 :D
Sources
MZSR Paper (https://arxiv.org/pdf/2002.12213.pdf)
MZSR GitHub (https://github.com/JWSoh/MZSR)
ComputerVisionFoundation Videos (https://www.youtube.com/watch?v=ZEgZtvxuT4U)
Deep Learning Paper Review and Practice (https://www.youtube.com/watch?v=PUtFz4vqXHQ)
'Papers & Research Notes > Paper & Code Review' 카테고리의 다른 글
[논문 리뷰] StyleGAN: A Style-Based Generator Architecture for GANs (0) | 2021.03.25 |
---|---|
[논문 리뷰] Multiple-Clothing Detection and Fashion Landmark Estimation Using a Single-Stage Detector (0) | 2021.03.13 |
[논문 리뷰] EfficientDet: Scalable and Efficient Object Detection Review (0) | 2021.03.06 |
[대학원 TIP] 논문 리뷰/평가 방법 (0) | 2021.03.01 |
댓글