DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

src/dw/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 ## About This Module
6 
7 The Dense Optical Flow module estimates motion vectors between frames. This algorithm consists of multiple stages, and is performed on multiple hardware units:
8 - VIC (Video Image Compositor).
9 - NVIDIA NVENC (NVIDIA Video Encoder).
10 - PVA (Programmable Vision Accelerator).
11 
12 @note This module is currently only available on the NVIDIA DRIVE AGX Developer Kit, where these hardware units are present.
13 <br>
14 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()```.
15 
16 ### Stage 1: Data Preparation
17 
18 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.
19 
20 ### Stage 2: Motion Vector Estimation
21 
22 This is the main stage of the pipeline where the Dense Optical Flow is performed. This operation is performed on the NVIDIA NVENC.
23 
24 ### Stage 3: Motion Vector Refinement
25 
26 In this stage, the Motion Vectors are refined by applying a noise reduction filter. This operation is performed on the PVA.
27 
28 ### Stage 4: Retrieval of Results
29 
30 In this stage, the results are retrieved from PVA to GPU; hence, this stage blocks the CPU until the entire pipeline is finished.
31 
32 ## Relevant Tutorials
33 
34 - @ref denseopticalflow_usecase1
35 
36 ## APIs
37 
38 - @ref denseopticalflow_group