NVIDIA DeepStream SDK API Reference

9.2 Release
VisualTracker Class Reference

Detailed Description

Tracks objects with a CUDA discriminative correlation filter.

Definition at line 150 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

Inheritance diagram for VisualTracker:
Collaboration diagram for VisualTracker:

Public Member Functions

 VisualTracker (const std::string &configFilePath)
 Construct from a configuration file path. More...
 
virtual ~VisualTracker ()
 Release CUDA DCF tracker resources. More...
 
void initialize (const SourceFrameInfo &frameInfo, const uint maxTargetsToTrack, const uint maxDetectorBboxesPerFrame, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override
 Initialize variables and allocate memories. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate the visual tracker's capability query. More...
 
void localize (const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta, const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects) override
 Localize tracked targets and evaluate nearby detections across an input batch. More...
 
void update (const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta) override
 Update each target's correlation-filter model from an input batch. More...
 
bool isInitialized () override
 Report whether tracker initialization completed. More...
 
const VISUAL_TRACKER_TYPES getVisualTrackerType () override
 Return the configured visual tracker type. More...
 
void updateParams (const YAML::Node &fn)
 Update any Dynamic Params as provided during runtime by the user. More...
 
 VisualTracker (const std::string &configFilePath)
 Construct from a configuration file path. More...
 
virtual ~VisualTracker ()
 Release CUDA DCF tracker resources. More...
 
void initialize (const SourceFrameInfo &frameInfo, const uint maxTargetsToTrack, const uint maxDetectorBboxesPerFrame, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override
 Initialize variables and allocate memories. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate the visual tracker's capability query. More...
 
void localize (const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta, const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects) override
 Localize tracked targets and evaluate nearby detections across an input batch. More...
 
void update (const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta) override
 Update each target's correlation-filter model from an input batch. More...
 
bool isInitialized () override
 Report whether tracker initialization completed. More...
 
const VISUAL_TRACKER_TYPES getVisualTrackerType () override
 Return the configured visual tracker type. More...
 
void updateParams (const YAML::Node &fn)
 Update any Dynamic Params as provided during runtime by the user. More...
 

Protected Member Functions

void checkInputOutput (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Check the input and find the detection interval. More...
 
void updateData4Processing (const int lastTrackerInd)
 Adjust processing dimensions after the active tracker count changes. More...
 
void allocateCudaMemories ()
 Pre-allocate required cuda memories on GPU. More...
 
void makeBatchAndSendFloatMatToDevice (const NvMotDataTypes::RowMajorMatrixXf &srcMat, void *devMem, uint batchSize, float *workarea_host)
 Duplicate one host matrix into a batched float buffer and copy it to the device. More...
 
void updateLocalizationResults (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Update target states from their correlation responses. More...
 
Eigen::Vector2f convertSrcImgCoordToCorrRespCoord (const NvMotDataTypes::Rect2f &roi, const Eigen::Vector2f pt_img) const
 Map a source-image point into a tracker's correlation-response coordinates. More...
 
void cudaCalculateResponse (float *ftrs)
 Given the Fourier-transformed extracted features and the learned filters, compute the correlation response. More...
 
void getDetectorBboxCorrelationResponses (const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects)
 Retrieve each tracker's correlation response at nearby detector bounding boxes. More...
 
void cudaFilterUpdate (const float *ftrs)
 Create and update the DCF filter. More...
 
int getCufftPlanId (int num_target)
 Select a cuFFT plan large enough for the requested target count. More...
 
float getTemplateRescaleRatio (const NvMotDataTypes::Rect2f &roi) const
 Compute the scale that maps a search region to the fixed feature-image size. More...
 
float * extractVisualFeatures (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const bool isForLocalization)
 Extract a batched visual feature vector for localization or model update. More...
 
void checkInputOutput (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Check the input and find the detection interval. More...
 
void updateData4Processing (const int lastTrackerInd)
 Adjust processing dimensions after the active tracker count changes. More...
 
void allocateCudaMemories ()
 Pre-allocate required cuda memories on GPU. More...
 
void makeBatchAndSendFloatMatToDevice (const NvMotDataTypes::RowMajorMatrixXf &srcMat, void *devMem, uint batchSize, float *workarea_host)
 Duplicate one host matrix into a batched float buffer and copy it to the device. More...
 
void updateLocalizationResults (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Update target states from their correlation responses. More...
 
Eigen::Vector2f convertSrcImgCoordToCorrRespCoord (const NvMotDataTypes::Rect2f &roi, const Eigen::Vector2f pt_img) const
 Map a source-image point into a tracker's correlation-response coordinates. More...
 
void cudaCalculateResponse (float *ftrs)
 Given the Fourier-transformed extracted features and the learned filters, compute the correlation response. More...
 
void getDetectorBboxCorrelationResponses (const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects)
 Retrieve each tracker's correlation response at nearby detector bounding boxes. More...
 
void cudaFilterUpdate (const float *ftrs)
 Create and update the DCF filter. More...
 
int getCufftPlanId (int num_target)
 Select a cuFFT plan large enough for the requested target count. More...
 
float getTemplateRescaleRatio (const NvMotDataTypes::Rect2f &roi) const
 Compute the scale that maps a search region to the fixed feature-image size. More...
 
float * extractVisualFeatures (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const bool isForLocalization)
 Extract a batched visual feature vector for localization or model update. More...
 

Protected Attributes

bool m_isInit
 Indicates whether tracker initialization completed. More...
 
VisualTrackerConfigParams m_params
 Config params for visual tracker module. More...
 
VisualTrackerRunTimeParams m_paramsRt
 Config params for visual tracker module. More...
 
std::map< NvMOTStreamId, NvMOTFrame * > m_inputMeta
 Hold the input metadata. More...
 
std::shared_ptr< NvTrackedObjectManager > m_targetManager
 Target manager. More...
 
FeatureExtractor m_featureExtractor
 Feature extractor that performs bbox cropping, scaling, and compose a feature vec batch. More...
 
std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > m_featureRoisInBatch
 Trackers' search regions as ROI for feature extraction. More...
 
uint m_cufftPlanSize
 Number of cuFFT plans. More...
 
cudaStream_t m_cudaStream
 CUDA stream used for tracker operations. More...
 
cufftHandle * m_cufftHandle_C2R_perCh
 Cufft handler for all the batch elements (i.e., (# of elements in single feature mat) * (# of features channels) * (# of trackers)). More...
 
cufftHandle * m_cufftHandle_C2R_perObj
 Cufft handler for a smaller subset (i.e., (# of elements in single feature mat) * (# of trackers)). More...
 
cufftHandle * m_cufftHandle_R2C_perCh
 Cufft R2C handle for all the batch elements (i.e., (# of elements in single feature mat) * (# of features channels) * (# of trackers)). More...
 
void * m_cufftWorkspce
 Cufft workspace memory on device. More...
 
cufftComplex * m_ftrs_F
 Extracted features in a batched Fourier-space CUDA buffer. More...
 
cufftComplex * m_desiredResp_F
 Desired response in a batched Fourier-space CUDA buffer. More...
 
cufftComplex * m_dcfFilter_F
 Learned filter in a batched Fourier-space CUDA buffer. More...
 
cufftComplex * m_work_F_1
 First temporary batched complex workspace. More...
 
cufftComplex * m_work_F_2
 Second temporary batched complex workspace. More...
 
float * m_maskingWindow4Src
 Masking window for input image feature (a Batch CUDA memory buffer). More...
 
float * m_maskingWindow4Model
 Masking window for the model for filter learning (a Batch CUDA memory buffer). More...
 
float * m_maskingSegWindow4Model
 Masking window for the model for filter learning (a Batch CUDA memory buffer). More...
 
float * m_corrResponses_d
 The correlation response maps for targets (a Batch CUDA memory buffer). More...
 
float * m_channelWeights
 The adaptive filter weights for the channels on device (a Batch CUDA memory buffer). More...
 
float * m_channelWeightSum
 The filter weight sums used for filter weight normalization, but play as a workplace only (a Batch CUDA memory buffer). More...
 
float * m_work_I
 A temporary work space for float (a Batch CUDA memory buffer). More...
 
bool * m_trackerDoProcessing_h
 
bool * m_trackerDoProcessing_d
 True when this tracker is updated for this batch. More...
 
uint * m_detectorBboxes_size_h
 
uint * m_detectorBboxes_size_d
 The number of detector bbox candidate for each target. More...
 
uint32_t * m_trackerAge_h
 
uint32_t * m_trackerAge_d
 Tracker age. More...
 
float2 * m_targetDisplacement2D_h
 
float2 * m_targetDisplacement2D_d
 The target displacement in correlation response (a Batch CUDA memory buffer). More...
 
detectorBbox_t * m_detectorBboxes_h
 
detectorBbox_t * m_detectorBboxes_d
 The detector bbox center points to be looked up at each tracker's correlation response. More...
 
float * m_confidenceAtDetectedPt_h
 
float * m_confidenceAtDetectedPt_d
 Tracking confidence at each detector bbox center. More...
 
float * m_corrResponseAtDetectedPt_h
 
float * m_corrResponseAtDetectedPt_d
 Correlation response at each detector bbox center. More...
 
float * m_maxCorrResponse_h
 
float * m_maxCorrResponse_d
 The max correlation response for targets (a Batch CUDA memory buffer). More...
 
float * m_maxCorrResponse_ma_d
 
float * m_maxCorrResponse_ma_h
 The moving average of the max corr resp. More...
 
float * m_trackingConfidence_d
 
float * m_trackingConfidence_h
 The tracking confidence derived from the instant and the moving average of the max corr resp. More...
 
float4 * m_maskSegRois_h
 
float4 * m_maskSegRois_d
 Filter ROI to crop segmentation masks. More...
 
bool * m_trackerUseMaskSeg_h
 
bool * m_trackerUseMaskSeg_d
 True when this tracker is updated for this batch. More...
 
cudaEvent_t m_eventStart
 Event start point for GPU timers. More...
 
cudaEvent_t m_eventStop
 Event stop point for GPU timers. More...
 

Constructor & Destructor Documentation

◆ VisualTracker() [1/2]

VisualTracker::VisualTracker ( const std::string &  configFilePath)

Construct from a configuration file path.

Parameters
[in]configFilePathThe path to the configuration file.

◆ ~VisualTracker() [1/2]

virtual VisualTracker::~VisualTracker ( )
virtual

Release CUDA DCF tracker resources.

◆ VisualTracker() [2/2]

VisualTracker::VisualTracker ( const std::string &  configFilePath)

Construct from a configuration file path.

Parameters
[in]configFilePathThe path to the configuration file.

◆ ~VisualTracker() [2/2]

virtual VisualTracker::~VisualTracker ( )
virtual

Release CUDA DCF tracker resources.

Member Function Documentation

◆ allocateCudaMemories() [1/2]

void VisualTracker::allocateCudaMemories ( )
protected

Pre-allocate required cuda memories on GPU.

◆ allocateCudaMemories() [2/2]

void VisualTracker::allocateCudaMemories ( )
protected

Pre-allocate required cuda memories on GPU.

◆ checkInputOutput() [1/2]

void VisualTracker::checkInputOutput ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
protected

Check the input and find the detection interval.

Parameters
[in]inputMetaA batch of input frames.

◆ checkInputOutput() [2/2]

void VisualTracker::checkInputOutput ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
protected

Check the input and find the detection interval.

Parameters
[in]inputMetaA batch of input frames.

◆ convertSrcImgCoordToCorrRespCoord() [1/2]

Eigen::Vector2f VisualTracker::convertSrcImgCoordToCorrRespCoord ( const NvMotDataTypes::Rect2f &  roi,
const Eigen::Vector2f  pt_img 
) const
protected

Map a source-image point into a tracker's correlation-response coordinates.

Parameters
[in]roiThe source-frame region that defines the relative coordinate system.
[in]pt_imgThe point in source-image coordinates.
Returns
The corresponding point in the tracker's correlation-response matrix.

◆ convertSrcImgCoordToCorrRespCoord() [2/2]

Eigen::Vector2f VisualTracker::convertSrcImgCoordToCorrRespCoord ( const NvMotDataTypes::Rect2f &  roi,
const Eigen::Vector2f  pt_img 
) const
protected

Map a source-image point into a tracker's correlation-response coordinates.

Parameters
[in]roiThe source-frame region that defines the relative coordinate system.
[in]pt_imgThe point in source-image coordinates.
Returns
The corresponding point in the tracker's correlation-response matrix.

◆ cudaCalculateResponse() [1/2]

void VisualTracker::cudaCalculateResponse ( float *  ftrs)
protected

Given the Fourier-transformed extracted features and the learned filters, compute the correlation response.

Parameters
[in]ftrsThe device buffer containing the extracted features.

◆ cudaCalculateResponse() [2/2]

void VisualTracker::cudaCalculateResponse ( float *  ftrs)
protected

Given the Fourier-transformed extracted features and the learned filters, compute the correlation response.

Parameters
[in]ftrsThe device buffer containing the extracted features.

◆ cudaFilterUpdate() [1/2]

void VisualTracker::cudaFilterUpdate ( const float *  ftrs)
protected

Create and update the DCF filter.

Parameters
[in]ftrsThe image-space feature vector.

◆ cudaFilterUpdate() [2/2]

void VisualTracker::cudaFilterUpdate ( const float *  ftrs)
protected

Create and update the DCF filter.

Parameters
[in]ftrsThe image-space feature vector.

◆ extractVisualFeatures() [1/2]

float* VisualTracker::extractVisualFeatures ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const bool  isForLocalization 
)
protected

Extract a batched visual feature vector for localization or model update.

Parameters
[in]inputMetaA batch of input frames.
[in]isForLocalizationWhether the operation is for localization rather than model update.
Returns
The device buffer containing the extracted feature vectors.

◆ extractVisualFeatures() [2/2]

float* VisualTracker::extractVisualFeatures ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const bool  isForLocalization 
)
protected

Extract a batched visual feature vector for localization or model update.

Parameters
[in]inputMetaA batch of input frames.
[in]isForLocalizationWhether the operation is for localization rather than model update.
Returns
The device buffer containing the extracted feature vectors.

◆ getCufftPlanId() [1/2]

int VisualTracker::getCufftPlanId ( int  num_target)
inlineprotected

Select a cuFFT plan large enough for the requested target count.

Parameters
[in]num_targetThe number of targets to process.
Returns
The identifier of the selected cuFFT plan.

◆ getCufftPlanId() [2/2]

int VisualTracker::getCufftPlanId ( int  num_target)
inlineprotected

Select a cuFFT plan large enough for the requested target count.

Parameters
[in]num_targetThe number of targets to process.
Returns
The identifier of the selected cuFFT plan.

◆ getDetectorBboxCorrelationResponses() [1/2]

void VisualTracker::getDetectorBboxCorrelationResponses ( const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &  detectedObjects)
protected

Retrieve each tracker's correlation response at nearby detector bounding boxes.

Parameters
[in]detectedObjectsThe detected objects grouped by video stream.

◆ getDetectorBboxCorrelationResponses() [2/2]

void VisualTracker::getDetectorBboxCorrelationResponses ( const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &  detectedObjects)
protected

Retrieve each tracker's correlation response at nearby detector bounding boxes.

Parameters
[in]detectedObjectsThe detected objects grouped by video stream.

◆ getTemplateRescaleRatio() [1/2]

float VisualTracker::getTemplateRescaleRatio ( const NvMotDataTypes::Rect2f &  roi) const
protected

Compute the scale that maps a search region to the fixed feature-image size.

Parameters
[in]roiSearch region whose area determines the scale.
Returns
Factor that scales the search region to the feature image size.

◆ getTemplateRescaleRatio() [2/2]

float VisualTracker::getTemplateRescaleRatio ( const NvMotDataTypes::Rect2f &  roi) const
protected

Compute the scale that maps a search region to the fixed feature-image size.

Parameters
[in]roiSearch region whose area determines the scale.
Returns
Factor that scales the search region to the feature image size.

◆ getVisualTrackerType() [1/2]

const VISUAL_TRACKER_TYPES VisualTracker::getVisualTrackerType ( )
inlineoverridevirtual

Return the configured visual tracker type.

Implements IVisualTracker.

Definition at line 201 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_params, and VisualTrackerConfigParams::m_visualTrackerType.

◆ getVisualTrackerType() [2/2]

const VISUAL_TRACKER_TYPES VisualTracker::getVisualTrackerType ( )
inlineoverridevirtual

Return the configured visual tracker type.

Implements IVisualTracker.

Definition at line 201 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_params, and VisualTrackerConfigParams::m_visualTrackerType.

◆ initialize() [1/2]

void VisualTracker::initialize ( const SourceFrameInfo &  frameInfo,
const uint  maxTargetsToTrack,
const uint  maxDetectorBboxesPerFrame,
const std::shared_ptr< NvTrackedObjectManager > &  targetManager 
)
overridevirtual

Initialize variables and allocate memories.

Parameters
[in]frameInfoMetadata about the source image (e.g., size, color).
[in]maxTargetsToTrackThe maximum number of targets to track.
[in]maxDetectorBboxesPerFrameThe maximum number of detector bounding boxes per frame.
[in]targetManagerThe target manager through which all the targets can be accessed.

Implements IVisualTracker.

◆ initialize() [2/2]

void VisualTracker::initialize ( const SourceFrameInfo &  frameInfo,
const uint  maxTargetsToTrack,
const uint  maxDetectorBboxesPerFrame,
const std::shared_ptr< NvTrackedObjectManager > &  targetManager 
)
overridevirtual

Initialize variables and allocate memories.

Parameters
[in]frameInfoMetadata about the source image (e.g., size, color).
[in]maxTargetsToTrackThe maximum number of targets to track.
[in]maxDetectorBboxesPerFrameThe maximum number of detector bounding boxes per frame.
[in]targetManagerThe target manager through which all the targets can be accessed.

Implements IVisualTracker.

◆ isInitialized() [1/2]

bool VisualTracker::isInitialized ( )
inlineoverridevirtual

Report whether tracker initialization completed.

Implements IVisualTracker.

Definition at line 198 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_isInit.

◆ isInitialized() [2/2]

bool VisualTracker::isInitialized ( )
inlineoverridevirtual

Report whether tracker initialization completed.

Implements IVisualTracker.

Definition at line 198 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_isInit.

◆ localize() [1/2]

void VisualTracker::localize ( const std::map< NvMOTStreamId, NvMOTFrame * >  inputMeta,
const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &  detectedObjects 
)
overridevirtual

Localize tracked targets and evaluate nearby detections across an input batch.

Parameters
[in]inputMetaA batch of input frames.
[in]detectedObjectsThe list of newly-detected objects.

Implements IVisualTracker.

◆ localize() [2/2]

void VisualTracker::localize ( const std::map< NvMOTStreamId, NvMOTFrame * >  inputMeta,
const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &  detectedObjects 
)
overridevirtual

Localize tracked targets and evaluate nearby detections across an input batch.

Parameters
[in]inputMetaA batch of input frames.
[in]detectedObjectsThe list of newly-detected objects.

Implements IVisualTracker.

◆ makeBatchAndSendFloatMatToDevice() [1/2]

void VisualTracker::makeBatchAndSendFloatMatToDevice ( const NvMotDataTypes::RowMajorMatrixXf &  srcMat,
void *  devMem,
uint  batchSize,
float *  workarea_host 
)
protected

Duplicate one host matrix into a batched float buffer and copy it to the device.

Parameters
[in]srcMatThe source matrix for a single tracker.
[out]devMemThe device buffer that receives the duplicated matrix.
[in]batchSizeThe number of copies of the source matrix.
[in,out]workarea_hostThe host workspace filled with the duplicated matrix before the device copy.

◆ makeBatchAndSendFloatMatToDevice() [2/2]

void VisualTracker::makeBatchAndSendFloatMatToDevice ( const NvMotDataTypes::RowMajorMatrixXf &  srcMat,
void *  devMem,
uint  batchSize,
float *  workarea_host 
)
protected

Duplicate one host matrix into a batched float buffer and copy it to the device.

Parameters
[in]srcMatThe source matrix for a single tracker.
[out]devMemThe device buffer that receives the duplicated matrix.
[in]batchSizeThe number of copies of the source matrix.
[in,out]workarea_hostThe host workspace filled with the duplicated matrix before the device copy.

◆ queryParams() [1/2]

void VisualTracker::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate the visual tracker's capability query.

Parameters
[out]paramsQueryThe output query parameters.

Implements IVisualTracker.

◆ queryParams() [2/2]

void VisualTracker::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate the visual tracker's capability query.

Parameters
[out]paramsQueryThe output query parameters.

Implements IVisualTracker.

◆ update() [1/2]

void VisualTracker::update ( const std::map< NvMOTStreamId, NvMOTFrame * >  inputMeta)
overridevirtual

Update each target's correlation-filter model from an input batch.

Parameters
[in]inputMetaA batch of input frames.

Implements IVisualTracker.

◆ update() [2/2]

void VisualTracker::update ( const std::map< NvMOTStreamId, NvMOTFrame * >  inputMeta)
overridevirtual

Update each target's correlation-filter model from an input batch.

Parameters
[in]inputMetaA batch of input frames.

Implements IVisualTracker.

◆ updateData4Processing() [1/2]

void VisualTracker::updateData4Processing ( const int  lastTrackerInd)
protected

Adjust processing dimensions after the active tracker count changes.

Parameters
[in]lastTrackerIndThe index of the last tracker in the active batch.

◆ updateData4Processing() [2/2]

void VisualTracker::updateData4Processing ( const int  lastTrackerInd)
protected

Adjust processing dimensions after the active tracker count changes.

Parameters
[in]lastTrackerIndThe index of the last tracker in the active batch.

◆ updateLocalizationResults() [1/2]

void VisualTracker::updateLocalizationResults ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
protected

Update target states from their correlation responses.

Parameters
[in]inputMetaA batch of input frames.

◆ updateLocalizationResults() [2/2]

void VisualTracker::updateLocalizationResults ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
protected

Update target states from their correlation responses.

Parameters
[in]inputMetaA batch of input frames.

◆ updateParams() [1/2]

void VisualTracker::updateParams ( const YAML::Node &  fn)
inlinevirtual

Update any Dynamic Params as provided during runtime by the user.

Parameters
[in]fnParsed YAML structure of config to update.

Implements IVisualTracker.

Definition at line 207 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_params, and VisualTrackerConfigParams::read().

◆ updateParams() [2/2]

void VisualTracker::updateParams ( const YAML::Node &  fn)
inlinevirtual

Update any Dynamic Params as provided during runtime by the user.

Parameters
[in]fnParsed YAML structure of config to update.

Implements IVisualTracker.

Definition at line 207 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

References m_params, and VisualTrackerConfigParams::read().

Field Documentation

◆ m_channelWeights

float * VisualTracker::m_channelWeights
protected

The adaptive filter weights for the channels on device (a Batch CUDA memory buffer).

Definition at line 243 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_channelWeightSum

float * VisualTracker::m_channelWeightSum
protected

The filter weight sums used for filter weight normalization, but play as a workplace only (a Batch CUDA memory buffer).

Definition at line 244 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_confidenceAtDetectedPt_d

float * VisualTracker::m_confidenceAtDetectedPt_d
protected

Tracking confidence at each detector bbox center.

Definition at line 253 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_confidenceAtDetectedPt_h

float * VisualTracker::m_confidenceAtDetectedPt_h
protected

◆ m_corrResponseAtDetectedPt_d

float * VisualTracker::m_corrResponseAtDetectedPt_d
protected

Correlation response at each detector bbox center.

Definition at line 254 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_corrResponseAtDetectedPt_h

float * VisualTracker::m_corrResponseAtDetectedPt_h
protected

◆ m_corrResponses_d

float * VisualTracker::m_corrResponses_d
protected

The correlation response maps for targets (a Batch CUDA memory buffer).

Definition at line 242 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

Referenced by TrackerVizOutput::writeSrcImagePatchesWithCorrResp().

◆ m_cudaStream

cudaStream_t VisualTracker::m_cudaStream
protected

CUDA stream used for tracker operations.

Definition at line 225 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_cufftHandle_C2R_perCh

cufftHandle * VisualTracker::m_cufftHandle_C2R_perCh
protected

Cufft handler for all the batch elements (i.e., (# of elements in single feature mat) * (# of features channels) * (# of trackers)).

Definition at line 226 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_cufftHandle_C2R_perObj

cufftHandle * VisualTracker::m_cufftHandle_C2R_perObj
protected

Cufft handler for a smaller subset (i.e., (# of elements in single feature mat) * (# of trackers)).

Definition at line 227 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_cufftHandle_R2C_perCh

cufftHandle * VisualTracker::m_cufftHandle_R2C_perCh
protected

Cufft R2C handle for all the batch elements (i.e., (# of elements in single feature mat) * (# of features channels) * (# of trackers)).

Definition at line 228 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_cufftPlanSize

uint VisualTracker::m_cufftPlanSize
protected

◆ m_cufftWorkspce

void * VisualTracker::m_cufftWorkspce
protected

Cufft workspace memory on device.

Definition at line 229 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_dcfFilter_F

cufftComplex * VisualTracker::m_dcfFilter_F
protected

Learned filter in a batched Fourier-space CUDA buffer.

Definition at line 234 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_desiredResp_F

cufftComplex * VisualTracker::m_desiredResp_F
protected

Desired response in a batched Fourier-space CUDA buffer.

Definition at line 233 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_detectorBboxes_d

detectorBbox_t * VisualTracker::m_detectorBboxes_d
protected

The detector bbox center points to be looked up at each tracker's correlation response.

Definition at line 252 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_detectorBboxes_h

◆ m_detectorBboxes_size_d

uint * VisualTracker::m_detectorBboxes_size_d
protected

The number of detector bbox candidate for each target.

Definition at line 249 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_detectorBboxes_size_h

uint * VisualTracker::m_detectorBboxes_size_h
protected

◆ m_eventStart

cudaEvent_t VisualTracker::m_eventStart
protected

Event start point for GPU timers.

Definition at line 260 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_eventStop

cudaEvent_t VisualTracker::m_eventStop
protected

Event stop point for GPU timers.

Definition at line 261 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_featureExtractor

FeatureExtractor VisualTracker::m_featureExtractor
protected

Feature extractor that performs bbox cropping, scaling, and compose a feature vec batch.

Definition at line 218 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

Referenced by TrackerVizOutput::writeSrcImagePatchesWithCorrResp(), and TrackerVizOutput::writeSrcImagePatchesWithMaskFilter().

◆ m_featureRoisInBatch

std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > VisualTracker::m_featureRoisInBatch
protected

Trackers' search regions as ROI for feature extraction.

Supposed to be updated after data association. Maps each videoStreamID to a vector of trackerInd and bbox pairs.

Definition at line 219 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_ftrs_F

cufftComplex * VisualTracker::m_ftrs_F
protected

Extracted features in a batched Fourier-space CUDA buffer.

Definition at line 232 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_inputMeta

std::map< NvMOTStreamId, NvMOTFrame * > VisualTracker::m_inputMeta
protected

Hold the input metadata.

Definition at line 214 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_isInit

bool VisualTracker::m_isInit
protected

Indicates whether tracker initialization completed.

Definition at line 211 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

Referenced by isInitialized().

◆ m_maskingSegWindow4Model

float * VisualTracker::m_maskingSegWindow4Model
protected

Masking window for the model for filter learning (a Batch CUDA memory buffer).

Definition at line 241 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

Referenced by TrackerVizOutput::writeSrcImagePatchesWithMaskFilter().

◆ m_maskingWindow4Model

float * VisualTracker::m_maskingWindow4Model
protected

Masking window for the model for filter learning (a Batch CUDA memory buffer).

Definition at line 240 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_maskingWindow4Src

float * VisualTracker::m_maskingWindow4Src
protected

Masking window for input image feature (a Batch CUDA memory buffer).

Definition at line 239 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_maskSegRois_d

float4 * VisualTracker::m_maskSegRois_d
protected

Filter ROI to crop segmentation masks.

Definition at line 258 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_maskSegRois_h

float4 * VisualTracker::m_maskSegRois_h
protected

◆ m_maxCorrResponse_d

float * VisualTracker::m_maxCorrResponse_d
protected

The max correlation response for targets (a Batch CUDA memory buffer).

Definition at line 255 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_maxCorrResponse_h

float * VisualTracker::m_maxCorrResponse_h
protected

◆ m_maxCorrResponse_ma_d

float * VisualTracker::m_maxCorrResponse_ma_d
protected

◆ m_maxCorrResponse_ma_h

float * VisualTracker::m_maxCorrResponse_ma_h
protected

The moving average of the max corr resp.

Definition at line 256 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_params

◆ m_paramsRt

◆ m_targetDisplacement2D_d

float2 * VisualTracker::m_targetDisplacement2D_d
protected

The target displacement in correlation response (a Batch CUDA memory buffer).

Definition at line 251 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_targetDisplacement2D_h

float2 * VisualTracker::m_targetDisplacement2D_h
protected

◆ m_targetManager

std::shared_ptr< NvTrackedObjectManager > VisualTracker::m_targetManager
protected

◆ m_trackerAge_d

uint32_t * VisualTracker::m_trackerAge_d
protected

◆ m_trackerAge_h

uint32_t * VisualTracker::m_trackerAge_h
protected

◆ m_trackerDoProcessing_d

bool * VisualTracker::m_trackerDoProcessing_d
protected

True when this tracker is updated for this batch.

Definition at line 248 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_trackerDoProcessing_h

bool * VisualTracker::m_trackerDoProcessing_h
protected

◆ m_trackerUseMaskSeg_d

bool * VisualTracker::m_trackerUseMaskSeg_d
protected

True when this tracker is updated for this batch.

Definition at line 259 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_trackerUseMaskSeg_h

bool * VisualTracker::m_trackerUseMaskSeg_h
protected

◆ m_trackingConfidence_d

float * VisualTracker::m_trackingConfidence_d
protected

◆ m_trackingConfidence_h

float * VisualTracker::m_trackingConfidence_h
protected

The tracking confidence derived from the instant and the moving average of the max corr resp.

Definition at line 257 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_work_F_1

cufftComplex * VisualTracker::m_work_F_1
protected

First temporary batched complex workspace.

Definition at line 235 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_work_F_2

cufftComplex * VisualTracker::m_work_F_2
protected

Second temporary batched complex workspace.

Definition at line 236 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.

◆ m_work_I

float * VisualTracker::m_work_I
protected

A temporary work space for float (a Batch CUDA memory buffer).

Definition at line 245 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/VisualTracker.hpp.


The documentation for this class was generated from the following file: