DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

MapNet.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) 2018-2019 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_DNN_MAPNET_H_
49 #define DW_DNN_MAPNET_H_
50 
51 #include <dw/core/Context.h>
52 #include <dw/dnn/DNN.h>
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
59 
62 typedef struct dwMapNetObject* dwMapNetHandle_t;
63 
64 // Maximum number of allowed heads in a MapNet model
65 #define MAPNET_HEAD_MAX_COUNT 10
66 
68 typedef enum {
86 
88 typedef enum {
96 } dwMapNetType;
97 
98 typedef struct dwMapNetParams
99 {
101  dwMapNetType mapNetType;
109  const void* networkCustomData;
111 
120 dwStatus dwMapNet_initDefaultParams(dwMapNetParams* params, dwMapNetType mapnetType, dwContextHandle_t ctx);
121 
133 dwStatus dwMapNet_initialize(dwMapNetHandle_t* mapNetHandle,
134  const dwMapNetParams* mapNetParams,
135  dwContextHandle_t ctx);
136 
145 dwStatus dwMapNet_reset(dwMapNetHandle_t obj);
146 
156 dwStatus dwMapNet_release(dwMapNetHandle_t obj);
157 
168 dwStatus dwMapNet_getInputBlobsize(dwBlobSize* inputBlobsize, dwMapNetHandle_t obj);
169 
181 dwStatus dwMapNet_getClassLabel(const char** classLabel, uint32_t classIdx, dwMapNetHandle_t obj);
182 
193 dwStatus dwMapNet_getDNNMetaData(dwDNNMetaData* metaData, dwMapNetHandle_t obj);
194 
195 #ifdef __cplusplus
196 }
197 #endif
198 
199 #endif // DW_DNN_MAPNET_H_
dwProcessorType processorType
Processor type. Supported processors: GPU, DLA (only on DDPX)
Definition: MapNet.h:107
Regression based detection model.
Definition: MapNet.h:92
DW_API_PUBLIC dwStatus dwMapNet_getClassLabel(const char **classLabel, uint32_t classIdx, dwMapNetHandle_t obj)
Returns the class label for a given class index.
DW_API_PUBLIC dwStatus dwMapNet_initDefaultParams(dwMapNetParams *params, dwMapNetType mapnetType, dwContextHandle_t ctx)
Initializes MapNet parameters with default values.
DW_API_PUBLIC dwStatus dwMapNet_initialize(dwMapNetHandle_t *mapNetHandle, const dwMapNetParams *mapNetParams, dwContextHandle_t ctx)
Initializes MapNet module.
struct dwMapNetObject * dwMapNetHandle_t
Handle to a MapNet object.
Definition: MapNet.h:62
dwMapNetType mapNetType
MapNet category type(segmentation, regressor, e2e)
Definition: MapNet.h:101
dwPrecision
Definition: Types.h:140
MapNet model that performs single-class lane detection on front camera.
Definition: MapNet.h:74
Loads custom MapNet model if available.
Definition: MapNet.h:84
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwMapNet_getInputBlobsize(dwBlobSize *inputBlobsize, dwMapNetHandle_t obj)
Returns input blob size that MapNet expects.
NVIDIA DriveWorks API: DNN Methods
End to end based detection model.
Definition: MapNet.h:94
dwStatus
Status definition.
Definition: Status.h:178
const void * networkCustomData
Custom network data. Must be set if custom model is selected and available.
Definition: MapNet.h:109
dwProcessorType
Processor type definitions.
Definition: Types.h:159
Holds blob dimensions.
Definition: Types.h:560
DW_API_PUBLIC dwStatus dwMapNet_reset(dwMapNetHandle_t obj)
Resets MapNet.
dwMapNetModel
MapNet network models to be loaded by MapNet module.
Definition: MapNet.h:68
MapNet model that performs multi-class lane detection on front camera.
Definition: MapNet.h:71
MapNet model that performs detection by end to end based approach.
Definition: MapNet.h:80
MapNet model that performs detection by regression.
Definition: MapNet.h:77
DW_API_PUBLIC dwStatus dwMapNet_release(dwMapNetHandle_t obj)
Releases the MapNet module.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
dwMapNetType
MapNet type.
Definition: MapNet.h:88
Specifies TensorRT model header.
Definition: DNN.h:69
dwPrecision networkPrecision
MapNet network precision. Default is DW_PRECISION_FP32.
Definition: MapNet.h:105
dwMapNetModel networkModel
MapNet network model. Default is DW_MAPNET_MODEL_FRONT_MULTI_CLASS.
Definition: MapNet.h:103
Segmentation based detection model.
Definition: MapNet.h:90
DW_API_PUBLIC dwStatus dwMapNet_getDNNMetaData(dwDNNMetaData *metaData, dwMapNetHandle_t obj)
Returns the DNN metadata.
#define DW_API_PUBLIC
Definition: Exports.h:56