DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

perception/landmarks/camera/docs/usecase_roadmark_classification.md
Go to the documentation of this file.
1 # Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
2 
3 @page roadmark_classification_usecase Road Mark Classification Workflow
4 
5 The following code snippet shows the general structure of a program that uses roadmarknet classifier to classify detected road markings on a single camera. Note that error handling is left out for clarity.
6 
7 Initialize `RoadMarkNet` with default parameters:
8 ```{.cpp}
9 dwRoadMarkNetHandle_t roadMarkNet;
10 dwRoadMarkNetParams roadMarkNetParams{};
11 dwRoadMarkNet_initDefaultParams(&roadMarkNetParams, context);
12 dwRoadMarkNet_initialize(&roadMarkNet, &roadMarkNetParams, context);
13 ```
14 
15 Initialize `RoadMarkClasssifier` module from initialized `RoadMarkNet` handle, with parameters `classifierParams`:
16 ```{.cpp}
17 dwRoadMarkClassifierParams classifierParams = {};
18 dwRoadMarkClassifier_initDefaultParams(&classifierParams);
19 dwRoadMarkClassifierHandle_t roadMarkClassifier;
20 dwRoadMarkClassifier_initializeFromRoadMarkNet(
21  &roadMarkClassifier,
22  roadMarkNet,
23  &classifierParams,
24  context);
25 ```
26 
27 Bind inputs and output to the `RoadMarkClasssifier` module:
28 ```{.cpp}
29 dwRoadMarkClassifier_bindInputImageArray(&imageArray, imageCount, roadMarkClassifier);
30 dwRoadMarkClassifier_bindInputRoadmarkDetection(&roadmarkDetectionOutput, roadMarkClassifier);
31 dwRoadMarkClassifier_bindOutput(&roadmarkClassifierOutput, roadMarkClassifier);
32 ```
33 
34 Classify detected road markings from the provided inputs:
35 ```{.cpp}
36 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_PREPROCESSING, roadMarkClassifier);
37 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_INFERENCE, roadMarkClassifier);
38 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_GPU_ASYNC_INTERPRETATION, roadMarkClassifier);
39 dwRoadMarkClassifier_process(DW_ROADMARK_CLASSIFIER_STAGE_CPU_SYNC_POSTPROCESSING, roadMarkClassifier);
40 ```
41 
42 When finished, release the module handles:
43 ```{.cpp}
44 dwRoadMarkClassifier_release(roadMarkClassifier);
45 dwRoadMarkNet_release(roadMarkNet);
46 ```
47 
48 For more detailed workflow, please refer to the road mark classification sample: @ref dwx_roadmark_classification_sample