이것저것 코딩하는 블로그

[Computer Vision] SRCNN - Super-Resolution CNN 본문

Computer Vision

[Computer Vision] SRCNN - Super-Resolution CNN

2020. 12. 9. 13:26

1.     SRCNN[1]

 

앞서 살펴본 CNN 대한 설명은 image classification 위주로 되어 있다. 그렇다면 CNN 우리의 목적인 super-resolution (SR) 어떻게 적용할 있을까? 이를 다룬 논문인 SRCNN 리뷰하며 방법을 알아보고자 한다.

 

Super-resolution이란 low resolution (저해상도, LR) 이미지를 high resolution (고해상도, HR) 이미지로 변환하거나 화질을 개선시키는 기술이다. 주로 지도 학습으로 이루어지며, low resolution ground-truth (GT) 이미지를 모델에게 제공한 , 모델은 HR 결과와 GT 결과의 차이가 적어지도록 학습된다.

 

SRCNN SR 과정을 논문에 주어진 단계에 따라 살펴보자.

 

[그림 1. SRCNN의 구조] 출처: [1]

 

0)     Bicubic interpolation

전통적인 upscale method bicubic interpolation 이용하여 LR size HR 동일하게 한다. Bicubic interpolation이란, 이미지의 화소를 키울 인접한 16개의 화소 값과 거리에 따른 가중치를 이용하여 화소를 키움에 따라 새로 생긴 화소 값을 추정하는 방법이다.

 

1)     Patch extraction and representation

이미지를 지정된 Patch size 분할하여 convolution 연산을 거쳐 해당 patch feature map 추출한다. patch size 임의로 지정한다. 이후 활성화 함수 (ReLU) 통해 feature map 유의미한 값만 남긴다.

 

2)     Non-linear mapping

1)에서 전달된 feature map convolution 연산을 적용하여 또다른 feature map 만든다. 과정을 통해 interpolated LR (ILR) HR 사이의 nonlinear 관계를 추정하게 된다. , 과정을 통해 만들어진 feature map HR image 해당 patch 영역의 feature 나타내는 값이 된다.

 

3)     Reconstruction

이렇게 만들어진 feature map들을 이미지로 합치려면 겹치는 영역이 존재할 것이다. 이들에 convolution 연산을 적용하여 최종적으로 pixel 대응되는 feature 값을 만든다. 이를 HR 모든 pixel 적용하여 새로운 HR 이미지를 만든다.

 

정리하자면, bicubic interpolation 거친 , 이를 Patch 단위로 분할하여 patch HR에서의 feature convolution 연산을 통해 추정한 , 이를 다시 convolution 연산을 통해 합쳐 HR reconstruct하는 과정이다. Loss 함수로는 MSE (평균제곱오차) 사용한다.

 


[1] Dong, C., Loy, C. C., He, K., & Tang, X. (2015). Image super-resolution using deep convolutional networks. IEEE transactions on pattern analysis and machine intelligence38(2), 295-307.

 

 

'Computer Vision' 카테고리의 다른 글

[Computer Vision] EDSR review  (0) 2020.12.09
[Computer Vision] ResNet Review  (0) 2020.12.09
[Computer Vision] CNN - Convolution Neural Network  (0) 2020.12.09
Comments