VPI - Vision Programming Interface

1.2 Release

Release Notes v1.2

Release Highlights

  • New algorithms:
  • Updated algorithms:
    • Temporal Noise Reduction now allows to change preset and strength dynamically during algorithm submission, instead of once at payload creation. This allows for adjusting the algorithm output based on dynamic light conditions.
    • Pyramidal LK Optical Flow : Increased maximum number of iterations to 32.
  • Python updates:
    • Added KLT Feature Tracker support, with new sample application in Python.
    • Submit Python functions into a stream for asynchronous execution (vpi.execute).
    • Added user-created streams, allowing building of pipelines with parallel processing stages. See Stereo Disparity sample application in Python for an example of how to use it.
    • VPI can now be used inside a python thread.

API Updates

The new API is enabled by default. To compile code using vpi-1.1 API, define macro NV_VPI_VERSION_API to 1010000.

Other

Selected Bug Fixes

Known Issues

  • Performance tables not updated with vpi-1.2 benchmark results, they still show vpi-1.1 numbers.
  • Convert Image Format on CUDA might introduce a small error of at most 2 when compared with other backends.
  • PVA backend implementation of KLT Feature Tracker doesn't match CUDA and CPU's output. Tracking is lost more frequently.
  • PVA backend implementation of vpiSubmitConvolution currently doesn't work with 3264x2448 inputs, it returns an error instead.
  • Harris Corner Detector on PVA may return spurious keypoints when input image is larger than 1088x1088.
  • VPIImages created with vpiImageCreateHostMemWrapper might incur in performance hit when using them with algorithms running on CUDA backend. User should avoid wrappers in this case, preferring to use VPIImages allocated with vpiImageCreate.
  • Possible performance hit when using VPIImages created with vpiImageCreateCUDAMemWrapper in algorithms running in PVA, VIC and/or NVENC. User should avoid using wrappers in this case, preferring to use VPIImages allocated with vpiImageCreate.
  • Harris Corner Detector result scores/positions might differ among backends.
  • Temporal Noise Reduction and Perspective Warp samples' output image extension must be .avi on Ubuntu 16.04. Using .mp4 might lead to failures.
  • Stereo Disparity Estimator
    • output differs significantly between CPU and new CUDA backend implementation.
    • CUDA backend still uses the old implementation in existing programs linked against VPI-1.0 ABI. This behavior was chosen due to backward compatibility concerns.
    • On CPU backend and old CUDA backend (VPI-1.0 ABI), no checking on maximum disparity limit is being performed. It's recommended set maximum disparity to at most 64. Using a higher value leads to undefined behavior: too much memory is allocated, which may lead to system running out of memory.

Notices

Disclaimer

ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, "MATERIALS") ARE BEING PROVIDED "AS IS." NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication of otherwise under any patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all other information previously supplied. NVIDIA Corporation products are not authorized as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Trademarks

NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the U.S. and other countries. Other company and product names may be trademarks of the respective companies with which they are associated.

Copyright

© 2019-2022 NVIDIA Corporation. All rights reserved.