Swin Transformer는 기존 Vision Transformer(ViT)의 단점인, 입력 이미지를 시퀀스로 처리하여 전역적인 정보만 활용한다는 한계와 대규모 데이터에 대한 의존도를 보완한 모델로, 계층적 구조와 지역적 self-attention을 도입해 성능을 개선하였다. 기존에는 Image Classification, Object Detection, Semantic Segmentation 등에서 CNN을 대체하는 Backbone으로 사용되었으며, 본 논문에서는 Swin Transformer 구조를 Image Restoration 작업에 적용하였다.
논문 링크
위 논문을 읽고, 내용을 요약하였다.
Introduction
배경
- Image Restoration은 낮은 품질의 열화된 이미지로부터 높은 품질의 깨끗한 이미지를 복구하는 것을 목표로 한다
- 주요 분야:
- Image Super-Resolution (SR) – 저해상도 이미지를 고해상도로 변환
- Image Denoising – 이미지에 포함된 잡음 제거
- JPEG Compression Artifact Reduction – JPEG 압축으로 인한 노이즈/블록 현상 제거
- CNN은 Image Restoration 분야에서 핵심 기술이 되었으며, Residual Learning, Dense Connections과 같은 정교한 구조 설계를 통해 지속적으로 발전해왔다
- 그러나 여전히 다음과 같은 문제점이 존재한다:
- 서로 다른 이미지 영역에 동일한 Convolution Kernel을 적용하는 것은 최적의 선택이 아닐 수 있다.
- 지역적인 처리 원리(Local Processing Principle)로 인해, Long-Range Dependency를 효과적으로 처리하지 못한다.
- Long-Range Dependency: 멀리 떨어진 두 영역 간의 관계를 이해하는 능력
- CNN의 대안으로 Transformer는 Self-Attention Mechanism을 통해 전역적인 context간 상호작용을 포착하고, 일부 비전 작업에서 유망한 성능을 보여주었다
- 그러나 Image Restoration 분야에서 Vision Transformer를 사용할 경우, 다음과 같은 구조적 문제를 가진다:
- 입력 이미지를 고정 크기의 패치로 나눈 뒤 각 패치를 독립적으로 처리하므로, 경계에 위치한 픽셀은 패치 외부 이웃 픽셀 정보를 활용할 수 없다.
- 복원된 이미지가 패치 경계 부근에 Border Artifact를 발생시킨다.
→ 이는 Patch Overlapping으로 어느 정도 해결할 수 있으나, 계산 비용이 급격히 증가한다는 단점이 있다.
- 최근 Swin Transformer는 CNN과 Transformer의 이점을 통합할 수 있음을 보여주었다:
- Local Attention Mechanism을 통해 큰 이미지 처리에 있어 CNN의 효율적인 지역 처리 특성을 가진다.
- Shifted Window 구조를 통해 Transformer의 강점인 Long-Range Dependency 처리 능력을 확보한다.
시도
- Image Restoration 모델로 Swin Transformer에 기반을 둔 SwinIR을 제안한다.
- SwinIR은 세가지 모듈로 구성된다:
- Shallow feature extraction module: convolution layer를 사용하여 shallow feature를 추출한다.
- Deep feature extraction module: residual Swin Transformer blocks (RSTB)로 구성되며, 각 블록은 local attention과 cross-window interaction을 위한 여러 개의 Swin Transformer layer를 포함한다. 각 블록의 끝에는 feature enhancement를 위한 convolution layer가 추가되고, feature aggregation을 위한 residual connection이 사용된다.
- Reconstruction module: shallow feature와 deep feature를 결합하여 고품질 이미지를 복원한다.
평가
- 기존 CNN 기반의 image restoration 모델과 비교했을 때, SwinIR은 다음과 같은 세 가지 이점을 가진다:
-
Transformer는 입력 위치와 내용에 따라 동적으로 attention을 계산하므로, 위치에 따라 가중치가 달라지는 convolution(spatially varying convolution)으로 볼 수 있다.
-
Shifted window mechanism을 통해 long-range dependency modeling이 가능하다.
-
더 적은 파라미터 수로 더 나은 성능을 보인다. SwinIR은 기존의 image SR 모델들보다 적은 파라미터로 더 높은 PSNR을 달성한다.

Method
Network architecture

- SwinIR은 그림과 같이 세가지 모듈로 구성되어있다:
- Shallow feature extraction module
- Deep feature extraction module
- High quality (HQ) image reconstruction module
🔍 Shallow and deep feature extraction
-
저품질(low-quality, LQ)을 입력으로 받아, 3x3 convolutional layer H_SF(· )를 사하여 shallow feature를 F0를 추출한다.
- 입력 이미지의 크기는 (H x W x C_in) 이며, 각각 이미지 높이, 넓이, 채널 수를 의미한다.
- F0의 크기는 (H × W × C)이며 여기서 C는 feature 채널 수를 의미한다.

-
Convolution layer는 초기 시각 처리 단계에서 효과적이며, 더 안정적인 최적화와 우수한 결과를 이끌어낸다.
-
또한, 입력 이미지의 공간을 고차원 feature 공간으로 매핑하는 간단하고 효과적인 방법이다.
-
이후, deep feature F_DF를 F0로부터 추출한다.

-
H_DF는 K개의 residual Swin Transformer block (RSTB)와 3x3 convolutional layer로 구성된다.
-
각 RSTB의 중간 출력 feature는 F1, F2, …, FK이며, 마지막 출력 deep feature는 F_DF는 block-by-block 방식으로 추출된다.
-
H_conv는 마지막 convolutional layer로, 최종 feature extraction을 위해 사용되며, Transformer 기반 네트워크에 convolution 연산의 inductive bias를 제공한다
-
또한, shallow feature와 deep feature를 효과적으로 통합하는 기반이 된다.

🔍 Image reconstruction
- "Image Super-Resolution (SR) 작업의 경우, 최종 고화질 이미지 I_RHQ는 shallow feature와 deep feature를 결합하여 복원된다.

- 여기서 H_REC는 reconstruction module을 의미한다.
- 일반적으로, shallow feature는저주파(low-frequency) 정보를 포함하고, deep feature는 손실된고주파(high-frequency) 정보를 복원하는 데 집중한다.
- long skip connection을 사용하여 F0를 reconstruction 모듈에 직접 전달함으로써, SwinIR은 저주파 정보를 안정적으로 전달함으로써, deep feature extraction 모듈이 고주파 복원에 집중할 수 있도록 유도한다.
- 이는 또한 학습의 안정성(stability)을 높이는 데 기여한다.
- Reconstruction module의 구현 방식은 다음과 같다:
- Image SR에서는 feature를 업샘플링하기 위해 Sub-pixel convolution layer 를 사용한다.
- Image Denoising이나 JPEG Compression Artifact Reduction과 같이 업샘플링이 필요 없는 작업에는, 단일 convolution layer를 사용하여 복원을 수행한다.
- 또한, SwinIR은 HQ 이미지를 직접 복원하는 대신, 입력 이미지와 고화질 이미지 간의 residual을 복원하는 방식을 채택한다. 이 방식은Residual Learning이라 불린다.

- 여기서 H_SwinIR은 전체 SwinIR 네트워크를 의미한다.
🔍 Loss function
-
Image Super-Resolution (SR) 작업에서는 SwinIR의 파라미터를 L1 픽셀 손실(L1 pixel loss) 을 최소화하도록 학습한다.

- 여기서 I_RHQ는 저화질 입력 I_LQ을 SwinIR에 통과시켜 얻은 복원 이미지이며, I_HQ는 대응되는 Ground-truth 고화질 이미지이다.
-
Classical 및 Lightweight image SR 설정에서는, 제안한 네트워크의 효과성을 보여주기 위해 기존 연구들과 동일하게 naive한 L1 pixel loss만을 사용한다.
-
반면, Real-world image SR에서는 시각적 품질(visual quality) 향상을 위해 다음의 손실 함수들을 조합하여 사용한다:
- Pixel Loss
- GAN Loss
- Perceptual Loss
-
Image Denoising 및 JPEG Compression Artifact Reduction 작업에서는보다 안정적인 학습을 위해 Charbonnier Loss를 사용한다.

- 여기서 ϵ은 작은 상수로 실험적으로 ϵ=10⁻³으로 설정된다.

- Residual Swin Transformer block (RSTB)는 Swin Transformer layer (STL)과 convolution layer를 가지는 residual block이다.

- 여기서 H_STL은 Swin Transformer layer이다.
- L개의 swin Transformer layer를 통과한 후 residual connection 전에 convolutional layer를 추가한다.

- 여기서 H_CONV는 convolutional layer이다.
- 이러한 구조는 두 가지 장점을 가진다.
- Transformer를 위치에 따라 달라지는 convolution (spatially varying convolution) 으로 구현할 수 있다.
- Transformer는 self-attention을 통해 입력 위치마다 주변 요소들과의 관계를 다르게 평가하고, 이에 따라 각 위치의 출력을 동적으로 생성한다.
- 반면, 위치에 따라 불변한 filter를 가지는 convolutional layer는 SwinIR에 translation equivariance를 강화하는 데 도움이 된다.
- translation equivariance: 입력이 이동하면 출력도 그에 따라 이동하는 성질 (CNN의 핵심 특성 중 하나)
- Residual connection은 각 블록의 출력을 reconstruction module로 직접 연결해주는 identity-based connection 역할을 하며, 서로 다른 수준의 feature들을 효과적으로 결합할 수 있도록 한다.
🔍 Swin Transformer layer
Experiments
Experimental Setup
- 일반 설정 (Classical SR, Real-world SR, Denoising, JPEG compression artifact reduction)
- RSTB 개수: 6
- STL 개수: 6
- Window size: 8
- 채널 수: 180
- Attention head 수: 6
- 예외 사항
- JPEG 복원에서는 Window size를 7로 설정 (JPEG의 8×8 블록 구조와 겹칠 때 성능 저하 발생)
- Lightweight image SR 설정
- Self-ensemble 기법을 사용할 경우, 모델명 뒤에 “+”를 붙여 표기함 (예: SwinIR+)
Ablation Study and Discussion
- 실험 환경: DIV2K 데이터셋으로 학습, Manga109에서 평가 (x2 SR 기준)
🔬 채널 수 / RSTB 수 / Layer 수 영향

- 채널 수 증가 → PSNR 지속 상승하지만, 모델 파라미터 수가 제곱적으로 증가
- 최종 실험에서는 채널 수 180 사용 (성능과 효율 균형)
- RSTB 수, RSTB 내 Layer 수 모두 증가할수록 PSNR이 상승하나, 성능 향상이 점차 둔화
🔬 Patch 크기 및 학습 이미지 수 영향

- Patch size가 클수록 SwinIR의 PSNR이 더 크게 증가 (RCAN보다 큰 차이)
- 학습 이미지 수가 많을수록 성능 상승
- Flickr2K 이미지 추가 시 PSNR 향상
- 소량 데이터(25%)로 학습해도 RCAN보다 우수한 성능
- IPT 논문과 달리 SwinIR은 소규모 데이터에서도 강건함
🔬 모델 수렴 속도 비교

- SwinIR은 RCAN보다 더 빠르고 안정적으로 수렴
- Transformer는 느리게 수렴한다는 기존 통념을 깨는 결과
🔬 RSTB 내 Residual Connection 및 Convolution 설계 영향

- Residual connection은 중요 (기본보다 0.16dB ↑)
- 1×1 Conv는 개선 효과 미미 → 국소 정보 추출에 불리
- 3×3 Conv가 가장 우수한 성능을 보임, 하지만 3개를 사용하는 bottleneck 구조의 경우
- 파라미터 수는 감소하지만 성능이 소폭 하락함
- 이 구조는 3×3 convolution을 3개 사용하면서 중간 채널 수를 1/4로 줄이는 방식이다
Results on Image SR
🔬 Classical Image Super-Resolution
- 비교 대상: DBPN, RCAN, RRDB, SAN, IGNN, HAN, NLSA, IPT 등
- 데이터셋: DIV2K로 학습 → Set5, Set14, BSD100, Urban100, Manga109에서 평가
- 결과 요약:

- 모든 스케일 팩터(x2, x3, x4), 거의 모든 벤치마크에서 최고 성능 달성
- 최대 PSNR 향상폭: +0.26dB (Manga109, x4 기준)
- 모델 특징 비교:
-
RCAN, HAN: 채널/공간 attention 사용
-
IGNN: adaptive patch aggregation
-
NLSA: non-local attention 기반
→ 하지만 Transformer 기반인 SwinIR은 이들 CNN 기반 모델보다 더 우수한 성능을 보였다.
- 더 큰 데이터셋으로 학습(DIV2K + Flickr2K):
- PSNR 최대 +0.47dB 증가
- 115M 파라미터를 가진 IPT보다도 높은 정확도 달성
- SwinIR은 11.8M 파라미터로 RCAN 등 기존 CNN(15~44M)보다도 작음
- 입력 이미지 크기 (1024×1024) 기준 추론 시간:
- RCAN: 0.2s
- IPT: 4.5s
- SwinIR: 1.1s
- 시각적 품질 비교:

- SwinIR은 선명한 고주파 복원, 자연스러운 엣지 유지
- CNN 계열: 블러 현상 또는 잘못된 텍스처
- IPT: 나쁘진 않지만 경계 왜곡, artifact 발생
🔬 Classical Image Super-Resolution
- 비교 대상: CARN, FALSR-A, IMDN, LAPAR-A, LatticeNet 등
- 지표: PSNR, SSIM, 파라미터 수, MACs (1280×720 이미지 기준)
- MACs(Multiply-Accumulate Operations): 신경망 연산에서 곱셈과 덧셈이 한 쌍으로 수행되는 연산 횟수를 의미함
- 결과 요약:

- SwinIR (small size)는 최대 +0.53dB PSNR 개선
- 유사한 모델 크기와 연산량(MACs)에서도 우수한 성능
- → 작고 효율적인 구조에서도 복원 성능이 매우 뛰어남
🔬 Real-World Image Super-Resolution
- 학습 방법: BSRGAN에서 제안한 degradation 모델을 사용해 SwinIR 재학습
- 비교 대상: Bicubic-ESRGAN, RealSR, BSRGAN, Real-ESRGAN 등
- 지표: Ground-truth가 없으므로 시각적 품질 비교
- 결과 요약:

- SwinIR은 또렷한 엣지, artifact가 적은 선명한 복원 결과 생성
- 타 모델은 블러, 왜곡 등의 문제 발생
- 대형 모델 제안:
Results on JPEG Compression Artifact Reduction
- 비교 대상 모델:
- ARCNN, DnCNN-3, QGAC, RNAN, RDN, DRUNet
- 모두 CNN 기반 JPEG 복원 모델
- 평가 환경:
- 벤치마크 데이터셋: Classic5, LIVE1
- JPEG 품질 계수(QF): 10, 20, 30, 40
- 결과 요약:

- SwinIR은 다양한 QF 조건에서 두 데이터셋 모두에서 평균 PSNR 기준 최소 +0.11dB, +0.07dB 향상
- 특히, 기존 최고 모델 DRUNet (32.7M 파라미터) 대비, SwinIR은 11.5M 파라미터로 훨씬 작지만 더 높은 성능을 기록
Results on Image Denoising
- 비교 대상:
- 기존 전통 기법: BM3D, WNNM
- CNN 기반 모델: DnCNN, IRCNN, FFDNet, N3Net, NLRN, FOCNet, RNAN, MWCNN, DRUNet
- 노이즈 수준: σ = 15, 25, 50
- Grayscale 이미지, Color 이미지에 대해 각각 결과 분석
- 결과 요약:

- 첫 번째 표는 Grayscale 이미지, 두 번째 표는 Color 이미지에 대한 결과 분석
- SwinIR은 모든 노이즈 수준과 모든 데이터셋에서 최고 성능을 달성
- 특히 Urban100(고해상도 테스트셋)에서는 기존 최고 모델 DRUNet 대비 최대 +0.3dB PSNR 향상
- 모델 크기 비교:
- SwinIR: 12.0M 파라미터
- DRUNet: 32.7M 파라미터 → 파라미터는 1/3 수준이지만 성능은 더 우수
- 시각적 품질 비교:

- 첫 번째 이미지는 Grayscale 이미지, 두 번째 이미지는 Color 이미지 비교
- SwinIR은 강한 노이즈 제거와 동시에 고주파 세부 정보 유지
- 결과적으로 선명한 엣지, 자연스러운 질감 표현 가능
- 다른 모델들은:
- Over-smoothness: 너무 부드러워 디테일 손실
- Over-sharpness: 인위적인 경계 표현 → 복잡한 텍스처 복원에 실패
Conclusion
- SwinIR은 Swin Transformer 기반의 Image Restoration 모델로, shallow feature extraction module, deep feature extraction module, reconstruction module로 구성된다.
- 특히 deep feature 추출에는 Residual Swin Transformer Block (RSTB) 구조를 사용하며, 각 블록은 Swin Transformer layer, convolution layer, residual connection으로 구성된다.
- SwinIR은 다음 세 가지 복원 분야에서 총 여섯 가지 설정에 대해 SOTA 성능을 달성했다:
- Classic SR, Lightweight SR, Real-world SR
- Grayscale Denoising, Color Denoising, JPEG Artifact Reduction
- 다양한 실험 결과는 SwinIR의 범용성(generalizability)과 복원 성능의 우수함을 입증한다.
- 향후에는 image deblurring, deraining 등의 복원 작업으로 확장할 계획이다.