DriveWorks SDK Reference
3.0.4260 Release
For Test and Development only

imageprocessing/motion/denseopticalflow/docs/mainsection.md
Go to the documentation of this file.
1 # Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
2 
3 @page denseopticalflow_mainsection Dense Optical Flow
4 
5 @note SW Release Applicability: This module is available in both **NVIDIA DriveWorks** and **NVIDIA DRIVE Software** releases.
6 
7 ## About This Module
8 
9 The Dense Optical Flow module estimates motion vectors between frames. This algorithm consists of multiple stages, and is performed on multiple hardware units:
10 - VIC (Video Image Compositor).
11 - NVIDIA NVENC (NVIDIA Video Encoder).
12 - PVA (Programmable Vision Accelerator).
13 
14 @note This module is currently only available on the NVIDIA DRIVE AGX Developer Kit, where these hardware units are present.
15 <br>
16 The Dense Optical Flow pipeline is composed of four stages based on the hardware unit they are executed on. These stages are performed in order by calling ```dwDenseOpticalFlow_calculateOpticalFlow()```.
17 
18 ### Stage 1: Data Preparation
19 
20 This stage is responsible for preparing the input image by converting memory layout and/or streaming data to the relevant hardware unit. This operation is performed on the VIC.
21 
22 ### Stage 2: Motion Vector Estimation
23 
24 This is the main stage of the pipeline where the Dense Optical Flow is performed. This operation is performed on the NVIDIA NVENC.
25 
26 ### Stage 3: Motion Vector Refinement
27 
28 In this stage, the Motion Vectors are refined by applying a noise reduction filter. This operation is performed on the PVA.
29 
30 ### Stage 4: Retrieval of Results
31 
32 In this stage, the results are retrieved from PVA to GPU; hence, this stage blocks the CPU until the entire pipeline is finished.
33 
34 ## Relevant Tutorials
35 
36 - @ref denseopticalflow_usecase1
37 
38 ## APIs
39 
40 - @ref denseopticalflow_group