NVIDIA DeepStream SDK API Reference

9.2 Release
NvMultiObjectTrackerBase Class Reference

Detailed Description

Coordinates tracker submodules to process batched multi-stream input.

Definition at line 89 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

Inheritance diagram for NvMultiObjectTrackerBase:
Collaboration diagram for NvMultiObjectTrackerBase:

Public Member Functions

 NvMultiObjectTrackerBase (const std::string &configFilePath)
 Constructor. More...
 
 ~NvMultiObjectTrackerBase ()
 Release the tracker submodules. More...
 
bool isInitialized ()
 Report whether the tracker is initialized. More...
 
virtual void initialize (const NvMotDataTypes::Size srcImgSize, const size_t srcImgPitch)
 Initialize variables and allocate memories. More...
 
virtual void update (const std::map< NvMOTStreamId, NvMOTFrame * > &nvFramesInBatch, NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Perform multi-object tracking for a batch of frames from multiple streams, with at most one frame per stream. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate tracker capability and memory requirement fields. More...
 
void outputPastFrameObjs (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pPastFrameObjBatch)
 Output past-frame tracking data to tracker plugin and clear the buffer. More...
 
void outputTerminatedObjs (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pPastFrameObjBatch)
 Output complete frame history for all terminated tracks to the plugin. More...
 
void outputShadowObj (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pShadowTracksBatch)
 Output most recent frame history for current shadow tracks to the plugin. More...
 
void deleteRemovedStreamTrackers (const NvMOTStreamId videoStreamID)
 Delete trackers when a stream is removed. More...
 
void updateParams (const std::string &configStr)
 Apply supported runtime tracker configuration updates. More...
 
NvBufSurfaceColorFormat getColorFormatType () const
 Return the configured input surface color format. More...
 
void setColorFormatType (const NvBufSurfaceColorFormat colorFormat)
 Set the input surface color format. More...
 
uint32_t getMaxStreams () const
 Return the maximum number of supported streams. More...
 
void setMaxStreams (const uint32_t maxStreams)
 Set the maximum number of supported streams. More...
 
void setMaxBufSurfAddrSize (const uint32_t maxBufSurfAddrSize)
 Set the maximum surface-buffer address pool size. More...
 
 NvMultiObjectTrackerBase (const std::string &configFilePath)
 Constructor. More...
 
 ~NvMultiObjectTrackerBase ()
 Release the tracker submodules. More...
 
bool isInitialized ()
 Report whether the tracker is initialized. More...
 
virtual void initialize (const NvMotDataTypes::Size srcImgSize, const size_t srcImgPitch)
 Initialize variables and allocate memories. More...
 
virtual void update (const std::map< NvMOTStreamId, NvMOTFrame * > &nvFramesInBatch, NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Perform multi-object tracking for a batch of frames from multiple streams, with at most one frame per stream. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate tracker capability and memory requirement fields. More...
 
void outputPastFrameObjs (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pPastFrameObjBatch)
 Output past-frame tracking data to tracker plugin and clear the buffer. More...
 
void outputTerminatedObjs (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pPastFrameObjBatch)
 Output complete frame history for all terminated tracks to the plugin. More...
 
void outputShadowObj (const std::set< NvMOTStreamId > videoStreamIdList, NvDsTargetMiscDataBatch *&pShadowTracksBatch)
 Output most recent frame history for current shadow tracks to the plugin. More...
 
void deleteRemovedStreamTrackers (const NvMOTStreamId videoStreamID)
 Delete trackers when a stream is removed. More...
 
void updateParams (const std::string &configStr)
 Apply supported runtime tracker configuration updates. More...
 
NvBufSurfaceColorFormat getColorFormatType () const
 Return the configured input surface color format. More...
 
void setColorFormatType (const NvBufSurfaceColorFormat colorFormat)
 Set the input surface color format. More...
 
uint32_t getMaxStreams () const
 Return the maximum number of supported streams. More...
 
void setMaxStreams (const uint32_t maxStreams)
 Set the maximum number of supported streams. More...
 
void setMaxBufSurfAddrSize (const uint32_t maxBufSurfAddrSize)
 Set the maximum surface-buffer address pool size. More...
 

Protected Member Functions

void initializeSubModules ()
 Initialize the sub-modules. More...
 
void addStreamSubModulesRuntime ()
 Add per stream submodules runtime whenever there is a new stream coming in. More...
 
bool checkInputOutput (const std::map< NvMOTStreamId, NvMOTFrame * > &nvFramesInBatch, NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Check the input and output for the update function. More...
 
void parseInputMetadata ()
 Parse and filter the input metadata and store only valid detected objects. More...
 
void recoverFullBbox ()
 Recover the full bbox if 3D camera params are provided. More...
 
void performDataAssociationAndUpdate ()
 Submit all streams' objects from main thread to each working thread to perform data association, update and re-association. More...
 
void performDataAssociationAndUpdatePerStream (assocDataIn_t in)
 Function called in each thread to perform each stream's data association and update. More...
 
void setOutputData (NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Fill out the output metadata. More...
 
void wrapUpProcessingFrameBatch ()
 Advance batch state and emit optional debug output. More...
 
void initializeSubModules ()
 Initialize the sub-modules. More...
 
void addStreamSubModulesRuntime ()
 Add per stream submodules runtime whenever there is a new stream coming in. More...
 
bool checkInputOutput (const std::map< NvMOTStreamId, NvMOTFrame * > &nvFramesInBatch, NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Check the input and output for the update function. More...
 
void parseInputMetadata ()
 Parse and filter the input metadata and store only valid detected objects. More...
 
void recoverFullBbox ()
 Recover the full bbox if 3D camera params are provided. More...
 
void performDataAssociationAndUpdate ()
 Submit all streams' objects from main thread to each working thread to perform data association, update and re-association. More...
 
void performDataAssociationAndUpdatePerStream (assocDataIn_t in)
 Function called in each thread to perform each stream's data association and update. More...
 
void setOutputData (NvMOTTrackedObjBatch *&pTrackedObjectsBatch)
 Fill out the output metadata. More...
 
void wrapUpProcessingFrameBatch ()
 Advance batch state and emit optional debug output. More...
 

Protected Attributes

NvTrackerParamsBase m_paramsBase
 Configuration parameters used by the base tracker. More...
 
const std::string m_configFilePath
 Path to the tracker configuration file. More...
 
SourceFrameInfo m_frameInfo
 Source video frame information. More...
 
std::map< NvMOTStreamId, NvMOTFrame * > m_inputMeta
 Input frame metadata keyed by stream ID. More...
 
std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > m_detectedObjects
 Valid detected objects obtained from the input metadata. More...
 
std::shared_ptr< NvTrackedObjectManager > m_targets
 Targets in use and in the object pool. More...
 
std::shared_ptr< IDataAssociator > m_dataAssociator
 Data association module. More...
 
std::shared_ptr< IVisualTracker > m_visualTracker
 Visual tracker module for target localization. More...
 
std::shared_ptr< IReID > m_reid
 ReID module. More...
 
std::shared_ptr< ISegmenter > m_segmenter
 Object segmentation module. More...
 
std::shared_ptr< IPoseEstimator > m_poseEstimator
 Pose estimation module. More...
 
std::shared_ptr< IReIDService > m_reidService
 Re-ID Service module. More...
 
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > m_objModelProjectors
 Refine bbox based on 3D object model. More...
 
std::shared_ptr< NvTrackerMultiThreadWorker< assocDataIn_t > > m_threadWorker
 Multi-threaded producer-consumer for stream specific tasks. More...
 
bool m_isInit
 Indicates whether the base tracker is initialized. More...
 
bool m_isInitSubModules
 Indicates whether all tracker submodules are initialized. More...
 
REID4REASSOC_STATE m_reid4ReAssocState
 Indicates whether per-stream input must be resubmitted for ReID-based reassociation. More...
 

Friends

class NvTrackedObject
 

Constructor & Destructor Documentation

◆ NvMultiObjectTrackerBase() [1/2]

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

Constructor.

Parameters
[in]configFilePathPath to the tracker configuration file.

◆ ~NvMultiObjectTrackerBase() [1/2]

NvMultiObjectTrackerBase::~NvMultiObjectTrackerBase ( )

Release the tracker submodules.

◆ NvMultiObjectTrackerBase() [2/2]

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

Constructor.

Parameters
[in]configFilePathPath to the tracker configuration file.

◆ ~NvMultiObjectTrackerBase() [2/2]

NvMultiObjectTrackerBase::~NvMultiObjectTrackerBase ( )

Release the tracker submodules.

Member Function Documentation

◆ addStreamSubModulesRuntime() [1/2]

void NvMultiObjectTrackerBase::addStreamSubModulesRuntime ( )
protected

Add per stream submodules runtime whenever there is a new stream coming in.

◆ addStreamSubModulesRuntime() [2/2]

void NvMultiObjectTrackerBase::addStreamSubModulesRuntime ( )
protected

Add per stream submodules runtime whenever there is a new stream coming in.

◆ checkInputOutput() [1/2]

bool NvMultiObjectTrackerBase::checkInputOutput ( const std::map< NvMOTStreamId, NvMOTFrame * > &  nvFramesInBatch,
NvMOTTrackedObjBatch *&  pTrackedObjectsBatch 
)
protected

Check the input and output for the update function.

Parameters
[in]nvFramesInBatchInput frames and detector objects keyed by stream ID.
[in,out]pTrackedObjectsBatchCaller-allocated batch whose filled counts are cleared before tracking.
Returns
False when there are no input frames and no existing trackers; true otherwise.

◆ checkInputOutput() [2/2]

bool NvMultiObjectTrackerBase::checkInputOutput ( const std::map< NvMOTStreamId, NvMOTFrame * > &  nvFramesInBatch,
NvMOTTrackedObjBatch *&  pTrackedObjectsBatch 
)
protected

Check the input and output for the update function.

Parameters
[in]nvFramesInBatchInput frames and detector objects keyed by stream ID.
[in,out]pTrackedObjectsBatchCaller-allocated batch whose filled counts are cleared before tracking.
Returns
False when there are no input frames and no existing trackers; true otherwise.

◆ deleteRemovedStreamTrackers() [1/2]

void NvMultiObjectTrackerBase::deleteRemovedStreamTrackers ( const NvMOTStreamId  videoStreamID)
virtual

Delete trackers when a stream is removed.

Parameters
[in]videoStreamIDStream ID whose trackers are removed.

Implements IBatchLocalizer.

◆ deleteRemovedStreamTrackers() [2/2]

void NvMultiObjectTrackerBase::deleteRemovedStreamTrackers ( const NvMOTStreamId  videoStreamID)
virtual

Delete trackers when a stream is removed.

Parameters
[in]videoStreamIDStream ID whose trackers are removed.

Implements IBatchLocalizer.

◆ getColorFormatType() [1/2]

NvBufSurfaceColorFormat NvMultiObjectTrackerBase::getColorFormatType ( ) const
inline

Return the configured input surface color format.

Definition at line 164 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References SourceFrameInfo::colorFormat, and m_frameInfo.

◆ getColorFormatType() [2/2]

NvBufSurfaceColorFormat NvMultiObjectTrackerBase::getColorFormatType ( ) const
inline

Return the configured input surface color format.

Definition at line 164 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References SourceFrameInfo::colorFormat, and m_frameInfo.

◆ getMaxStreams() [1/2]

uint32_t NvMultiObjectTrackerBase::getMaxStreams ( ) const
inline

Return the maximum number of supported streams.

Definition at line 173 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxStreams.

◆ getMaxStreams() [2/2]

uint32_t NvMultiObjectTrackerBase::getMaxStreams ( ) const
inline

Return the maximum number of supported streams.

Definition at line 173 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxStreams.

◆ initialize() [1/2]

virtual void NvMultiObjectTrackerBase::initialize ( const NvMotDataTypes::Size  srcImgSize,
const size_t  srcImgPitch 
)
virtual

Initialize variables and allocate memories.

Parameters
[in]srcImgSizeSource image size.
[in]srcImgPitchSource image row pitch in bytes.

Implements IBatchLocalizer.

◆ initialize() [2/2]

virtual void NvMultiObjectTrackerBase::initialize ( const NvMotDataTypes::Size  srcImgSize,
const size_t  srcImgPitch 
)
virtual

Initialize variables and allocate memories.

Parameters
[in]srcImgSizeSource image size.
[in]srcImgPitchSource image row pitch in bytes.

Implements IBatchLocalizer.

◆ initializeSubModules() [1/2]

void NvMultiObjectTrackerBase::initializeSubModules ( )
protected

Initialize the sub-modules.

◆ initializeSubModules() [2/2]

void NvMultiObjectTrackerBase::initializeSubModules ( )
protected

Initialize the sub-modules.

◆ isInitialized() [1/2]

bool NvMultiObjectTrackerBase::isInitialized ( )
inlinevirtual

Report whether the tracker is initialized.

Implements IBatchLocalizer.

Definition at line 102 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_isInit.

◆ isInitialized() [2/2]

bool NvMultiObjectTrackerBase::isInitialized ( )
inlinevirtual

Report whether the tracker is initialized.

Implements IBatchLocalizer.

Definition at line 102 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_isInit.

◆ outputPastFrameObjs() [1/2]

void NvMultiObjectTrackerBase::outputPastFrameObjs ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pPastFrameObjBatch 
)
virtual

Output past-frame tracking data to tracker plugin and clear the buffer.

Parameters
[in]videoStreamIdListStream IDs whose past-frame tracking data is reported.
[in,out]pPastFrameObjBatchCaller-allocated batch that receives the past-frame objects.

Implements IBatchLocalizer.

◆ outputPastFrameObjs() [2/2]

void NvMultiObjectTrackerBase::outputPastFrameObjs ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pPastFrameObjBatch 
)
virtual

Output past-frame tracking data to tracker plugin and clear the buffer.

Parameters
[in]videoStreamIdListStream IDs whose past-frame tracking data is reported.
[in,out]pPastFrameObjBatchCaller-allocated batch that receives the past-frame objects.

Implements IBatchLocalizer.

◆ outputShadowObj() [1/2]

void NvMultiObjectTrackerBase::outputShadowObj ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pShadowTracksBatch 
)
virtual

Output most recent frame history for current shadow tracks to the plugin.

Parameters
[in]videoStreamIdListStream IDs whose shadow tracks are reported.
[in,out]pShadowTracksBatchCaller-allocated batch that receives the latest shadow-track frame.

Implements IBatchLocalizer.

◆ outputShadowObj() [2/2]

void NvMultiObjectTrackerBase::outputShadowObj ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pShadowTracksBatch 
)
virtual

Output most recent frame history for current shadow tracks to the plugin.

Parameters
[in]videoStreamIdListStream IDs whose shadow tracks are reported.
[in,out]pShadowTracksBatchCaller-allocated batch that receives the latest shadow-track frame.

Implements IBatchLocalizer.

◆ outputTerminatedObjs() [1/2]

void NvMultiObjectTrackerBase::outputTerminatedObjs ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pPastFrameObjBatch 
)
virtual

Output complete frame history for all terminated tracks to the plugin.

Parameters
[in]videoStreamIdListStream IDs whose terminated tracks are reported.
[in,out]pPastFrameObjBatchCaller-allocated batch that receives the terminated-track history.

Implements IBatchLocalizer.

◆ outputTerminatedObjs() [2/2]

void NvMultiObjectTrackerBase::outputTerminatedObjs ( const std::set< NvMOTStreamId >  videoStreamIdList,
NvDsTargetMiscDataBatch *&  pPastFrameObjBatch 
)
virtual

Output complete frame history for all terminated tracks to the plugin.

Parameters
[in]videoStreamIdListStream IDs whose terminated tracks are reported.
[in,out]pPastFrameObjBatchCaller-allocated batch that receives the terminated-track history.

Implements IBatchLocalizer.

◆ parseInputMetadata() [1/2]

void NvMultiObjectTrackerBase::parseInputMetadata ( )
protected

Parse and filter the input metadata and store only valid detected objects.

◆ parseInputMetadata() [2/2]

void NvMultiObjectTrackerBase::parseInputMetadata ( )
protected

Parse and filter the input metadata and store only valid detected objects.

◆ performDataAssociationAndUpdate() [1/2]

void NvMultiObjectTrackerBase::performDataAssociationAndUpdate ( )
protected

Submit all streams' objects from main thread to each working thread to perform data association, update and re-association.

◆ performDataAssociationAndUpdate() [2/2]

void NvMultiObjectTrackerBase::performDataAssociationAndUpdate ( )
protected

Submit all streams' objects from main thread to each working thread to perform data association, update and re-association.

◆ performDataAssociationAndUpdatePerStream() [1/2]

void NvMultiObjectTrackerBase::performDataAssociationAndUpdatePerStream ( assocDataIn_t  in)
protected

Function called in each thread to perform each stream's data association and update.

Parameters
[in]inAssociation input for one stream.

◆ performDataAssociationAndUpdatePerStream() [2/2]

void NvMultiObjectTrackerBase::performDataAssociationAndUpdatePerStream ( assocDataIn_t  in)
protected

Function called in each thread to perform each stream's data association and update.

Parameters
[in]inAssociation input for one stream.

◆ queryParams() [1/2]

void NvMultiObjectTrackerBase::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate tracker capability and memory requirement fields.

Parameters
[out]paramsQueryQuery structure populated with tracker requirements.

Implements IBatchLocalizer.

◆ queryParams() [2/2]

void NvMultiObjectTrackerBase::queryParams ( NvMOTQuery &  paramsQuery)
virtual

Populate tracker capability and memory requirement fields.

Parameters
[out]paramsQueryQuery structure populated with tracker requirements.

Implements IBatchLocalizer.

◆ recoverFullBbox() [1/2]

void NvMultiObjectTrackerBase::recoverFullBbox ( )
protected

Recover the full bbox if 3D camera params are provided.

◆ recoverFullBbox() [2/2]

void NvMultiObjectTrackerBase::recoverFullBbox ( )
protected

Recover the full bbox if 3D camera params are provided.

◆ setColorFormatType() [1/2]

void NvMultiObjectTrackerBase::setColorFormatType ( const NvBufSurfaceColorFormat  colorFormat)
inline

Set the input surface color format.

Parameters
[in]colorFormatInput surface color format.

Definition at line 170 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References SourceFrameInfo::colorFormat, and m_frameInfo.

◆ setColorFormatType() [2/2]

void NvMultiObjectTrackerBase::setColorFormatType ( const NvBufSurfaceColorFormat  colorFormat)
inline

Set the input surface color format.

Parameters
[in]colorFormatInput surface color format.

Definition at line 170 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References SourceFrameInfo::colorFormat, and m_frameInfo.

◆ setMaxBufSurfAddrSize() [1/2]

void NvMultiObjectTrackerBase::setMaxBufSurfAddrSize ( const uint32_t  maxBufSurfAddrSize)
inline

Set the maximum surface-buffer address pool size.

Parameters
[in]maxBufSurfAddrSizeMaximum number of surface-buffer addresses.

Definition at line 185 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxBufSurfAddrSize.

◆ setMaxBufSurfAddrSize() [2/2]

void NvMultiObjectTrackerBase::setMaxBufSurfAddrSize ( const uint32_t  maxBufSurfAddrSize)
inline

Set the maximum surface-buffer address pool size.

Parameters
[in]maxBufSurfAddrSizeMaximum number of surface-buffer addresses.

Definition at line 185 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxBufSurfAddrSize.

◆ setMaxStreams() [1/2]

void NvMultiObjectTrackerBase::setMaxStreams ( const uint32_t  maxStreams)
inline

Set the maximum number of supported streams.

Parameters
[in]maxStreamsMaximum number of supported streams.

Definition at line 179 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxStreams.

◆ setMaxStreams() [2/2]

void NvMultiObjectTrackerBase::setMaxStreams ( const uint32_t  maxStreams)
inline

Set the maximum number of supported streams.

Parameters
[in]maxStreamsMaximum number of supported streams.

Definition at line 179 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

References m_frameInfo, and SourceFrameInfo::maxStreams.

◆ setOutputData() [1/2]

void NvMultiObjectTrackerBase::setOutputData ( NvMOTTrackedObjBatch *&  pTrackedObjectsBatch)
protected

Fill out the output metadata.

Parameters
[in,out]pTrackedObjectsBatchCaller-allocated batch filled with tracked objects for this frame batch.

◆ setOutputData() [2/2]

void NvMultiObjectTrackerBase::setOutputData ( NvMOTTrackedObjBatch *&  pTrackedObjectsBatch)
protected

Fill out the output metadata.

Parameters
[in,out]pTrackedObjectsBatchCaller-allocated batch filled with tracked objects for this frame batch.

◆ update() [1/2]

virtual void NvMultiObjectTrackerBase::update ( const std::map< NvMOTStreamId, NvMOTFrame * > &  nvFramesInBatch,
NvMOTTrackedObjBatch *&  pTrackedObjectsBatch 
)
virtual

Perform multi-object tracking for a batch of frames from multiple streams, with at most one frame per stream.

Parameters
[in]nvFramesInBatchSource frames and detector bboxes keyed by video stream ID.
[in,out]pTrackedObjectsBatchCaller-allocated batch filled with tracked objects for this frame batch.

Implements IBatchLocalizer.

◆ update() [2/2]

virtual void NvMultiObjectTrackerBase::update ( const std::map< NvMOTStreamId, NvMOTFrame * > &  nvFramesInBatch,
NvMOTTrackedObjBatch *&  pTrackedObjectsBatch 
)
virtual

Perform multi-object tracking for a batch of frames from multiple streams, with at most one frame per stream.

Parameters
[in]nvFramesInBatchSource frames and detector bboxes keyed by video stream ID.
[in,out]pTrackedObjectsBatchCaller-allocated batch filled with tracked objects for this frame batch.

Implements IBatchLocalizer.

◆ updateParams() [1/2]

void NvMultiObjectTrackerBase::updateParams ( const std::string &  configStr)
virtual

Apply supported runtime tracker configuration updates.

Parameters
[in]configStrStringified YAML configuration parameters to update.

Implements IBatchLocalizer.

◆ updateParams() [2/2]

void NvMultiObjectTrackerBase::updateParams ( const std::string &  configStr)
virtual

Apply supported runtime tracker configuration updates.

Parameters
[in]configStrStringified YAML configuration parameters to update.

Implements IBatchLocalizer.

◆ wrapUpProcessingFrameBatch() [1/2]

void NvMultiObjectTrackerBase::wrapUpProcessingFrameBatch ( )
protected

Advance batch state and emit optional debug output.

◆ wrapUpProcessingFrameBatch() [2/2]

void NvMultiObjectTrackerBase::wrapUpProcessingFrameBatch ( )
protected

Advance batch state and emit optional debug output.

Friends And Related Function Documentation

◆ NvTrackedObject

Field Documentation

◆ m_configFilePath

const std::string NvMultiObjectTrackerBase::m_configFilePath
protected

Path to the tracker configuration file.

Definition at line 194 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

◆ m_dataAssociator

std::shared_ptr< IDataAssociator > NvMultiObjectTrackerBase::m_dataAssociator
protected

◆ m_detectedObjects

std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > NvMultiObjectTrackerBase::m_detectedObjects
protected

Valid detected objects obtained from the input metadata.

Definition at line 199 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

◆ m_frameInfo

SourceFrameInfo NvMultiObjectTrackerBase::m_frameInfo
protected

◆ m_inputMeta

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

Input frame metadata keyed by stream ID.

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

◆ m_isInit

bool NvMultiObjectTrackerBase::m_isInit
protected

Indicates whether the base tracker is initialized.

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

Referenced by isInitialized().

◆ m_isInitSubModules

bool NvMultiObjectTrackerBase::m_isInitSubModules
protected

Indicates whether all tracker submodules are initialized.

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

◆ m_objModelProjectors

std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > NvMultiObjectTrackerBase::m_objModelProjectors
protected

Refine bbox based on 3D object model.

Definition at line 223 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

◆ m_paramsBase

NvTrackerParamsBase NvMultiObjectTrackerBase::m_paramsBase
protected

Configuration parameters used by the base tracker.

Definition at line 193 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.

◆ m_poseEstimator

std::shared_ptr< IPoseEstimator > NvMultiObjectTrackerBase::m_poseEstimator
protected

◆ m_reid

std::shared_ptr< IReID > NvMultiObjectTrackerBase::m_reid
protected

◆ m_reid4ReAssocState

REID4REASSOC_STATE NvMultiObjectTrackerBase::m_reid4ReAssocState
protected

Indicates whether per-stream input must be resubmitted for ReID-based reassociation.

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

◆ m_reidService

std::shared_ptr< IReIDService > NvMultiObjectTrackerBase::m_reidService
protected

◆ m_segmenter

std::shared_ptr< ISegmenter > NvMultiObjectTrackerBase::m_segmenter
protected

◆ m_targets

std::shared_ptr< NvTrackedObjectManager > NvMultiObjectTrackerBase::m_targets
protected

Targets in use and in the object pool.

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

◆ m_threadWorker

std::shared_ptr< NvTrackerMultiThreadWorker< assocDataIn_t > > NvMultiObjectTrackerBase::m_threadWorker
protected

Multi-threaded producer-consumer for stream specific tasks.

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

◆ m_visualTracker

std::shared_ptr< IVisualTracker > NvMultiObjectTrackerBase::m_visualTracker
protected

Visual tracker module for target localization.

Definition at line 208 of file sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker.hpp.


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