NVIDIA DeepStream SDK API Reference

9.2 Release
NvTrajectoryManagerOnline Class Reference

Detailed Description

Manage trajectories for online tracking and ReID extraction.

Definition at line 35 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManagerOnline.hpp.

Inheritance diagram for NvTrajectoryManagerOnline:
Collaboration diagram for NvTrajectoryManagerOnline:

Public Member Functions

 NvTrajectoryManagerOnline (const std::string &configFilePath)
 Construct an online trajectory manager from configuration. More...
 
virtual ~NvTrajectoryManagerOnline ()
 Destroy the online trajectory manager. More...
 
std::deque< DetectedObjInfo > generateTrackedObjects4ReidPerStream (const NvMOTStreamId streamId, const std::map< TrackerIndex, std::shared_ptr< NvTrackedObject >> &targetList) override
 Generate target detections that require ReID extraction for one stream. More...
 
 NvTrajectoryManagerOnline (const std::string &configFilePath)
 Construct an online trajectory manager from configuration. More...
 
virtual ~NvTrajectoryManagerOnline ()
 Destroy the online trajectory manager. More...
 
std::deque< DetectedObjInfo > generateTrackedObjects4ReidPerStream (const NvMOTStreamId streamId, const std::map< TrackerIndex, std::shared_ptr< NvTrackedObject >> &targetList) override
 Generate target detections that require ReID extraction for one stream. More...
 
void archiveTrajectory (const std::shared_ptr< NvTrackedObject > target)
 Store the trajectories of the terminated objects up to a certain time. More...
 
void archiveTrajectory (const std::shared_ptr< NvTrackedObject > target)
 Store the trajectories of the terminated objects up to a certain time. More...
 
void assignTargetIDs (const NvTrackedObjectList &targetList, std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject > > &toBeTerminated, const NvMOTTimeMeta &timeMeta)
 Assign target IDs and set targetIDTimeStamp. More...
 
void assignTargetIDs (const NvTrackedObjectList &targetList, std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject > > &toBeTerminated, const NvMOTTimeMeta &timeMeta)
 Assign target IDs and set targetIDTimeStamp. More...
 
void cleanUpArchivedTrajectories (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Remove expired archived trajectories for all input streams. More...
 
void cleanUpArchivedTrajectories (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
 Remove expired archived trajectories for all input streams. More...
 
void cleanUpArchivedTrajectories_perStream (const NvMOTStreamId streamId, const uint32_t currFrameNum, const bool doPurge=false)
 Remove expired archived trajectories for one stream. More...
 
void cleanUpArchivedTrajectories_perStream (const NvMOTStreamId streamId, const uint32_t currFrameNum, const bool doPurge=false)
 Remove expired archived trajectories for one stream. More...
 
void resetIDs ()
 Reset the unique-ID generator with a new random prefix. More...
 
void resetIDs ()
 Reset the unique-ID generator with a new random prefix. More...
 
void purgeArchivedTrajectories ()
 Purge all archived trajectories. More...
 
void purgeArchivedTrajectories ()
 Purge all archived trajectories. More...
 
virtual std::deque< DetectedObjInfo > generateTrackedObjects4ReidPerStream (const NvMOTStreamId streamId, const NvTrackedObjectList &targetList)
 Generate target detections that require ReID extraction for one stream. More...
 
void updateStreamIds (const std::vector< NvMOTStreamId > &streamIdsToAdd={}, const std::vector< NvMOTStreamId > &streamIdsToDel={})
 Update per-stream trajectory state when streams are added or removed. More...
 
void updateStreamIds (const std::vector< NvMOTStreamId > &streamIdsToAdd={}, const std::vector< NvMOTStreamId > &streamIdsToDel={})
 Update per-stream trajectory state when streams are added or removed. More...
 
void updateParams (const YAML::Node &fn)
 Update dynamic parameters during runtime. More...
 
void updateParams (const YAML::Node &fn)
 Update dynamic parameters during runtime. More...
 
void setSrcFrameInfo (const NvMotDataTypes::Rect2f originalSrcImageBox, const NvMotDataTypes::Rect2f srcImageBox)
 Set source-frame geometry used for trajectory output. More...
 
void setSrcFrameInfo (const NvMotDataTypes::Rect2f originalSrcImageBox, const NvMotDataTypes::Rect2f srcImageBox)
 Set source-frame geometry used for trajectory output. More...
 
void setMultiViewAssociators (std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator >> multiViewAssociators)
 Set the multi-view associators. More...
 
void setMultiViewAssociators (std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator >> multiViewAssociators)
 Set the multi-view associators. More...
 
const Trajectory4Archive & getArchivedTrajectory (const NvMOTStreamId videoStreamId, const uint64_t targetId)
 Return an archived trajectory by stream and target ID. More...
 
const Trajectory4Archive & getArchivedTrajectory (const NvMOTStreamId videoStreamId, const uint64_t targetId)
 Return an archived trajectory by stream and target ID. More...
 
const NvTrackerParamsTrajectoryManager getParams ()
 Return a copy of trajectory-manager parameters. More...
 
const NvTrackerParamsTrajectoryManager getParams ()
 Return a copy of trajectory-manager parameters. More...
 
const float getMinVisibility4TrajDump ()
 Return the minimum visibility required for trajectory dumping. More...
 
const float getMinVisibility4TrajDump ()
 Return the minimum visibility required for trajectory dumping. More...
 
const bool getDumpDetectorBboxes ()
 Return whether detector bounding boxes are dumped. More...
 
const bool getDumpDetectorBboxes ()
 Return whether detector bounding boxes are dumped. More...
 

Protected Member Functions

bool tryReAssoc (const std::shared_ptr< NvTrackedObject > target, std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject >> &toBeFused)
 Try to perform the re-assoc with the targets in the temporary DB that stores projected trajectories. More...
 
bool tryReAssoc (const std::shared_ptr< NvTrackedObject > target, std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject >> &toBeFused)
 Try to perform the re-assoc with the targets in the temporary DB that stores projected trajectories. More...
 
bool processTrajectory (const uint64_t targetId, const NvMOTStreamId streamId, std::list< TargetInfo > &tracklet)
 Trim the tracklet by removing the last un-validated trajectory points. More...
 
bool processTrajectory (const uint64_t targetId, const NvMOTStreamId streamId, std::list< TargetInfo > &tracklet)
 Trim the tracklet by removing the last un-validated trajectory points. More...
 
std::list< TargetInfo > createProjectedTrajectories (const uint64_t targetId, const NvMOTStreamId streamId, const std::list< TargetInfo > &tracklet, int overrideShadowAge=-1)
 Trim the tracklet by removing the last un-validated trajectory points and return the projected trajectory points only. More...
 
std::list< TargetInfo > createProjectedTrajectories (const uint64_t targetId, const NvMOTStreamId streamId, const std::list< TargetInfo > &tracklet, int overrideShadowAge=-1)
 Trim the tracklet by removing the last un-validated trajectory points and return the projected trajectory points only. More...
 
void add2ProjectedTrajectoryDB (std::shared_ptr< NvTrackedObject > target)
 Add the projected trajectory to the temporary DB so that it can be re-associated. More...
 
void add2ProjectedTrajectoryDB (std::shared_ptr< NvTrackedObject > target)
 Add the projected trajectory to the temporary DB so that it can be re-associated. More...
 
void removeFromProjectedTrajectoryDB (std::shared_ptr< NvTrackedObject > target)
 Remove from the projected trajectory DB. More...
 
void removeFromProjectedTrajectoryDB (std::shared_ptr< NvTrackedObject > target)
 Remove from the projected trajectory DB. More...
 
virtual std::list< TargetInfo > getTrimmedTraj4ReAssoc (const std::list< TargetInfo > &newTraj, const std::list< TargetInfo > &peerTraj, const NvMOTFrameNum lastTrackedFrameNum_peer)
 Get the trimmed new trajectory for reassociation with peer trajectory. More...
 
virtual std::list< TargetInfo > getTrimmedTraj4ReAssoc (const std::list< TargetInfo > &newTraj, const std::list< TargetInfo > &peerTraj, const NvMOTFrameNum lastTrackedFrameNum_peer)
 Get the trimmed new trajectory for reassociation with peer trajectory. More...
 
bool findMatch4ReAssoc (const std::shared_ptr< NvTrackedObject > target, std::shared_ptr< NvTrackedObject > &bestMatchPeer)
 Find the best live projected-trajectory match for a target. More...
 
bool findMatch4ReAssoc (const std::shared_ptr< NvTrackedObject > target, std::shared_ptr< NvTrackedObject > &bestMatchPeer)
 Find the best live projected-trajectory match for a target. More...
 
bool findArchiveMatch4ReAssoc (const std::shared_ptr< NvTrackedObject > newTarget)
 Fallback re-association against terminated tracks in m_trajectoryArchive. More...
 
bool findArchiveMatch4ReAssoc (const std::shared_ptr< NvTrackedObject > newTarget)
 Fallback re-association against terminated tracks in m_trajectoryArchive. More...
 
bool try3DReAssoc (const std::shared_ptr< NvTrackedObject > newTarget)
 Perform archive-only world-distance and frame-gap re-association. More...
 
bool try3DReAssoc (const std::shared_ptr< NvTrackedObject > newTarget)
 Perform archive-only world-distance and frame-gap re-association. More...
 
virtual float calculateSizeSimilarityScore (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj)
 Calculate bounding-box size similarity between two trajectories. More...
 
virtual float calculateSizeSimilarityScore (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj)
 Calculate bounding-box size similarity between two trajectories. More...
 
const std::tuple< float, int, float, float, float, float > calculateSimilarityBtwTracklets (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj, const float peerTrajCov)
 Calculate tracklet, direction, speed, and size similarity metrics. More...
 
const std::tuple< float, int, float, float, float, float > calculateSimilarityBtwTracklets (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj, const float peerTrajCov)
 Calculate tracklet, direction, speed, and size similarity metrics. More...
 
const std::tuple< float, int, float, float, float > calculateAssocScore4QuasiDTW (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj, const float peerTrajCov)
 Calculate quasi-DTW association metrics between two trajectories. More...
 
const std::tuple< float, int, float, float, float > calculateAssocScore4QuasiDTW (const std::list< TargetInfo > &traj, const std::list< TargetInfo > &peerTraj, const float peerTrajCov)
 Calculate quasi-DTW association metrics between two trajectories. More...
 
const float computeAngleInDegree (const Eigen::Vector2f &vec1, const Eigen::Vector2f &vec2)
 Compute the angle between the two tracklets direction [degree]. More...
 
const float computeAngleInDegree (const Eigen::Vector2f &vec1, const Eigen::Vector2f &vec2)
 Compute the angle between the two tracklets direction [degree]. More...
 
const float computeSpeedSimilarity (const Eigen::Vector2f &vec1, const Eigen::Vector2f &vec2)
 Compute the speed similarity between the two tracklets. More...
 
const float computeSpeedSimilarity (const Eigen::Vector2f &vec1, const Eigen::Vector2f &vec2)
 Compute the speed similarity between the two tracklets. More...
 
const bool detectMotion (const Eigen::Vector2f &vec, float threshold)
 Detect if a tracklet is in motion, that is, if its speed is at least the threshold. More...
 
const bool detectMotion (const Eigen::Vector2f &vec, float threshold)
 Detect if a tracklet is in motion, that is, if its speed is at least the threshold. More...
 
void fuseTracklets (std::shared_ptr< NvTrackedObject > targetToBeKept, std::shared_ptr< NvTrackedObject > targetToBeFused)
 Fuse two tracklets. More...
 
void fuseTracklets (std::shared_ptr< NvTrackedObject > targetToBeKept, std::shared_ptr< NvTrackedObject > targetToBeFused)
 Fuse two tracklets. More...
 
bool checkDuplicateTracklet (const uint64_t targetId, std::map< uint64_t, Trajectory4Archive > &tracklets, std::set< uint64_t > &peersToBeDeleted)
 Check if the tracklet is a duplicate to another existing tracklet. More...
 
bool checkDuplicateTracklet (const uint64_t targetId, std::map< uint64_t, Trajectory4Archive > &tracklets, std::set< uint64_t > &peersToBeDeleted)
 Check if the tracklet is a duplicate to another existing tracklet. More...
 
int calculateTrackletInclusionScore (const std::list< TargetInfo > &tracklet, const std::list< TargetInfo > &peerTracklet)
 Calculate the number of duplicate bboxes between the two tracklets. More...
 
int calculateTrackletInclusionScore (const std::list< TargetInfo > &tracklet, const std::list< TargetInfo > &peerTracklet)
 Calculate the number of duplicate bboxes between the two tracklets. More...
 
void fuseArchivedTracklets (const uint64_t targetId, const uint64_t peerId, std::map< uint64_t, Trajectory4Archive > &tracklets)
 Fuse the peer's tracklet into the target's. More...
 
void fuseArchivedTracklets (const uint64_t targetId, const uint64_t peerId, std::map< uint64_t, Trajectory4Archive > &tracklets)
 Fuse the peer's tracklet into the target's. More...
 
void dumpTrajectoryIntoFile (const NvMOTStreamId streamId, const TargetId targetId, const Trajectory4Archive &traj)
 Dump the trajectory data into a file in a specified format. More...
 
void dumpTrajectoryIntoFile (const NvMOTStreamId streamId, const TargetId targetId, const Trajectory4Archive &traj)
 Dump the trajectory data into a file in a specified format. More...
 
const uint64_t generateNewTargetID ()
 Generate a thread-safe target ID according to the configured ID mode. More...
 
const uint64_t generateNewTargetID ()
 Generate a thread-safe target ID according to the configured ID mode. More...
 
const uint64_t peekNewTargetID () const
 Return the next target ID without consuming it. More...
 
const uint64_t peekNewTargetID () const
 Return the next target ID without consuming it. More...
 

Protected Attributes

NvTrackerParamsTrajectoryManager m_params
 Config params for target management. More...
 
const std::string m_configFilePath
 Config file path. More...
 
std::map< NvMOTStreamId, std::shared_ptr< Trajectory4ArchiveList > > m_trajectoryArchive
 Archive of past trajectories up to a configured age, modified on the main thread and read by workers. More...
 
std::map< NvMOTStreamId, std::shared_ptr< ProjectedTrajectoryList > > m_projectedTrajectories
 Temporary buffer of the projected trajectories to be re-associated. More...
 
std::map< NvMOTStreamId, std::shared_ptr< TrackedObjectsReidIndList > > m_trackedObjectsReidInd
 Target's index in reid batch. More...
 
std::map< NvMOTStreamId, bool > m_isFileTrajectoryDumpCreated
 Post-processing: dump trajectories into a file: only accessed in main thread. More...
 
std::map< NvMOTStreamId, std::ofstream > m_fileTrajectoryDump
 Per-stream trajectory dump file, accessed only on the main thread. More...
 
std::map< NvMOTStreamId, std::shared_ptr< IEstimator2 > > m_trajProjector
 Per-stream state estimator used to project trajectories for re-association. More...
 
std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator > > m_multiViewAssociators
 Multi-view associators. More...
 
std::map< uint64_t, NvMOTFrameNum > m_usedPeerTargetIds
 Claimed peer target id mapped to the frame of the claim. More...
 
UIDGenerator m_uidGenerator
 ID generator. More...
 
bool m_isOffline = false
 Boolean to indicate if the trajectory manager is used for offline processing. More...
 
struct NvTrajectoryManager::ReAssocStats m_stats
 Stores trajectory-reassociation counters. More...
 

Constructor & Destructor Documentation

◆ NvTrajectoryManagerOnline() [1/2]

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

Construct an online trajectory manager from configuration.

Parameters
[in]configFilePathPath to the configuration file.

◆ ~NvTrajectoryManagerOnline() [1/2]

virtual NvTrajectoryManagerOnline::~NvTrajectoryManagerOnline ( )
virtual

Destroy the online trajectory manager.

◆ NvTrajectoryManagerOnline() [2/2]

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

Construct an online trajectory manager from configuration.

Parameters
[in]configFilePathPath to the configuration file.

◆ ~NvTrajectoryManagerOnline() [2/2]

virtual NvTrajectoryManagerOnline::~NvTrajectoryManagerOnline ( )
virtual

Destroy the online trajectory manager.

Member Function Documentation

◆ add2ProjectedTrajectoryDB() [1/2]

void NvTrajectoryManager::add2ProjectedTrajectoryDB ( std::shared_ptr< NvTrackedObject >  target)
protectedinherited

Add the projected trajectory to the temporary DB so that it can be re-associated.

Parameters
[in]targetShadow track whose projected trajectory is stored.

◆ add2ProjectedTrajectoryDB() [2/2]

void NvTrajectoryManager::add2ProjectedTrajectoryDB ( std::shared_ptr< NvTrackedObject >  target)
protectedinherited

Add the projected trajectory to the temporary DB so that it can be re-associated.

Parameters
[in]targetShadow track whose projected trajectory is stored.

◆ archiveTrajectory() [1/2]

void NvTrajectoryManager::archiveTrajectory ( const std::shared_ptr< NvTrackedObject >  target)
inherited

Store the trajectories of the terminated objects up to a certain time.

Parameters
[in]targetTerminated object whose trajectory is stored.

◆ archiveTrajectory() [2/2]

void NvTrajectoryManager::archiveTrajectory ( const std::shared_ptr< NvTrackedObject >  target)
inherited

Store the trajectories of the terminated objects up to a certain time.

Parameters
[in]targetTerminated object whose trajectory is stored.

◆ assignTargetIDs() [1/2]

void NvTrajectoryManager::assignTargetIDs ( const NvTrackedObjectList &  targetList,
std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject > > &  toBeTerminated,
const NvMOTTimeMeta &  timeMeta 
)
inherited

Assign target IDs and set targetIDTimeStamp.

Parameters
[in]targetListTracked objects that may receive target IDs.
[out]toBeTerminatedMap from a terminated target to its peer.
[in]timeMetaTiming metadata from association.

◆ assignTargetIDs() [2/2]

void NvTrajectoryManager::assignTargetIDs ( const NvTrackedObjectList &  targetList,
std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject > > &  toBeTerminated,
const NvMOTTimeMeta &  timeMeta 
)
inherited

Assign target IDs and set targetIDTimeStamp.

Parameters
[in]targetListTracked objects that may receive target IDs.
[out]toBeTerminatedMap from a terminated target to its peer.
[in]timeMetaTiming metadata from association.

◆ calculateAssocScore4QuasiDTW() [1/2]

const std::tuple<float, int, float, float, float> NvTrajectoryManager::calculateAssocScore4QuasiDTW ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj,
const float  peerTrajCov 
)
protectedinherited

Calculate quasi-DTW association metrics between two trajectories.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
[in]peerTrajCovPeer trajectory covariance.
Returns
Tuple of average IOU, frame difference, angle, speed similarity, and speed unit magnitude.

◆ calculateAssocScore4QuasiDTW() [2/2]

const std::tuple<float, int, float, float, float> NvTrajectoryManager::calculateAssocScore4QuasiDTW ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj,
const float  peerTrajCov 
)
protectedinherited

Calculate quasi-DTW association metrics between two trajectories.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
[in]peerTrajCovPeer trajectory covariance.
Returns
Tuple of average IOU, frame difference, angle, speed similarity, and speed unit magnitude.

◆ calculateSimilarityBtwTracklets() [1/2]

const std::tuple<float, int, float, float, float, float> NvTrajectoryManager::calculateSimilarityBtwTracklets ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj,
const float  peerTrajCov 
)
protectedinherited

Calculate tracklet, direction, speed, and size similarity metrics.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
[in]peerTrajCovPeer trajectory covariance.
Returns
Tuple of tracklet score, frame difference, angle, speed similarity, speed unit magnitude, and size similarity.

◆ calculateSimilarityBtwTracklets() [2/2]

const std::tuple<float, int, float, float, float, float> NvTrajectoryManager::calculateSimilarityBtwTracklets ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj,
const float  peerTrajCov 
)
protectedinherited

Calculate tracklet, direction, speed, and size similarity metrics.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
[in]peerTrajCovPeer trajectory covariance.
Returns
Tuple of tracklet score, frame difference, angle, speed similarity, speed unit magnitude, and size similarity.

◆ calculateSizeSimilarityScore() [1/2]

virtual float NvTrajectoryManager::calculateSizeSimilarityScore ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj 
)
protectedvirtualinherited

Calculate bounding-box size similarity between two trajectories.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
Returns
Average bounding-box size similarity.

◆ calculateSizeSimilarityScore() [2/2]

virtual float NvTrajectoryManager::calculateSizeSimilarityScore ( const std::list< TargetInfo > &  traj,
const std::list< TargetInfo > &  peerTraj 
)
protectedvirtualinherited

Calculate bounding-box size similarity between two trajectories.

Parameters
[in]trajFirst trajectory.
[in]peerTrajPeer trajectory.
Returns
Average bounding-box size similarity.

◆ calculateTrackletInclusionScore() [1/2]

int NvTrajectoryManager::calculateTrackletInclusionScore ( const std::list< TargetInfo > &  tracklet,
const std::list< TargetInfo > &  peerTracklet 
)
protectedinherited

Calculate the number of duplicate bboxes between the two tracklets.

Parameters
[in]trackletTracklet being compared.
[in]peerTrackletPeer tracklet being compared.
Returns
Number of duplicate boxes, or -1 when a tracklet is empty or the tracklets do not overlap in time.

◆ calculateTrackletInclusionScore() [2/2]

int NvTrajectoryManager::calculateTrackletInclusionScore ( const std::list< TargetInfo > &  tracklet,
const std::list< TargetInfo > &  peerTracklet 
)
protectedinherited

Calculate the number of duplicate bboxes between the two tracklets.

Parameters
[in]trackletTracklet being compared.
[in]peerTrackletPeer tracklet being compared.
Returns
Number of duplicate boxes, or -1 when a tracklet is empty or the tracklets do not overlap in time.

◆ checkDuplicateTracklet() [1/2]

bool NvTrajectoryManager::checkDuplicateTracklet ( const uint64_t  targetId,
std::map< uint64_t, Trajectory4Archive > &  tracklets,
std::set< uint64_t > &  peersToBeDeleted 
)
protectedinherited

Check if the tracklet is a duplicate to another existing tracklet.

Parameters
[in]targetIdID of the tracklet to check.
[in,out]trackletsArchived tracklets for the stream; a duplicate may be fused into its peer.
[in,out]peersToBeDeletedPeer IDs already marked for deletion; a duplicate peer is inserted here.
Returns
True when this tracklet is a duplicate of a peer.

◆ checkDuplicateTracklet() [2/2]

bool NvTrajectoryManager::checkDuplicateTracklet ( const uint64_t  targetId,
std::map< uint64_t, Trajectory4Archive > &  tracklets,
std::set< uint64_t > &  peersToBeDeleted 
)
protectedinherited

Check if the tracklet is a duplicate to another existing tracklet.

Parameters
[in]targetIdID of the tracklet to check.
[in,out]trackletsArchived tracklets for the stream; a duplicate may be fused into its peer.
[in,out]peersToBeDeletedPeer IDs already marked for deletion; a duplicate peer is inserted here.
Returns
True when this tracklet is a duplicate of a peer.

◆ cleanUpArchivedTrajectories() [1/2]

void NvTrajectoryManager::cleanUpArchivedTrajectories ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
inherited

Remove expired archived trajectories for all input streams.

Parameters
[in]inputMetaCurrent input metadata by stream.

◆ cleanUpArchivedTrajectories() [2/2]

void NvTrajectoryManager::cleanUpArchivedTrajectories ( const std::map< NvMOTStreamId, NvMOTFrame * > &  inputMeta)
inherited

Remove expired archived trajectories for all input streams.

Parameters
[in]inputMetaCurrent input metadata by stream.

◆ cleanUpArchivedTrajectories_perStream() [1/2]

void NvTrajectoryManager::cleanUpArchivedTrajectories_perStream ( const NvMOTStreamId  streamId,
const uint32_t  currFrameNum,
const bool  doPurge = false 
)
inherited

Remove expired archived trajectories for one stream.

Parameters
[in]streamIdSource stream identifier.
[in]currFrameNumCurrent frame number.
[in]doPurgeWhether to remove every archived trajectory.

◆ cleanUpArchivedTrajectories_perStream() [2/2]

void NvTrajectoryManager::cleanUpArchivedTrajectories_perStream ( const NvMOTStreamId  streamId,
const uint32_t  currFrameNum,
const bool  doPurge = false 
)
inherited

Remove expired archived trajectories for one stream.

Parameters
[in]streamIdSource stream identifier.
[in]currFrameNumCurrent frame number.
[in]doPurgeWhether to remove every archived trajectory.

◆ computeAngleInDegree() [1/2]

const float NvTrajectoryManager::computeAngleInDegree ( const Eigen::Vector2f &  vec1,
const Eigen::Vector2f &  vec2 
)
protectedinherited

Compute the angle between the two tracklets direction [degree].

Parameters
[in]vec1Direction vector of the first tracklet.
[in]vec2Direction vector of the second tracklet.
Returns
Angle between the two directions in degrees.

◆ computeAngleInDegree() [2/2]

const float NvTrajectoryManager::computeAngleInDegree ( const Eigen::Vector2f &  vec1,
const Eigen::Vector2f &  vec2 
)
protectedinherited

Compute the angle between the two tracklets direction [degree].

Parameters
[in]vec1Direction vector of the first tracklet.
[in]vec2Direction vector of the second tracklet.
Returns
Angle between the two directions in degrees.

◆ computeSpeedSimilarity() [1/2]

const float NvTrajectoryManager::computeSpeedSimilarity ( const Eigen::Vector2f &  vec1,
const Eigen::Vector2f &  vec2 
)
protectedinherited

Compute the speed similarity between the two tracklets.

Parameters
[in]vec1Velocity vector of the first tracklet.
[in]vec2Velocity vector of the second tracklet.
Returns
Speed similarity, where a higher value means a closer match.

◆ computeSpeedSimilarity() [2/2]

const float NvTrajectoryManager::computeSpeedSimilarity ( const Eigen::Vector2f &  vec1,
const Eigen::Vector2f &  vec2 
)
protectedinherited

Compute the speed similarity between the two tracklets.

Parameters
[in]vec1Velocity vector of the first tracklet.
[in]vec2Velocity vector of the second tracklet.
Returns
Speed similarity, where a higher value means a closer match.

◆ createProjectedTrajectories() [1/2]

std::list<TargetInfo> NvTrajectoryManager::createProjectedTrajectories ( const uint64_t  targetId,
const NvMOTStreamId  streamId,
const std::list< TargetInfo > &  tracklet,
int  overrideShadowAge = -1 
)
protectedinherited

Trim the tracklet by removing the last un-validated trajectory points and return the projected trajectory points only.

Parameters
[in]targetIdID of the tracklet.
[in]streamIdStream that owns the tracklet.
[in]trackletTracklet to project.
[in]overrideShadowAgeShadow age to use when non-negative; a negative value counts INACTIVE frames at the tail.
Returns
Projected trajectory points.

◆ createProjectedTrajectories() [2/2]

std::list<TargetInfo> NvTrajectoryManager::createProjectedTrajectories ( const uint64_t  targetId,
const NvMOTStreamId  streamId,
const std::list< TargetInfo > &  tracklet,
int  overrideShadowAge = -1 
)
protectedinherited

Trim the tracklet by removing the last un-validated trajectory points and return the projected trajectory points only.

Parameters
[in]targetIdID of the tracklet.
[in]streamIdStream that owns the tracklet.
[in]trackletTracklet to project.
[in]overrideShadowAgeShadow age to use when non-negative; a negative value counts INACTIVE frames at the tail.
Returns
Projected trajectory points.

◆ detectMotion() [1/2]

const bool NvTrajectoryManager::detectMotion ( const Eigen::Vector2f &  vec,
float  threshold 
)
protectedinherited

Detect if a tracklet is in motion, that is, if its speed is at least the threshold.

Parameters
[in]vecVelocity vector of the tracklet.
[in]thresholdMinimum speed treated as motion.
Returns
True when the vector speed is at least the threshold.

◆ detectMotion() [2/2]

const bool NvTrajectoryManager::detectMotion ( const Eigen::Vector2f &  vec,
float  threshold 
)
protectedinherited

Detect if a tracklet is in motion, that is, if its speed is at least the threshold.

Parameters
[in]vecVelocity vector of the tracklet.
[in]thresholdMinimum speed treated as motion.
Returns
True when the vector speed is at least the threshold.

◆ dumpTrajectoryIntoFile() [1/2]

void NvTrajectoryManager::dumpTrajectoryIntoFile ( const NvMOTStreamId  streamId,
const TargetId  targetId,
const Trajectory4Archive &  traj 
)
protectedinherited

Dump the trajectory data into a file in a specified format.

Parameters
[in]streamIdStream that owns the trajectory.
[in]targetIdID of the trajectory to dump.
[in]trajArchived trajectory to write.

◆ dumpTrajectoryIntoFile() [2/2]

void NvTrajectoryManager::dumpTrajectoryIntoFile ( const NvMOTStreamId  streamId,
const TargetId  targetId,
const Trajectory4Archive &  traj 
)
protectedinherited

Dump the trajectory data into a file in a specified format.

Parameters
[in]streamIdStream that owns the trajectory.
[in]targetIdID of the trajectory to dump.
[in]trajArchived trajectory to write.

◆ findArchiveMatch4ReAssoc() [1/2]

bool NvTrajectoryManager::findArchiveMatch4ReAssoc ( const std::shared_ptr< NvTrackedObject >  newTarget)
protectedinherited

Fallback re-association against terminated tracks in m_trajectoryArchive.

Parameters
[in]newTargetNewly appearing track needing an ID.
Returns
True if a match above minMatchingScore4Overall was found.

◆ findArchiveMatch4ReAssoc() [2/2]

bool NvTrajectoryManager::findArchiveMatch4ReAssoc ( const std::shared_ptr< NvTrackedObject >  newTarget)
protectedinherited

Fallback re-association against terminated tracks in m_trajectoryArchive.

Parameters
[in]newTargetNewly appearing track needing an ID.
Returns
True if a match above minMatchingScore4Overall was found.

◆ findMatch4ReAssoc() [1/2]

bool NvTrajectoryManager::findMatch4ReAssoc ( const std::shared_ptr< NvTrackedObject >  target,
std::shared_ptr< NvTrackedObject > &  bestMatchPeer 
)
protectedinherited

Find the best live projected-trajectory match for a target.

Parameters
[in]targetTarget to reassociate.
[out]bestMatchPeerBest matching peer target.
Returns
True when a match meets the reassociation threshold.

◆ findMatch4ReAssoc() [2/2]

bool NvTrajectoryManager::findMatch4ReAssoc ( const std::shared_ptr< NvTrackedObject >  target,
std::shared_ptr< NvTrackedObject > &  bestMatchPeer 
)
protectedinherited

Find the best live projected-trajectory match for a target.

Parameters
[in]targetTarget to reassociate.
[out]bestMatchPeerBest matching peer target.
Returns
True when a match meets the reassociation threshold.

◆ fuseArchivedTracklets() [1/2]

void NvTrajectoryManager::fuseArchivedTracklets ( const uint64_t  targetId,
const uint64_t  peerId,
std::map< uint64_t, Trajectory4Archive > &  tracklets 
)
protectedinherited

Fuse the peer's tracklet into the target's.

Parameters
[in]targetIdID of the tracklet that is kept.
[in]peerIdID of the peer tracklet that is merged in.
[in,out]trackletsArchived tracklets; the kept tracklet is replaced by the fused result.

◆ fuseArchivedTracklets() [2/2]

void NvTrajectoryManager::fuseArchivedTracklets ( const uint64_t  targetId,
const uint64_t  peerId,
std::map< uint64_t, Trajectory4Archive > &  tracklets 
)
protectedinherited

Fuse the peer's tracklet into the target's.

Parameters
[in]targetIdID of the tracklet that is kept.
[in]peerIdID of the peer tracklet that is merged in.
[in,out]trackletsArchived tracklets; the kept tracklet is replaced by the fused result.

◆ fuseTracklets() [1/2]

void NvTrajectoryManager::fuseTracklets ( std::shared_ptr< NvTrackedObject >  targetToBeKept,
std::shared_ptr< NvTrackedObject >  targetToBeFused 
)
protectedinherited

Fuse two tracklets.

Parameters
[in]targetToBeKeptTrack that is kept and receives the fused trajectory.
[in]targetToBeFusedTrack whose trajectory is copied into the kept track.

◆ fuseTracklets() [2/2]

void NvTrajectoryManager::fuseTracklets ( std::shared_ptr< NvTrackedObject >  targetToBeKept,
std::shared_ptr< NvTrackedObject >  targetToBeFused 
)
protectedinherited

Fuse two tracklets.

Parameters
[in]targetToBeKeptTrack that is kept and receives the fused trajectory.
[in]targetToBeFusedTrack whose trajectory is copied into the kept track.

◆ generateNewTargetID() [1/2]

const uint64_t NvTrajectoryManager::generateNewTargetID ( )
protectedinherited

Generate a thread-safe target ID according to the configured ID mode.

◆ generateNewTargetID() [2/2]

const uint64_t NvTrajectoryManager::generateNewTargetID ( )
protectedinherited

Generate a thread-safe target ID according to the configured ID mode.

◆ generateTrackedObjects4ReidPerStream() [1/3]

virtual std::deque<DetectedObjInfo> NvTrajectoryManager::generateTrackedObjects4ReidPerStream ( const NvMOTStreamId  streamId,
const NvTrackedObjectList &  targetList 
)
virtualinherited

Generate target detections that require ReID extraction for one stream.

Parameters
[in]streamIdSource stream identifier.
[in]targetListTracked targets to inspect.

◆ generateTrackedObjects4ReidPerStream() [2/3]

std::deque<DetectedObjInfo> NvTrajectoryManagerOnline::generateTrackedObjects4ReidPerStream ( const NvMOTStreamId  streamId,
const std::map< TrackerIndex, std::shared_ptr< NvTrackedObject >> &  targetList 
)
override

Generate target detections that require ReID extraction for one stream.

Parameters
[in]streamIdSource stream identifier.
[in]targetListTracked targets to inspect.

◆ generateTrackedObjects4ReidPerStream() [3/3]

std::deque<DetectedObjInfo> NvTrajectoryManagerOnline::generateTrackedObjects4ReidPerStream ( const NvMOTStreamId  streamId,
const std::map< TrackerIndex, std::shared_ptr< NvTrackedObject >> &  targetList 
)
override

Generate target detections that require ReID extraction for one stream.

Parameters
[in]streamIdSource stream identifier.
[in]targetListTracked targets to inspect.

◆ getArchivedTrajectory() [1/2]

const Trajectory4Archive& NvTrajectoryManager::getArchivedTrajectory ( const NvMOTStreamId  videoStreamId,
const uint64_t  targetId 
)
inlineinherited

Return an archived trajectory by stream and target ID.

Parameters
[in]videoStreamIdSource stream identifier.
[in]targetIdTarget ID.

Definition at line 323 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_trajectoryArchive.

◆ getArchivedTrajectory() [2/2]

const Trajectory4Archive& NvTrajectoryManager::getArchivedTrajectory ( const NvMOTStreamId  videoStreamId,
const uint64_t  targetId 
)
inlineinherited

Return an archived trajectory by stream and target ID.

Parameters
[in]videoStreamIdSource stream identifier.
[in]targetIdTarget ID.

Definition at line 323 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_trajectoryArchive.

◆ getDumpDetectorBboxes() [1/2]

const bool NvTrajectoryManager::getDumpDetectorBboxes ( )
inlineinherited

◆ getDumpDetectorBboxes() [2/2]

const bool NvTrajectoryManager::getDumpDetectorBboxes ( )
inlineinherited

◆ getMinVisibility4TrajDump() [1/2]

const float NvTrajectoryManager::getMinVisibility4TrajDump ( )
inlineinherited

◆ getMinVisibility4TrajDump() [2/2]

const float NvTrajectoryManager::getMinVisibility4TrajDump ( )
inlineinherited

◆ getParams() [1/2]

const NvTrackerParamsTrajectoryManager NvTrajectoryManager::getParams ( )
inlineinherited

Return a copy of trajectory-manager parameters.

Definition at line 329 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_params.

◆ getParams() [2/2]

const NvTrackerParamsTrajectoryManager NvTrajectoryManager::getParams ( )
inlineinherited

Return a copy of trajectory-manager parameters.

Definition at line 329 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_params.

◆ getTrimmedTraj4ReAssoc() [1/2]

virtual std::list<TargetInfo> NvTrajectoryManager::getTrimmedTraj4ReAssoc ( const std::list< TargetInfo > &  newTraj,
const std::list< TargetInfo > &  peerTraj,
const NvMOTFrameNum  lastTrackedFrameNum_peer 
)
protectedvirtualinherited

Get the trimmed new trajectory for reassociation with peer trajectory.

Parameters
[in]newTrajTrajectory to be trimmed.
[in]peerTrajPeer trajectory to reassociate against.
[in]lastTrackedFrameNum_peerLast tracked frame number of the peer.
Returns
The trimmed new trajectory.

◆ getTrimmedTraj4ReAssoc() [2/2]

virtual std::list<TargetInfo> NvTrajectoryManager::getTrimmedTraj4ReAssoc ( const std::list< TargetInfo > &  newTraj,
const std::list< TargetInfo > &  peerTraj,
const NvMOTFrameNum  lastTrackedFrameNum_peer 
)
protectedvirtualinherited

Get the trimmed new trajectory for reassociation with peer trajectory.

Parameters
[in]newTrajTrajectory to be trimmed.
[in]peerTrajPeer trajectory to reassociate against.
[in]lastTrackedFrameNum_peerLast tracked frame number of the peer.
Returns
The trimmed new trajectory.

◆ peekNewTargetID() [1/2]

const uint64_t NvTrajectoryManager::peekNewTargetID ( ) const
protectedinherited

Return the next target ID without consuming it.

◆ peekNewTargetID() [2/2]

const uint64_t NvTrajectoryManager::peekNewTargetID ( ) const
protectedinherited

Return the next target ID without consuming it.

◆ processTrajectory() [1/2]

bool NvTrajectoryManager::processTrajectory ( const uint64_t  targetId,
const NvMOTStreamId  streamId,
std::list< TargetInfo > &  tracklet 
)
protectedinherited

Trim the tracklet by removing the last un-validated trajectory points.

Parameters
[in]targetIdID of the tracklet.
[in]streamIdStream that owns the tracklet.
[in,out]trackletTracklet trimmed in place by removing unvalidated tail points.
Returns
True when the tracklet is valid to archive.

◆ processTrajectory() [2/2]

bool NvTrajectoryManager::processTrajectory ( const uint64_t  targetId,
const NvMOTStreamId  streamId,
std::list< TargetInfo > &  tracklet 
)
protectedinherited

Trim the tracklet by removing the last un-validated trajectory points.

Parameters
[in]targetIdID of the tracklet.
[in]streamIdStream that owns the tracklet.
[in,out]trackletTracklet trimmed in place by removing unvalidated tail points.
Returns
True when the tracklet is valid to archive.

◆ purgeArchivedTrajectories() [1/2]

void NvTrajectoryManager::purgeArchivedTrajectories ( )
inherited

Purge all archived trajectories.

◆ purgeArchivedTrajectories() [2/2]

void NvTrajectoryManager::purgeArchivedTrajectories ( )
inherited

Purge all archived trajectories.

◆ removeFromProjectedTrajectoryDB() [1/2]

void NvTrajectoryManager::removeFromProjectedTrajectoryDB ( std::shared_ptr< NvTrackedObject >  target)
protectedinherited

Remove from the projected trajectory DB.

Parameters
[in]targetTrack to remove from the projected trajectory database.

◆ removeFromProjectedTrajectoryDB() [2/2]

void NvTrajectoryManager::removeFromProjectedTrajectoryDB ( std::shared_ptr< NvTrackedObject >  target)
protectedinherited

Remove from the projected trajectory DB.

Parameters
[in]targetTrack to remove from the projected trajectory database.

◆ resetIDs() [1/2]

void NvTrajectoryManager::resetIDs ( )
inlineinherited

Reset the unique-ID generator with a new random prefix.

Definition at line 276 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_uidGenerator, and UIDGenerator::reset().

◆ resetIDs() [2/2]

void NvTrajectoryManager::resetIDs ( )
inlineinherited

Reset the unique-ID generator with a new random prefix.

Definition at line 276 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

References NvTrajectoryManager::m_uidGenerator, and UIDGenerator::reset().

◆ setMultiViewAssociators() [1/2]

void NvTrajectoryManager::setMultiViewAssociators ( std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator >>  multiViewAssociators)
inherited

Set the multi-view associators.

Parameters
[in]multiViewAssociatorsPer-stream multi-view associators.

◆ setMultiViewAssociators() [2/2]

void NvTrajectoryManager::setMultiViewAssociators ( std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator >>  multiViewAssociators)
inherited

Set the multi-view associators.

Parameters
[in]multiViewAssociatorsPer-stream multi-view associators.

◆ setSrcFrameInfo() [1/2]

void NvTrajectoryManager::setSrcFrameInfo ( const NvMotDataTypes::Rect2f  originalSrcImageBox,
const NvMotDataTypes::Rect2f  srcImageBox 
)
inherited

Set source-frame geometry used for trajectory output.

Parameters
[in]originalSrcImageBoxOriginal source image bounds.
[in]srcImageBoxTracker source image bounds.

◆ setSrcFrameInfo() [2/2]

void NvTrajectoryManager::setSrcFrameInfo ( const NvMotDataTypes::Rect2f  originalSrcImageBox,
const NvMotDataTypes::Rect2f  srcImageBox 
)
inherited

Set source-frame geometry used for trajectory output.

Parameters
[in]originalSrcImageBoxOriginal source image bounds.
[in]srcImageBoxTracker source image bounds.

◆ try3DReAssoc() [1/2]

bool NvTrajectoryManager::try3DReAssoc ( const std::shared_ptr< NvTrackedObject >  newTarget)
protectedinherited

Perform archive-only world-distance and frame-gap re-association.

Searches m_trajectoryArchive for terminated tracks within maxFrameGap4WorldDistReAssoc whose last valid world foot point is within maxWorldDist4ArchiveReAssoc of the new track and whose bbox similarity is at least 0.5.

Parameters
[in]newTargetNewly appearing track needing an ID.
Returns
True if a match above minMatchingScore4Overall was found.

◆ try3DReAssoc() [2/2]

bool NvTrajectoryManager::try3DReAssoc ( const std::shared_ptr< NvTrackedObject >  newTarget)
protectedinherited

Perform archive-only world-distance and frame-gap re-association.

Searches m_trajectoryArchive for terminated tracks within maxFrameGap4WorldDistReAssoc whose last valid world foot point is within maxWorldDist4ArchiveReAssoc of the new track and whose bbox similarity is at least 0.5.

Parameters
[in]newTargetNewly appearing track needing an ID.
Returns
True if a match above minMatchingScore4Overall was found.

◆ tryReAssoc() [1/2]

bool NvTrajectoryManager::tryReAssoc ( const std::shared_ptr< NvTrackedObject >  target,
std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject >> &  toBeFused 
)
protectedinherited

Try to perform the re-assoc with the targets in the temporary DB that stores projected trajectories.

Parameters
[in]targetTarget to reassociate.
[out]toBeFusedMap from a terminated target to its peer.
Returns
True when reassociation succeeds.

◆ tryReAssoc() [2/2]

bool NvTrajectoryManager::tryReAssoc ( const std::shared_ptr< NvTrackedObject >  target,
std::map< std::shared_ptr< NvTrackedObject >, std::shared_ptr< NvTrackedObject >> &  toBeFused 
)
protectedinherited

Try to perform the re-assoc with the targets in the temporary DB that stores projected trajectories.

Parameters
[in]targetTarget to reassociate.
[out]toBeFusedMap from a terminated target to its peer.
Returns
True when reassociation succeeds.

◆ updateParams() [1/2]

void NvTrajectoryManager::updateParams ( const YAML::Node &  fn)
inherited

Update dynamic parameters during runtime.

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

◆ updateParams() [2/2]

void NvTrajectoryManager::updateParams ( const YAML::Node &  fn)
inherited

Update dynamic parameters during runtime.

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

◆ updateStreamIds() [1/2]

void NvTrajectoryManager::updateStreamIds ( const std::vector< NvMOTStreamId > &  streamIdsToAdd = {},
const std::vector< NvMOTStreamId > &  streamIdsToDel = {} 
)
inherited

Update per-stream trajectory state when streams are added or removed.

Parameters
[in]streamIdsToAddStream identifiers to add.
[in]streamIdsToDelStream identifiers to remove.

◆ updateStreamIds() [2/2]

void NvTrajectoryManager::updateStreamIds ( const std::vector< NvMOTStreamId > &  streamIdsToAdd = {},
const std::vector< NvMOTStreamId > &  streamIdsToDel = {} 
)
inherited

Update per-stream trajectory state when streams are added or removed.

Parameters
[in]streamIdsToAddStream identifiers to add.
[in]streamIdsToDelStream identifiers to remove.

Field Documentation

◆ m_configFilePath

const std::string NvTrajectoryManager::m_configFilePath
protectedinherited

◆ m_fileTrajectoryDump

std::map< NvMOTStreamId, std::ofstream > NvTrajectoryManager::m_fileTrajectoryDump
protectedinherited

Per-stream trajectory dump file, accessed only on the main thread.

Definition at line 346 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

◆ m_isFileTrajectoryDumpCreated

std::map< NvMOTStreamId, bool > NvTrajectoryManager::m_isFileTrajectoryDumpCreated
protectedinherited

Post-processing: dump trajectories into a file: only accessed in main thread.

Definition at line 345 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

◆ m_isOffline

bool NvTrajectoryManager::m_isOffline = false
protectedinherited

Boolean to indicate if the trajectory manager is used for offline processing.

Definition at line 360 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

◆ m_multiViewAssociators

std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator > > NvTrajectoryManager::m_multiViewAssociators
protectedinherited

◆ m_params

◆ m_projectedTrajectories

std::map< NvMOTStreamId, std::shared_ptr< ProjectedTrajectoryList > > NvTrajectoryManager::m_projectedTrajectories
protectedinherited

Temporary buffer of the projected trajectories to be re-associated.

Definition at line 343 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

◆ m_stats

struct NvTrajectoryManager::ReAssocStats NvTrajectoryManager::m_stats
protectedinherited

Stores trajectory-reassociation counters.

◆ m_trackedObjectsReidInd

std::map< NvMOTStreamId, std::shared_ptr< TrackedObjectsReidIndList > > NvTrajectoryManager::m_trackedObjectsReidInd
protectedinherited

◆ m_trajectoryArchive

std::map< NvMOTStreamId, std::shared_ptr< Trajectory4ArchiveList > > NvTrajectoryManager::m_trajectoryArchive
protectedinherited

Archive of past trajectories up to a configured age, modified on the main thread and read by workers.

Definition at line 342 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

Referenced by NvTrajectoryManager::getArchivedTrajectory().

◆ m_trajProjector

std::map< NvMOTStreamId, std::shared_ptr< IEstimator2 > > NvTrajectoryManager::m_trajProjector
protectedinherited

Per-stream state estimator used to project trajectories for re-association.

Definition at line 349 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.

◆ m_uidGenerator

UIDGenerator NvTrajectoryManager::m_uidGenerator
protectedinherited

◆ m_usedPeerTargetIds

std::map< uint64_t, NvMOTFrameNum > NvTrajectoryManager::m_usedPeerTargetIds
protectedinherited

Claimed peer target id mapped to the frame of the claim.

The claim blocks reuse for m_maxAge4TrackletArchiving frames.

Definition at line 353 of file sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp.


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