NVIDIA® Vision Programming Interface (VPI) is a software library that provides Computer Vision / Image Processing algorithms implemented with several computing engines available in NVIDIA embedded devices like Jetson modules as well x86 devices with discrete GPUs.


VPI provides a uniform interface for seamless access to multiple compute engines like CPU, GPU, Programmable Vision Accelerator (PVA), and Video Image Compositor (VIC). 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 1.1

VPI 1.1 is part of JetPack 4.6 for Jetson devices and is also available for x86 devices with discrete GPUs.

VPI 1.1 highlights include:

  • Developer preview of Python binding
  • Support for Pyramidal LK Optical Flow on NVIDIA Encoder (NVENC)
  • Support for Laplacian Pyramid on CPU and GPU
  • Support for Image Histogram on CPU and GPU
  • Support for Histogram Equalization on CPU and GPU
  • Support for Background Subtraction on CPU and GPU

Refer to VPI Release Notes for details.


Download as part of JetPack

Refer to installation section in VPI documentation for instructions for installing VPI on Jetson and host PC


Harris Keypoint Detector


KLT Bounding Box Tracker


Stereo Disparity


Features

  • Algorithms implemented on multiple compute engines (GPU, CPU, PVA, and VIC)
  • Uniform interface to access all supported compute engines
  • Seamless, zero-copy memory mapping to achieve high throughput
  • Easy interoperability with OpenCV
  • Python bindings (Developer Preview)
  • Sample applications to illustrate use of VPI algorithms
  • Performance benchmarks for every supported algorithm

Supported Algorithms

Image Processing

  • Gaussian Pyramid Generator
  • Laplacian Pyramid
  • Separable Image Convolver
  • Box Image Filter
  • Gaussian Image Filter
  • Bilateral Image Filter
  • Image Rescaling
  • Image Remapping
  • Image Histogram
  • Histogram Equalization
  • Fast Fourier Transform
  • Inverse Fast Fourier Transform
  • Image Format Converter
  • Perspective Warp
  • Background Subtraction
  • Lens Distortion Correction
  • Temporal Noise Reduction
  • Pyramidal LK Optical Flow

Disparity Estimation

  • Stereo Disparity

Feature Detector and Tracking

  • KLT Bounding Box Tracker
  • Harris Corners Detector
  • ColorNames Features Detector
  • Histogram of Oriented Gradients

Webinars and Blogs

VPI 1.1 and Python Bindings Overview

Learn about all the new features in VPI-1.1 included in JetPack 4.6, focusing on the recently added developer preview of Python bindings VPI. Register to webinar.

Implementing Computer Vision and Image Processing Solutions with VPI

Learn how to build a complete and efficient stereo disparity-estimation pipeline using VPI that runs on Jetson-family devices. View webinar >

Reducing Temporal Noise on Images with VPI

Shows how to run the Temporal Noise Reduction (TNR) sample application on the Jetson product family. Read blog >

Reference Information