SYDLAB_hanyang/Paper Reviews

Paper Review - Softmax Splatting(1) / introduction

빈그레 2024. 4. 2. 22:01

 

 

 


Softmax Splatting for Video Frame Interpolation

 

 

 

 

 

 

Preview

 

 Video FI를 위한 새로운 접근법인 softmax splatting에 대해 설명한다.

 

이 방법은 Video Frame interpolation에서의 forward warping에 대한 도전 과제를 해결한다.

*** forward warping :  한 위치의 픽셀을 새로운 위치로 이동시키는 과정이다. forward warping은 하나의 source pixel이 하나의 target pixel로 mapping되어 겹치는 문제가 발생하며, 일부 pixel은 아무런 source pixel로부터 값이 할당되지 않는 문제가 생긴다. -> artiface 유발, hole 유

*** artifact :  이미지나 비디오에서 원하지 않는 변형이나 왜곡

*** warping : 영상을 x축,y축, 회전, scale 등을 이용하여 보정이나 찌그러진 이미지를 정규화하기 위한 처리방법

 

Softmax splatting을 통한 Frame interpolation으로 이렇게 mapping 문제를 해결한다.

 

*** splatting : 이미지나 데이터 결합하거나 합성하여 새로운 이미지를 만들 때 사용한다

 

1. Softmax Splatting //mapping 문제 해결하는 새로운 제안!

:   Video Frame interpolation에서 source pixel이 하나의 target location에 mapping되는 문제를 해결하기 위해 제안된 방법이다. 이는 forward warping을 수행할 때, 여러 source pixel이 target location에 mapping되는 경우를 어떻게 처리할지에 대한 새로운 접근법을 제시한다. 

 

매핑 위치가 겹치면, artifact가 발생하거나 정보가 손실될 수 있다. softmax splatting은 이러한 문제를 해결하기 위해 Softmax 함수를 이용한다. 

 

Softmax 함수는 여러 입력값 중에서 가장 큰 값을 부각시키면서도 다른 값들도 일정 정도 반영되게 하는 일종의 정규화 함수이다. Softmax Splatting에서는 각 source pixel이 target pixel(중간 프레임의 픽셀)에 기여하는 정도를 softmax 함수를 통해 계산하여, 겹치는 값을 합칠 때 각 픽셀의 기여도를 고려한다.

 

[방식]

1. Optical FLow 추정
: 두 프레임 사이 optical flow 추정
*** optical flow : 두 frame 사이에 픽셀이 어떻게 움직였는지를 나타내는 vector field
ex) 카메라 고정되어 있고, 차가 왼쪽에서 오른쪽으로 움직였다면,
optical flow는 움직임을 오른쪽 화살표로 표현,  화살표의 크기는 차가 얼마나 빠르게 움직였는지를 표현.

2. Forward Warping 
: 첫 번째 frame의 픽셀을 두 번째 frame의 위치로 이동시키기 위해 optical flow를 사용하여 forward warping을 수행한다. 

3. softmax 적용
:  여러 source pixel이 같은 target pixel로 매핑되면 소프트맥스 함수로 각 source pixel의 기여도를 계산하고, 이를 기반으로 pixel을 결합한다.
//같은 위치를 가리킨다면, 얼마나 중요한지를 따져봐서 매핑될 픽셀들을 결

 

 

 

2. Video Frame Interpolation

: 두 입력 프레임을 바탕으로 중간 프레임을 생성하는 비디오 프레임에 효과적이다. 특히, 비디오의 시간적 위치에 따라 "임의 시간에" 프레임을 보간할 수 있으며, feature pyramid와 optical flow를 미세조정하여 보다 정확한 interpolation 결과를 생성할 수 있다. 

 

 

*** synthesis network : 주로 이미지나 비디오 처리 분야에서 사용되는 심층 신경망의 한 종류이다. 

- 1.  input

:일반적으로는 이미지, feature map 등을 입력으로 받는다. FI에서는 두 프레임이 입력이 된다.

- 2. 처리

:  입력 데이터는 여러 layer를 거치며 변환된다. 각 layer는 데이터의 feature를 추출하고 조합하여 더 고차원적인 표현을 만들어낸다.

- 3. 출력

: 마지막 layer는 변환된 데이터를 바탕으로 새로운 이미지나 프레임을 생성한다. 이 과정에서 deconvolution이나 upsampling 기법을 사용하여 더 높은 해상도의 이미지를 생성한다.

 ***upsampling : 해상도를 증가시키는 과정 //데이터 양을 인위적으로 증가시켜, 더 세밀한 정보를 표현

 

 

Backward warping / Forward warping

 

backward는 t를 기준으로 앞뒤 프레임에 가서 pixel 정보를 가져오는 것, 

forward는 source piexl을 target pixel에 mapping하는 것 -> 그래서 동시에 여러개가 매핑되어 holes 발생할 수 있음

 

introduction

 

[ Video Frame Interpolation ]

 

- 비디오의 프레임 속도를 모니터가 지원하는 refresh속도만큼으로 지원할 수 있도록 interpolation을 진행할 수 있다.

 -> 부드러운 비디오 재생을 가능하게 한다

 

-  비디오 편집 작업에서 주요 프레임에 변경 사항이 있으면 이를 나머지 프레임으로 전파시켜서 변경사항에 대해 전체 비디오에 자연스럽게 확장할 때, 유용하다.

 

- interframe compression 지원

 : I-frame을 기준으로 delta 값인 P-frame과 이전이후 양쪽에 대한 차이인 B-frame을 저장하는 압축 기법

//차이값의 절반만 전달해서 더하면 interpolation,,?

 

- optical flow estimation과 같은 컴퓨터 비전 작업에서도 활용 가능

 

- motion blur를 합성하는 방법을 학습하기 위한 훈련 데이터를 생성하는 데에도 사용 가능

 

- 주로 시간 영역에서 사용되지만, 주어진 시점 사이에 새로운 view를 합성함으로써 공간적인 측면에서도 novel views 제공 가능 

 

 

 

introduction ( Flow-based interpolation / Forward warping )

 

 

frame interpolation 방법은 크게 flow-based, kernel-based, phase-based로 나눌 수 있으며, 이 논문에서는  flow-based 를 채택하고 있다. -> 벤치마크 결과 내는 데 효과적

 

시간: 0(첫번째 프레임 ) -> t (보간 프레임 ) -> 1 (두번째 프레임)

 

두 입력 frame I0,I1사이의 광학 흐름 Ft->0, Ft->1을 추정한다. 

광학 흐름은 생성하고자 하는 It 프레임의 관점에서 계산된다. 역방향 워핑으로 Ft->0따라 I0에서, Ft->1따라 I1으로 가서 pixel값을 가져와 interpolation 값을 얻는다. 하지만, 이는 t시점 프레임을 기준으로 합성을 하므로, 임의의 시간 t에서 자연스럽게 프레임을 합성하기 어렵다.

 

이를 개선하기 위해 Ft->0와 Ft->1을 F0->1과 F1->0으로부터 근사한다. 이를 사용하여 I0과 I1을 forward warping한다. 

//원래 t에서 출발하던 flow를 두 프레임을 기준으로 근사하여 forward warping이 가능하도록 함 

 

또한 단순히 pixel 정보만 전달하는 것이 아니라 객체의 컨텍스트 정보도 함께 워핑하여 품질을 향상시킨다.

 

 

 

동일 위치 mapping 문제 처리 효과

 

z-buffering과 유사한 방식으로 동일위치에 mapping되는 문제를 처리한다.

***  z-buffering : 3D 장면을 2D 화면에 렌더링할 때 깊이가 가장 작은 값을 최종적으로 선택한다. 

여러 source pixel 중 어떤 픽셀의 정보를 최종적으로 사용할지 결정하는 과정이 z-buffering에서 깊이 값을 결정하는 과정과 유사하다. 만약 forward warping에서 z-buffering과 유사하게 접근한다면, 깊이,밝기,색상 등의 특정 기준에 따라 어떤 source pixel의 정보를 사용할지 "결정"할 것이다. 

 

이로 인해, 연산을 완전히 "미분"할 수 있는지가 불분명해진다. 이러한 한계를 해결하기 위해 softmax splatting을 제안한다.

 

forward warping에 들어가는 모든 입력값을 제어할 수 있게 되어, 일반적인 컨택스트 맵을 워핑하는 아이디어를 특정 태스크의 feature 피라미드를 학습하고 warping하는 것으로 확장할 수 있다.

 

또한, optical flow estimator 뿐만 아니라, 여러 픽셀이 동일 위치로 워핑될 때, 각 픽셀의 중요도를 가중하는 metric도 감독할 수 있다. 

 

-> new state-of-the-art results

 

 

Proposed

 

- softmax splatting을 제안하여 미분 가능한 forward warping 수행 -> FI에 적용

- 주요 목표 : 여러 source pixel이 동일 target pixel에 mapping되는 것을 어떻게 처리할 지! 

- softmax splatting을 통해 미분가능해져서 이미지 합성을 위한 feature pyramids를 학습하고 사용

   //픽셀들 말고 다른 컨텍스트 정보들도 같이 전달하니까?

- sofmax splatting으로 off-the-shelf optical flow estimator 를 fine-tune

- 동일 위치 매핑되는 경우 구분하기 위한 metric 관리

 

 

 

 

Related Work

 

 

- Spatial Transformer networks

미분 가능한 이미지 샘플링을 제안 -> 이 기술이 backward warping의 형태로 널리 사용됨

F(A->B)의 대응으로 IB로부터 IA를 합성하는 backward warping

반면,F(A->B)로부터 IA로부터 IB를 합성하는 forward warping을 수행하는 것은 동일 위치 매핑 때문에 딥러닝에서는 덜 사용되어왔다. 

 

- Optical flow Estimation

 occlusion mask를 얻기 위해  1로 채워진 이미지를 forward warping한다.

동일한 target pixel로 매핑되는 source pixel의 기여를 모두 합산하지만,  possible outliers를 제거하는 메커니즘이 없어서 제한적이다.

 

- Frame interpolation

미분가능하지 않은 z-버퍼링과 동등한 기법을 사용

 

 -동일 매핑 대처

동일 매핑에 대처하기 위해 depth estimation에 따라  linear한 weight를 부여한다. 그러나 depth estimation에 bias를 추가하면 linear weight warping의 결과에 영향을 미쳐 부정적인 작용을 일으킨다. 

 

이에 반해 제안하는 softmax splatting은 이러한 우려 사항에 영향을 받지 않는다.

 


 

[ 제안하는 아이디어의 기반  ]

Niklaus et al 접근 방식

 -> 역방향 워핑에서는 주어진 프레임 사이의 광학 플로우를 사용하여 I0을 I1으로 변환해야하고, 이 과정에서 목표 프레임에 대한  optical flow를 직접 추정해야한다.

 

하지만 Niklaus는 forward warping을 사용하여 이 문제를 해결했다. I0과 I1을 직접적으로 t와 (1-t)에 비례하여 워핑한다.

즉, I0는 F0->1의 t만큼 워핑하고, I1은 F0->1의 (1-t)만큼 워핑한다.

그래서 Ft를 시작으로 optical flow를 근사하는 것을 요구하지 않는다.

 

이러한 접근 방식을 기반으로 하여, 두 입력 이미지 간의 optical flow를 양방향으로 추정하고,

사전 학습된 필터로 입력 이미지에서 일반적인 컨텍스트 정보를 추출하며, 

optical flow에 따라 이미지와 해당 컨택스트 맵을 forward warping한 후, 합성 네트워크 사용하여 interpolation 결과를 얻는다.

-> softmax splatting으로 이미지 합성을 위해 작업별 피라미드 기능을 워핑하는 것까지 확장

     -> 효과(1)off the shelft optical flow estimator 세밀히 조정 & (2)동일 위치 매핑 조정 메트릭 감독 가능!!

 

[ image synthesis에서의 feature pyramid의 사용 ]

 

이미지 합성에서 Niklaus는 context 정보를 pre-trained feature extractor로부터 와핑한다.

Boa는 이러한 접근방식을 feature extractor를 end-to-end supervisioin으로 개선했다.

 

*** end-to-end supervision :  딥러닝에서 입력 데이터에서 최종 출력 결과까지의 전체 학습 과정이 하나의 시스템에 의해 직접 관리되고 최적화된다는 개념을 말한다. 중간 수동 개입 없이 입력부터 출력까지의 모든 과정이 네트워크에 의해 자동으로 학습되고 조정된다. 

 

//proposed

이러한 이전 연구들과 반대로 제안하는 것은 feature pyramid를 추출하고 와핑하여 multi-scale represenation을 가능하게 함으로써 더 나은 보간 결과를 가져온다. 

image synthesis에서의 feature pyramid의 사용