Download
parallelizing opencv optical flow algorithms n.
Skip this Video
Loading SlideShow in 5 Seconds..
Parallelizing OpenCV: Optical Flow Algorithms PowerPoint Presentation
Download Presentation
Parallelizing OpenCV: Optical Flow Algorithms

Parallelizing OpenCV: Optical Flow Algorithms

115 Views Download Presentation
Download Presentation

Parallelizing OpenCV: Optical Flow Algorithms

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Parallelizing OpenCV:Optical Flow Algorithms Arjun Agarwal Abhishek Gupta Eric Lovett

  2. Optical Flow • Apparent motion of objects, surfaces and edges in a scene caused by the relative motion between scene and observer • Use cases: • For tracking objects • determine whether the objects are moving or the observer is moving • Three of the ways to do this in OpenCV that are not yet parallelized: • Horn & Schunck algorithm (Iterative) • Lucas & Kanade algorithm (Iterative) • Block matching method (Data decomposition)

  3. Optical Flow

  4. What we have done • Parallelized OpticalFlow BM and LK • Methodology: • Used OpenMP • Changed while loops to for loops (e.g. LK) • Removed inter-loop dependencies • Used data-driven decomposition • Analyze across: • Number of processors • Data granularity • Input size

  5. LK: Results

  6. LK: Results

  7. BM: Results

  8. BM: Results

  9. To Do • Need to finish parallelizing OpticalFlowHS • Explore why the speedups are not much • False Sharing* • Figure out what the sequential overhead is doing (matrix manipulations?) and if we can reduce or parallelize it* • Problem size is too small (we intend to explore the speedup for high definition videos) • We intend to explore wall-clock times for different scheduling (static vs. dynamic)

  10. Evaluation • Evaluation is done on Niagara-2 • It has 64 byte cache line • It has 8 processors and 8 hardware threads per processor

  11. Questions?

  12. Optical Flow LK • Inter-loop Dependency • Some variables in Iteration i depended on iteration (i-2) • Solution: We calculated those variables in the ith using the data that we have at ith iteration • We