rueki

Image Super-Resolution Using Very Deep Residual Channel Attention Networks 본문

DL

Image Super-Resolution Using Very Deep Residual Channel Attention Networks

륵기 2021. 3. 8. 14:43
728x90
반응형

Abstract

 

CNN을 통해서 Image resolution 분야도 많은 발전을 이루어 왔으나, 네트워크가 깊어질 수록 훈련하기 힘들다는 단점을 가지고 있다. 저해상도의 input과 feature들은 채널간에 동등하게 처리되는 저주파의 정보들을 갖고 있는데, 이는 CNN이 나타내는 ability들을 방해한다고 한다. 그래서 본문에서는 Residual Channel Attention Network를 제안한다. 여기서는 Residual in Residual (RIR) 구조를 토앻서 구형이 되며, long skip connection을 가지고 있는 구조이다. 각 residual block은 short skip connection을 가지고 있다. RIR를 통해서 많은 저주파 정보들을 skip connection을 통해 우회하며, main network는 고주파에 초점을 맞추어 학습을 할 수가 있게 된다. 그리고 중요한 객념으로 channel attention mechanism을 소개하는데, 이는 채널 간의 의존성을 고려해서 채널별 기능을 상황에 맞춰서 rescale 한다고 한다.

 

1. Introduction

Single Image super resolution에서 low to high로 image를 정확하게 복원하는 것이 task이다. 그러나 Low resolution image에 대해 여러 솔루션이 존재하기에, Image super resolution은 난해한 문제라고 한다. 이를 해결하기 위해 LR과 HR의 이미지를 pair로 구성해서 학습하는 method들이 많이 제안이 되었었다.

 

CNN의 등장으로 Image resolution에도 지속적인 변화가 만들어지고 있는데, SRCNN 즉 3층 CNN으로 이루어진 모델이 시작점이 되었으며, 층의 깊이가 깊어지는 다양한 모델이 나오면서 성능도 좋아졌다고 한다. 이후에 네트워크 깊이는 visual recognition task에서 중요하다고 입증이 되었는데, 그 예시로 ResNet을 들 수가 있다. 그러나 단순히 깊게만 쌓는다고 해서 좋은 성능을 얻을 수 있는 것은 아니기에, 네트워크가 깊을수록 image super resolution에 기여할 수 있는지에 관한 것과 네트워크 구성 방법에 대해서 더 연구가 이루어져야한다.

 

 

본문에서 소개하고자 하는 개념은 3가지이다.

1. RCAN

2. residual in residual structure

3. channel attention mechanism

 

2. Related Work

Attention mechanism은 low-level vision 분야에서는 아직 드문데, space limitation 로 인해서 CNN method 와 attention mechanism을 위주로 보려고한다.

 

- Deep CNN for SR

SRCNN은 Image super resolution에서 상당한 성능을 보였는데, 이후에 훈련의 어려움을 줄이기 위한 residual learning 개념이 도입이 되면서 VDSR, 20 여개의 층을 갖고 있는 DRCN 등의 모델들은 정확도가 향상된 모습을 보였다.

DRRN (recursive blocks 사용), MemNet(Memory blocks 사용) 메서드들은 low-resolution 입력을 원하는 크기로 보간해야하며, 이는 세부정보 손실 및 계산량 증가를 야기한다.

그래서 low-resolution의 input에서 feature extract을 하고, 네트워크 끝단에 공간 해상도를 높이는 것이 심층 신경망 구조의 주된 선택사항이 되었다.

FSRCNN(Faster SRCNN)은 SRCNN의 훈련 및 테스트 시간을 줄였고, SRGAN은 Photo realistic Super Resolution을 제안했다.  Gan 기반 모델들은 texture 합성 및 perceptual loss를 합성한 EnhanceNet도 있다. 그러나 앞서 말한 모델들은 unpleasing artifact를 만들 수도 있다고 한다.

그러나 앞선 연구들은 제한된 네트워크의 깊이를 갖고 있다고 한다. 단순히 층을 쌓는 방법은 채널별 특징을 동등하게 취급해서 다양한 유형의 feature에 대한 판별 능력을 방해한다.

 

 

- Attention Mechanism

Attention은 사용 가능한 처리 자원의 할당을 입력의 가장 유용한 구성요소로 편향시키기 위한 가이드로 볼 수 있다.

attention은 deep neural networks에서 최근 많이 제시되는 개념인데, 아직 low level에서의 attention의 효과를 investigate하는 연구는 아직 적다.

이미지 Super Resolution에서 채널별 고주파 feature는 고해상도 재구성에 유용한데, 우리의 네트워크가 각 채널별 feature에 attention을 하게 된다면, improvements를 얻는 것이 확신시 되어야 한다고 한다.

 

 

3. Residual Channel Attention Network (RCAN)

 

3.1 Network Architecture

 

RCAN은 4개의 part로 구성이 되는데, shallow feature extraction, residual in residual deep feature extraction, upscale module, reconstruction part 이렇게 4개가 있다.

 

1) shallow feature extraction에는 CNN만 사용하는데 식은 아래와 같다.

F0 : shallow feature

Hsf : convolution operation

 

 

2) RIR module 연산은 아래와 같다. 여기서 제시한 RIR은 지금까지 가장 큰 깊이를 이루었으며, 매우 큰 receptive field size를 제공한다.

3) upscale module

upscale module에는 여러가지 선택 사항이 있는데, deconvolution, nearest-neighbor upsampling + convolution, ESPCN 등이 있다. 이런 post-upscaling은 계산 복잡성과 고성능을 얻는 데 있어 효과적이다고 한다.

 

4) reconstructed layer

 

RCAN 역시 loss function으로 optimize하는데, L1, L2, perceptual, adverasrial loss 등 다양한 손실 함수가 사용되어 왔다. 여기서 역시 L1 loss를 사용한다고 한다.

optimize 기법은 stochastic gradient descent, SGD를 사용한다.

 

 

3.2 Residual in Residual (RIR)

 

각 Residual group은 Residual channel attention block들과 short skip connection으로 이루어져있다. 각 residual 구조들은 image SR에 높은 성능을 위해서 약 400개가 넘는 deep CNN을 train 시킨다고 한다. 이의 구조를 이용해서 stacked residual block을 구현할 수 있고, deep CNN을 구성하기 위해 Long skip connection을 활용한다. 

image SR에서 앞의 방식으로 deep network train이 어려워서 성능 향상을 기대하기는 어렵다고 한다. 그래서 Residual group을 basic module로 제시한다. 

Hg는 Residual Group의 function을 나타내며 Fg는 input, output 값을 나타낸다. 단수니 residual group을 쌓는 것은 성능이 좋지 못하다는 것을 알기에, Long skip connection을 통해서 해결을 하려한다. 그래서 등장한 개념이 Residual in Residual (RIR) 개념이다. LSC로도 역시 residual learning에 더 좋은 성능을 이끌 수 있다고 한다.

 

Wlsc 는 RIR의 끝단에서의 Weight를 나타낸다. 그리고 단순화를 위해서 bias는 생략했다. 그리고 Long skip connection은 Residual group 간 정보의 흐름을 쉽게 이루게 하며, RIR이 residual information을 대략적인 수준으로 학습할 수 있도록 한다.

 

Short skip connection은 residual information을 학습하는 네트워크의 주요 부분이 되면서, Long skip connection과 함께 작용을 하면서 더 많은 low-frequency information을 훈련 과정을 거치지 않고 bypass 시킬 수 있었다고 한다.

그러나 discriminative learning 을 위해서 channel attention으로 채널별 feature rescaling 하는 것에 더 집중하는 것이 목적이라고 한다.

 

3.3 Channel Attention(CA)

기존의 Super Resolution에서는 저해상도 채널별 feature를 동등하게 다루었는데, 이는 실제 케이스에서 유연하게 작용하지 않는다고 한다. 그래서 더 중요한 feature에 집중하기 위해서, feature channel 간의 상호 의존성을 이용하는데, 이 메커니즘을 channel attention이라고 한다.

채널별 feature마다 다른 attention을 어떻게 하느냐가 관건인데, 두 가지 고려사항이 있다.

첫번째, 저해상도 공강에서의 정보는 저주파 성분은 많으며, 고주파 성분은 그에 반해 매우 귀한 정보이다. 고주파 성분은 edge, texture, detail등의 부분으로 나타내는데, 저주파는 그에 비해 매우 complanate하게 보인다고 한다.

Conv layer의 각 filter는 local receptive field와 함께 작동을 하는데, 결과적으로 합성곱 이후 출력이 local receptive field 외부의 정보를 이용할 수는 없다고 한다.

그래서 global average pooling을 통해서 channel descriptor에서 채널별 global spatial information을 취한다.

H, W는 feature map의 height, width를 나타내며, channel wise statistic을 나타내는 z는 결국 위와 같은 식으로 보여진다고 한다.  xc (i, j) 는 c번째 feature x값에서 (i, j)에 위치한 값을 나타낸다. Hgp 연산은 global pooling function을 나타낸다. 채널 통계값은 결국에 전체 이미지를 표현하는데 도움이 되는 local descriptor의 집합으로 보일 수 있다.

global average pooling을 통해 모은 정보에서 채널별 종속성을 완전히 캡쳐하기 위해서, gating mechanism을 소개한다.

gating mechanism의 기준에는 두 가지가 있는데, 첫번째는 채널간에 비선형 interactions을 학습할 수 있어야하며, 두번째는 여러 채널별 feature이 강조될 수 있더록 상호 배타적이지 않은 관계를 학습해야만 한다. 아래에 sigmoid function을 이용한 simple gating mechanism을 소개한다.

 

δ : relu,  f  : simgoid gating,     Wd : conv layer의 weight 집합     s : final channel statistics

 

  s : scale factor,       x : feature map in the c-th channel

채널 어텐션을 하면서 Residual channel attention block (RCAB)의 residual componet들은 adaptively 하게 rescale 된다.

 

3.4 Residual Channel Attention Block (RCAB)

residual group과 long skip connection은 LR feature에서 더 중요한 요소들에 집중하게 하는 네트워크 구조의 일부분이다. Channel attention은 채널 사이의 channel statistic을 추출하며, 네트워크의 discriminative ability를 강화시킨다.

잘 동작하는 residual block을 위해서, Channel attention과 Residual block을 통합해서 RCAB(Residual channel attention block)이라는 것을 나타냈다.

 

RCAB은 Residual block과 같이 rescaling operation이 없으며, Rgb 값을 상수 1로 설정한다.  그리고 rescaling 계수를 0.1로 동일하게 설정했다. RCAB과 RIR 구조에 기반하여, Image SR분야에서 높은 정확도를 보이는 deep RCAN 구조를 보였으며, 이전의 연구들보다 두드러진 겨로가를 보였다.

 

3.5 Implementation Detail

residual group의 수는 10으로 해서 Residual in Residual 구조를 구성하고, 각 RG마다 Residual channel attention block은 20개로 설정한다. 그리고 모든 conv layer는 3x3의 kernel size를 가지는데 downscaling, upscaling은 1 x 1의 kernel size를 가지게 된다. 그리고 3 x 3의 conv layer에는 zero padding을 사용함으로써, 크기를 고정시킨다.

Shallow feature extraction, RIR 구조에서는 channel 수는 64로하고, downscaling 부분에서만 다른 값을 취하는데, C / r 의 값을 가진다. 여기서 r은 scaling factor로 16을 default로 하여 결과적으로 4의 값을 갖게 된다. 마지막으로 최종 layer에서는 3 filter를 가져 color image가 나오게 한다. 그러나 설정을 바꾸면 gray image로도 진행이 가능하다고 한다.

 

 

4. Experiments

 

4.1 Settings

- Datasets and degradation models

DIV2k에서 800개의 training images를 훈련 셋으로 사용, 테스트로는 Standare benchmark dataset (Set 5, Set 14, B100, Urban 100, Manga109) 사용.

 

 

 - Evaluation metrics

Super resolution 결과 지표로 PSNR과 SSIM을 사용

 

-Training settings

train set의 800개 이미지에 대해 data augmentation 적용 - random ratate, horizontally flip

input으로 48 x 48 사이즈의 저해상도 color patch 사용

Adam optimizer 사용 (B1 = 0.9, B2 = 0.999, e = 10^-8)

learning rate = 10^-4

gpu : Titan Xp Gpu

 

 

4.2 Effects of RIR and CA

 

Residual in residual (RIR)

RIR 구조의 성능을 나타내기 위해서는 deep network에서 long skip connection 혹은 short skip conneciton을 제거한다. residual block 수를 200으로 설정하고, 총 10개의 residual group을 구성한다. 총 conv layer는 400개가 될 것이다.

첫번째 column에서 아무것도 추가하지 않았을때, PSNR 값이 37.45가 나오는데, RIR을 추가했을 때 37.87로 오른 것을 확인할 수 있다. 이것은 이미지 SR에서 residual block을 쌓는다고만 좋은 네트워크라는 것이 아니라는 것을 나타낸다.

LSC와 SSC 둘 중에 하나만 사용하는 거싱 더 효과적이라는 것도 보여줬다. 

 

 

Channel attention (CA)

앞의 4개의 column과 뒤의 4개의 column을 비교했을 때, channel attention을 추가했을 때 성능이 더 낫다는 결과가 있다. 네트워크 깊이에 따른 이점을 위해서는 deep network가 높은 성능을 보여야한다. 그래서 결과적으로 channel attention을 추가 했을 때 성능이 향상되었다. 이는 채널별 feature의 adaptive attention이 효과적이라는 것을 보여준다.

 

 

4.3 Results with Bicubic (BI) Degradation Model

기존의 모델과 추가적으로 RCAN, RCAN과 융합된 ensemble 모델과의 성능 비교를 나타낸다.

스케일별로의 결과에서 RCAN이 다른 모델보다 성능이 좋다는 것을 나타냈다.

 

BI degradation model에서 재구성한 고주파 정보들이 매우 중요하고 어려운 부분이며, 특히 large scaling factor에서는 더 강조된다고 한다.  Channel attention은 채널별 기능을 adaptive 하게 확장해서 네트워크의 표현 능력을 향상히키는데 많이 사용된다.

 

 

4.4 Results with Blur-downscale (BD) Degradation Model

 

- Quantitative results by PSNR/SSIM

- Visual Results

RDN 모델은 더 자세한 내용들을 복구할 수 있으나, RCAN은 informative componetnts에 있어 더 나은 복원력을 보인다.

위의 두 이미지 예시를 확인하면 RCAN의 성능이 더 좋은 것을 확인할 수가 있다.

Blur-downscale 부분에서도 RCAN이 좋은것이 결론이다.

 

 

4.5 Object Recognition Performance

객체 인식 부분에서도 RCAN은 효과적이다.

 

5 Conclusions

Image Super Resolution에서 높은 정확도를 위해 very deep residual channel attention network를 소개했고, 이에 사용되는 residual in residual 블록을 통해서 RCAN을 만들고, Long skip connection과 short skip connection을 통해서 네트워크의 깊은 층까지 도달할 수 있었다. 그리고 저주파 성분은 그냥 pass 시키고 고주파 성분 학습에 집중할 수 있었다.

네트워크 성능 향상을 위해 Channel attention mechanism을 채널별 feature에 rescale하는 데 사용을 하였다. 

728x90
반응형
Comments