본문 바로가기
논문 리뷰/Super-Resolution

[VSRNet] Video Super-Resolution With Convolutional Neural Network

by 귤이두번 2022. 1. 19.

논문 요약

 

1. Paper Bibliography

논문 제목

Video Super-Resolution With Convolutional Neural Network

 

저자

Kappeler, Armin, et al.

 

출판 정보 / 학술대회 발표 정보

IEEE transactions on computational imaging 2.2 (2016): 109-122.

 

년도

2016

 


 

2. Problems & Motivations

논문에서 언급된 현 VSR 연구들에서의 문제점 정리 + 관련 연구

 

딥러닝이 아닌 SR 알고리즘은 크게 2개의 카테고리로 나눌 수 있었다.

1) Model-based: 저해상도(LR) 이미지에 추가 노이즈를 더해 blurred, subsampled된 버전의 고해상도(HR) 이미지로 모델링한다. 이후 LR을 HR로 돌리는 일은 ill-posed하므로 정규화가 필요하다.

2) Learning-based: 방대한 학습 데이터 베이스를 기반으로 LR과 HR사이의 representations를 찾거나 하나의 이미지 내에서 유사한 부분을 찾는다. 대부분 패치 단위이며 패치 하나씩 복원되기 때문에 patch edge같은 아티팩트가 생길 수 있다.

 

딥러닝 기반 이미지 재건

- 2016년 당시, DNN은 여러가지 classification 등 이미지 문제에 많이 사용되었지만 image reconstruction에는 많이 사용되지는 않았다

- SRCNN: Dong et al. [17]은 f x f 사이즈의 이미지 패치를 n개의 atoms가 있는 dictionary로 표현하는 것을 f x f 사이즈의 필터 n개를 이미지에 적용하는 방식으로 해석. 2개의 hidden layer와 1개의 output layer로 구성된 CNN을 이용하여 LR을 HR로 비선형적으로 매핑하는 방법 개발. (Single Image)

- patch-based video SR: Cheng et al. [20]은 fully connected layer를 사용하는 patch-based VSR 알고리즘을 소개하였다. Convolutional layer를 사용하지 않으므로 '2차원 데이터 구조'에서 정보를 얻을 수 없다. 

- two stage video SR: Liao et al. [21]는 MC를 구해서 SR drafts를 만들고 CNN을 통해 합치는 방식을 제안했다. 프레임마다 수많은 MC를 계산하는데 비용이 많이 든다. 

 

[17] C. Dong, C. C. Loy, K. He, and X. Tang, “Learning a deep convolutional network for image super-resolution,” in Proc. IEEE Eur. Conf. Comput. Vis., 2014, pp. 184–199.

[20] M. Cheng, N. Lin, K. Hwang, and J. Jeng, “Fast video super-resolution using artificial neural networks,” in Proc. 8th Int. Symp. Commun. Syst. Netw. Digital Signal Process. (CSNDSP), 2012, pp. 1–4.

[21] R. Liao, X. Tao, R. Li, Z. Ma, and J. Jia, “Video super-resolution via deep draft-ensemble learning,” in Proc. IEEE Int. Conf. Comput. Vis. (ICCV), 2015, pp 531–539.

 

 


 

3. Proposed Solutions

논문에서 제안하는 해결책들 정리

 

A. Single Frame/Image Super-Resolution

- SRCNN 구조를 기반으로 하므로 SRCNN의 설명이긴하다.

SRCNN 구조

- 처음 입력은 LR 이미지 Y는 bicubic upsample을 해서 HR 크기가 되도록 한다

- 보통 이미지 분류 등에서는 네트워크에 pooling이나 normalization layer를 추가하여 '일반적인 경우'에 잘 대응하도록 한다. SR에서는 '디테일'이 중요하므로 사용하는 것은 오히려 안좋을 수 있다.

 

 

B. Video Super-Resolution Architecture

- VSR의 경우 이웃 프레임에 있는 정보들이 도움이 될 수 있다

- Video SR architecture: input에 여러 프레임이 들어간다 - previous, current, next

 

Video SR architecture: 합쳐지는 시기가 다른 것을 알 수 있다

- 첫 번째 레이어의 크기가 single image일 때는 1 x f1 x f1 x C1 (f1 x f1는 커널 사이즈, C1는 채널 수)였는데 이전/다음 프레임이 추가로 입력되기 때문에 a)의 경우 3 x f1 x f1 x C1이 된다.  b)의 경우 처음부터 합쳐지지 않기 때문에 3개의 프레임을 각자 계산하였다. 그래서 두 번째 레이어는 첫 번째 레이어 3개가 합쳐진 것이 되므로 3C1 x f2 x f2 x C2가 된다.

 

- 레이어를 concat하는 위치는 다를 수 있다. (a), (b), (c)를 비교했을 때 (b)가 가장 높은 PSNR을 얻었으나 비슷한 성능이다. 학습 시간의 경우  (a), (b), (c) 순으로 빨랐으며 (따로 계산하는 것이 시간이 많이 걸린다) 입력 프레임 수가 많을수록 시간이 많이 걸린다 (weights 증가!)

 

- VSRNet은 가장 결과가 좋았던 (b)의 구조를 하고있다. PSNR과 SSIM을 전통적인 VSR과 SISR과 비교했을 때 가장 좋은 수치를 얻었다. 하지만 Table III의 Scale 4의 경우 Bayesian방법이 더 좋았는데 이를 통해 Video SR은 더 낮은 upscale에서 더 쉬우며 높은 upscaling factor의 경우 잘못된 motion compensation 때문에 결과가 나빠질 수 있음을 알 수 있다. 

 

 

 

C. Weight Transfer From Pretraining

- ImageNet detection dataset(400,000 images)으로 훈련시킨 SRCNN 모델을 전이학습 하기 위해 kernel width, height와 그 수를 동일하게 사용하였다. (Input의 수가 다르기 때문에 filter의 depth는 다르다)

 

Image SR: w()는 weight, b()는 bias

- 이미지의 경우 M x N x C의 결과를 갖는다. 여기서 weight는 M x N x 1 x C인데 이미지는 한가지 시점(t)의 grayscale이미지만 고려하기 때문이다

 

- 같은 데이터가 비디오 구조로 들어간다면 아래 수식으로 나타낼 수 있다

Video SR

y가 y hat으로 바뀐 것을 볼 수 있는데 이는 3개의 연속적인 프레임 yt-1, yt, yt+1을 합친 것이다. 이를 풀어 쓰면 아래처럼 나타낼 수 있다

 

- 수식 3에서 hv를 h라 두고 y+1와 y-1을 yt로 바꾼다고 가정하면 수식 1과 3이 같아지는 것을 알 수 있다. (수식 1은 3을 3개 더한 것)

 

 

- 그러므로 video filter weights와 biases도 1/3했다. 이는 첫 번째 컨볼루션 레이어를 적용하기 전에 입력 영상의 평균을 구한 것과 같다

 

- Table V는 pretraining의 중요성을 보여준다. 

인접한 프레임들인데 pretrain하지 않은 경우 3 프레임 필터가 꽤나 제멋대로.. 다르게 생김

 

F. Filter Symmetry Enforcement (FSE)

- 아무리 좋은 optical flow 계산 알고리즘이라도 에러가 있을 수 있다. 

- 프레임을 하나하나 SR하다보면 언젠가는 프레임들은 한번씩 t-1, t, t+1이 될 것이다. 그런 관점에서 보면 t-1 -> t와 t->t+1의 motion compensation error가 같아질 수 있다. 

- 그러므로 Filter Symmetry Enforcement를 하여 reference를 기준으로 대칭되는 곳에 대한 weights를 같게 하였다. 

 

- 200,000의 iteration 이후 FSE를 사용한 모델, 사용하지 않은모델은 같은 reconstruction error로 수렴했다. 그 결과 PSNR차이는 미묘하나 FSE를 사용했을 때 더 빨리 수렴한 것을 알 수 있다. 이는 unknown weights의 수가 줄어들었기 때문이다.

 

 

E. Motion Compensation

- 많은 optical flow 알고리즘이 있는데 VSRNet에서는 Druleas algorithm[30]을 사용했다

 

1) Adaptive Motion Compensation

- MC는 다음 수식을 따라 적용된다.

 

- r(i, j)는 reference와 neighboring 사이의 (i, j)위치의 Convex combination을 조정한다. k는 상수 파라미터이며 e(i, j)는 에러이다. 

- 만약 (i, j)에서 MC error e(i, j)가 커지면 해당하는 weight r(i, j)가 작아지게 된다 

 

 

[30] M. Drulea and S. Nedevschi, “Total variation regularization of localglobal optical flow,” in Proc. IEEE Conf. Intell. Transp. Syst. (ITSC), 2011, pp. 318–323.

 


 

4. 입력의 형태

1) YCbCr로 변경해서 Y channel만 사용, color부분은 그냥 bicubic

2) 5개의 연속된 프레임 추출

3) MATLAB으로 downsample 후 bicubic으로 upsample해서 LR만듬

4) optical flow를 계산해서 motion compensated frames를 만듬

5) 36 x 36 x 5 데이터 큐브를 추출: pixel variance가 0.0035를 넘지 않으면 제외

--> 결과적으로 총 900,000개의 데이터 큐브

 

 


 

5. 시간적 정보 모델링 프레임워크

기본 프레임워크 (2D CNN, 3D CNN, RNN, etc)

- 2D CNN

 

구조에 기여한 바가 있다면?

- Single Image를 Video Sequence로 확장

 


 

6. 프레임 정렬 방식 

Implicit (암시적) or Explicit (명시적)

- explicit

 

추가 설명

- motion estimation and motion compensation

- implicit은 실제로 가져온 값은 아니지만 보충하는 느낌 / explicit은 실제로 가져온 것 

 

 


 

7. 업샘플링 방식 

- LR이미지가 HR크기로 업샘플링 되어서 모델에 들어간다

 


 

8. 그 외

모델 파라미터 개수

 

학습 데이터

Myanmar video sequence (53)

- 4K resolution (3940 x 2160) -> downscale (960 x  540)

 

테스트 데이터

Myanmar video sequence (6)

- 4 frames 

 

VideoSet4

- 처음, 마지막 프레임 2개씩 스킵: 그래야지 5프레임씩 가능 

 


논문 분석

 

1. 앞서 정리한 논문들에 대한 비평들 중 해당 논문에서 해결된 바가 있다면 정리

-  SRCNN 구조를 기반으로 하므로 SRCNN의 장점을 가져와 비디오에 적용했다고 할 수 있다: 네트워크는 Convolutional layers로 구성되어 있어서 

  • input image가 아무 사이즈여도 된다
  • patch-based가 아니다

 

2. 해당 논문에 대한 비평(Critique)

1) Filter Symmetry Enforcement (FSE)는 속도를 빠르게 할 수 있겠지만 t-1 -> t와 t -> t+1이 같아진다는 것을 잘 모르겠다

2) 픽셀 분산이 일정 수준(0.0035)을 넘지 않으면 해당 패치를 제외시켰다. 0.0035는 어디서..

3) MISR에 가까울지도

 

 

 


Google Scholar Link

https://scholar.google.co.kr/scholar?hl=ko&as_sdt=0%2C5&q=Video+Super-Resolution+With+Convolutional+Neural+Networks&btnG=

댓글