Vision Programming Interface (VPI)
NVIDIA® Vision Programming Interface (VPI) is a software library that provides Computer Vision / Image Processing algorithms implemented on several computing engines available in NVIDIA embedded devices like Jetson and in discrete devices like dGPU.
VPI provides a uniform interface for seamless access to multiple compute engines like CPU, GPU and Programmable Vision Accelerator (PVA). With VPI, a processing pipeline can fully utilize the installed computing capacity of the device with different parts of the pipeline running on different compute engines simultaneously.
VPI algorithms are highly optimized — check out the VPI performance benchmarks. Increase performance of your application by replacing parts of your pipeline containing any non performant OpenCV or Visionworks algorithms with VPI algorithms and by optimally distributing your workload on multiple compute engines with VPI.
VPI is currently a Developer Preview, and with each release we add highly optimized implementations of the computer vision algorithms most important for developers.
Harris Keypoint Detector
KLT Bounding Box Tracker
- Algorithms implemented on multiple compute engines (GPU, CPU and PVA)
- Uniform interface to access all supported compute engines
- Seamless, zero-copy memory mapping to achieve high throughput
- Sample applications to illustrate use of VPI algorithms
- Performance benchmarks for every supported algorithm
- Gaussian Pyramid Generator
- Image Convolver
- Separable Image Convolver
- Box Image Filter
- Gaussian Image Filter
- Bilateral Image Filter
- Image Resampling
- Fast Fourier Transform
- Inverse Fast Fourier Transform
- Image Format Converter
- Perspective Warp
- Image Remapping
- Lens Distortion Correction
- Temporal Noise Reduction
- Stereo Disparity
Feature Detector and Tracking
- KLT Bounding Box Tracker
- Harris Corners Detector
- ColorNames Features Detector
- Histogram of Oriented Gradients