-
Enhanced Deep Residual Networks for Single Image Super-Resolution 정리이것저것 리뷰 2022. 9. 12. 17:35
Paper link: openaccess.thecvf.com/content_cvpr_2017_workshops/w12/papers/Lim_Enhanced_Deep_Residual_CVPR_2017_paper.pdf
Introduction
배경: 이미지 Super Resolution 문제에서 다음과 같은 백그라운드들이 있음.
1) NN모델 구성 시, 사소한 아키텍처 변화에 민감해진다. 또한, 학습 기법과 초기화 방법에 따라 성능이 다르다.
2) 대부분 기존 SR 알고리즘들은 다른 scale 사이에서의 상호 관계를 활용하지 않는다.
SRResNet 은 시간과 메모리 이슈를 해결하면서도 좋은 성능을 유지할 수 있다. 또 수정을 별로 하지 않아도 되는 ResNet 아키텍처를 차용한다. 하지만, 원래의 ResNet은 고수준의 컴퓨터 비전 문제(인식, 분류 등)에 대해 제안되었지만 Super Resolution은 픽셀 단위의 보정에 초점을 두는 좀 더 낮은 레벨의 비전 문제이므로 그대로 쓰기엔 최적화된 적용이 아니라고 본 듯한다.
이 문제를 해결하기 위해
1) 불필요한 모듈을 제거하고 단순화한다. 적절한 loss function을 사용한다.
2) 트레이닝 기법을 바꾼다. 낮은 scale 방식으로 학습된 값들을 먼저 학습하고 전이해서 다시 학습할 때는 high-scale upsampling을 사용한다.
3) 서로 다른 스케일로 학습된 파라미터들을 공유하는 multi-scale 아키텍처를 제안한다. 성능은 유지하고 더 적은 수의 파라미터를 저장한다.
Proposed Methods
1. Residual blcoks
ResNet을 사용하되, ReLU가 제거된 SRResNet 구조에서 한 층 더 Batch Normalziation Layer를 제거한 Residual Block을 제안. 실험적으로 더 낫다고 한다. 이유는 유연한 범위를 사용하기 위해 정규화하는 건 오히려 안 좋았다는...
추가로, SRResNet보다 메모리 사용량이 40% 줄어들었다...
2. Single-scale model
일반적인 CNN 구조에서 Depth(B)와 feature channel(F)에 따른 메모리는 O(BF^2)만큼 파라미터를 저장해야 하므로, F보다는 B를 늘리는 게 제한된 연산 자원을 활용하는데 이득이다만..
feature map을 일정 수준 이상으로 늘리면 계수적으로 불안정한 문제가 있다고 한다.
residual scaling을 0.1로 적용하는 것으로 완화함.
제안하는 모델은 두 가지로
1) Baseline(single-scale)
2) single-scale model(EDSR) : baseilne에서 B=32, F=256, scaling factor=0.1로 세팅.
upsampling을 x3와 x4으로 학습하려면, upsampling x2로 학습된 pre-trained 사용. 학습 시 PSNR(dB)가 훨씬 빠르게 수렴한 것을 확인.
3. Multi-scale model
VDSR 기법이 했던 것처럼 scale 간 상관관계(inter-scale correlation)의 장점을 사용하기 위해 multi-scale 방식을 적용.
입력 영상으로부터 변화를 줄이기 위해 네트워크 앞쪽에 pre-processing을 위치시킴.
pre-processing은 2개의 residual block으로 구성됨 ㅇ(5x5 kernel)
multi-scale 모델 끝에는 특정 scale 값을 가지는 upsampling을 병렬로 두고 서로 다른 scaling 결과를 재 구성함.
그 뒤에는 대충 B와 F 값들을 어떻게 설정했고 파라미터 수가 얼마에 달했다 그런 내용.
Conclusion
ResNet에서 불필요한 모듈을 제거하고(Batch Norm과 Relu Activation) 성능이 더 좋아지고 아키텍처를 잘 최적화했다.
큰 모델을 안정적으로 학습하기 위해 residual scaling 기법들을 차용하였다.
모델 사이즈와 학습 시간을 줄이기 위해 multi-scale super-resolution을 사용했다.