EDRN(Enhanced Deep Residual Networks for Single Image Super-Resolution) 리뷰
EDRN(Enhanced Deep Residual Networks for Single Image Super-Resolution)
서울대학교 이경무 교수님 연구실에서 출간됐던 EDRN(Enhanced Deep Residual Networks for Single Image Super-Resolution) 리뷰합니다.

위 논문의 Contribution은 크게 두가지로,
1. 기존 Conventional Residual network기반의 SR 네트워크에서 불필요한 모듈(Batch normalization)을 제거함으로써 메모리/성능 측면에서 유효한 효과를 봤음
2. 단일 스케일기반의 SR 네트워크뿐만 아니라 멀티 스케일기반의 MDSR 네트워크를 제안함
입니다.
Introduction
- Super-resolution의 목적은 Image_Low_resolution을 Image_High_resolution으로 만들어내는 것입니다.
- Super-resolution연구 분야 중 특히 Single image super-resolution 부분은 Deep convolutional neural network가 출시되면서 함께 발달했습니다.
Problem statement
- 하지만 위 연구는 기존 연구들의 문제점들을 지적합니다.
- 첫번째로, 기존 연구들은 Image_High_resolution에서 *Bicubic downsampled version이 real Image_Low_resolution와 동치하다고 가정합니다. 하지만 실제로는 노이즈, 블러, 훼손 등 다른 degrading factor들이 존재합니다.
*Bicubic downsampling은 bskyvision.com/789를 참고하시면 도움이 될 것 같습니다.
- 두번째는 네트워크 최적화 측면입니다. 기존 모델들의 성능을 재현하는 과정에서 약간의 구조적인 변경이나 학습 세팅이 굉장히 민감하다는 문제가 있습니다.
- 세번째는 SR Scale factor들을 독립적으로 다루고 있습니다. 예를 들어 실제 응용에서는 기존 해상도를 2배/3배/4배 등등 다양한 scale로 upscaling시킬 수 있는데 기존 모델들은 Scale-specific하게 학습이 진행된다는 문제가 존재합니다.
Method & Result

- 위 논문은 위와 같은 문제를 해결하기 위해서 기존 SOTA 성능을 보이는 Resnet, SRResNet의 문제점을 찾고 개선합니다. Super resolution 연구 분야에서의 Resnet 적용은 굉장한 성능 증가를 이뤄내는데 이는 기존 x의 feature를 잘 보존해서 전달하는 과정이 매우 중요한 Application이기 때문이라는 생각이 듭니다.
- SRResNet의 경우 위 사진처럼 Relu만 제거하고 거의 변경없이 Super resolution 연구 분야에 적용되었습니다. 그렇기 때문에 EDSN에서는 Super resolution 연구 분야에 적합한/최적의 Resnet 기반의 네트워크를 제안합니다. 우선 첫번째로 BatchNormalization 부분을 제거합니다. 사실 BatchNormalization을 하는 이유는 feature들의 정규환데, Object detection, classification과 같은 응용에 효과적입니다. 하지만 위 연구분야는 기존 X를 Upsampling하는 목적으로 취지가 맞지 않으며 실제로 BatchNormalization을 제거했을 때 훨씬 좋은 성능을 보임을 증명했습니다.
- BatchNormalization을 제거함으로써 메모리 효율 측면에서도 대략 40% 정도 절감할 수 있었고, 절감된 만큼 더 큰 모델을 구축할 수 있습니다.
- 그리고 Super resolution에서 Loss function 선택 시, 가장 많이 활요하는 것이 l1과 l2인데 기존 다른 연구에서 l2의 비적합성에 따른 결과를 적용해 위 연구에서도 l1이 더 좋은 성능을 보이며 학습과정에서도 덜 민감한 것을 확인합니다.

- 다음으로 지적했던 문제점이 Scale Factor에 대한 부분인데요, X를 2배로 할 떄, 3배로 할 때, 4배로 할 때 모두 제각각 모델들을 구축해야한다는건 비효율적이고 분명 이들 사이에 dependent한 관계가 있을 것이라는 가설로 위 실험을 진행합니다. 우선 X를 2배로 SR시키는 모델의 weight를 가져와 x3와 x4를 만들때의 초기 weight로 활용합니다. 즉, 위 모델을 그냥 일반 초기 weight로 시작한 모델과 비교함으로써 transer learning의 효과를 검증합니다.
- 위 그래프에서 파란색 그래프 라인은 x2의 pre-train모델을 활용했기 때문에 훨씬 높은 성능에서 시작해서 더 빨리 수렴에 이르게 됩니다. 뿐만 아니라 최종 성능도 더 높은 수치를 보여줍니다.
- 위 모델은 이에 그치지 않고 x2,x3,x4를 함께 Upscaling 시켜주는 Multi-scale model(MDSR) 또한 함께 제안합니다. 위 모델은 제안하는 Single-scale model(EDSR)과의 계산량/성능을 비교하며 계산량 대비 좋은 성능을 보여줌을 증명합니다.
마치면서
- 결국 위 연구는 ResNet을 Super resolution에 적용하려는데 ResNet기반의 최적의 네트워크를 찾아 Report하는 논문인듯 합니다. 또한 불필요한 부분을 제거하고 학습과정을 보다 안정화 시켰기 때문에 실제로 위 네트워크를 활용하여 직접 학습/테스트 할 때 실용적일 것이라 생각합니다. 그리고 실제로 해상도를 키울때는 Scale Factor가 하나로 고정되지 않을 확률이 크기 때문에, 다양한 Scale간의 의존성을 증명한 것도 추후 연구/기술 활용에 좋은 기여를 했다고 생각합니다. 저는 위와 같은 SR알고리즘을 Text recognition 분야의 Pre-processing과정에 적용하여 실질적인 성능 증가가 있는지를 확인하려 합니다. (총총.. )