NVIDIA DeepStream SDK API Reference

9.2 Release
sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef CONFIG_PROPERTIES_H
19 #define CONFIG_PROPERTIES_H
20 
33  // Inference properties
34  std::string onnx_file = ""; // Path to the ONNX model file
35  std::string engine_file = ""; // Path to save/load the TensorRT engine file
36  std::string labels_file = ""; // Path to the labels file
37  int batch_size = 1; // Sparse4D model batch size
38  int num_sensors = 6; // Number of sensors [deepstream batch size]
39  bool enable_fp16 = false; // Whether to enable FP16 precision
40  bool force_engine_rebuild = false; // Whether to force rebuild the engine file even if it exists
41  bool feedback = true; // Feedback flag
42  bool partial_batch = true; // Whether to use partial batch for inference
43  int interval = 0; // Number of consecutive batches to be skipped for inference
44 
45  int gpu_id = 0; // Default to GPU 0 if not specified
46  int preprocessed_height = 512; // Height of preprocessed images
47  int preprocessed_width = 1408; // Width of preprocessed images
48 
49  // Anchor properties
50  int num_anchor = 900; // Number of anchors
51  int embed_dims = 256; // Dimension for embedding tensors
52  std::string anchor = ""; // Path to anchor file
53  std::string anchor_handler = ""; // Anchor handler name
54  int num_temp_instances = 600; // Number of temporal instances
55  float default_time_interval = 0.05f; // Default time interval for temporal anchor projection
56  float confidence_decay = 0.8f; // Confidence decay rate
57  bool anchor_grad = false; // Anchor gradient flag
58  bool feat_grad = false; // Feature gradient flag
59  int max_time_interval = 2; // Maximum time interval for temporal tracking
60  int reid_dims = -1; // Dimensions for re-identification features
61 
62 
63  // Decoder properties
64  int num_output = 600; // Number of outputs
65  float score_threshold = 0.05f; // Score threshold for decoding output
66 
67  // Performance properties
68  int num_torch_threads = 8; // Number of threads for PyTorch
69 
70  // Visualization properties
71  bool generate_3d_bbox = true; // Generate 3D bounding boxes for display
72  bool generate_2d_bbox = false; // Enable OCR inference
73  std::string bbox_color_mode = "class_id"; // Color mode for bounding boxes (class_id or instance_id)
74  bool display_class_labels = true; // Whether to display class labels
75  bool display_instance_ids = true; // Whether to display instance IDs
76  bool display_class_score = true; // Whether to display class confidence score
77  bool display_3d_bbox = false; // Whether to display 3D bounding boxes on frames
78  bool display_2d_bbox = false; // Whether to display 2D bounding boxes on frames
79 
80  // Calibration properties
81  std::string calib_file_path = ""; // Path to calibration file
82  std::string bev_group_name = ""; // BEV group name
83  std::string calib_mode = "synthetic"; // Calibration mode (synthetic, aic24, etc.)
84  bool use_camera_groups = true; // Whether to group cameras for multi-view fusion
85  bool recentering = true; // Whether to recalculate camera coordinates from a reference point
86 
87  // Augmentation configurations
89  float resize = 1.0f; // Resize factor for images
90  std::vector<int> resize_dims; // Dimensions after resizing [width, height]
91  std::vector<int> crop; // Crop parameters [x, y, width, height]
92  bool flip = false; // Whether to flip the image horizontally
93  float rotate = 0.0f; // Rotation angle in degrees
94  float rotate_3d = 0.0f; // 3D rotation angle in degrees
95  };
96 
97  AugmentationConfig aug_config; // Augmentation configuration
98 
99  // Debugging properties
100  std::string log_level = "error"; // Logging level: info, warn, error (persistent_info always displayed)
101  bool display_partial_batch_info = true; // Whether to display partial batch information
102  bool display_tensor_info = false; // Whether to display tensor information valid if silent is false
103  bool display_bbox_list_info = false; // Whether to display bboxlist information
104  int max_objects_to_display = 5; // Maximum number of objects to display in bboxlist
105  bool dump_frames = false; // Whether to dump frames for debugging
106  int dump_max_frames = 3; // Number of frames to dump for debugging purposes
107  std::string fixed_input_tensor_path = ""; // Path to fixed input tensor file
108  bool gpu_postprocess = true; // Whether to perform postprocessing (instance bank & decoder) on GPU
109  bool use_static_frame_num = true; // Whether to use plugin's own frame counter instead of parsed frame_num from batch meta
110 
111  // TensorRT properties
112  int trt_logger_severity = 2; // TensorRT logger severity level:
113  bool enable_profiler = false; // Whether to enable TensorRT layer profiling
114 
115  // Add more properties here as needed
116 };
117 
118 #endif /* CONFIG_PROPERTIES_H */
ConfigProperties::num_sensors
int num_sensors
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:38
ConfigProperties::confidence_decay
float confidence_decay
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:56
ConfigProperties::anchor_handler
std::string anchor_handler
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:53
ConfigProperties::anchor
std::string anchor
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:52
ConfigProperties::num_torch_threads
int num_torch_threads
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:68
ConfigProperties::partial_batch
bool partial_batch
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:42
ConfigProperties::reid_dims
int reid_dims
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:60
ConfigProperties::AugmentationConfig::resize_dims
std::vector< int > resize_dims
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:90
ConfigProperties::bev_group_name
std::string bev_group_name
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:82
ConfigProperties::AugmentationConfig::flip
bool flip
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:92
ConfigProperties::display_2d_bbox
bool display_2d_bbox
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:78
ConfigProperties::num_output
int num_output
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:64
ConfigProperties::score_threshold
float score_threshold
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:65
ConfigProperties::aug_config
AugmentationConfig aug_config
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:97
ConfigProperties::labels_file
std::string labels_file
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:36
ConfigProperties::feat_grad
bool feat_grad
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:58
ConfigProperties::enable_fp16
bool enable_fp16
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:39
ConfigProperties::interval
int interval
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:43
ConfigProperties::batch_size
int batch_size
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:37
ConfigProperties::num_anchor
int num_anchor
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:50
ConfigProperties::display_partial_batch_info
bool display_partial_batch_info
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:101
ConfigProperties::enable_profiler
bool enable_profiler
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:113
ConfigProperties::log_level
std::string log_level
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:100
ConfigProperties
Structure containing all configurable properties from the YAML config file.
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:32
ConfigProperties::preprocessed_height
int preprocessed_height
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:46
ConfigProperties::anchor_grad
bool anchor_grad
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:57
ConfigProperties::max_time_interval
int max_time_interval
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:59
ConfigProperties::generate_3d_bbox
bool generate_3d_bbox
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:71
ConfigProperties::num_temp_instances
int num_temp_instances
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:54
ConfigProperties::default_time_interval
float default_time_interval
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:55
ConfigProperties::display_class_labels
bool display_class_labels
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:74
ConfigProperties::embed_dims
int embed_dims
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:51
ConfigProperties::display_instance_ids
bool display_instance_ids
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:75
ConfigProperties::AugmentationConfig::rotate_3d
float rotate_3d
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:94
ConfigProperties::dump_max_frames
int dump_max_frames
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:106
ConfigProperties::use_camera_groups
bool use_camera_groups
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:84
ConfigProperties::preprocessed_width
int preprocessed_width
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:47
ConfigProperties::display_3d_bbox
bool display_3d_bbox
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:77
ConfigProperties::recentering
bool recentering
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:85
ConfigProperties::feedback
bool feedback
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:41
ConfigProperties::AugmentationConfig
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:88
ConfigProperties::generate_2d_bbox
bool generate_2d_bbox
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:72
ConfigProperties::display_bbox_list_info
bool display_bbox_list_info
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:103
ConfigProperties::bbox_color_mode
std::string bbox_color_mode
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:73
ConfigProperties::use_static_frame_num
bool use_static_frame_num
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:109
ConfigProperties::gpu_id
int gpu_id
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:45
ConfigProperties::display_class_score
bool display_class_score
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:76
ConfigProperties::engine_file
std::string engine_file
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:35
ConfigProperties::display_tensor_info
bool display_tensor_info
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:102
ConfigProperties::calib_mode
std::string calib_mode
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:83
ConfigProperties::calib_file_path
std::string calib_file_path
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:81
ConfigProperties::AugmentationConfig::resize
float resize
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:89
ConfigProperties::dump_frames
bool dump_frames
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:105
ConfigProperties::AugmentationConfig::rotate
float rotate
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:93
ConfigProperties::onnx_file
std::string onnx_file
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:34
ConfigProperties::max_objects_to_display
int max_objects_to_display
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:104
ConfigProperties::force_engine_rebuild
bool force_engine_rebuild
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:40
ConfigProperties::gpu_postprocess
bool gpu_postprocess
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:108
ConfigProperties::trt_logger_severity
int trt_logger_severity
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:112
ConfigProperties::fixed_input_tensor_path
std::string fixed_input_tensor_path
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:107
ConfigProperties::AugmentationConfig::crop
std::vector< int > crop
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/utils/config_properties.h:91