- Today
- Total
작심삼일
[EDSR 리뷰] Enhanced Deep Residual Networks for Single Image Super-Resolution (CVPR 17) 본문
[EDSR 리뷰] Enhanced Deep Residual Networks for Single Image Super-Resolution (CVPR 17)
yun_s 2021. 4. 27. 16:28My 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.