DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

RoadMarkNet.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2020 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
48 #ifndef DW_ROADMARKNET_H_
49 #define DW_ROADMARKNET_H_
50 
51 #include <dw/core/Context.h>
52 #include <dw/dnn/DNN.h>
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
60 
63 typedef struct dwRoadMarkNetObject* dwRoadMarkNetHandle_t;
64 
65 // Max classes and sub classes that RoadMarkNet can predict.
66 #define DW_ROADMARK_MAX_OUTPUT_TYPES 64
67 
71 typedef enum {
72  // RoadMarkNet model for US.
74  // Number of RoadMarkNet models.
76  // Loads custom RoadMarkNet model if available.
77  // Network name must be provided in networkCustomData field in dwRoadMarkNetParams
80 
84 typedef enum dwRoadMarkNetBatchSize {
90 
94 typedef struct dwRoadMarkNetParams
95 {
105  const void* networkCustomData;
107 
120  dwContextHandle_t ctx);
121 
138 dwStatus dwRoadMarkNet_initialize(dwRoadMarkNetHandle_t* roadMarkNetHandle,
139  const dwRoadMarkNetParams* roadMarkNetParams,
140  dwContextHandle_t ctx);
141 
152 dwStatus dwRoadMarkNet_reset(dwRoadMarkNetHandle_t obj);
153 
166 dwStatus dwRoadMarkNet_release(dwRoadMarkNetHandle_t obj);
167 
180 dwStatus dwRoadMarkNet_getInputBlobsize(dwBlobSize* inputBlobsize, dwRoadMarkNetHandle_t obj);
181 
195 dwStatus dwRoadMarkNet_getClassLabel(const char** classLabel, dwRoadmarkType roadmarkType, dwRoadMarkNetHandle_t obj);
196 
209 dwStatus dwRoadMarkNet_getDNNMetaData(dwDNNMetaData* metaData, dwRoadMarkNetHandle_t obj);
210 
211 #ifdef __cplusplus
212 }
213 #endif
214 
215 #endif // DW_ROADMARKNET_H_
RoadMarkNet network is loaded with batch size = 16 if available.
Definition: RoadMarkNet.h:86
dwRoadmarkType
Describes roadmark types.
DW_API_PUBLIC dwStatus dwRoadMarkNet_getDNNMetaData(dwDNNMetaData *metaData, dwRoadMarkNetHandle_t obj)
Returns the DNN metadata.
DW_API_PUBLIC dwStatus dwRoadMarkNet_initialize(dwRoadMarkNetHandle_t *roadMarkNetHandle, const dwRoadMarkNetParams *roadMarkNetParams, dwContextHandle_t ctx)
Initializes RoadMarkNet module.
RoadMarkNet network is loaded with batch size = 1 if available.
Definition: RoadMarkNet.h:85
DW_API_PUBLIC dwStatus dwRoadMarkNet_getClassLabel(const char **classLabel, dwRoadmarkType roadmarkType, dwRoadMarkNetHandle_t obj)
Returns the class label for a given class index.
dwRoadMarkNetModel networkModel
RoadMarkNet network model. Default is DW_ROADMARKNET_MODEL_US_V0.
Definition: RoadMarkNet.h:97
dwPrecision
Definition: Types.h:140
DW_API_PUBLIC dwStatus dwRoadMarkNet_reset(dwRoadMarkNetHandle_t obj)
Resets RoadMarkNet.
NVIDIA DriveWorks API: Core Methods
struct dwRoadMarkNetObject * dwRoadMarkNetHandle_t
Handle to a RoadMarkNet object.
Definition: RoadMarkNet.h:63
dwRoadMarkNetBatchSize batchSize
RoadMarkNet network batch size. Default is DW_ROADMARKNET_BATCH_SIZE_32.
Definition: RoadMarkNet.h:101
NVIDIA DriveWorks API: DNN Methods
dwStatus
Status definition.
Definition: Status.h:178
dwPrecision networkPrecision
RoadMarkNet network precision. Default is based on GPU type.
Definition: RoadMarkNet.h:99
dwProcessorType
Processor type definitions.
Definition: Types.h:159
Holds blob dimensions.
Definition: Types.h:560
dwRoadMarkNetBatchSize
Network batch size options for RoadMarkNet.
Definition: RoadMarkNet.h:84
dwProcessorType processorType
Processor type. Supported processors: GPU, DLA (only on DDPX). Default is GPU.
Definition: RoadMarkNet.h:103
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
DW_API_PUBLIC dwStatus dwRoadMarkNet_getInputBlobsize(dwBlobSize *inputBlobsize, dwRoadMarkNetHandle_t obj)
Returns input blob size that RoadMarkNet expects.
Specifies TensorRT model header.
Definition: DNN.h:69
dwRoadMarkNetModel
Network models to be loaded by RoadMarkNet module.
Definition: RoadMarkNet.h:71
RoadMarkNet model parameters.
Definition: RoadMarkNet.h:94
NVIDIA DriveWorks API: Landmark Detector Methods
DW_API_PUBLIC dwStatus dwRoadMarkNet_release(dwRoadMarkNetHandle_t obj)
Releases the RoadMarkNet module.
const void * networkCustomData
Custom network data. Must be set if custom model is selected and available.
Definition: RoadMarkNet.h:105
RoadMarkNet network is loaded with batch size = 32 if available.
Definition: RoadMarkNet.h:87
RoadMarkNet network is loaded with batch size = 64 if available.
Definition: RoadMarkNet.h:88
#define DW_API_PUBLIC
Definition: Exports.h:56
DW_API_PUBLIC dwStatus dwRoadMarkNet_initDefaultParams(dwRoadMarkNetParams *roadMarkNetParams, dwContextHandle_t ctx)
Initializes RoadMarkNet parameters with default values.