NVIDIA Optical Flow SDK
Optical Flow SDK exposes the latest hardware capability of Turing GPUs dedicated to computing the relative motion of pixels between images. The hardware uses sophisticated algorithms to yield highly accurate flow vectors, with robust frame-to-frame intensity variations and tracks the true object motion faster and more accurately.
NVIDIA Optical Flow SDK exposes a new set of APIs for this hardware functionality:
- C-API – Windows and Linux
- Windows – CUDA and DirectX
- Linux – CUDA
- Granularity: 4x4 vectors at ¼ pixel resolution
- Raw vectors – directly from hardware
- Pre-/post-processed vectors via algorithms to improve accuracy
- Accuracy: low average EPE (End-Point-Error)
- Robust to intensity changes
|Operating System||Windows, Linux|
NVIDIA GeForce, Quadro and Tesla products with Turing generation GPUs.
|Development Environment||C/C++ Compiler and Recent CUDA Toolkit|
Until a few years ago, tasks such as recognizing and tracking an object or classifying an action in video streams were out of reach for computers due to complexity involved. With the advent of Deep Neural Networks (DNNs) and massive acceleration made possible by GPUs, all these tasks can now be automated.One of the most important applications of optical flow is to track objects within video frames.
Optical Flow also benefits many other use cases including: Stereo depth estimation, video frame interpolation and extrapolation.
Optical Flow functionality in Turing GPUs accelerates these use-cases by offloading the intensive flow vector computation to a dedicated hardware engine on the GPU silicon, thereby freeing up GPU and CPU cycles for other tasks. This functionality in hardware is independent of CUDA cores.