[딥러닝] Super Resolution과 SRCNN #1

Dunno·2021년 9월 11일
0

딥러닝

목록 보기
4/5
post-thumbnail

Super Resolution

Super Resolution이란 저해상도 영상을 고해상도 영상으로 변환하는 작업 또는 그러한 과정을 의미하며 초해상화 라고도 한다.

활용 예시

  1. 인터넷 속도가 느릴 때 저해상도의 YouTube 영상을 고해상도로 시청
  2. 고전 드라마 혹은 영화를 고해상도로 리마스터
  3. 해상도가 낮은 CCTV영상을 고해상도로 변환해 번호판이나 사람 얼굴 등 기존에는 얻을 수 없던 정보 획득
  4. 의료 이미지 등 저해상도의 이미지를 고해상도로 변환해 정량적인 이미지 분석 및 진단.

Super Resolution 구현을 어렵게 만드는 요인

1. ill-posed (inverse) problem


하나의 저해상도 이미지에서 여러 개의 고해상도 이미지를 만들어낼 수 있다. 눈으로 볼 때는 큰 차이를 느낄 수 없지만 픽셀값을 확인해보면 차이점이 있다.

2. Super Resolution 문제의 복잡도

Super Resolution의 학습 과정은 고해상도 이미지에서 저해상도 이미지를 생성해, 생성된 저해상도 이미지를 다시 입력해 원래의 고해상도 이미지를 복원하도록 학습을 진행한다.

위 사진과 같이 제한된 정보(녹색 픽셀)에서 많은 정보(회색 픽셀)를 만들어내는 과정은 복잡하며, 잘못된 정보를 만들어 낼 가능성도 높다.

위 그림에서 결과 1과 결과 2를 비교했을 때, 육안으로 확인했을 때는 결과 2가 더 고해상도의 이미지같아 보이지만 실제 고해상도 이미지와의 비교 평가 척도를 확인했을 때 결과 1 그림이 점수가 더 높은 것을 확인할 수 있다.
-> 결과를 평가하는 정량적 평가 척도와 사람이 시각적으로 관찰해 내린 평가가 잘 일치하지 않는다.

Super Resolution의 방법

1. Interpolation(보간법)

알려진 값을 가진 두 점 사이 어느 지점의 값이 얼마인지 추정하는 기법

즉, f(a)와 f(b) 사이의 f(x)의 값이 무엇인지 추정하는 기법이다.

(1) Linear Interpolation(선형보간법)

두 점 사이에 직선을 그려 직선을 통해 f(x)를 추정하는 방법

(2) Cubic Interpolation(삼차보간법)

선형방정식을 사용한 선형보간법과 같이 Cubic Interpolation은 3차 함수 위에 f(a)와 f(b), f(x)가 있다고 가정해 f(x)를 추정하는 방법이다.

(3) Bilinear Interpolation(쌍선형보간법)과 Bicubic Interpolation(쌍삼차보간법)

각각은 선형보간법과 삼차보간법을 2차원으로 확장시킨 것이다. 즉, f(a)와 f(b)만으로 값을 추정하는 것이 아닌 임의의 f(c), f(d)가 있다고 가정할때 f(a), f(b) 사이에 있으며, f(c), f(d)의 사이에도 존재하는 f(x)를 찾는 방법이다.

이 포스트에서는 SRCNN의 기반이 되는 Super Resolution에 대해 알아보았다.
다음 포스트 보러가기

0개의 댓글