NVIDIA DeepStream SDK API Reference

9.2 Release
DCFTracker Class Reference

Detailed Description

Tracks objects with the VPI discriminative correlation filter implementation.

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

Inheritance diagram for DCFTracker:
Collaboration diagram for DCFTracker:

Public Member Functions

 DCFTracker (const std::string &configFilePath)
 Construct from a configuration file path. More...
 
virtual ~DCFTracker ()
 Release VPI 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...
 
 DCFTracker (const std::string &configFilePath)
 Construct from a configuration file path. More...
 
virtual ~DCFTracker ()
 Release VPI 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 setVpiInputFrameSequence (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Populate the VPI input frame sequence from MOT frames. 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 (void)
 Given the cropped and scaled object patches 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 ()
 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...
 
void performCropAndScale (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const bool isForLocalization)
 Crop and scale object regions for localization or model update. More...
 
void getCudaMemPointers (NvBufSurfaceParams *baseSurface)
 Retrieve CUDA memory pointers for all planes of an NvBufSurface. More...
 
void checkInputOutput (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Check the input and find the detection interval. More...
 
void setVpiInputFrameSequence (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Populate the VPI input frame sequence from MOT frames. 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 (void)
 Given the cropped and scaled object patches 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 ()
 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...
 
void performCropAndScale (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const bool isForLocalization)
 Crop and scale object regions for localization or model update. More...
 
void getCudaMemPointers (NvBufSurfaceParams *baseSurface)
 Retrieve CUDA memory pointers for all planes of an NvBufSurface. More...
 

Protected Attributes

bool m_isInit
 Indicates whether tracker initialization completed. More...
 
DCFTrackerConfigParams m_params
 Config params for visual tracker module. More...
 
DCFTrackerRunTimeParams m_paramsRt
 Runtime params for visual tracker module. More...
 
std::shared_ptr< NvTrackedObjectManager > m_targetManager
 Target manager. More...
 
std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > m_featureRoisInBatch
 Trackers' search regions as ROI for feature extraction. More...
 
cudaStream_t m_cudaStream
 CUDA stream used for tracker operations. 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...
 
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...
 
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...
 
float * m_maskingWindow4Src
 Masking window for input image feature (a CUDA memory buffer). More...
 
float * m_maskingWindow4Model
 Masking window for the model for filter learning (a CUDA memory buffer). More...
 
int m_featureChannelSize
 Number of channels in a feature vector. More...
 
int m_cudaKernelMaxBatchSize
 Maximum CUDA batch size across feature channels and target trackers. More...
 
VPIDCFTrackerCreationParams m_vpiCreateParams
 VPI DCF Tracker creation params. More...
 
VPIDCFTrackerParams m_vpiRuntimeParams
 VPI DCF Tracker runtime params. More...
 
VPIPayload m_vpiDcfPayload
 VPI payload for DCF Tracker. More...
 
VPIPayload m_vpiCropPayload
 VPI payload for Crop scaler. More...
 
VPIStream m_vpiStream
 VPI stream used for all VPI operations. More...
 
int m_vpiMemFlags = VPI_BACKEND_CUDA | VPI_RESTRICT_MEM_USAGE
 Flags used for creating VPI Image/Array wrappers. More...
 
VPIImage * m_vpiInputFrameSequence
 Sequence of VPIImage pointers to input frames. More...
 
VPIImageData * m_vpiInputFrameDataList
 Sequence of VPIImageData pointers to input frames. More...
 
std::vector< bool > m_isFrameCreated
 List indicating whether each frame wrapper has been created. More...
 
int32_t * m_enabledSequences
 An array marking the entries in input frame list as valid(1) or invalid(0). More...
 
std::vector< VPIDCFTrackedBoundingBox > m_vpiDCFBboxes
 List of tracked objects. More...
 
VPIArrayData m_vpiDCFBboxesData
 VPIArrayData for m_vpiDCFBboxes. More...
 
VPIArray m_vpiDCFBboxesArray
 VPIArray for m_vpiDCFBboxes. More...
 
int32_t m_vpiBboxesArraySize
 Number of active entries in m_vpiDCFBboxes used for dynamic compute adjustment. More...
 
std::vector< VPIDCFTrackedBoundingBox > m_vpiDCFBboxesLocalized
 List of localized objects. More...
 
VPIArrayData m_vpiDCFBboxesLocalizedData
 VPIArrayData for m_vpiDCFBboxesLocalized. More...
 
VPIArray m_vpiDCFBboxesLocalizedArray
 VPIArray for m_vpiDCFBboxesLocalized. More...
 
uint8_t * m_vpiObjPatches_d
 Int8 device memory for VPI output that contains cropped and scaled object patches. More...
 
int m_vpiObjPatchesNumChannels
 Object patches are of format VPI_IMAGE_FORMAT_RGBA8 for CUDA backend. More...
 
VPIImageData m_vpiObjPatchesData
 VPIImageData corresponding to m_vpiObjPatches_d. More...
 
VPIImage m_vpiObjPatches
 Image of cropped and scaled object patches. More...
 
VPIImageData m_vpiMaskingWindow4SrcData
 VPIImageData for m_maskingWindow4Src. More...
 
VPIImage m_vpiMaskingWindow4SrcImage
 VPIImage for m_maskingWindow4Src. More...
 
VPIImageData m_vpiMaskingWindow4ModelData
 VPIImageData for m_maskingWindow4Model. More...
 
VPIImage m_vpiMaskingWindow4ModelImage
 VPIImage for m_maskingWindow4Model. More...
 
VPIImageData m_vpiCorrResponsesData
 VPIImageData for m_corrResponses_d. More...
 
VPIImage m_vpiCorrResponsesImage
 VPIImage for m_corrResponses_d. More...
 
VPIArrayData m_vpiMaxCorrResponseArrayData
 VPIArrayData for m_maxCorrResponse_d. More...
 
VPIArray m_vpiMaxCorrResponseArray
 VPIArray for m_maxCorrResponse_d. More...
 
VPIArrayData m_vpiChannelWeightsArrayData
 VPIArrayData for m_channelWeights. More...
 
VPIArray m_vpiChannelWeightsArray
 VPIArray for m_channelWeights. More...
 
int m_integrated_gpu
 Indicates whether the tracker runs on an integrated GPU. More...
 
int m_deviceId
 GPU device ID. More...
 
uint8_t * m_surfCudaMemPtr [NVBUF_MAX_PLANES]
 Pointers to cuda memories of all the planes in a surface. 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

◆ DCFTracker() [1/2]

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

Construct from a configuration file path.

Parameters
[in]configFilePathThe path to the configuration file.

◆ ~DCFTracker() [1/2]

virtual DCFTracker::~DCFTracker ( )
virtual

Release VPI DCF tracker resources.

◆ DCFTracker() [2/2]

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

Construct from a configuration file path.

Parameters
[in]configFilePathThe path to the configuration file.

◆ ~DCFTracker() [2/2]

virtual DCFTracker::~DCFTracker ( )
virtual

Release VPI DCF tracker resources.

Member Function Documentation

◆ allocateCudaMemories() [1/2]

void DCFTracker::allocateCudaMemories ( )
protected

Pre-allocate required cuda memories on GPU.

◆ allocateCudaMemories() [2/2]

void DCFTracker::allocateCudaMemories ( )
protected

Pre-allocate required cuda memories on GPU.

◆ checkInputOutput() [1/2]

void DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::cudaCalculateResponse ( void  )
protected

Given the cropped and scaled object patches and the learned filters, compute the correlation response.

◆ cudaCalculateResponse() [2/2]

void DCFTracker::cudaCalculateResponse ( void  )
protected

Given the cropped and scaled object patches and the learned filters, compute the correlation response.

◆ cudaFilterUpdate() [1/2]

void DCFTracker::cudaFilterUpdate ( )
protected

Create and update the DCF filter.

◆ cudaFilterUpdate() [2/2]

void DCFTracker::cudaFilterUpdate ( )
protected

Create and update the DCF filter.

◆ getCudaMemPointers() [1/2]

void DCFTracker::getCudaMemPointers ( NvBufSurfaceParams *  baseSurface)
inlineprotected

Retrieve CUDA memory pointers for all planes of an NvBufSurface.

Parameters
[in]baseSurfaceThe surface parameters whose plane pointers are retrieved.

◆ getCudaMemPointers() [2/2]

void DCFTracker::getCudaMemPointers ( NvBufSurfaceParams *  baseSurface)
inlineprotected

Retrieve CUDA memory pointers for all planes of an NvBufSurface.

Parameters
[in]baseSurfaceThe surface parameters whose plane pointers are retrieved.

◆ getCufftPlanId() [1/2]

int DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::getVisualTrackerType ( )
inlineoverridevirtual

Return the configured visual tracker type.

Implements IVisualTracker.

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

References m_params, and DCFTrackerConfigParams::m_visualTrackerType.

◆ getVisualTrackerType() [2/2]

const VISUAL_TRACKER_TYPES DCFTracker::getVisualTrackerType ( )
inlineoverridevirtual

Return the configured visual tracker type.

Implements IVisualTracker.

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

References m_params, and DCFTrackerConfigParams::m_visualTrackerType.

◆ initialize() [1/2]

void DCFTracker::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 DCFTracker::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 DCFTracker::isInitialized ( )
inlineoverridevirtual

Report whether tracker initialization completed.

Implements IVisualTracker.

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

References m_isInit.

◆ isInitialized() [2/2]

bool DCFTracker::isInitialized ( )
inlineoverridevirtual

Report whether tracker initialization completed.

Implements IVisualTracker.

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

References m_isInit.

◆ localize() [1/2]

void DCFTracker::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 DCFTracker::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 DCFTracker::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 DCFTracker::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.

◆ performCropAndScale() [1/2]

void DCFTracker::performCropAndScale ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const bool  isForLocalization 
)
protected

Crop and scale object regions for localization or model update.

Parameters
[in]inputMetaA batch of input frames.
[in]isForLocalizationWhether the operation is for localization rather than model update.

◆ performCropAndScale() [2/2]

void DCFTracker::performCropAndScale ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const bool  isForLocalization 
)
protected

Crop and scale object regions for localization or model update.

Parameters
[in]inputMetaA batch of input frames.
[in]isForLocalizationWhether the operation is for localization rather than model update.

◆ queryParams() [1/2]

void DCFTracker::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate the visual tracker's capability query.

Parameters
[out]paramsQueryThe output query parameters.

Implements IVisualTracker.

◆ queryParams() [2/2]

void DCFTracker::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate the visual tracker's capability query.

Parameters
[out]paramsQueryThe output query parameters.

Implements IVisualTracker.

◆ setVpiInputFrameSequence() [1/2]

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

Populate the VPI input frame sequence from MOT frames.

Parameters
[in]inputMetaA batch of input frames.

◆ setVpiInputFrameSequence() [2/2]

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

Populate the VPI input frame sequence from MOT frames.

Parameters
[in]inputMetaA batch of input frames.

◆ update() [1/2]

void DCFTracker::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 DCFTracker::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.

◆ updateLocalizationResults() [1/2]

void DCFTracker::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 DCFTracker::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 DCFTracker::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 211 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/DCFTracker.hpp.

References m_params, and DCFTrackerConfigParams::read().

◆ updateParams() [2/2]

void DCFTracker::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 211 of file sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/DCFTracker.hpp.

References m_params, and DCFTrackerConfigParams::read().

Field Documentation

◆ m_channelWeights

float * DCFTracker::m_channelWeights
protected

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

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

◆ m_confidenceAtDetectedPt_d

float * DCFTracker::m_confidenceAtDetectedPt_d
protected

Tracking confidence at each detector bbox center.

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

◆ m_confidenceAtDetectedPt_h

float * DCFTracker::m_confidenceAtDetectedPt_h
protected

◆ m_corrResponseAtDetectedPt_d

float * DCFTracker::m_corrResponseAtDetectedPt_d
protected

Correlation response at each detector bbox center.

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

◆ m_corrResponseAtDetectedPt_h

float * DCFTracker::m_corrResponseAtDetectedPt_h
protected

◆ m_corrResponses_d

float * DCFTracker::m_corrResponses_d
protected

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

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

Referenced by TrackerVizOutput::writeSrcImagePatchesWithCorrResp().

◆ m_cudaKernelMaxBatchSize

int DCFTracker::m_cudaKernelMaxBatchSize
protected

Maximum CUDA batch size across feature channels and target trackers.

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

◆ m_cudaStream

cudaStream_t DCFTracker::m_cudaStream
protected

CUDA stream used for tracker operations.

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

◆ m_detectorBboxes_d

detectorBbox_t * DCFTracker::m_detectorBboxes_d
protected

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

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

◆ m_detectorBboxes_h

◆ m_detectorBboxes_size_d

uint * DCFTracker::m_detectorBboxes_size_d
protected

The number of detector bbox candidate for each target.

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

◆ m_detectorBboxes_size_h

uint * DCFTracker::m_detectorBboxes_size_h
protected

◆ m_deviceId

int DCFTracker::m_deviceId
protected

◆ m_enabledSequences

int32_t * DCFTracker::m_enabledSequences
protected

An array marking the entries in input frame list as valid(1) or invalid(0).

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

◆ m_eventStart

cudaEvent_t DCFTracker::m_eventStart
protected

Event start point for GPU timers.

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

◆ m_eventStop

cudaEvent_t DCFTracker::m_eventStop
protected

Event stop point for GPU timers.

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

◆ m_featureChannelSize

int DCFTracker::m_featureChannelSize
protected

Number of channels in a feature vector.

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

◆ m_featureRoisInBatch

std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > DCFTracker::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/DCFTracker.hpp.

◆ m_integrated_gpu

int DCFTracker::m_integrated_gpu
protected

Indicates whether the tracker runs on an integrated GPU.

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

◆ m_isFrameCreated

std::vector< bool > DCFTracker::m_isFrameCreated
protected

List indicating whether each frame wrapper has been created.

An entry is true when vpiImageCreateWrapper created the frame at that sequence index.

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

◆ m_isInit

bool DCFTracker::m_isInit
protected

Indicates whether tracker initialization completed.

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

Referenced by isInitialized().

◆ m_maskingWindow4Model

float * DCFTracker::m_maskingWindow4Model
protected

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

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

◆ m_maskingWindow4Src

float * DCFTracker::m_maskingWindow4Src
protected

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

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

◆ m_maxCorrResponse_d

float * DCFTracker::m_maxCorrResponse_d
protected

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

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

◆ m_maxCorrResponse_h

float * DCFTracker::m_maxCorrResponse_h
protected

◆ m_maxCorrResponse_ma_d

float * DCFTracker::m_maxCorrResponse_ma_d
protected

◆ m_maxCorrResponse_ma_h

float * DCFTracker::m_maxCorrResponse_ma_h
protected

The moving average of the max corr resp.

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

◆ m_params

DCFTrackerConfigParams DCFTracker::m_params
protected

◆ m_paramsRt

DCFTrackerRunTimeParams DCFTracker::m_paramsRt
protected

Runtime params for visual tracker module.

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

Referenced by TrackerVizOutput::writeBirdsEyeView().

◆ m_surfCudaMemPtr

uint8_t * DCFTracker::m_surfCudaMemPtr
protected

Pointers to cuda memories of all the planes in a surface.

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

◆ m_targetManager

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

◆ m_trackerAge_d

uint32_t * DCFTracker::m_trackerAge_d
protected

◆ m_trackerAge_h

uint32_t * DCFTracker::m_trackerAge_h
protected

◆ m_trackerDoProcessing_d

bool * DCFTracker::m_trackerDoProcessing_d
protected

True when this tracker is updated for this batch.

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

◆ m_trackerDoProcessing_h

bool * DCFTracker::m_trackerDoProcessing_h
protected

◆ m_trackingConfidence_d

float * DCFTracker::m_trackingConfidence_d
protected

◆ m_trackingConfidence_h

float * DCFTracker::m_trackingConfidence_h
protected

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

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

◆ m_vpiBboxesArraySize

int32_t DCFTracker::m_vpiBboxesArraySize
protected

Number of active entries in m_vpiDCFBboxes used for dynamic compute adjustment.

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

◆ m_vpiChannelWeightsArray

VPIArray DCFTracker::m_vpiChannelWeightsArray
protected

VPIArray for m_channelWeights.

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

◆ m_vpiChannelWeightsArrayData

VPIArrayData DCFTracker::m_vpiChannelWeightsArrayData
protected

VPIArrayData for m_channelWeights.

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

◆ m_vpiCorrResponsesData

VPIImageData DCFTracker::m_vpiCorrResponsesData
protected

VPIImageData for m_corrResponses_d.

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

◆ m_vpiCorrResponsesImage

VPIImage DCFTracker::m_vpiCorrResponsesImage
protected

VPIImage for m_corrResponses_d.

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

◆ m_vpiCreateParams

VPIDCFTrackerCreationParams DCFTracker::m_vpiCreateParams
protected

VPI DCF Tracker creation params.

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

◆ m_vpiCropPayload

VPIPayload DCFTracker::m_vpiCropPayload
protected

VPI payload for Crop scaler.

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

◆ m_vpiDCFBboxes

std::vector< VPIDCFTrackedBoundingBox > DCFTracker::m_vpiDCFBboxes
protected

List of tracked objects.

Its reserved size is maxTargetsToTrack.

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

◆ m_vpiDCFBboxesArray

VPIArray DCFTracker::m_vpiDCFBboxesArray
protected

VPIArray for m_vpiDCFBboxes.

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

◆ m_vpiDCFBboxesData

VPIArrayData DCFTracker::m_vpiDCFBboxesData
protected

VPIArrayData for m_vpiDCFBboxes.

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

◆ m_vpiDCFBboxesLocalized

std::vector< VPIDCFTrackedBoundingBox > DCFTracker::m_vpiDCFBboxesLocalized
protected

List of localized objects.

Its reserved size is maxTargetsToTrack.

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

◆ m_vpiDCFBboxesLocalizedArray

VPIArray DCFTracker::m_vpiDCFBboxesLocalizedArray
protected

VPIArray for m_vpiDCFBboxesLocalized.

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

◆ m_vpiDCFBboxesLocalizedData

VPIArrayData DCFTracker::m_vpiDCFBboxesLocalizedData
protected

VPIArrayData for m_vpiDCFBboxesLocalized.

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

◆ m_vpiDcfPayload

VPIPayload DCFTracker::m_vpiDcfPayload
protected

VPI payload for DCF Tracker.

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

◆ m_vpiInputFrameDataList

VPIImageData * DCFTracker::m_vpiInputFrameDataList
protected

Sequence of VPIImageData pointers to input frames.

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

◆ m_vpiInputFrameSequence

VPIImage * DCFTracker::m_vpiInputFrameSequence
protected

Sequence of VPIImage pointers to input frames.

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

◆ m_vpiMaskingWindow4ModelData

VPIImageData DCFTracker::m_vpiMaskingWindow4ModelData
protected

VPIImageData for m_maskingWindow4Model.

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

◆ m_vpiMaskingWindow4ModelImage

VPIImage DCFTracker::m_vpiMaskingWindow4ModelImage
protected

VPIImage for m_maskingWindow4Model.

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

◆ m_vpiMaskingWindow4SrcData

VPIImageData DCFTracker::m_vpiMaskingWindow4SrcData
protected

VPIImageData for m_maskingWindow4Src.

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

◆ m_vpiMaskingWindow4SrcImage

VPIImage DCFTracker::m_vpiMaskingWindow4SrcImage
protected

VPIImage for m_maskingWindow4Src.

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

◆ m_vpiMaxCorrResponseArray

VPIArray DCFTracker::m_vpiMaxCorrResponseArray
protected

VPIArray for m_maxCorrResponse_d.

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

◆ m_vpiMaxCorrResponseArrayData

VPIArrayData DCFTracker::m_vpiMaxCorrResponseArrayData
protected

VPIArrayData for m_maxCorrResponse_d.

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

◆ m_vpiMemFlags

int DCFTracker::m_vpiMemFlags = VPI_BACKEND_CUDA | VPI_RESTRICT_MEM_USAGE
protected

Flags used for creating VPI Image/Array wrappers.

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

◆ m_vpiObjPatches

VPIImage DCFTracker::m_vpiObjPatches
protected

Image of cropped and scaled object patches.

The VPI crop scaler generates this image.

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

◆ m_vpiObjPatches_d

uint8_t * DCFTracker::m_vpiObjPatches_d
protected

Int8 device memory for VPI output that contains cropped and scaled object patches.

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

◆ m_vpiObjPatchesData

VPIImageData DCFTracker::m_vpiObjPatchesData
protected

VPIImageData corresponding to m_vpiObjPatches_d.

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

◆ m_vpiObjPatchesNumChannels

int DCFTracker::m_vpiObjPatchesNumChannels
protected

Object patches are of format VPI_IMAGE_FORMAT_RGBA8 for CUDA backend.

And of format VPI_IMAGE_FORMAT_RGB8p for PVA backend.

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

◆ m_vpiRuntimeParams

VPIDCFTrackerParams DCFTracker::m_vpiRuntimeParams
protected

VPI DCF Tracker runtime params.

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

◆ m_vpiStream

VPIStream DCFTracker::m_vpiStream
protected

VPI stream used for all VPI operations.

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


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