작심삼일

[EDSR 리뷰] Enhanced Deep Residual Networks for Single Image Super-Resolution (CVPR 17) 본문

Deep Learning/Image Enhancement

[EDSR 리뷰] Enhanced Deep Residual Networks for Single Image Super-Resolution (CVPR 17)

yun_s 2021. 4. 27. 16:28
728x90
반응형

My Summary & Opinion

ResNet의 구조에서 BN을 제거해 사용했다.

BN이 feature map을 normalize해서 blur효과가 나타나기도 하고, 학습할 때 메모리를 많이 먹기 때문이다.

Residual scaling 방법을 통해 큰 feature map에서도 안정적으로 학습되도록 했다.

Scale-specific pre-processing / up-sampling과 shared network 구조를 통해 multi-scale 네트워크를 제안했다.

 

BN이 여러 영역에서 사용되지만, normalization 때문인지 SR영역에서는 자주 배제되는 것 같다.

Residual scaling 방법이나 scale-specific layer, shared network같은 구조의 컨셉을 잘 알아두면 후에 좋은 네트워크를 설계할 때 도움이 될 것이다.


Introduction

최근에 deep neural networks가 PSNR 기준으로 좋은 성능을 보였지만, 그 구조에 대해서는 한계가 있다.

첫째, 네트워크 성능의 재현은 구조의 미세한 변화에 민감하다.

같은 모델이라도 initialization이나 training technique를 다르게 하면 성능이 달라진다.

둘째, 현존하는 대부분의 알고리즘들은 다른 배수($\times 2, \times 4, ...$)의 연관성을 생각하기보다는 이를 각각의 문제로 본다.

SRResNet은 ResNet 구조를 사용해서 이 문제를 해결했다.

하지만 애초에 ResNet은 image classification이나 detection과 같은 high-level computer vision 문제를 위해 고안된 것이기 때문에 ResNet을 low-level 문제에 바로 사용하는 것은 적절하지 않다.

 

SRResNet 구조에 기반해서 이 문제들을 해결하기 위해 이를 분석하고 불필요한 모듈을 제거함으로써 네트워크 구조를 단순화했다.

구조가 복잡해지면 네트워크의 성능이 변화에 민감해지기 때문이다.

또한, 다른 배수로 학습된 모델을 참고하는 방식으로 학습시켰다.

더 나아가서, 다른 배수 사이의 파라미터를 공유하는 multi-scale 구조를 제안한다.


Related Works

딥러닝 방식이 SR 문제에 적용되면서 다양한 구조들이 연구되었다.

네트워크가 깊을수록, skip-connection을 사용하거나 encoder-decoder 구조를 사용하면 성능이 좋아진다는 것을 깨달았다.

Bicubic interpolated 이미지를 입력으로 넣는 대신, up-sampling 모듈을 네트워크 끝단에서 학습시켜 계산량을 줄였다.

하지만 그렇게되면 multi-scale 문제를 해결할 수 없다.

이 논문에서는 multi-scale training과 computational efficiency 사이의 딜레마를 해결한다.


Proposed Methods

1. Residual blocks

ResNet은 CV의 low-level부터 high-level 문제까지 좋은 성능을 보였다.우리는 ResNet의 구조를 바꿔 성능을 높였다.

위 그림은 기존의 ResNet, SRResNet, 그리고 우리가 제안하는 모델들을 비교한 그림이다.

BN layer는 feature를 normalize해서 blur되기 때문에 이를 없앴다.

이는 실험적으로도 확인할 수 있다.

게다가 BN layer는 메모리를 많이 차지하기 때문에 이를 없애서 메모리를 40% 감소시켰다.

결과적으로 더 좋은 성능을 보이는 더 큰 모델을 만들 수 있었다.

 

2. Single-scale model

네트워크의 성능을 높이는 방법 중 가장 간단한 것은 파라미터 수를 늘리는 것이다.

$B$의 depth와 $F$의 width를 가지는 일반적인 CNN은 $O(BF)$만큼 메모리를 사용하고 파라미터 $O(BF^2)$개를 가진다.

그렇기 때문에 $B$보다 $F$를 키우는 것이 제한된 computational resources에서 모델의 크기를 키우는 방법이다.

하지만 feature map 수를 일정 수준 이상으로 키우는 것은 불안정하다는 것을 발견했다.

우리는 이 문제를 $0.1$로 residual scaling을 넣어서 해결했다.

Residual block 안의 마지막 conv layer 뒤에 항상 scaling layer를 넣었다.

Test 할 때는 scaling layer를 그 앞의 conv layer와 합쳐 계산량을 줄일 수 있다.

Baseline 모델은 SRResNet과 구조가 비슷해보이지만, 이 모델은 residual block 밖에 ReLU가 없다.

또한, baseline(single-scale)모델에서 모든 conv layer에서 $64$ feature maps만 사용했기 때문에 residual scaling layer도 없다.

최종 모델(EDSR)은 baseline 모델에서 $B = 32, F = 256, scaling factor = 0.1$로 두고 사용했다.

그리고, $\times 3$나 $\times 4$ 모델을 학습할 때 pre-trained $\times 2$모델의 파라미터를 사용했다.

이는 모델의 속도와 성능을 높여준다.

 

3. Multi-scale model

Fig 4(위 오른쪽 그림)을 통해 다양한 배수의 SR 문제를 서로 연관 있다고 판단했다.

$B = 16$인 residual block들로 single main branch를 만들어, 다른 배수의 모델들이 서로 파라미터를 공유할 수 있도록  baseline(multi-scale) 모델을 설계했다.

Multi-scale 구조에서 SR의 multiple scale을 다루기 위한 scale-specific processing 모듈을 추가했다.

먼저, 다른 크기의 input 이미지의 다양성을 줄이기 위해 네트워크 앞단에 pre-processing 모듈을 넣었다.

Pre-processing 모듈은 $5 \times 5$ 커널의 residual block 두개로 이루어져 있다.

Pre-processing 모듈에 비교적 큰 커널을 사용함으로써 scale-specific한 부분을 얕게 유지할 수 있다.

네트워크의 끝단에는 multi-scale reconstruction을 위해 scale-specific upsampling 모듈을 넣었다.

최종 multi-scale 모델(MDSR)은 $B = 80, F = 64$로 했다.

만약 3개의 다른 배수들을 위한 모델을 EDSR로 각각 만들었으면 파라미터는 $1.5M \times 3$으로 $4.5M$개가 필요했겠지만, MDSR은 $3.2M$만 사용한다.

그럼에도 불구하고 성능은 그와 비슷하며, residual block이 더 가벼우므로 깊이도 5배 더 깊지만 파라미터는 2.5배 밖에 차이나지 않는다.


Experiments

Input patch size Optimizer Learning rate Data augmentation
$48 \times 48$ Adam $10^{-4}$ True

EDSR+, MDSR+는 self-ensemble 기법을 추가한 것이다.


NTIRE2017 SR Challenge

EDSR+와 MDSR+가 각각 1,2등을 했다.


Conclusion

기존에 사용된 ResNet 구조에서 불필요한 부분을 줄여 모델을 간결하게 했으며, 성능도 높였다. (SOTA)

큰 모델을 학습시키기 위해 residual scaling 기법을 적용했다.모델의 크기와 학습 시간을 줄여주는 multi-scale SR 네트워크도 설계했다.Scale-dependent 모듈과 shared main network를 통해 이 모델은 다양한 배수의 SR에 적용할 수 있다.


 

Reference

Lim, Bee, et al. "Enhanced deep residual networks for single image super-resolution." Proceedings of the IEEE conference on computer vision and pattern recognition workshops. 2017.

 

 

 

 

728x90
반응형
Comments