VPI - Vision Programming Interface

3.2 Release

VPI-3.0.10

VPI-3.0.10 is the first production release of VPI-3.0 branch. It contains several new algorithms and bug fixes.

Documentation

Link to documentation for release VPI-3.0

Release Highlights

  • New algorithms:
  • Brute Force Matcher :
    • Added implementation on CUDA backend.
    • Significant improved performance on CPU backend by making use of all CPU cores available and further improvements in algorithm complexity when doing cross-check.
  • Dense Optical Flow :
    • Expose more parameters from SGM algorithm OFA implementation, to allow fine-tuning of output quality. See VPIOpticalFlowDenseSGMParams and related new APIs.
    • Increased supported pyramid levels from 5 to 7, allowing detection of flow across larger areas.
  • Python API:
    • Binaries for python 3.9 and 3.10.
    • Deployment of VPI's python source code so that it can be compiled for other Python versions.
  • Supported x86 platforms:
    • x86 Ubuntu 20.04 and 22.04
    • Jetson boards:
      • AGX Orin DevKit
      • AGX Orin 32/64GB/JAOi
      • Orin NX 16/8GB
      • Orin Nano 8/4GB
      • Orin Nano DevKit

Other Updates

Selected Bug Fixes

  • Fixed segfault with python bindings when importing modules like torch after vpi's.

Removed Features

  • Temporal Noise Reduction :
    • TNRv2 on VIC backend is no longer supported.
  • Stereo Disparity Estimator :
    • Removed the following backends:
      • CPU-only, PVA-only, PVA+NVENC+VIC.
  • GUI demos have been removed.
  • Xavier devices are no longer supported.
  • Dropped support for CUDA-11.x. Only CUDA 12.x is supported now.
  • Dropped support for Ubuntu 18.04

Known Issues

  • Host images wrapped into VPIImages using vpiImageCreateWrapper might incur in a 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 CUDA images wrapped into VPIImages using vpiImageCreateWrapper in algorithms running in PVA, VIC and/or OFA. 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.
  • Stereo Disparity Estimator
    • The confidence map generated by OFA+PVA+VIC backend might have some negligible differences with respect to other backends.
  • Performance hit using Dense Optical Flow on python due re-creating the payload at every call.
  • Per-algorithm performance tables weren't updated, they still refer to performance from vpi-2.0.
  • Attention
    Algorithms running on PVA backend won't work inside a docker container. Submission calls will return error VPI_ERROR_INTERNAL .