Middlebury Benchmark
Baker, Simon,et al. "A database and evaluation methodology for optical flow." International Journal of Computer Vision 92.1 (2011): 1-31.
• Optical Flow의 Evaluation을 위해 쓰여진 논문
• 여러 Evaluation 방법 중, Optical Flow를 이용한 Frame Interpolation 성능을 기준으로 평가하는 방법 존재
• Optical Flow를 평가하기 위한 목적으로 Optical Flow Based Frame Interpolation 알고리즘을 부산물로 제안
Frame Interpolation 논문으로도 평가받고 있다.
Middlebury Benchmark
• 두이미지 𝐼0, 𝐼1와 둘 사이의 Optical Flow 𝑢0 존재
• Optical Flow 𝑢0 를 이용하면 0~1 사이 임의의 시점 t에서의 Optical Flow 𝑢 𝑡를 얻을 수 있다.
𝑢 𝑡 round x + tu0 x = u0(x)
• 분명히 𝑢 𝑡의 어떤 지점에는 u0의 값 둘 이상이 몰릴 수 있고, 어떤 지점에는 아무도 배정되지 않을 수 있다.
• u0(x1)과 u0(x2)가 경쟁할 경우, |𝐼0 𝑥 − 𝐼1(𝑥 + 𝑢0(𝑥))|의 값이 작은 쪽을 채택한다.
• 비어 있는 곳은 Outside-in strategy를 이용한다.
Frame Wraping
“Optical Flow에 따라서 input image의 픽셀 값들을 이동시킨다”
11.
Middlebury Benchmark
• OcclusionMask 𝑂0 𝑥 , 𝑂1(𝑥)를 구한다. 𝑂𝑖 𝑥 = 1이라는 뜻은 𝐼𝑖(𝑥)픽셀이 반대편에서는 보이지 않는다는 뜻이다.
𝑢 𝑡 round x + tu0 x = u0(x)에 𝑡 = 1을 대입하면 u1을 구할 수 있는데, 이때 생긴 hole 들을 𝑂1 𝑥 = 1로 놓을 수 있다.
𝑂0 𝑥 의 경우, 𝑢0 𝑥 − 𝑢1 𝑥 + 𝑢0 𝑥 > 0.5이면 𝑂0 𝑥 = 1로 놓는다.
• 이제 𝐼𝑡(𝑥)픽셀 값을 구하기 위해 참조할 𝐼0에서의 위치 𝑥0와 𝐼1에서의 위치 𝑥1를 구해야 한다. 즉 𝐼0(𝑥0)와 𝐼1(𝑥1)을 참
조할 것이다.
𝑥0 = 𝑥 − 𝑡𝑢 𝑡(𝑥)
𝑥1 = 𝑥 + 1 − 𝑡 𝑢𝑡(𝑥)
• 𝐼𝑡 𝑥 = 1 − 𝑡 𝐼0 𝑥0 + 𝑡𝐼1(𝑥1)
• 만약 𝑂0 𝑥0 = 1이라면 𝐼𝑡(𝑥) = 𝐼0 𝑥0 반대 경우도 마찬가지
Frame Wraping
12.
Middlebury Benchmark
• 우리는Frame 0 에서의 Flow 𝐹0을 갖고 있다.
• 𝐹0을 Wraping 하면 시점 𝑡에서의 Flow 𝐹𝑡를 구할 수 있다.
• 𝐹𝑡를 이용하면 현재 생성할 Frame의 픽셀이 Frame 1에서는 어느 위치에 해당하는 지 구할 수 있다.(Forward Flow)
• −𝐹𝑡를 이용하면 Frame 0에 대해서도 마찬가지(Backward Flow)
• Forward, Backward Flow를 이용하여 Frame 0과 1을 각각 Warping한다.
• 두 Warping된 이미지를 Linear Combination
Frame Wraping(요
약)
MIND(Matching by INvertingDeep Neural Network)
• U-Net 형태의 Encoder-Decoder 구조
• 정말 단순히 “CNN을 학습시키자”는 아이디어
• Output이 Blur하다는 단점 존재
Long, Gucan, et al. "Learning image matching by simply watching video." European Conference on Computer Vision. Springer, Cham, 2016.
22.
Adaptive Convolution
Target Pixel에서필요로 하는 정보는 앞뒤 프레임의 근처 픽셀들이 갖고 있을 거야!!
앞뒤 프레임들로 부터 Convolution을 취한 결과를 Pixel 값으로 쓰자!!
그럼 필터는 뭘 쓸 건데??
S. Niklaus, L. Mai, and F. Liu. “Video frame interpolation via adaptive convolution.” In IEEE Conference on Computer Vision and Pattern Recognition, July 2017
23.
Adaptive Convolution
41 (FilterSize)
79 (Input Size)
Target Point
이미지의 각 부분마다 다른 필터를 적용시키자. 각 필터는 Network의 output으로 뽑자.
Input Patch
Output Filter
Adaptive Separable Convolution
•필터를 통째로 뽑지 말고, 41dim짜리 가로, 세로 vector 두 개를 뽑아서 곱하자! 41 x 41 Matrix
• Adaptive Conv: 픽셀 수 x 필터 사이즈(41) x 필터 사이즈(41) (26 GB)
• Adaptive Separable Conv: 픽셀 수 x 필터 사이즈(41) x 2 (1.27 GB)
S. Niklaus, L. Mai, and F. Liu. “Video frame interpolation via adaptive separable convolution.” In IEEE International Conference on Computer Vision, Oct 2017
Context Aware Synthesis
•𝐼𝑡 𝑥 = 1 − 𝑡 𝐼0 𝑥0 + 𝑡𝐼1(𝑥1) [Middlebury Benchmark]
𝐼𝑡 𝑥 = 𝐼0(𝑥0) Forward Wrapped Image
𝐼𝑡 𝑥 = 𝐼1(𝑥1) Backward Wrapped Image
• 두 이미지를 Linear Combination(Blending)하지 말고, Neural Network를 이용해서 섞어보자!
• 섞을 때 Pre-trained Network에서 얻은 Feature까지 Wrap 해서 같이 넣어주자!!
S. Niklaus, and F. Liu. “Context-Aware Synthesis for Video Frame Interpolation.” In IEEE Conference on Computer Vision and Pattern Recognition, June 2018
Phase Based FrameInterpolation
S.Meyer, O.Wang, H. Zimmer,M. Grosse, and A. Sorkine- Hornung. “Phase-based frame interpolation for video.” In IEEE Conference on Computer Vision and Pattern Recog- nition, pages 1410–1418, 2015.
PhaseNet
Meyer, Simone, etal. "PhaseNet for Video Frame Interpolation." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
Deep Voxel Flow
Liu,Ziwei, et al. "Video Frame Synthesis Using Deep Voxel Flow." Proceedings of the IEEE International Conference on Computer Vision. 2017.
Input Voxel
Flow
Frame
Synthesis
Super SloMo
Jiang, Huaizu,et al. "Super slomo: High quality estimation of multiple intermediate frames for video interpolation." arXiv preprint arXiv:1712.00080 (2017).
뭐 힘들게 새로운 Flow를 만드니? 난 그냥 Optical Flow 구현해서 쓸래
ㅎ
1. 일단 𝐹0→1과 𝐹1→0는 주어진 상태라고 가정
2. 두 프레임 사이의 대상들은 직선운동 한다고 가정하고 𝐹𝑡→0, 𝐹𝑡→1을 구한다.
3. 그런데 다음과 같이 근사하는 것이 더 잘 된다고 한다.
42.
Super SloMo
* 𝑔(∙,∙):Wraping Function
• 0~1 사이의 값.
• 𝑉𝑡←0(𝑝)이 0이면, pixel 𝑝는 Frame 0에 존재하지 않고, 1이면 존재한다는 뜻. 𝑉𝑡←1(𝑝)도 Frame 1에 대하여 마찬가지
43.
Super SloMo
Optical Flow를얻는
Network
Flow Refine / Visibility Map 생성
http://smartaedi.tistory.com/325