본문 바로가기
Artificial Intelligence/Paper

Optical Flow Estimation using a Spatial Pyramid Network 리뷰 (SpyNet)

by 개발자J의일상 2023. 5. 25.
반응형

0. Abstract

optical flow를 획득 하는 방법으로 전통적으로 사용하는 방법이 spatial-pyramid formulation입니다.

 

보통 아래와 같이 Lucas-Kanade method with pyramid를 통해 optical flow를 구하는데

https://powerofsummary.tistory.com/35

Lucas-Kanade의 가정에 의하면 같은 motion vector를 가지는 작은 window에 대하여 적용하는 알고리즘이므로 만일 영상내의 object가 큰 움직임의 motion vector를 가진다면 aliasing 이 발생하는데 이를 해결하기 위한 방법이 바로 Pyramid 방식입니다. 

 

아무래도 이미지가 작아지면 큰 움직임이 작아지기 때문에 aliasing을 어느정도 해결할 수 있습니다.

 

이를 deep learning에 적용한 것이 이 논문의 핵심이라고 할 수 있습니다.

 

optical flow에서 잘 모르시는 분은 아래 사이트를 참고 부탁드립니다.

https://gaussian37.github.io/vision-concept-optical_flow/

 

옵티컬 플로우 (Optical Flow) 알아보기 (Luckas-Kanade w/ Pyramid, Horn-Schunck, FlowNet 등)

gaussian37's blog

gaussian37.github.io

 

FlowNet의 접근법과는 다르게 SPyNet은 큰 모션들을 따로 다룰 필요가 없다고 하는데요. 이에 대한 근거로 pyramid를 들었습니다. 

SPyNet은 FlowNet에 비해 모델 매개변수 수가 96% 적다고 합니다. 그렇기 때문에 실제 상용화하기 좋다고 주장을 하고있습니다. 

 

각 피라미드 레벨에서 flow가 작기 때문에 (<1 pixel) warped 이미지 쌍에 적용되는 convolution 방식이 적절합니다.

FlowNet과 달리 학습된 convolution filter는 기존의 spatio-temporal filter와 유사하게 나타나서 방법과 이를 개선하는 방법에 대한 통찰력을 제공하고 있습니다.

대부분의 표준 벤치마크 결과에서 FlowNet보다 더 정확한 결과를 보여주며, 고전적인 flow 방법과 딥러닝을 결합하는 새로운 방법을 제시했다고 합니다.

 

1. Introduction

"classical formulation" that makes a variety of assumptions about the image, from brightness constancy to spatial smoothness.

These assumptions are only coarse approximations to reality and this likely limits performance.

classical formulation 방식을 버리고 최근의 neural network architecture를 활용한 방법이 제안되고 있습니다.

이러한 방법들은 두 개나 시퀀스의 이미지들을 받아서 바로 그 이미지들의 flow를 계산하는 것을 배웁니다.

 

1) improving performance over existing neural networks and classical methods upon which our work is baed

2) achieving real-time flow estimates with accuracy better than much slower calssical methods

3) reducing memory requirements to make flow more practical for embeded, robotic, and mobile appliications.

 

Computing flow requires the solution to two problems.

1) One is to solve for long-range correlations

2) while the other is to solve for detailed sub-pixel optical flow and precise motion boundaries.

 

FlowNet은 이 두가지를 한번에 학습하려고 했습니다. 반면 이 논문에서는 딥러닝을 통해 두번째 문제를 해결하고 classical formulation으로 첫 번째 문제를 해결한다고 합니다.

 

large motion을 다루기 위해서 전통적인 coarse-to-fine 접근 방식인 spatial pyramid 방식을 사용합니다.

 

 

※ coarse-to-fine : 
시각적 인식의 맥락에서 coarse-to-fine는 일반적으로 방법(또는 기계 학습 모델)을 이미지의 저해상도 버전에 적용한 다음 점진적으로 해상도를 높이고 그 결과를 '더 미세한' 이미지로 전파하는 것을 말합니다.

 

피라미드의 top level에서는 프레임간의 모션의 차이가 굉장히 작기 때문에 convolutional filter들이 의미있는 temporal structure를 학습할 수 있게 됩니다. 

피라미드의 각 레벨에서 flow를 구하기 위해 convolutional network를 사용하고 flow를 up-sample하여 다음 피라미드 레벨로 전달합니다.

이 아이디어는 변위(displacements)가 매 피라미드 레벨에서 항상 하나 미만의 픽셀이라는 것입니다.

 

이 것을 저자는 SPyNet이라고 지칭하였으며 (Spatial Pyramid Network), FlowNet과 마찬가지로 Flying Chairs data를 가지고 학습을 하였습니다. FlowNet보다 total size는 96% 작고, 수행속도가 빠르며, 메모리를 적게 사용합니다.

전통적인 값비싼 반복적인 연산을 하는 방법을 대체하는 non-iterative한 방법입니다.

 

여기서 저자는 SPyNet으로 모든 optical flow문제를 해결한다고 주장하는 것은 아니다라고 합니다. 전통적인 방법과 비슷한 문제를 겪는다고 하는데요. 

예를들어, 작거나 얇은 물체의 큰 움직임은 pyramid 방식으로는 캡처하기 어렵다는 것은 잘 알려져 있습니다.

그래서 이러한 큰 움직임은 별도의 문제로 보고 다른 솔루션이 필요하다고 합니다.

 

2. Related Work

  • Spaital pyramids and optical flow - The classical formulation of the optical flow problem involves optimizing the sum of a data term based on brightness constancy and a spatial smootheness term.
  • Spatio-temporal filters
  • Learning to model and compute flow
  • Deep Learning
  • Fast flow
300x250

댓글