CVPR 2023에 발표된 Activating More Pixels in Image Super-Resolution Transformer에 대해 리뷰하겠다. 새로운 사실이나 중요한 정보 위주로 요약,,
$qer{}SDfg..이런 형식의 글이 나오면 몇 초만 기다려주세요 수식 로딩 중인 것,,
Abstract
Transformer-based 기법들은 image super-resolution과 같은 분야에서 놀라운 성능을 보이고 있다. 하지만, 본 논문에서는 이런 네트워크들이 인풋 정보의 한정된 공간 범위만을 다루는 것을 분석을 통해 알아냈다. 이건 기존의 네트워크들에서 사용되는 Transformer가 충분히 개발되지 않았음을 의미한다.
더 많은 input pixel을 활성화하기 위해 본 논문에서는 Hybrid Attention Transformer(HAT)를 제안한다. channel-attention 과 window-based self-attention을 합쳐, 그들의 장점(utilizing global statistics & strong local fitting capability) 들을 모두 활용한다.
거기에 더해서, cross-attention 정보를 더 잘 모으기 위해, 이웃하는 window간의 상호작용을 더 향상하는 overlapping cross-attention 을 제안한다. + 학습 단계에서, same-task pre-training기법을 사용한다.
그 결과, 다른 기법에 비해 우리 기법의 성능 큰 폭으로 향상됨~!
Introduction
Single image super-resolution은 여러 발전과정을 거쳐 발전해오고 있다. 근래에는, CNN이후에 Transformer-based 방법이 놀라운 성능을 보이고 있다(ex. Swinir). 이런 성공과 별개로, "왜 Transformer가 CNN보다 좋은 성능을 보이는가?"에 대한 답은 여전히 미스테리이다. 이 질문에 대한 직관적인 답으로는, transformer가 long-range 정보를 더 잘 다룰 수 있다는 점과 self-attention의 장점을 들 수 있다.
그래서 본 논문에서는 위 질문에 대한 답을 얻기 위해 분석 기법 LAM(뒤에 Method 에서 설명)을 적용해 보았고, Swinir 이 복원을 위해 사용하는 정보의 범위를 확인해 보았다. 흥미롭게도, 우리는 SwinIR이 CNN 기반 기법들에 비해 더 많은 인풋 픽셀을 활용하는 것이 아님을 확인했다. (그림 2)
Swinir이 평균적으로 높은 정량적인 성능을 보이고 있음에도, 활용하는 정보의 한정된 범위로 인해 몇몇 샘플에 대해서는 RCAN의 결과보다 더 못한 결과를 보인다 ( 이 부분에 대한 그림이 있었으면 좋았을 텐데,, ). 이런 현상은 Transformer가 local information를 다루는 강력한 능력을 가지고 있지만, 그 정보의 범위가 확장될 필요가 있다는 것을 의미한다.
게다가, 우리는 Swinir의 중간 피쳐에서 blocking artifacts가 나타나는 것을 발견했다 (그림 3). 이러한 사실은 shifted window기법이 cross-window 간의 information interaction을 완벽하게 인식하고 있지 못하다는 것을 증명한다.
앞서 언급한 한계들을 해결하고 Super-Resolution에서 Transformer를 개선하기 위해서, 우리는 Hybrid Attention Transformer(HAT) 를 제안한다. 본 논문에서 HAT은 channel attention과 self-attention 기법을 합쳐 글로벌 정보 활용 능력과 강력한 표현 능력의 장점을 모두 가져간다.
또한, overlapping cross-attention 을 통해 이웃한 윈도우 피쳐의 더 직접적인 interaction을 얻는다. 이런 디자인 상의 장점으로, 본 논문의 모델은 복원을 위해 더 많은 pixel을 활성화할 수 있고, 결국 큰 성능 향상을 이룬다.
Transformer는 CNN과 다르게 inductive bias가 없기 때문에 큰 데이터셋으로 pre-training시키는 것이 중요함. -> same-task pre-training 기법 사용했다.
**contribution
1) self-attention과 channel attention, new overlapping cross-attention을 합친 HAT을 디자인함
-> 더 나은 복원을 위해 더 많은 인풋 픽셀을 활성화할 수 있음.
2) 효과적인 same-task pre-training 기법을 제안함.
3) SOTA 성능
Method
**LAM
Interpreting super-resolution networks with local attribution maps, CVPR 2021에 소개된 기법
기존 gradient-based attribution analysis 기법인 integrated-gradient 기법을 image super-resolution으로 확대한 것..
low-level vision task를 분석하는 기법으로 이미지에서 각각의 픽셀이 task를 수행하는데 얼만큼 기여했는가를 보여줌
DI : dissufion index의 약자로, 사용하는 픽셀의 범위가 클수록 높은 수치를 보인다.
LAM map : task를 진행할 때 주요하게 반영된 픽셀일수록 빨간색
=> 더 wider range의 픽셀을 사용( + 각 픽셀의 gradient의 차이가 급격하지 않을때)할 때 DI가 높고, LAM map이 전체적으로 붉다고 보면 될 듯.
모델의 전체적인 구조는 그림 4와 같다.
shallow feature extraction, deep feature extraction, image reconstruction part 세 파트로 이루어져 있다.
널리 사용되는 구조와 마찬가지로, shallow feature extraction은 1개의 convolution layer로, image reconstruction part는 pixel shuffle layer를 포함하고 있다.
1) Hybrid Attention Block (HAB)
그림 2에서 볼 수 있듯이, Channel attention을 적용하면 global information이 channel attention weight를 계산하는데 포함되기 때문에 더 많은 픽셀들이 활성화된다. 또한, convoluiton 연산이 transformer가 더 나은 visual 표현을 가지게 하고, 쉽게 최적화되도록 한다는 연구들에 따라, 본 논문에서도 모델의 표현 능력을 향상시키기 위해서 channel-attention convolution을 transformer block에 적용했다.
Swinir, Swin transformer처럼 Shifted window-based self-attention이 HAB 구조에 적용되었다. Optimization과 visual을 표현하는 데 있어서 MSA와 CAB 간에 발생할 수 있는 충돌들을 막기 위해서 CAB output에 상수 가중치를 곱해 연산한다.
그래서 HAB의 전체 프로세스의 연산은 수식으로 보면, 다음과 같다.
우리는 각각의 픽셀을 임베딩 할 토큰으로 본다(patch embeding의 patch size가 1이라는 뜻).
Self-attention 모듈의 input size : $H\times W\times C$
위 input을 local window size( $M\times M$ )으로 partitioning 하여 $\frac{H\times W}{{M}^2}$ 으로 만들고, 각각의 window에 대해 Self-attention을 계산한다. (이후에는 그냥 self-attention 연산 설명)
Window 크기가 클수록 사용되는 픽셀의 범위가 넓어지는 것을 발견해서 본 논문에서는 큰 window size를 사용한다 ( 16x16 ). 또한, 이웃한 non-overlapping 간의 connection을 만들기 위해서 우리는 shifted-window 개념을 사용했고, shift size를 window size의 절반으로 설정했다.
CAB는 GELU 활성화 함수를 포함한 두 개의 standard convolution layer와 channel attention(CA) 모듈을 포함한다. Transoformer-based 구조는 보통 토큰 임베딩을 위해 큰 차원의 channel을 필요로 하기 때문에, 일정한 width의 convolution 바로 사용하는 것은 computational cost가 매우 크다. 그래서, 본 논문에서는 상수 베타를 사용해서 두개의 convolution layer의 channel 수를 압축한다. 그러니까, C 채널을 가진 인풋 피쳐에 대해서, 첫 번째 convolution을 통하면 채널을 $\frac{C}{\beta }$ 로 줄이고, 다음 convolution에서는 다시 C채널로 확장하는 방식이다. 다음으로, channel-wise feature를 adaptively rescale 하기 위해 CA 모듈이 사용된다.
2) Overlapping Cross-Attention Block (OCAB)
본 논문에서는 cross-window connection을 구축하고 window self-attention의 표현 능력을 향상시키기 위해서 OCAB를 제안한다. OCAB는 overlapping cross-attention(OCA)와 MLP layer(similar to Swin Transformer Block)으로 구성되어 있다.
우리는 투영된 피쳐들을 나누기(partition) 위해 다른 window size를 사용한다. 특히, $X_{q}, X_{k}, X_{v}$에 대해서 $X_{q}$는 non-overlapping window size $M\times M$으로 나뉘고, $X_{k}, X_{v}$는 overlapping window size $M_{o}\times M_{o}$ 으로 unfold 된다.
여기서 감마는 overlapping size를 조절하기 위한 상수이다.
이 동작을 잘 이해하기 위해서, standard window partition은 커널 사이즈와 stride가 둘 다 window size $M$과 같은 sliding partition이라고 생각할 수 있다. 반대로, overlapping window partition은 kernel size가 $M_{o}$이고, stride는 $M$과 같은 sliding partition이라고 이해할 수 있다. $\frac{\tau M}{2}$ 크기의 zero-padding은 overlapping windows의 크기 consistency를 보장한다. Attention matrix는 위 식 (2)에 의해 연산되고, 상대적인 position bias B가 적용되었다. WSA(query, key, value가 같은 window feature에서 나옴)과 다르게, OCA는 더 넓은 field에서 key/value를 계산하기 때문에 같은 query로 더 유용하고 많은 정보를 활용할 수 있다.
3) same-task pre-training strategy
말 그대로 같은 task를 더 많은 데이터셋으로 pre-train 시키고, 원하는 specific dataset으로 fine tuning 하는 것( 작은 lr로 ).
이렇게 하면 성능이 개선될뿐더러, specific dataset에 대해 일반성을 가지기 위해 transformer가 많이 iter를 학습해야 하기 때문에 발생할 수 있는 과적합 문제를 회피할 수 있다.
Experiments
Ablation study만 정리하겠음
Abalation study
Effectiveness of OCAB and CAB
Urban100 데이터셋에 대해 SRx4 실험을 진행함. OCAB와 CAB의 영향력을 그림 7에서 분석해 본 결과, OCAB를 적용하면, 더 많은 픽셀들을 사용하게 되고, 복원 성능이 개선됨. CAB를 적용하면, 활용되는 픽셀이 거의 전체 이미지로 확장됨.
Effects of different designs of CAB
(1) CA유무
CA이 성능개선에 도움이 된다.
(2) CAB에 곱해지는 상수 알파
CAB 피쳐가 적게 반영될수록 성능이 개선됨 -> CAB와 self-attention 간에 어떤 최적화 이슈가 있어서 CAB를 적게 반영(0.01)하여 feature fusion 하는 것이 best performance
(3) Effects of the overlapping ratio
Overlapping size를 조절하는 상수 감마가 딱 0.5 일 때만 성능이 개선됨 -> 부적절한 사이즈의 overlapping size는 오히려 non-overlapping기법보다 성능 하락
Result
본 논문의 기법이 거의 대부분의 image Super-resolution 벤치마크 데이터셋에 대해 SOTA 성능을 달성했다. 정성적으로도 좋다. 우리 기법 최고~! 따로 limitation이나 future work는 언급되지 않음