일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 8puzzle
- deeplearning
- 준지도학습
- MDSR
- 딥러닝
- NeuralNetwork
- pixelshuffle
- PYTHON
- 신경망
- AStar
- RESNET
- leetcode
- 동적계획법
- convolution
- SRCNN
- a*
- 합성곱
- CNN
- sr
- Increasing Triplet Subsequence
- residuallearning
- DFS
- superresolution
- 지도학습
- EDSR
- residualnetwork
- 증가하는부분수열
- 비지도학습
- BFS
- Today
- Total
이것저것 코딩하는 블로그
[Computer Vision] SRCNN - Super-Resolution CNN 본문
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 과정을 논문에 주어진 단계에 따라 살펴보자.
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 intelligence, 38(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 |