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.
- 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
- Separable Image Convolution
- Box Filter
- Gaussian Filter
- Bilateral Image Filter
- Fast Fourier Transform
- Inverse Fast Fourier Transform
- Convert Image Format
- Perspective Warp
- Lens Distortion Correction
- Temporal Noise Reduction
- Stereo Disparity Estimator
Feature Detector and Tracking
- KLT Feature Tracker
- Harris Corners Detector
- ColorNames Features Extractor
- Histogram of Oriented Gradients