NVIDIA DeepStream SDK API Reference

9.2 Release
NvTrackedObjectManager Class Reference

Detailed Description

Collaboration diagram for NvTrackedObjectManager:

Data Structures

struct  TM_Stats
 ACTIVE track termination counters (per NvTrackedObjectManager instance). More...
 

Public Member Functions

 NvTrackedObjectManager (const std::string &configFilePath)
 Initialize the target manager from a tracker configuration. More...
 
 ~NvTrackedObjectManager ()
 Release all managed targets and stream submodules. More...
 
void initialize (const SourceFrameInfo &frameInfo)
 Allocate the target pool and initialize stream-independent submodules. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate target-manager memory requirements. More...
 
void updateInputInfo (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Update per-stream input information before target-manager processing. More...
 
void cleanPreviousBatchData ()
 Clean previous batch data. More...
 
void updatePerStream (const assocDataOut_t &assocOut, const REID4REASSOC_STATE reid4reAssocState=NOT_NEEDED)
 Update targets and trajectories per stream in each thread. More...
 
void updateTargets ()
 Update targets for all streams on the main thread. More...
 
void updateTrajectoryManager ()
 Update trajectories for all streams on the main thread. More...
 
bool addStreamSubModules (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const NvMotDataTypes::Size &srcImageSize)
 Update obj model projectors when streams are added or deleted. More...
 
void recoverDefaultModelFromBbox (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, DetectedObjInfo &detObjInfo)
 Recover object model from detection bounding box using default model projector. More...
 
void updateParams (const YAML::Node &fn)
 Update any Dynamic Params as provided during runtime by the user. More...
 
void resetStream (const NvMOTStreamId videoStreamId)
 Remove all trackers for a stream WITHOUT deleting stream. More...
 
void resetAllStreams ()
 Resets all trackers for all streams. More...
 
void removeStream (const NvMOTStreamId videoStreamId)
 Remove all trackers for a stream and deletes stream. More...
 
void removeAllStreams ()
 Remove all trackers for all streams. More...
 
std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > generateTrackedObjects4Reid (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Select targets for ReID feature extraction during reassociation. More...
 
bool isInitialized ()
 Report whether the target manager is initialized. More...
 
const std::map< NvMOTStreamId, std::shared_ptr< NvTrackedObjectList > > & getTrackedObjectsInUseList ()
 Return in-use targets for all streams. More...
 
NvTrackedObjectList getTrackedObjectsInUseList (const NvMOTStreamId streamId)
 Return in-use targets for one stream. More...
 
const std::map< NvMOTStreamId, std::vector< std::shared_ptr< NvTrackedObject > > > & getTrackedObjectsTerminated ()
 Return targets terminated in the current batch. More...
 
const int getLastTargetInd ()
 Return the index of the last allocated tracker. More...
 
const float getTargetCapacityUtilization ()
 Return the fraction of total target capacity currently in use. More...
 
const uint getMaxTargetsPerStream ()
 Return the maximum number of targets allowed per stream. More...
 
const std::map< NvMOTStreamId, FusedObjectList > & getTrackedObjectsFused ()
 Return targets fused during reassociation. More...
 
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > & getObjModelProjectors ()
 Return default object model projectors keyed by stream ID. More...
 
const float getMinVisibility4TrajDump ()
 Return the minimum visibility required for trajectory dumping. More...
 
const bool getDumpDetectorBboxes ()
 Report whether detector bounding boxes are included in debug dumps. More...
 
const PeerTargetDB getPeerTargets (const NvMOTStreamId streamId)
 Return peer targets visible to a stream. More...
 
const std::shared_ptr< IMultiViewAssociator > getMultiViewAssociators (const NvMOTStreamId streamId)
 Return the multi-view associator for a stream. More...
 
bool getOutputTerminatedTracks (const NvMOTStreamId streamId, std::list< TerminatedTrack > *&pTerminatedList)
 Return the terminated-track output list for a stream when available. More...
 
void clearOutputTerminatedTracks ()
 Clear buffered terminated-track output when saving is enabled. More...
 
void terminateTrackerPublic (const std::shared_ptr< NvTrackedObject > target, const TRACKER_DELETE_MODE deleteMode, const std::shared_ptr< NvTrackedObject > peer=nullptr)
 Terminate a target through the public manager interface. More...
 
void dumpTerminatedTracks ()
 Write all buffered terminated tracks to the configured debug output. More...
 
void dumpIntermediateTargetInfo (const assocDataOut_t &assocOut)
 Write intermediate detector and target information for one stream. More...
 
std::set< std::shared_ptr< NvTrackedObject > > & getShadowTracks (const NvMOTStreamId streamId)
 Return shadow tracks collected for a stream in the current batch. More...
 
void clearShadowTracks ()
 Clear shadow tracks collected for the current batch. More...
 
void setSegmentationBatchInfo (SegmentationInBatch segInfo)
 Store batched segmentation-mask information. More...
 
const SegmentationInBatch & getSegmentationBatchInfo ()
 Return batched segmentation-mask information. More...
 
 NvTrackedObjectManager (const std::string &configFilePath)
 Initialize the target manager from a tracker configuration. More...
 
 ~NvTrackedObjectManager ()
 Release all managed targets and stream submodules. More...
 
void initialize (const SourceFrameInfo &frameInfo)
 Allocate the target pool and initialize stream-independent submodules. More...
 
void queryParams (NvMOTQuery &paramsQuery)
 Populate target-manager memory requirements. More...
 
void updateInputInfo (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Update per-stream input information before target-manager processing. More...
 
void cleanPreviousBatchData ()
 Clean previous batch data. More...
 
void updatePerStream (const assocDataOut_t &assocOut, const REID4REASSOC_STATE reid4reAssocState=NOT_NEEDED)
 Update targets and trajectories per stream in each thread. More...
 
void updateTargets ()
 Update targets for all streams on the main thread. More...
 
void updateTrajectoryManager ()
 Update trajectories for all streams on the main thread. More...
 
bool addStreamSubModules (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const NvMotDataTypes::Size &srcImageSize)
 Update obj model projectors when streams are added or deleted. More...
 
void recoverDefaultModelFromBbox (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, DetectedObjInfo &detObjInfo)
 Recover object model from detection bounding box using default model projector. More...
 
void updateParams (const YAML::Node &fn)
 Update any Dynamic Params as provided during runtime by the user. More...
 
void resetStream (const NvMOTStreamId videoStreamId)
 Remove all trackers for a stream WITHOUT deleting stream. More...
 
void resetAllStreams ()
 Resets all trackers for all streams. More...
 
void removeStream (const NvMOTStreamId videoStreamId)
 Remove all trackers for a stream and deletes stream. More...
 
void removeAllStreams ()
 Remove all trackers for all streams. More...
 
std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > generateTrackedObjects4Reid (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Select targets for ReID feature extraction during reassociation. More...
 
bool isInitialized ()
 Report whether the target manager is initialized. More...
 
const std::map< NvMOTStreamId, std::shared_ptr< NvTrackedObjectList > > & getTrackedObjectsInUseList ()
 Return in-use targets for all streams. More...
 
NvTrackedObjectList getTrackedObjectsInUseList (const NvMOTStreamId streamId)
 Return in-use targets for one stream. More...
 
const std::map< NvMOTStreamId, std::vector< std::shared_ptr< NvTrackedObject > > > & getTrackedObjectsTerminated ()
 Return targets terminated in the current batch. More...
 
const int getLastTargetInd ()
 Return the index of the last allocated tracker. More...
 
const float getTargetCapacityUtilization ()
 Return the fraction of total target capacity currently in use. More...
 
const uint getMaxTargetsPerStream ()
 Return the maximum number of targets allowed per stream. More...
 
const std::map< NvMOTStreamId, FusedObjectList > & getTrackedObjectsFused ()
 Return targets fused during reassociation. More...
 
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > & getObjModelProjectors ()
 Return default object model projectors keyed by stream ID. More...
 
const float getMinVisibility4TrajDump ()
 Return the minimum visibility required for trajectory dumping. More...
 
const bool getDumpDetectorBboxes ()
 Report whether detector bounding boxes are included in debug dumps. More...
 
const PeerTargetDB getPeerTargets (const NvMOTStreamId streamId)
 Return peer targets visible to a stream. More...
 
const std::shared_ptr< IMultiViewAssociator > getMultiViewAssociators (const NvMOTStreamId streamId)
 Return the multi-view associator for a stream. More...
 
bool getOutputTerminatedTracks (const NvMOTStreamId streamId, std::list< TerminatedTrack > *&pTerminatedList)
 Return the terminated-track output list for a stream when available. More...
 
void clearOutputTerminatedTracks ()
 Clear buffered terminated-track output when saving is enabled. More...
 
void terminateTrackerPublic (const std::shared_ptr< NvTrackedObject > target, const TRACKER_DELETE_MODE deleteMode, const std::shared_ptr< NvTrackedObject > peer=nullptr)
 Terminate a target through the public manager interface. More...
 
void dumpTerminatedTracks ()
 Write all buffered terminated tracks to the configured debug output. More...
 
void dumpIntermediateTargetInfo (const assocDataOut_t &assocOut)
 Write intermediate detector and target information for one stream. More...
 
std::set< std::shared_ptr< NvTrackedObject > > & getShadowTracks (const NvMOTStreamId streamId)
 Return shadow tracks collected for a stream in the current batch. More...
 
void clearShadowTracks ()
 Clear shadow tracks collected for the current batch. More...
 
void setSegmentationBatchInfo (SegmentationInBatch segInfo)
 Store batched segmentation-mask information. More...
 
const SegmentationInBatch & getSegmentationBatchInfo ()
 Return batched segmentation-mask information. More...
 

Data Fields

NvTrackerParamsTargetManager m_params
 Configuration parameters for target management. More...
 
MultiViewAssociatorParams m_multiViewParams
 Configuration parameters for multi-view association. More...
 
struct NvTrackedObjectManager::TM_Stats m_tm_stats
 

Protected Member Functions

void updateTargetsPerStream (const assocDataOut_t &assocOut)
 Actually perform target update per stream. More...
 
void updateMatched (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::deque< std::pair< const DetectedObjInfo *, TrackerIndex >> &matchedPairs)
 Update the targets that have matched detector objects. More...
 
void updateUnMatched (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::set< TrackerIndex > &unmatchedTargets)
 Update the targets that do not have any matched detector objects. More...
 
void addTargetsBatch (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::map< const TrackerIndex, const DetectedObjInfo * > &unmatchedDetObjs)
 Add new targets for the new detected objects. More...
 
void addSeeThroughTargets (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum)
 Add see-through targets from peer cameras. More...
 
bool addTarget (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const DetectedObjInfo *detObj, const PeerTarget *peerTarget=nullptr)
 Add a new target for a new object. More...
 
void checkToTerminateTracker (const std::shared_ptr< NvTrackedObject > target)
 Check the termination criteria for a target and terminate if met. More...
 
void terminateTracker (const std::shared_ptr< NvTrackedObject > target, const TRACKER_DELETE_MODE deleteMode, const std::shared_ptr< NvTrackedObject > peer=nullptr)
 Actually terminate tracker. More...
 
virtual void updateTrajectoryManagerPerStream (const assocDataOut_t &assocOut)
 Update traj manager to assign ids, perform re-association and terminate trackers for each stream. More...
 
void updateTrajectoryBuffers (const NvMOTStreamId videoStreamId)
 Add the current target info to the trajectory buffer. More...
 
void updateTargetCapacityUtilization ()
 Update target capacity utilization. More...
 
void saveShadowTrackInfo ()
 Output shadow track objects in current batch. More...
 
void addTargetInShadowTrack (std::shared_ptr< NvTrackedObject > target)
 Save the current target in shadow track objects. More...
 
const std::string dumpAllTargetStates ()
 Dump all the target states in a structured text for debug. More...
 
TerminatedTrack createTerminatedTrack (const std::shared_ptr< NvTrackedObject > terminatedTarget)
 Save and output the terminated tracks. More...
 
void removeStreamSubModules (const NvMOTStreamId videoStreamId)
 Remove submodules when a stream is removed. More...
 
void createMultiViewAssociators ()
 Create multiview associators by replacing the existing instances after stream addition or deletion. More...
 
void addTerminatedTrackToBufferPerStream (TerminatedTrack &newTermTrack)
 Append a terminated track to its stream output buffer. More...
 
uint getSizeTrackedObjectsInPool () const
 Return the number of tracker slots in the object pool. More...
 
void updateTargetsPerStream (const assocDataOut_t &assocOut)
 Actually perform target update per stream. More...
 
void updateMatched (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::deque< std::pair< const DetectedObjInfo *, TrackerIndex >> &matchedPairs)
 Update the targets that have matched detector objects. More...
 
void updateUnMatched (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::set< TrackerIndex > &unmatchedTargets)
 Update the targets that do not have any matched detector objects. More...
 
void addTargetsBatch (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::map< const TrackerIndex, const DetectedObjInfo * > &unmatchedDetObjs)
 Add new targets for the new detected objects. More...
 
void addSeeThroughTargets (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum)
 Add see-through targets from peer cameras. More...
 
bool addTarget (const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const DetectedObjInfo *detObj, const PeerTarget *peerTarget=nullptr)
 Add a new target for a new object. More...
 
void checkToTerminateTracker (const std::shared_ptr< NvTrackedObject > target)
 Check the termination criteria for a target and terminate if met. More...
 
void terminateTracker (const std::shared_ptr< NvTrackedObject > target, const TRACKER_DELETE_MODE deleteMode, const std::shared_ptr< NvTrackedObject > peer=nullptr)
 Actually terminate tracker. More...
 
virtual void updateTrajectoryManagerPerStream (const assocDataOut_t &assocOut)
 Update traj manager to assign ids, perform re-association and terminate trackers for each stream. More...
 
void updateTrajectoryBuffers (const NvMOTStreamId videoStreamId)
 Add the current target info to the trajectory buffer. More...
 
void updateTargetCapacityUtilization ()
 Update target capacity utilization. More...
 
void saveShadowTrackInfo ()
 Output shadow track objects in current batch. More...
 
void addTargetInShadowTrack (std::shared_ptr< NvTrackedObject > target)
 Save the current target in shadow track objects. More...
 
const std::string dumpAllTargetStates ()
 Dump all the target states in a structured text for debug. More...
 
TerminatedTrack createTerminatedTrack (const std::shared_ptr< NvTrackedObject > terminatedTarget)
 Save and output the terminated tracks. More...
 
void removeStreamSubModules (const NvMOTStreamId videoStreamId)
 Remove submodules when a stream is removed. More...
 
void createMultiViewAssociators ()
 Create multiview associators by replacing the existing instances after stream addition or deletion. More...
 
void addTerminatedTrackToBufferPerStream (TerminatedTrack &newTermTrack)
 Append a terminated track to its stream output buffer. More...
 
uint getSizeTrackedObjectsInPool () const
 Return the number of tracker slots in the object pool. More...
 

Protected Attributes

bool m_isInit
 Indicates whether the target manager is initialized. More...
 
const std::string m_configFilePath
 Path to the tracker configuration file. More...
 
std::mutex m_trackedObjectsLock
 Lock associated with tracked objects for all streams. More...
 
NvTrackedObjectList m_TrackedObjectsInPool
 Pool of all preallocated tracked objects. More...
 
std::map< NvMOTStreamId, std::vector< std::shared_ptr< NvTrackedObject > > > m_trackedObjectsTerminated
 Stores terminated tracker in the current batch. More...
 
std::map< NvMOTStreamId, FusedObjectList > m_trackedObjectsFused
 Targets fused during reassociation, keyed by stream. More...
 
std::map< NvMOTStreamId, assocDataOut_t > m_assocOuts
 Store assoc output for each stream. Only used when preserving update order. More...
 
int m_lastTrackerInd
 The ID of the last active tracker along the device memory space. More...
 
std::map< NvMOTStreamId, bool > m_isFileTerminatedDumpCreated
 Indicates whether each stream's terminated-track dump file was created. More...
 
std::map< NvMOTStreamId, std::ofstream > m_fileTerminatedDump
 Terminated-track dump stream for each video stream. More...
 
std::map< NvMOTStreamId, std::ofstream > m_fileIntermediateDetDump
 Intermediate detection dump stream for each video stream. More...
 
std::map< NvMOTStreamId, std::ofstream > m_fileIntermediateTrackDump
 Intermediate target dump stream for each video stream. More...
 
std::map< NvMOTStreamId, std::list< TerminatedTrack > > m_terminatedTrackOutputMap_
 Terminated tracks keyed by video stream ID. More...
 
std::map< NvMOTStreamId, std::set< std::shared_ptr< NvTrackedObject > > > m_shadowTracks
 Stores shadow tracks in the current batch. More...
 
std::map< NvMOTStreamId, std::shared_ptr< NvTrackedObjectList > > m_TrackedObjectsInUse
 Tracked object info should only be modified in main thread and is read only in worker threads. More...
 
float m_targetCapacityUtilization
 The utilization of the total allocated target capacity. [Unit: %]. More...
 
std::shared_ptr< NvTrajectoryManager > m_trajectoryManager
 Manages the trajectory generated by each target. More...
 
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > m_defaultModelProjectors
 Default object model projectors for each stream. More...
 
SegmentationInBatch m_segInfo
 Segmentation results for all the targets. More...
 
std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator > > m_multiViewAssociators
 Multi-view associators. More...
 

Constructor & Destructor Documentation

◆ NvTrackedObjectManager() [1/2]

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

Initialize the target manager from a tracker configuration.

Parameters
[in]configFilePathPath to the tracker configuration file.

◆ ~NvTrackedObjectManager() [1/2]

NvTrackedObjectManager::~NvTrackedObjectManager ( )

Release all managed targets and stream submodules.

◆ NvTrackedObjectManager() [2/2]

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

Initialize the target manager from a tracker configuration.

Parameters
[in]configFilePathPath to the tracker configuration file.

◆ ~NvTrackedObjectManager() [2/2]

NvTrackedObjectManager::~NvTrackedObjectManager ( )

Release all managed targets and stream submodules.

Member Function Documentation

◆ addSeeThroughTargets() [1/2]

void NvTrackedObjectManager::addSeeThroughTargets ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum 
)
protected

Add see-through targets from peer cameras.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.

◆ addSeeThroughTargets() [2/2]

void NvTrackedObjectManager::addSeeThroughTargets ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum 
)
protected

Add see-through targets from peer cameras.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.

◆ addStreamSubModules() [1/2]

bool NvTrackedObjectManager::addStreamSubModules ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const NvMotDataTypes::Size &  srcImageSize 
)

Update obj model projectors when streams are added or deleted.

Parameters
[in]inputMetaInput frames keyed by stream ID.
[in]srcImageSizeSource image size.
Returns
True when at least one new stream is added.

◆ addStreamSubModules() [2/2]

bool NvTrackedObjectManager::addStreamSubModules ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta,
const NvMotDataTypes::Size &  srcImageSize 
)

Update obj model projectors when streams are added or deleted.

Parameters
[in]inputMetaInput frames keyed by stream ID.
[in]srcImageSizeSource image size.
Returns
True when at least one new stream is added.

◆ addTarget() [1/2]

bool NvTrackedObjectManager::addTarget ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const DetectedObjInfo *  detObj,
const PeerTarget *  peerTarget = nullptr 
)
protected

Add a new target for a new object.

Parameters
[in]videoStreamIdStream that receives the new target.
[in]frameNumCurrent frame number.
[in]detObjDetected object for the new target, or null when a peer target is supplied.
[in]peerTargetPeer-camera target used to initialize target information.
Returns
False when the new target overlaps an existing target or no tracker slot is available.

◆ addTarget() [2/2]

bool NvTrackedObjectManager::addTarget ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const DetectedObjInfo *  detObj,
const PeerTarget *  peerTarget = nullptr 
)
protected

Add a new target for a new object.

Parameters
[in]videoStreamIdStream that receives the new target.
[in]frameNumCurrent frame number.
[in]detObjDetected object for the new target, or null when a peer target is supplied.
[in]peerTargetPeer-camera target used to initialize target information.
Returns
False when the new target overlaps an existing target or no tracker slot is available.

◆ addTargetInShadowTrack() [1/2]

void NvTrackedObjectManager::addTargetInShadowTrack ( std::shared_ptr< NvTrackedObject >  target)
protected

Save the current target in shadow track objects.

Parameters
[in]targetInactive target recorded when its shadow-tracking age is positive.

◆ addTargetInShadowTrack() [2/2]

void NvTrackedObjectManager::addTargetInShadowTrack ( std::shared_ptr< NvTrackedObject >  target)
protected

Save the current target in shadow track objects.

Parameters
[in]targetInactive target recorded when its shadow-tracking age is positive.

◆ addTargetsBatch() [1/2]

void NvTrackedObjectManager::addTargetsBatch ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::map< const TrackerIndex, const DetectedObjInfo * > &  unmatchedDetObjs 
)
protected

Add new targets for the new detected objects.

Parameters
[in]videoStreamIdStream that owns the new detections.
[in]frameNumCurrent frame number.
[in]unmatchedDetObjsDetections that were not matched to an existing target.

◆ addTargetsBatch() [2/2]

void NvTrackedObjectManager::addTargetsBatch ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::map< const TrackerIndex, const DetectedObjInfo * > &  unmatchedDetObjs 
)
protected

Add new targets for the new detected objects.

Parameters
[in]videoStreamIdStream that owns the new detections.
[in]frameNumCurrent frame number.
[in]unmatchedDetObjsDetections that were not matched to an existing target.

◆ addTerminatedTrackToBufferPerStream() [1/2]

void NvTrackedObjectManager::addTerminatedTrackToBufferPerStream ( TerminatedTrack &  newTermTrack)
protected

Append a terminated track to its stream output buffer.

Parameters
[in]newTermTrackTerminated track appended to that stream's output buffer.

◆ addTerminatedTrackToBufferPerStream() [2/2]

void NvTrackedObjectManager::addTerminatedTrackToBufferPerStream ( TerminatedTrack &  newTermTrack)
protected

Append a terminated track to its stream output buffer.

Parameters
[in]newTermTrackTerminated track appended to that stream's output buffer.

◆ checkToTerminateTracker() [1/2]

void NvTrackedObjectManager::checkToTerminateTracker ( const std::shared_ptr< NvTrackedObject >  target)
protected

Check the termination criteria for a target and terminate if met.

Parameters
[in]targetTarget whose shadow age is checked against the termination limits.

◆ checkToTerminateTracker() [2/2]

void NvTrackedObjectManager::checkToTerminateTracker ( const std::shared_ptr< NvTrackedObject >  target)
protected

Check the termination criteria for a target and terminate if met.

Parameters
[in]targetTarget whose shadow age is checked against the termination limits.

◆ cleanPreviousBatchData() [1/2]

void NvTrackedObjectManager::cleanPreviousBatchData ( )

Clean previous batch data.

◆ cleanPreviousBatchData() [2/2]

void NvTrackedObjectManager::cleanPreviousBatchData ( )

Clean previous batch data.

◆ clearOutputTerminatedTracks() [1/2]

void NvTrackedObjectManager::clearOutputTerminatedTracks ( )
inline

◆ clearOutputTerminatedTracks() [2/2]

void NvTrackedObjectManager::clearOutputTerminatedTracks ( )
inline

◆ clearShadowTracks() [1/2]

void NvTrackedObjectManager::clearShadowTracks ( )
inline

Clear shadow tracks collected for the current batch.

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

References m_shadowTracks.

◆ clearShadowTracks() [2/2]

void NvTrackedObjectManager::clearShadowTracks ( )
inline

Clear shadow tracks collected for the current batch.

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

References m_shadowTracks.

◆ createMultiViewAssociators() [1/2]

void NvTrackedObjectManager::createMultiViewAssociators ( )
protected

Create multiview associators by replacing the existing instances after stream addition or deletion.

◆ createMultiViewAssociators() [2/2]

void NvTrackedObjectManager::createMultiViewAssociators ( )
protected

Create multiview associators by replacing the existing instances after stream addition or deletion.

◆ createTerminatedTrack() [1/2]

TerminatedTrack NvTrackedObjectManager::createTerminatedTrack ( const std::shared_ptr< NvTrackedObject >  terminatedTarget)
protected

Save and output the terminated tracks.

Parameters
[in]terminatedTargetTarget whose identity and trajectory are copied.
Returns
Terminated-track record for the target, or an empty record when terminated tracks are not saved.

◆ createTerminatedTrack() [2/2]

TerminatedTrack NvTrackedObjectManager::createTerminatedTrack ( const std::shared_ptr< NvTrackedObject >  terminatedTarget)
protected

Save and output the terminated tracks.

Parameters
[in]terminatedTargetTarget whose identity and trajectory are copied.
Returns
Terminated-track record for the target, or an empty record when terminated tracks are not saved.

◆ dumpAllTargetStates() [1/2]

const std::string NvTrackedObjectManager::dumpAllTargetStates ( )
protected

Dump all the target states in a structured text for debug.

◆ dumpAllTargetStates() [2/2]

const std::string NvTrackedObjectManager::dumpAllTargetStates ( )
protected

Dump all the target states in a structured text for debug.

◆ dumpIntermediateTargetInfo() [1/2]

void NvTrackedObjectManager::dumpIntermediateTargetInfo ( const assocDataOut_t &  assocOut)

Write intermediate detector and target information for one stream.

Parameters
[in]assocOutAssociation output for the stream being dumped.

◆ dumpIntermediateTargetInfo() [2/2]

void NvTrackedObjectManager::dumpIntermediateTargetInfo ( const assocDataOut_t &  assocOut)

Write intermediate detector and target information for one stream.

Parameters
[in]assocOutAssociation output for the stream being dumped.

◆ dumpTerminatedTracks() [1/2]

void NvTrackedObjectManager::dumpTerminatedTracks ( )

Write all buffered terminated tracks to the configured debug output.

◆ dumpTerminatedTracks() [2/2]

void NvTrackedObjectManager::dumpTerminatedTracks ( )

Write all buffered terminated tracks to the configured debug output.

◆ generateTrackedObjects4Reid() [1/2]

std::map<NvMOTStreamId, std::deque<DetectedObjInfo> > NvTrackedObjectManager::generateTrackedObjects4Reid ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)

Select targets for ReID feature extraction during reassociation.

Parameters
[in]inputMetaInput frames keyed by video stream ID.

◆ generateTrackedObjects4Reid() [2/2]

std::map<NvMOTStreamId, std::deque<DetectedObjInfo> > NvTrackedObjectManager::generateTrackedObjects4Reid ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)

Select targets for ReID feature extraction during reassociation.

Parameters
[in]inputMetaInput frames keyed by video stream ID.

◆ getDumpDetectorBboxes() [1/2]

const bool NvTrackedObjectManager::getDumpDetectorBboxes ( )

Report whether detector bounding boxes are included in debug dumps.

◆ getDumpDetectorBboxes() [2/2]

const bool NvTrackedObjectManager::getDumpDetectorBboxes ( )

Report whether detector bounding boxes are included in debug dumps.

◆ getLastTargetInd() [1/2]

const int NvTrackedObjectManager::getLastTargetInd ( )
inline

Return the index of the last allocated tracker.

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

References m_lastTrackerInd.

◆ getLastTargetInd() [2/2]

const int NvTrackedObjectManager::getLastTargetInd ( )
inline

Return the index of the last allocated tracker.

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

References m_lastTrackerInd.

◆ getMaxTargetsPerStream() [1/2]

const uint NvTrackedObjectManager::getMaxTargetsPerStream ( )
inline

Return the maximum number of targets allowed per stream.

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

References NvTrackerParamsTargetManager::m_maxTargetsPerStream, and m_params.

◆ getMaxTargetsPerStream() [2/2]

const uint NvTrackedObjectManager::getMaxTargetsPerStream ( )
inline

Return the maximum number of targets allowed per stream.

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

References NvTrackerParamsTargetManager::m_maxTargetsPerStream, and m_params.

◆ getMinVisibility4TrajDump() [1/2]

const float NvTrackedObjectManager::getMinVisibility4TrajDump ( )

Return the minimum visibility required for trajectory dumping.

◆ getMinVisibility4TrajDump() [2/2]

const float NvTrackedObjectManager::getMinVisibility4TrajDump ( )

Return the minimum visibility required for trajectory dumping.

◆ getMultiViewAssociators() [1/2]

const std::shared_ptr<IMultiViewAssociator> NvTrackedObjectManager::getMultiViewAssociators ( const NvMOTStreamId  streamId)
inline

Return the multi-view associator for a stream.

Parameters
[in]streamIdVideo stream ID whose associator is requested.

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

References m_multiViewAssociators.

◆ getMultiViewAssociators() [2/2]

const std::shared_ptr<IMultiViewAssociator> NvTrackedObjectManager::getMultiViewAssociators ( const NvMOTStreamId  streamId)
inline

Return the multi-view associator for a stream.

Parameters
[in]streamIdVideo stream ID whose associator is requested.

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

References m_multiViewAssociators.

◆ getObjModelProjectors() [1/2]

std::map<const NvMOTStreamId, std::shared_ptr<ObjectModelProjector> >& NvTrackedObjectManager::getObjModelProjectors ( )
inline

Return default object model projectors keyed by stream ID.

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

References m_defaultModelProjectors.

◆ getObjModelProjectors() [2/2]

std::map<const NvMOTStreamId, std::shared_ptr<ObjectModelProjector> >& NvTrackedObjectManager::getObjModelProjectors ( )
inline

Return default object model projectors keyed by stream ID.

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

References m_defaultModelProjectors.

◆ getOutputTerminatedTracks() [1/2]

bool NvTrackedObjectManager::getOutputTerminatedTracks ( const NvMOTStreamId  streamId,
std::list< TerminatedTrack > *&  pTerminatedList 
)
inline

Return the terminated-track output list for a stream when available.

Parameters
[in]streamIdVideo stream ID whose terminated tracks are requested.
[out]pTerminatedListPointer updated with the stream's terminated-track list.
Returns
True when a terminated-track list exists for the stream.

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

References m_terminatedTrackOutputMap_.

◆ getOutputTerminatedTracks() [2/2]

bool NvTrackedObjectManager::getOutputTerminatedTracks ( const NvMOTStreamId  streamId,
std::list< TerminatedTrack > *&  pTerminatedList 
)
inline

Return the terminated-track output list for a stream when available.

Parameters
[in]streamIdVideo stream ID whose terminated tracks are requested.
[out]pTerminatedListPointer updated with the stream's terminated-track list.
Returns
True when a terminated-track list exists for the stream.

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

References m_terminatedTrackOutputMap_.

◆ getPeerTargets() [1/2]

const PeerTargetDB NvTrackedObjectManager::getPeerTargets ( const NvMOTStreamId  streamId)

Return peer targets visible to a stream.

Parameters
[in]streamIdVideo stream ID whose peer targets are requested.

◆ getPeerTargets() [2/2]

const PeerTargetDB NvTrackedObjectManager::getPeerTargets ( const NvMOTStreamId  streamId)

Return peer targets visible to a stream.

Parameters
[in]streamIdVideo stream ID whose peer targets are requested.

◆ getSegmentationBatchInfo() [1/2]

const SegmentationInBatch& NvTrackedObjectManager::getSegmentationBatchInfo ( )
inline

Return batched segmentation-mask information.

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

References m_segInfo.

◆ getSegmentationBatchInfo() [2/2]

const SegmentationInBatch& NvTrackedObjectManager::getSegmentationBatchInfo ( )
inline

Return batched segmentation-mask information.

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

References m_segInfo.

◆ getShadowTracks() [1/2]

std::set<std::shared_ptr<NvTrackedObject> >& NvTrackedObjectManager::getShadowTracks ( const NvMOTStreamId  streamId)
inline

Return shadow tracks collected for a stream in the current batch.

Parameters
[in]streamIdVideo stream ID whose shadow tracks are requested.

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

References m_shadowTracks.

◆ getShadowTracks() [2/2]

std::set<std::shared_ptr<NvTrackedObject> >& NvTrackedObjectManager::getShadowTracks ( const NvMOTStreamId  streamId)
inline

Return shadow tracks collected for a stream in the current batch.

Parameters
[in]streamIdVideo stream ID whose shadow tracks are requested.

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

References m_shadowTracks.

◆ getSizeTrackedObjectsInPool() [1/2]

uint NvTrackedObjectManager::getSizeTrackedObjectsInPool ( ) const
inlineprotected

Return the number of tracker slots in the object pool.

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

References m_TrackedObjectsInPool.

◆ getSizeTrackedObjectsInPool() [2/2]

uint NvTrackedObjectManager::getSizeTrackedObjectsInPool ( ) const
inlineprotected

Return the number of tracker slots in the object pool.

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

References m_TrackedObjectsInPool.

◆ getTargetCapacityUtilization() [1/2]

const float NvTrackedObjectManager::getTargetCapacityUtilization ( )
inline

Return the fraction of total target capacity currently in use.

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

References m_targetCapacityUtilization.

◆ getTargetCapacityUtilization() [2/2]

const float NvTrackedObjectManager::getTargetCapacityUtilization ( )
inline

Return the fraction of total target capacity currently in use.

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

References m_targetCapacityUtilization.

◆ getTrackedObjectsFused() [1/2]

const std::map<NvMOTStreamId, FusedObjectList>& NvTrackedObjectManager::getTrackedObjectsFused ( )
inline

Return targets fused during reassociation.

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

References m_trackedObjectsFused.

◆ getTrackedObjectsFused() [2/2]

const std::map<NvMOTStreamId, FusedObjectList>& NvTrackedObjectManager::getTrackedObjectsFused ( )
inline

Return targets fused during reassociation.

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

References m_trackedObjectsFused.

◆ getTrackedObjectsInUseList() [1/4]

const std::map<NvMOTStreamId, std::shared_ptr<NvTrackedObjectList> >& NvTrackedObjectManager::getTrackedObjectsInUseList ( )
inline

Return in-use targets for all streams.

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

References m_TrackedObjectsInUse.

◆ getTrackedObjectsInUseList() [2/4]

const std::map<NvMOTStreamId, std::shared_ptr<NvTrackedObjectList> >& NvTrackedObjectManager::getTrackedObjectsInUseList ( )
inline

Return in-use targets for all streams.

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

References m_TrackedObjectsInUse.

◆ getTrackedObjectsInUseList() [3/4]

NvTrackedObjectList NvTrackedObjectManager::getTrackedObjectsInUseList ( const NvMOTStreamId  streamId)

Return in-use targets for one stream.

Parameters
[in]streamIdVideo stream ID whose targets are requested.

◆ getTrackedObjectsInUseList() [4/4]

NvTrackedObjectList NvTrackedObjectManager::getTrackedObjectsInUseList ( const NvMOTStreamId  streamId)

Return in-use targets for one stream.

Parameters
[in]streamIdVideo stream ID whose targets are requested.

◆ getTrackedObjectsTerminated() [1/2]

const std::map<NvMOTStreamId, std::vector<std::shared_ptr<NvTrackedObject> > >& NvTrackedObjectManager::getTrackedObjectsTerminated ( )
inline

Return targets terminated in the current batch.

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

References m_trackedObjectsTerminated.

◆ getTrackedObjectsTerminated() [2/2]

const std::map<NvMOTStreamId, std::vector<std::shared_ptr<NvTrackedObject> > >& NvTrackedObjectManager::getTrackedObjectsTerminated ( )
inline

Return targets terminated in the current batch.

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

References m_trackedObjectsTerminated.

◆ initialize() [1/2]

void NvTrackedObjectManager::initialize ( const SourceFrameInfo &  frameInfo)

Allocate the target pool and initialize stream-independent submodules.

Parameters
[in]frameInfoSource frame sizes and stream limits used to allocate the target pool.

◆ initialize() [2/2]

void NvTrackedObjectManager::initialize ( const SourceFrameInfo &  frameInfo)

Allocate the target pool and initialize stream-independent submodules.

Parameters
[in]frameInfoSource frame sizes and stream limits used to allocate the target pool.

◆ isInitialized() [1/2]

bool NvTrackedObjectManager::isInitialized ( )
inline

Report whether the target manager is initialized.

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

References m_isInit.

◆ isInitialized() [2/2]

bool NvTrackedObjectManager::isInitialized ( )
inline

Report whether the target manager is initialized.

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

References m_isInit.

◆ queryParams() [1/2]

void NvTrackedObjectManager::queryParams ( NvMOTQuery &  paramsQuery)

Populate target-manager memory requirements.

Parameters
[out]paramsQueryQuery structure populated with target-manager requirements.

◆ queryParams() [2/2]

void NvTrackedObjectManager::queryParams ( NvMOTQuery &  paramsQuery)

Populate target-manager memory requirements.

Parameters
[out]paramsQueryQuery structure populated with target-manager requirements.

◆ recoverDefaultModelFromBbox() [1/2]

void NvTrackedObjectManager::recoverDefaultModelFromBbox ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
DetectedObjInfo &  detObjInfo 
)

Recover object model from detection bounding box using default model projector.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.
[in,out]detObjInfoDetected-object information updated with the recovered model.

◆ recoverDefaultModelFromBbox() [2/2]

void NvTrackedObjectManager::recoverDefaultModelFromBbox ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
DetectedObjInfo &  detObjInfo 
)

Recover object model from detection bounding box using default model projector.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.
[in,out]detObjInfoDetected-object information updated with the recovered model.

◆ removeAllStreams() [1/2]

void NvTrackedObjectManager::removeAllStreams ( )

Remove all trackers for all streams.

◆ removeAllStreams() [2/2]

void NvTrackedObjectManager::removeAllStreams ( )

Remove all trackers for all streams.

◆ removeStream() [1/2]

void NvTrackedObjectManager::removeStream ( const NvMOTStreamId  videoStreamId)

Remove all trackers for a stream and deletes stream.

Parameters
[in]videoStreamIdStream whose trackers and per-stream modules are removed.

◆ removeStream() [2/2]

void NvTrackedObjectManager::removeStream ( const NvMOTStreamId  videoStreamId)

Remove all trackers for a stream and deletes stream.

Parameters
[in]videoStreamIdStream whose trackers and per-stream modules are removed.

◆ removeStreamSubModules() [1/2]

void NvTrackedObjectManager::removeStreamSubModules ( const NvMOTStreamId  videoStreamId)
protected

Remove submodules when a stream is removed.

Parameters
[in]videoStreamIdStream whose model projector and multi-view associator are removed.

◆ removeStreamSubModules() [2/2]

void NvTrackedObjectManager::removeStreamSubModules ( const NvMOTStreamId  videoStreamId)
protected

Remove submodules when a stream is removed.

Parameters
[in]videoStreamIdStream whose model projector and multi-view associator are removed.

◆ resetAllStreams() [1/2]

void NvTrackedObjectManager::resetAllStreams ( )

Resets all trackers for all streams.

◆ resetAllStreams() [2/2]

void NvTrackedObjectManager::resetAllStreams ( )

Resets all trackers for all streams.

◆ resetStream() [1/2]

void NvTrackedObjectManager::resetStream ( const NvMOTStreamId  videoStreamId)

Remove all trackers for a stream WITHOUT deleting stream.

Parameters
[in]videoStreamIdStream whose trackers are removed while the stream is kept.

◆ resetStream() [2/2]

void NvTrackedObjectManager::resetStream ( const NvMOTStreamId  videoStreamId)

Remove all trackers for a stream WITHOUT deleting stream.

Parameters
[in]videoStreamIdStream whose trackers are removed while the stream is kept.

◆ saveShadowTrackInfo() [1/2]

void NvTrackedObjectManager::saveShadowTrackInfo ( )
protected

Output shadow track objects in current batch.

◆ saveShadowTrackInfo() [2/2]

void NvTrackedObjectManager::saveShadowTrackInfo ( )
protected

Output shadow track objects in current batch.

◆ setSegmentationBatchInfo() [1/2]

void NvTrackedObjectManager::setSegmentationBatchInfo ( SegmentationInBatch  segInfo)
inline

Store batched segmentation-mask information.

Parameters
[in]segInfoBatched segmentation-mask storage to use.

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

References m_segInfo.

◆ setSegmentationBatchInfo() [2/2]

void NvTrackedObjectManager::setSegmentationBatchInfo ( SegmentationInBatch  segInfo)
inline

Store batched segmentation-mask information.

Parameters
[in]segInfoBatched segmentation-mask storage to use.

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

References m_segInfo.

◆ terminateTracker() [1/2]

void NvTrackedObjectManager::terminateTracker ( const std::shared_ptr< NvTrackedObject >  target,
const TRACKER_DELETE_MODE  deleteMode,
const std::shared_ptr< NvTrackedObject >  peer = nullptr 
)
protected

Actually terminate tracker.

Parameters
[in]targetTarget to terminate.
[in]deleteModeReason the tracker is terminated.
[in]peerPeer that absorbed this track on re-association, or null.

◆ terminateTracker() [2/2]

void NvTrackedObjectManager::terminateTracker ( const std::shared_ptr< NvTrackedObject >  target,
const TRACKER_DELETE_MODE  deleteMode,
const std::shared_ptr< NvTrackedObject >  peer = nullptr 
)
protected

Actually terminate tracker.

Parameters
[in]targetTarget to terminate.
[in]deleteModeReason the tracker is terminated.
[in]peerPeer that absorbed this track on re-association, or null.

Referenced by terminateTrackerPublic().

◆ terminateTrackerPublic() [1/2]

void NvTrackedObjectManager::terminateTrackerPublic ( const std::shared_ptr< NvTrackedObject >  target,
const TRACKER_DELETE_MODE  deleteMode,
const std::shared_ptr< NvTrackedObject >  peer = nullptr 
)
inline

Terminate a target through the public manager interface.

Parameters
[in]targetTarget to terminate.
[in]deleteModeReason the target is terminated.
[in]peerPeer target that absorbed this target, or null.

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

References terminateTracker().

◆ terminateTrackerPublic() [2/2]

void NvTrackedObjectManager::terminateTrackerPublic ( const std::shared_ptr< NvTrackedObject >  target,
const TRACKER_DELETE_MODE  deleteMode,
const std::shared_ptr< NvTrackedObject >  peer = nullptr 
)
inline

Terminate a target through the public manager interface.

Parameters
[in]targetTarget to terminate.
[in]deleteModeReason the target is terminated.
[in]peerPeer target that absorbed this target, or null.

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

References terminateTracker().

◆ updateInputInfo() [1/2]

void NvTrackedObjectManager::updateInputInfo ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)

Update per-stream input information before target-manager processing.

Parameters
[in]inputMetaBatch of input frames keyed by stream ID.

◆ updateInputInfo() [2/2]

void NvTrackedObjectManager::updateInputInfo ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)

Update per-stream input information before target-manager processing.

Parameters
[in]inputMetaBatch of input frames keyed by stream ID.

◆ updateMatched() [1/2]

void NvTrackedObjectManager::updateMatched ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::deque< std::pair< const DetectedObjInfo *, TrackerIndex >> &  matchedPairs 
)
protected

Update the targets that have matched detector objects.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.
[in]matchedPairsMatched pairs as detected object and target index.

◆ updateMatched() [2/2]

void NvTrackedObjectManager::updateMatched ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::deque< std::pair< const DetectedObjInfo *, TrackerIndex >> &  matchedPairs 
)
protected

Update the targets that have matched detector objects.

Parameters
[in]videoStreamIdVideo stream ID.
[in]frameNumCurrent frame number.
[in]matchedPairsMatched pairs as detected object and target index.

◆ updateParams() [1/2]

void NvTrackedObjectManager::updateParams ( const YAML::Node &  fn)

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

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

◆ updateParams() [2/2]

void NvTrackedObjectManager::updateParams ( const YAML::Node &  fn)

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

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

◆ updatePerStream() [1/2]

void NvTrackedObjectManager::updatePerStream ( const assocDataOut_t &  assocOut,
const REID4REASSOC_STATE  reid4reAssocState = NOT_NEEDED 
)

Update targets and trajectories per stream in each thread.

Parameters
[in]assocOutAssociation output for one stream.
[in]reid4reAssocStateRe-identification state that selects target update, trajectory update, or both.

◆ updatePerStream() [2/2]

void NvTrackedObjectManager::updatePerStream ( const assocDataOut_t &  assocOut,
const REID4REASSOC_STATE  reid4reAssocState = NOT_NEEDED 
)

Update targets and trajectories per stream in each thread.

Parameters
[in]assocOutAssociation output for one stream.
[in]reid4reAssocStateRe-identification state that selects target update, trajectory update, or both.

◆ updateTargetCapacityUtilization() [1/2]

void NvTrackedObjectManager::updateTargetCapacityUtilization ( )
protected

Update target capacity utilization.

◆ updateTargetCapacityUtilization() [2/2]

void NvTrackedObjectManager::updateTargetCapacityUtilization ( )
protected

Update target capacity utilization.

◆ updateTargets() [1/2]

void NvTrackedObjectManager::updateTargets ( )

Update targets for all streams on the main thread.

◆ updateTargets() [2/2]

void NvTrackedObjectManager::updateTargets ( )

Update targets for all streams on the main thread.

◆ updateTargetsPerStream() [1/2]

void NvTrackedObjectManager::updateTargetsPerStream ( const assocDataOut_t &  assocOut)
protected

Actually perform target update per stream.

Parameters
[in]assocOutAssociation results used to update targets on one stream.

◆ updateTargetsPerStream() [2/2]

void NvTrackedObjectManager::updateTargetsPerStream ( const assocDataOut_t &  assocOut)
protected

Actually perform target update per stream.

Parameters
[in]assocOutAssociation results used to update targets on one stream.

◆ updateTrajectoryBuffers() [1/2]

void NvTrackedObjectManager::updateTrajectoryBuffers ( const NvMOTStreamId  videoStreamId)
protected

Add the current target info to the trajectory buffer.

Parameters
[in]videoStreamIdStream whose in-use targets append the current frame.

◆ updateTrajectoryBuffers() [2/2]

void NvTrackedObjectManager::updateTrajectoryBuffers ( const NvMOTStreamId  videoStreamId)
protected

Add the current target info to the trajectory buffer.

Parameters
[in]videoStreamIdStream whose in-use targets append the current frame.

◆ updateTrajectoryManager() [1/2]

void NvTrackedObjectManager::updateTrajectoryManager ( )

Update trajectories for all streams on the main thread.

◆ updateTrajectoryManager() [2/2]

void NvTrackedObjectManager::updateTrajectoryManager ( )

Update trajectories for all streams on the main thread.

◆ updateTrajectoryManagerPerStream() [1/2]

virtual void NvTrackedObjectManager::updateTrajectoryManagerPerStream ( const assocDataOut_t &  assocOut)
protectedvirtual

Update traj manager to assign ids, perform re-association and terminate trackers for each stream.

Parameters
[in]assocOutAssociation results for the stream whose trajectories are updated.

◆ updateTrajectoryManagerPerStream() [2/2]

virtual void NvTrackedObjectManager::updateTrajectoryManagerPerStream ( const assocDataOut_t &  assocOut)
protectedvirtual

Update traj manager to assign ids, perform re-association and terminate trackers for each stream.

Parameters
[in]assocOutAssociation results for the stream whose trajectories are updated.

◆ updateUnMatched() [1/2]

void NvTrackedObjectManager::updateUnMatched ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::set< TrackerIndex > &  unmatchedTargets 
)
protected

Update the targets that do not have any matched detector objects.

Parameters
[in]videoStreamIdStream that owns the unmatched targets.
[in]frameNumCurrent frame number.
[in]unmatchedTargetsTarget indexes with no matched detection.

◆ updateUnMatched() [2/2]

void NvTrackedObjectManager::updateUnMatched ( const NvMOTStreamId  videoStreamId,
const NvMOTFrameNum  frameNum,
const std::set< TrackerIndex > &  unmatchedTargets 
)
protected

Update the targets that do not have any matched detector objects.

Parameters
[in]videoStreamIdStream that owns the unmatched targets.
[in]frameNumCurrent frame number.
[in]unmatchedTargetsTarget indexes with no matched detection.

Field Documentation

◆ m_assocOuts

std::map< NvMOTStreamId, assocDataOut_t > NvTrackedObjectManager::m_assocOuts
protected

Store assoc output for each stream. Only used when preserving update order.

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

◆ m_configFilePath

const std::string NvTrackedObjectManager::m_configFilePath
protected

Path to the tracker configuration file.

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

◆ m_defaultModelProjectors

std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > NvTrackedObjectManager::m_defaultModelProjectors
protected

Default object model projectors for each stream.

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

Referenced by getObjModelProjectors().

◆ m_fileIntermediateDetDump

std::map< NvMOTStreamId, std::ofstream > NvTrackedObjectManager::m_fileIntermediateDetDump
protected

Intermediate detection dump stream for each video stream.

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

◆ m_fileIntermediateTrackDump

std::map< NvMOTStreamId, std::ofstream > NvTrackedObjectManager::m_fileIntermediateTrackDump
protected

Intermediate target dump stream for each video stream.

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

◆ m_fileTerminatedDump

std::map< NvMOTStreamId, std::ofstream > NvTrackedObjectManager::m_fileTerminatedDump
protected

Terminated-track dump stream for each video stream.

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

◆ m_isFileTerminatedDumpCreated

std::map< NvMOTStreamId, bool > NvTrackedObjectManager::m_isFileTerminatedDumpCreated
protected

Indicates whether each stream's terminated-track dump file was created.

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

◆ m_isInit

bool NvTrackedObjectManager::m_isInit
protected

Indicates whether the target manager is initialized.

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

Referenced by isInitialized().

◆ m_lastTrackerInd

int NvTrackedObjectManager::m_lastTrackerInd
protected

The ID of the last active tracker along the device memory space.

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

Referenced by getLastTargetInd().

◆ m_multiViewAssociators

std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator > > NvTrackedObjectManager::m_multiViewAssociators
protected

◆ m_multiViewParams

MultiViewAssociatorParams NvTrackedObjectManager::m_multiViewParams

Configuration parameters for multi-view association.

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

◆ m_params

NvTrackerParamsTargetManager NvTrackedObjectManager::m_params

Configuration parameters for target management.

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

Referenced by clearOutputTerminatedTracks(), and getMaxTargetsPerStream().

◆ m_segInfo

SegmentationInBatch NvTrackedObjectManager::m_segInfo
protected

◆ m_shadowTracks

std::map< NvMOTStreamId, std::set< std::shared_ptr< NvTrackedObject > > > NvTrackedObjectManager::m_shadowTracks
protected

Stores shadow tracks in the current batch.

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

Referenced by clearShadowTracks(), and getShadowTracks().

◆ m_targetCapacityUtilization

float NvTrackedObjectManager::m_targetCapacityUtilization
protected

The utilization of the total allocated target capacity. [Unit: %].

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

Referenced by getTargetCapacityUtilization().

◆ m_terminatedTrackOutputMap_

std::map< NvMOTStreamId, std::list< TerminatedTrack > > NvTrackedObjectManager::m_terminatedTrackOutputMap_
protected

◆ m_tm_stats

struct NvTrackedObjectManager::TM_Stats NvTrackedObjectManager::m_tm_stats

◆ m_trackedObjectsFused

std::map< NvMOTStreamId, FusedObjectList > NvTrackedObjectManager::m_trackedObjectsFused
protected

Targets fused during reassociation, keyed by stream.

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

Referenced by getTrackedObjectsFused().

◆ m_TrackedObjectsInPool

NvTrackedObjectList NvTrackedObjectManager::m_TrackedObjectsInPool
protected

Pool of all preallocated tracked objects.

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

Referenced by getSizeTrackedObjectsInPool().

◆ m_TrackedObjectsInUse

std::map< NvMOTStreamId, std::shared_ptr< NvTrackedObjectList > > NvTrackedObjectManager::m_TrackedObjectsInUse
protected

Tracked object info should only be modified in main thread and is read only in worker threads.

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

Referenced by getTrackedObjectsInUseList().

◆ m_trackedObjectsLock

std::mutex NvTrackedObjectManager::m_trackedObjectsLock
protected

Lock associated with tracked objects for all streams.

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

◆ m_trackedObjectsTerminated

std::map< NvMOTStreamId, std::vector< std::shared_ptr< NvTrackedObject > > > NvTrackedObjectManager::m_trackedObjectsTerminated
protected

Stores terminated tracker in the current batch.

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

Referenced by getTrackedObjectsTerminated().

◆ m_trajectoryManager

std::shared_ptr< NvTrajectoryManager > NvTrackedObjectManager::m_trajectoryManager
protected

Manages the trajectory generated by each target.

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


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