Skip to content

zhaorz/FlowOnTheGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flow on the Go

Ashwin Sekar (asekar) and Richard Zhao (richardz)

Summary

We implement real time optical flows on a mobile GPU platform using the dense inverse search method.

Background

A common problem in computer vision is detecting moving objects on a background. With an increasing amount of cameras mounted on moving vehicles, stabilization of the video feed is a crucial preprocessing task.

Optical flows present an elegant solution to a wide class of problems such as the above. An optical flow is a vector field that describes per-pixel displacements between two consecutive video frames in a video feed.

In recent years, there has been increased interest in algorithms for computing optical flows, especially ones that achieve a mix of efficiency and accuracy. Kroeger et. al. propose a method with very low time complexity and competitive accuracy for computing dense optical flow[1].

The algorithm is highly parallelizable, which gives it the potential to achieve super-real-time (faster than 30 Hz) performance on GPUs.

Build

Reference

make flow_ref

Resources

[1] Tim Kroeger, et. al Fast Optical Flow using Dense Inverse Search (2016)

Schedule

Date Milestone Done
April 11 Complete understanding of the algorithm ✔️
April 14 Working OpenCV reference and testing harness ✔️
April 25 [Checkpoint] Working implementation in C++ ✔️
April 27 Cleaned up and optimized C++ version ✔️
May 1 Working implementation in CUDA ✔️
May 2 CUDA implementation with same performance as C++ version ✔️
May 4 Realtime performance (~30fps / < 33ms) ✔️
May 8 Super-realtime performance (~30fps / < 10ms)
May 9 Running on example drone footage
May 11 Final writeup and demo preparation
May 11 (Reach) Hardware hooked up to drone
May 12 Final presentation