Skip to content

alzoqm/SwinIR_Super_Resolution_Simple_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 

Repository files navigation

SwinIR_Super_Resolution_Simple_Project

사용한 모델 논문: https://arxiv.org/abs/2108.10257
공식 코드(파이토치): https://github.com/JingyunLiang/SwinIR
모델 코드 설명: https://github.com/alzoqm/transformer_model/tree/main/models/swinIR

Train Dataset 및 Model Parameter

Train Dataset

kaggle danbooru2020 dataset: https://www.kaggle.com/muoncollider/danbooru2020

  • danbooru dataset의 경우 한 폴더에 모든 파일이 있는 것이 아닌 약 200개의 분할된 폴더에 2000~3000개씩 분할되어 있음
  • 이러한 점을 향후 ram 절약을 위해 활용함. (Training Method 참조)
parameter name value parameter name value
IMG_SIZE 64 PATCH_SIZE 1
IN_CHANS 3 EMB_SIZE 180
DEPTHS [6, 6, 6, 6] NUM_HEADS [6, 6, 6, 6]
WINDOW_SIZE 4 MLP_RATIO 4
QKV_BIAS True DROP_RATE 0.1
ATTN_DROP_RATE 0.1 DROP_PATH_RATE 0.1
APE False PATCH_NORM True
UPSCALE 2 IMG_RANGE 255
RESI_CONNECTION '3conv' BATCH_SIZE 8

Training Method

  • colab pro의 TPU 이외의 버전에서 학습된 모델을 불러올시 문제가 발생함(GPU 및 CPU로 이미지를 생성할시 이미지 깨짐 현상 발생)
  1. 학습하기 위해 마련한 모든 데이터를 한번에 pipeline에 넣을 경우 colab에서 할당하는 ram이 버티지를 못함
  2. 큰 이미지를 넣을 경우 vram 역시 한계가 있음
  • 1번의 문제를 해결하고자, 모든 데이터를 한번에 pipeline에 넣기 보단, 2000~3000개씩 넣어 학습을 진행함(epoch값에 해당하는 이미지만 불러옴)
  • 2번의 문제를 해결하기 위해, 사이즈가 512x512 데이터를 64 x 64로 분할하여 학습을 진행함.(new_swinir_sr 함수 image_slice참조)

Result

Low Resolution Output High Resolution(2x)

확대 이미지

waifu2x(anotherSRmodel) Low Resolution SwinIR High Resolution(2x)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published