VFI - Kernel Based (AdaConv) 리뷰

최창우·2023년 1월 19일
0

VFI

목록 보기
2/3
post-thumbnail

Video Frame Interpolation via Adaptive Convolution 리뷰

  • 관련연구는 제외
  • 동일저자의 후속버전인 SepConv가 있으므로, 개념만 조금 다룬후 넘어갈 예정

📌목차

1. AdaConv 개요
2. AdaConv 내용

📕 AdaConv 개요

비디오프레임 보간은 전형적으로 두 단계로 나뉨

  • (1) 모션 추정
  • (2) 픽셀 합성

간략설명

  • 해당 논문에서는 (1)번과 (2)번 과정을 하나의 프로세스로 풀어낸 방식을 설명
  • 각 픽셀의 공간적으로 적응하는 컨볼루션 커널을 추정하기위해 FCN을 사용했음
  • DNN을 사용함으로써 얻은 이점
    - Optical Flow와 같은 GT Data없이 프레임 보간가능
    - 폐색(?), 흐림 및 급격한 밝기 변화와 같은 문제를 잘 처리하고 비디오 프레임 보간 잘 되더라!

📕 AdaConv 내용

논문의 핵심방법은, 두 프레임에 Convolution 연산을 수행할 Kernel Filter를 찾는것

  • 위치(x,y)를 기준으로 특정 넓이만큼 입력/출력 프레임의 영역을 패치(R1,R2)로 가정
  • 두 패치 (R1,R2)를 ConvNet을 통과시켜 Kernel Filter (K)를 얻는다.
  • 위치(x,y)를 기준으로 좀더 좁은 넓이만큼 입력/출력 프레임의 영역을 패치(P1,P2)로 가정
  • 두 패치 (P1,P2)를 Kernel Filter(K)와 Convolution 연산을 수행

📖 모델 구조

  • 위 설명을 기준으로 보면 다음처럼 생각가능
  • R1, R2 = 6 x 79 x 79
  • P1, P2 = 6 x 41 x 41
  • Kernel Filter = 41 x 82 (패치 두개를 동시에 컨볼루션 해서)

도대체 뭔 개소린지 모르겠는 부분

중요한 제약 조건은 출력 컨벌루션 커널의 계수가 음수가 아니어야 하고 합계가 1이어야 한다는 것입니다. 따라서 최종 컨볼루션 레이어를 공간 소프트맥스 레이어에 연결하여 이 중요한 제약 조건을 암시적으로 충족하는 컨볼루션 커널을 출력합니다.

📖 Loss Function

notations

  • i : 학습 sample
  • P : Patch (작은거)
  • K : Kernel
  • C(물결) : Color (GT)
  • G(물결) : Gradient (GT)

저자가 제안한 Loss는 아래 Loss를 더한 값이다.

  • 첫번째 Loss는 Color 를 이용한것이고 두번째는 Gradient를 이용한것
  • 첫번째 Loss만 사용하면 블러가 낀 형태의 이미지가 도출되는 한계점을 지님

코드로 구현해봐야 정확히알거같은데 소스도없고 ..

profile
유능한 개발자가 되고 싶은 헬린이

0개의 댓글