Accelerate Computing Vision and Image Processing Using VPI 1.1 by Rodolfo Lima
Accelerate Computing Vision and Image Processing Using VPI 1.1 by Rodolfo Lima
Introduction to VPI
Quick introduction to VPI and what it is used for
2
INTRODUCTION TO VPI
3
VISION PROGRAMING INTERFACE - VPI
NVIDIA's next-gen API for high-performance Computer Vision processing
Create efficient Computer Vision pipelines with all computing accelerators GPU
NvEnc
First time exposing PVA and VIC processors for general use CPU
4
COMPUTING PIPELINE EXAMPLE
Stereo Disparity Estimation
VIC
Stereo Disparity Estimation Pipeline
VPI
L LDC +
CUDA
Stereo Camera
NV12->U16
downscale
PVA
PVA NvEnc
Stereo
Stereo Optical
postprocess
preprocess Flow
+ upscale
VIC
CUDA
LDC +
R downscale
NV12->U16
CUDA
OpenGL
Depth Map
Display
from Disparity
5
ALGORITHMS
Overview
7
NEW FEATURES OF VPI 1.1
8
NEW ALGORITHMS
Background Subtraction
10
NEW ALGORITHMS
Dense Optical Flow
11
NEW ALGORITHMS
Laplacian Pyramid Generator
Input
Used for image decomposition into frequency bands
12
STEREO DISPARITY ESTIMATION
New CUDA / PVA+NVENC+VIC backend implementations
13
PYTHON BINDINGS
Easier interface to VPI
14
VPI PYTHON PROGRAMING
15
PROGRAMMING MODEL
How VPI Python looks
Supports Python 2.7 and 3.6. Edge detection with Sobel filter
16
CREATING IMAGES
Allocating new images or wrapping existing ones
17
CREATING ARRAYS AND PYRAMIDS
Allocating new arrays and pyramids, or wrapping existing arrays
18
USING ALGORITHMS
Specify execution backend
19
USING ALGORITHMS
Composition
20
USING RESULTS
Lock memory buffers
21
MORE EXAMPLES
Excerpts from online documentation
22
Q&A