NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-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 REIDLIB_REID_HPP_
19 #define REIDLIB_REID_HPP_
20 
21 #include <map>
22 #include <iterator>
23 #include <memory>
24 
25 #ifdef VIZ_DEBUG_REID
26 #include <opencv2/core.hpp>
27 #endif
28 
29 #include <NvInfer.h>
30 #include <NvOnnxParser.h>
31 #include "modules/ReID/IReID.hpp"
32 #include "modules/ReID/ReIDFeatureGallery.hpp"
33 #include "modules/ReID/ReIDFrameTransformTexture.hpp"
34 #include "modules/ReID/ReIDCropScaler.hpp"
35 #include "modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp"
36 #include "modules/NvMultiObjectTracker/NvTrackerParams.hpp"
37 #include "modules/FrameTransform/trtModule.hpp"
38 
41 {
42 public:
45 
52  ReIDConfigParams(const std::string &configFilePath, const std::string moduleName, const std::string submoduleName);
53 
58  ReIDConfigParams(const YAML::Node &fn);
59 
64  void read(const YAML::Node &fn) override;
65 
66  bool m_keepAspc;
72  int m_width;
73  int m_height;
74  int m_channel;
76  int m_gpuId;
80  size_t m_workspaceSize;
81  std::vector<int> m_inferDims;
82  std::vector<float> m_offsets;
88  #ifdef VIZ_DEBUG_REID
89  bool m_useExternalImages;
90  std::string m_extImagePath;
91  #endif
92 };
93 
95 class ReID : public IReID
96 {
97 public:
98 
103  ReID(const std::string &configFilePath);
104 
111  ReID(const std::string &configFilePath, const std::string &modelName, const bool calDisMaha=true);
112 
114  virtual ~ReID();
115 
122  void initializeRuntime(
123  const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream,
124  const std::shared_ptr<NvTrackedObjectManager> &targetManager
125  ) override;
126 
128  void initializeModel() override;
129 
134  void queryParams(NvMOTQuery &paramsQuery);
135 
142  void doInference(
143  const std::map<NvMOTStreamId, NvMOTFrame *>& inputMeta,
144  std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> &detectedObjects, const bool isForReAssoc
145  ) override;
146 
148  void update() override;
149 
154  void removeStream(const NvMOTStreamId videoStreamId) override;
155 
160  void outputReIDTensor(NvDsReidTensorBatch& reidTensorBatch) override;
161 
168  int outputTargetReIDInd(NvMOTStreamId streamId, uint targetInd) override;
169 
177  void outputTargetReIDObj(
178  NvMOTStreamId streamId, uint targetInd, NvDsReidTensorBatch& reidTensorBatch, NvDsObjReid& reidObj
179  ) override;
180 
181  #ifdef VIZ_DEBUG_REID
182 
187  void vizImagePatches(
188  const std::map<NvMOTStreamId, std::map<uint, cv::Mat > >& subImgs,
189  const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta
190  );
191 
193  void loadExtImagePatchesBatch();
194  #endif
195 
197  void getFeatures2Host();
198 
200  bool isModelInitialized() override { return m_isModelInit; }
201 
203  bool isRuntimeInitialized() override { return m_isRuntimeInit; }
204 
206  const REID_TYPES getReIDType() override { return m_params.m_reidType; }
207 
208 protected:
213  std::shared_ptr<ReIDFeatureGallery> m_reidFeatureGallery;
214  std::shared_ptr<NvTrackedObjectManager> m_targetManager;
215  // Debug timers.
216  #ifdef VIZ_DEBUG_REID
217  int m_extFrameNum;
218  double m_timeTotal;
219  int m_timeCnt;
220  #endif
227  std::map<NvMOTStreamId, std::vector<std::pair<uint, NvMotDataTypes::Rect2f>>> m_inputRoisInBatch;
228  std::shared_ptr<ReIDFrameTransformTexture> m_subImageCropper2;
229  std::shared_ptr<ReIDCropScaler> m_subImageCropScaler;
230  std::map<NvMOTStreamId, std::pair<float*, std::map<int, int>>> m_detObjReidFeatures;
231  std::map<NvMOTStreamId, std::map<int, int>> m_featureIndFrameNumMap;
232 
233  // [ReID network parameters]
238  std::vector<void*> m_bindings;
240 
241  // [ReID feature similarity computation]
254  cublasHandle_t m_cublasHandle;
255 
256  // [Mahalanobis distance thread]
257  std::shared_ptr<NvTrackerMultiThreadWorker<DisMahalanobisIn>> m_disMahaThreadWorker;
258 
265  const std::map<NvMOTStreamId, NvMOTFrame *>& inputMeta,
266  std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> &detectedObjects
267  );
268 
274  std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> &detectedObjects
275  );
276 
282  void removeTrackerReIDFeature(const NvMOTStreamId videoStreamId, const std::shared_ptr<NvTrackedObject> target);
283 
288  void computeReIDFeatureDist(const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta);
289 
295  void multiplyReIDFeatures(const int streamInd, const NvMOTStreamId videoStreamId);
296 
298  void normalizaReIDFeatures();
299 
305 };
306 
307 #endif // REIDLIB_REID_HPP_
ReID::m_cuStream
cudaStream_t m_cuStream
Cuda stream to run all GPU tasks.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:239
ReID::m_maxReidProductSizePerStream
int m_maxReidProductSizePerStream
Max reid CUDA mat size for each stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:242
ReID::initializeRuntime
void initializeRuntime(const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override
Initialize variables and allocate memories.
ReID::removeStream
void removeStream(const NvMOTStreamId videoStreamId) override
Remove a stream's reid features.
ReID::m_params
ReIDConfigParams m_params
Config params for reid module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:211
ReIDConfigParams::m_reidType
REID_TYPES m_reidType
Type of reid.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:84
ReID::doInference
void doInference(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects, const bool isForReAssoc) override
Extract ReID features from input images and save them in m_reidFeaturesDet_d.
ReID::m_inputBuf_h
float * m_inputBuf_h
Input patches to reid network.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:237
ReID::m_targetInds4Rois_h
int * m_targetInds4Rois_h
Target ind for each roi input.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:251
ReID::m_subImageCropScaler
std::shared_ptr< ReIDCropScaler > m_subImageCropScaler
Image crop scaler. Uses VPI crop scaler.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:229
ReID::getFeatures2Host
void getFeatures2Host()
Copy ReID features from device memory to host memory.
ReID::m_maxTargetsPerStream
int m_maxTargetsPerStream
Max number of targets to keep per stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:223
ReIDConfigParams::m_minVisibility4ReidOutput
float m_minVisibility4ReidOutput
Minimum visibility to output the reid features.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:79
ReID::m_bindings
std::vector< void * > m_bindings
Pointers to TensorRT tensors.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:238
ReID::m_targetWork_1_h
int * m_targetWork_1_h
Work space storing each target's info, size: m_maxTargetsToTrack.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:246
ReIDConfigParams::m_reidFeatureSize
int m_reidFeatureSize
Size of each reid feature.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:70
ReID::m_cublasHandle
cublasHandle_t m_cublasHandle
Cublas handle.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:254
ReID::m_outputInd
int m_outputInd
The index of pointer to output tensor.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:235
ReID::m_targetInds4Rois_d
int * m_targetInds4Rois_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:251
ReID::m_inference
TrtModule m_inference
TensorRT module that runs the reid network.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:212
REID_TYPES
REID_TYPES
Types of ReID usage.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/IReID.hpp:27
ReID::m_reidProductSize_d
int2 * m_reidProductSize_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:245
ReID::m_inputRoisInBatch
std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > m_inputRoisInBatch
Reid input rois to crop.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:227
ReIDConfigParams::m_workspaceSize
size_t m_workspaceSize
Work space for reid network in MiB.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:80
ReID::normalizaReIDFeatures
void normalizaReIDFeatures()
Normalize ReID network output to ensure l2 norm equals to 1.
cudaStream_t
struct CUstream_st * cudaStream_t
Forward declaration of cudaStream_t.
Definition: includes/nvbufsurftransform.h:40
ReID::m_targetWork_3_h
int * m_targetWork_3_h
Work space storing each target's info, size: m_maxTargetsToTrack.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:248
ReIDConfigParams::m_channel
int m_channel
Input image patch channel.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:74
ReID::~ReID
virtual ~ReID()
Release resources owned by the ReID instance.
_NvDsObjReid
Holds Reid Vector information for an object.
Definition: includes/nvds_tracker_meta.h:164
ReID::multiplyReIDFeatures
void multiplyReIDFeatures(const int streamInd, const NvMOTStreamId videoStreamId)
Compute dot products between detection and gallery ReID features.
ReIDConfigParams::m_gpuId
int m_gpuId
Gpu id.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:76
ReIDConfigParams::m_useSegmentationMask4Input
bool m_useSegmentationMask4Input
Multiply input patches with segmentation mask, so background is set as zero.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:86
ReIDConfigParams::m_maxBatchSize
int m_maxBatchSize
Maximum batch size for reid network.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:69
uint
unsigned int uint
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:25
ReID::initializeModel
void initializeModel() override
Create TensorRT inference engine; if engine does not exist, serialize from model file.
ReID::isModelInitialized
bool isModelInitialized() override
Report whether the inference model is initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:200
ReID::ReID
ReID(const std::string &configFilePath)
Construct a ReID instance from configuration.
ReID::m_targetManager
std::shared_ptr< NvTrackedObjectManager > m_targetManager
Target manager providing target status to update feature gallery.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:214
ReID::m_reidProductSize_h
int2 * m_reidProductSize_h
Actual number of re-id products in each stream; x: NumOfFeaturesInGalleryThisStream,...
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:245
ReIDConfigParams::m_colorFormat
NvBufSurfaceColorFormat m_colorFormat
Color format of input to reid network.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:83
ReIDConfigParams::m_keepAspc
bool m_keepAspc
Keep original aspect ratio when rescaling.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:66
ReID::m_normFeatureCudaBlockSize
int m_normFeatureCudaBlockSize
Cuda block size for reid feature normalization.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:253
ReID::m_targetWork_3_d
int * m_targetWork_3_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:248
ReIDConfigParams::m_height
int m_height
Input image patch height.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:73
ReID::update
void update() override
Update ReID feature gallery after data association.
ReID::isRuntimeInitialized
bool isRuntimeInitialized() override
Report whether runtime resources are initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:203
ReID::outputTargetReIDInd
int outputTargetReIDInd(NvMOTStreamId streamId, uint targetInd) override
Output a target's ReID vector index in the batch tensor.
ReID::m_targetReidFeatureInds_d
int * m_targetReidFeatureInds_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:244
ReID::m_detObjReidFeatures
std::map< NvMOTStreamId, std::pair< float *, std::map< int, int > > > m_detObjReidFeatures
Mapping each detected object to its reid features : {streamId, <each stream's reid features beginning...
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:230
ReID::m_isModelInit
bool m_isModelInit
Reid status if reid model initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:209
ReID::m_targetWork_1_d
int * m_targetWork_1_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:246
ReIDConfigParams::m_useVPICropScaler
bool m_useVPICropScaler
Use VPI crop scaler instead of in built crop scaler.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:85
ReID::m_targetWork_2_h
int * m_targetWork_2_h
Work space storing each target's info, size: m_maxTargetsToTrack.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:247
ReID::m_targetWork_2_d
int * m_targetWork_2_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:247
ReID::m_isRuntimeInit
bool m_isRuntimeInit
Reid status if runtime variables initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:210
TrtModule
TRT module to perform various deep learning inference.
Definition: sources/libs/nvmultiobjecttracker/include/modules/FrameTransform/trtModule.hpp:137
ReID::m_featureIndFrameNumMap
std::map< NvMOTStreamId, std::map< int, int > > m_featureIndFrameNumMap
Frame number of each gallery reid feature, keyed by stream and global feature index.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:231
ReID::m_inputInd
int m_inputInd
The index of pointer to input tensor.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:234
ReIDConfigParams::ReIDConfigParams
ReIDConfigParams()
Construct a ReIDConfigParams instance.
ReID::m_reidProduct_d
float * m_reidProduct_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:243
ReID::m_inputRoisInBatch_d
float4 * m_inputRoisInBatch_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:250
ReIDConfigParams::read
void read(const YAML::Node &fn) override
Load configuration values from a YAML node.
ReIDConfigParams::m_minVisibility4GalleryUpdate
float m_minVisibility4GalleryUpdate
Add ReID embedding to the gallery only if the visibility is not lower than this.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:78
NvTrackerParams
Provides common loading helpers for tracker configuration parameters.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackerParams.hpp:35
ReIDConfigParams::m_offsets
std::vector< float > m_offsets
List of mean values of color components to be subtracted from input.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:82
ReIDConfigParams::m_width
int m_width
Input image patch width.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:72
NvMOTStreamId
uint64_t NvMOTStreamId
Definition: includes/nvdstracker.h:53
ReID::m_inputBuf_d
float * m_inputBuf_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:237
ReIDConfigParams::m_debugVerboseLevel
int m_debugVerboseLevel
Debug message verbose mode level.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:87
ReID
ReID module to extract deep ReID features from input frames and detected bounding boxes and save them...
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:95
ReIDConfigParams::m_inputOrder
int m_inputOrder
Input dimension order: 0: NCHW, 1: NHWC.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:71
ReID::m_inputRoisInBatch_h
float4 * m_inputRoisInBatch_h
Reid input rois to crop stored in a continuous array.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:250
_NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
Definition: includes/nvdstracker.h:420
ReID::m_reidFeaturesDet_h
float * m_reidFeaturesDet_h
Output features in a batch from reid network.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:236
ReID::m_numBboxes
int m_numBboxes
Number of detected boxes in the current batch tracker recieved.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:225
ReID::m_reidProduct_h
float * m_reidProduct_h
Dot products between detection and gallery reid features of each stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:243
ReID::getReIDType
const REID_TYPES getReIDType() override
Get the configured ReID implementation type.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:206
ReID::computeReIDFeatureDist
void computeReIDFeatureDist(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
Compute reid feature distance between detection and trackers.
ReID::m_maxTargetsToTrack
int m_maxTargetsToTrack
Max number of targets to keep for all streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:222
ReID::m_reidFeatureGallery
std::shared_ptr< ReIDFeatureGallery > m_reidFeatureGallery
ReID feature gallery for target management.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:213
ReID::outputReIDTensor
void outputReIDTensor(NvDsReidTensorBatch &reidTensorBatch) override
Output the ReID tensor of a batch.
ReID::generateImagePatchesWithSegmentationMask
void generateImagePatchesWithSegmentationMask(std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects)
Multiply segmentation mask with image patches for ReID input.
ReIDConfigParams
Stores configuration for a ReID inference module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:40
ReID::queryParams
void queryParams(NvMOTQuery &paramsQuery)
Populate the capabilities reported to the tracker.
ReID::computeMahalanobisDist
void computeMahalanobisDist(DisMahalanobisIn in)
Compute Mahalanobis distance for NvDeepSORT tracker.
ReID::removeTrackerReIDFeature
void removeTrackerReIDFeature(const NvMOTStreamId videoStreamId, const std::shared_ptr< NvTrackedObject > target)
Removed a target's all reid features.
IReID
Defines the interface for extracting and managing ReID features.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/IReID.hpp:36
ReIDConfigParams::m_outputReidTensor
bool m_outputReidTensor
Whether to output reid tensor.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:68
ReID::m_targetReidFeatureInds_h
int * m_targetReidFeatureInds_h
Tracked objects' list of re-id feature gallery inds, size: m_maxTargetsToTrack x m_reidHistorySize.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:244
NvMotDataTypes::Size
Represents a two-dimensional integer size.
Definition: sources/libs/nvmultiobjecttracker/include/modules/utility/dataTypes.hpp:52
SourceFrameInfo
Information about the input source frames for the input frame batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:49
ReID::m_subImageCropper2
std::shared_ptr< ReIDFrameTransformTexture > m_subImageCropper2
Image cropper, may share with visual tracker in the future.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:228
ReIDConfigParams::m_reidHistorySize
int m_reidHistorySize
Max number of reid features per object.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:75
DisMahalanobisIn
std::pair< const std::map< NvMOTStreamId, NvMOTFrame * > *, std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > * > DisMahalanobisIn
Input data structure to compute Mahalanobis distance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:340
ReID::m_nearestIndReidDetTargets_d
int * m_nearestIndReidDetTargets_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:252
ReID::m_confidenceReidDetTargets_h
float * m_confidenceReidDetTargets_h
Re-id similarity between each target and detection after taking nearest neighbors,...
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:249
ReID::m_calDisMaha
bool m_calDisMaha
If the module needs to compute Mahalanobis distance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:221
ReID::m_confidenceReidDetTargets_d
float * m_confidenceReidDetTargets_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:249
ReIDConfigParams::m_inferDims
std::vector< int > m_inferDims
Reid input dimension.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:81
ReID::extractImagePatchesBatch
void extractImagePatchesBatch(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects)
Crop input frames using detected bboxes and rescale them as ReID network input size.
ReID::m_nearestIndReidDetTargets_h
int * m_nearestIndReidDetTargets_h
Targets' nearest neighbor index in reid features.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:252
ReIDConfigParams::m_addFeatureNormalization
bool m_addFeatureNormalization
Whether to perform additional feature normalization for network output features.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:67
ReID::m_reidFeaturesDet_d
float * m_reidFeaturesDet_d
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:236
NvBufSurfaceColorFormat
NvBufSurfaceColorFormat
Defines color formats for NvBufSurface.
Definition: includes/nvbufsurface.h:110
ReIDConfigParams::m_netScaleFactor
float m_netScaleFactor
Input normalization factor.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:77
_NvDsReidTensorBatch
ReID tensor of the batch.
Definition: includes/nvds_tracker_meta.h:128
ReID::outputTargetReIDObj
void outputTargetReIDObj(NvMOTStreamId streamId, uint targetInd, NvDsReidTensorBatch &reidTensorBatch, NvDsObjReid &reidObj) override
Output a target's ReID vector information.
ReID::m_maxStreams
int m_maxStreams
Max number of streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:224
ReID::m_disMahaThreadWorker
std::shared_ptr< NvTrackerMultiThreadWorker< DisMahalanobisIn > > m_disMahaThreadWorker
Mahalanobis distance thread.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:257
ReID::m_srcImageSize
NvMotDataTypes::Size m_srcImageSize
Tracker library frame size.
Definition: sources/libs/nvmultiobjecttracker/include/modules/ReID/ReID.hpp:226