NVIDIA DeepStream SDK API Reference

9.2 Release
MultiViewAssociator Class Reference

Detailed Description

MultiViewAssociator class is responsible for associating the objects across multiple views.

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

Inheritance diagram for MultiViewAssociator:
Collaboration diagram for MultiViewAssociator:

Public Member Functions

 MultiViewAssociator ()
 Construct an uninitialized multi-view associator. More...
 
 MultiViewAssociator (const std::string &configFilePath)
 Construct a multi-view associator from configuration. More...
 
 ~MultiViewAssociator ()
 Report statistics and destroy the multi-view associator. More...
 
bool isInitialized () override
 Check if the MultiViewAssociator is initialized. More...
 
void initialize (const StreamId streamId, system_clock::time_point start, std::map< StreamId, std::shared_ptr< ICommunicator >> localInstanceCommunicators, std::shared_ptr< NvTrackedObjectList > egoTargets, std::shared_ptr< ObjectModelProjector > objModelProjector) override
 Initialize peer-target state and the communicator. More...
 
void update (const NvMOTTimeMeta &timeMeta) override
 Synchronize the peer-target database with communicator messages. More...
 
bool tryPeerReAssoc (std::shared_ptr< NvTrackedObject > target) override
 Try to reassociate a target with peer tracklets. More...
 
void sendTracklet (std::shared_ptr< NvTrackedObject > target) override
 Send the tracklet using the communicator. More...
 
void sendStates (std::shared_ptr< NvTrackedObject > target) override
 Send the states using the communicator. More...
 
void sendAdoptedId (std::shared_ptr< NvTrackedObject > target, TargetId oldTargetId) override
 Send the AdoptedId message using the communicator. More...
 
void sendSync () override
 Send the synchronization message using the communicator. More...
 
std::deque< const DetectedObjInfo * > tryPeerDataAssoc (const std::deque< const DetectedObjInfo * > detObjs, const float minMatchingScore4PeerAssocIou) override
 Data association between ego detection and peer targets. More...
 
const PeerTargetDB getPeerTargetDB () override
 Return the peer-target database. More...
 
std::shared_ptr< ICommunicator > getCommunicator ()
 Return the communicator used for peer messages. More...
 
 MultiViewAssociator ()
 Construct an uninitialized multi-view associator. More...
 
 MultiViewAssociator (const std::string &configFilePath)
 Construct a multi-view associator from configuration. More...
 
 ~MultiViewAssociator ()
 Report statistics and destroy the multi-view associator. More...
 
bool isInitialized () override
 Check if the MultiViewAssociator is initialized. More...
 
void initialize (const StreamId streamId, system_clock::time_point start, std::map< StreamId, std::shared_ptr< ICommunicator >> localInstanceCommunicators, std::shared_ptr< NvTrackedObjectList > egoTargets, std::shared_ptr< ObjectModelProjector > objModelProjector) override
 Initialize peer-target state and the communicator. More...
 
void update (const NvMOTTimeMeta &timeMeta) override
 Synchronize the peer-target database with communicator messages. More...
 
bool tryPeerReAssoc (std::shared_ptr< NvTrackedObject > target) override
 Try to reassociate a target with peer tracklets. More...
 
void sendTracklet (std::shared_ptr< NvTrackedObject > target) override
 Send the tracklet using the communicator. More...
 
void sendStates (std::shared_ptr< NvTrackedObject > target) override
 Send the states using the communicator. More...
 
void sendAdoptedId (std::shared_ptr< NvTrackedObject > target, TargetId oldTargetId) override
 Send the AdoptedId message using the communicator. More...
 
void sendSync () override
 Send the synchronization message using the communicator. More...
 
std::deque< const DetectedObjInfo * > tryPeerDataAssoc (const std::deque< const DetectedObjInfo * > detObjs, const float minMatchingScore4PeerAssocIou) override
 Data association between ego detection and peer targets. More...
 
const PeerTargetDB getPeerTargetDB () override
 Return the peer-target database. More...
 
std::shared_ptr< ICommunicator > getCommunicator ()
 Return the communicator used for peer messages. More...
 

Constructor & Destructor Documentation

◆ MultiViewAssociator() [1/4]

MultiViewAssociator::MultiViewAssociator ( )

Construct an uninitialized multi-view associator.

◆ MultiViewAssociator() [2/4]

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

Construct a multi-view associator from configuration.

Parameters
[in]configFilePathPath to the configuration file.

◆ ~MultiViewAssociator() [1/2]

MultiViewAssociator::~MultiViewAssociator ( )

Report statistics and destroy the multi-view associator.

◆ MultiViewAssociator() [3/4]

MultiViewAssociator::MultiViewAssociator ( )

Construct an uninitialized multi-view associator.

◆ MultiViewAssociator() [4/4]

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

Construct a multi-view associator from configuration.

Parameters
[in]configFilePathPath to the configuration file.

◆ ~MultiViewAssociator() [2/2]

MultiViewAssociator::~MultiViewAssociator ( )

Report statistics and destroy the multi-view associator.

Member Function Documentation

◆ getCommunicator() [1/2]

std::shared_ptr<ICommunicator> MultiViewAssociator::getCommunicator ( )
inlinevirtual

Return the communicator used for peer messages.

Implements IMultiViewAssociator.

Definition at line 277 of file sources/libs/nvmultiobjecttracker/include/modules/MultiViewAssociator/MultiViewAssociator.hpp.

◆ getCommunicator() [2/2]

std::shared_ptr<ICommunicator> MultiViewAssociator::getCommunicator ( )
inlinevirtual

Return the communicator used for peer messages.

Implements IMultiViewAssociator.

Definition at line 277 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/MultiViewAssociator/MultiViewAssociator.hpp.

◆ getPeerTargetDB() [1/2]

const PeerTargetDB MultiViewAssociator::getPeerTargetDB ( )
overridevirtual

Return the peer-target database.

Implements IMultiViewAssociator.

◆ getPeerTargetDB() [2/2]

const PeerTargetDB MultiViewAssociator::getPeerTargetDB ( )
overridevirtual

Return the peer-target database.

Implements IMultiViewAssociator.

◆ initialize() [1/2]

void MultiViewAssociator::initialize ( const StreamId  streamId,
system_clock::time_point  start,
std::map< StreamId, std::shared_ptr< ICommunicator >>  localInstanceCommunicators,
std::shared_ptr< NvTrackedObjectList >  egoTargets,
std::shared_ptr< ObjectModelProjector >  objModelProjector 
)
overridevirtual

Initialize peer-target state and the communicator.

Parameters
[in]streamIdStream identifier for the ego camera.
[in]startReference start time for timestamp conversion.
[in]localInstanceCommunicatorsCommunicators for local streams.
[in]egoTargetsEgo-camera targets managed by the tracker.
[in]objModelProjectorProjector used to recover world-space target state.

Implements IMultiViewAssociator.

◆ initialize() [2/2]

void MultiViewAssociator::initialize ( const StreamId  streamId,
system_clock::time_point  start,
std::map< StreamId, std::shared_ptr< ICommunicator >>  localInstanceCommunicators,
std::shared_ptr< NvTrackedObjectList >  egoTargets,
std::shared_ptr< ObjectModelProjector >  objModelProjector 
)
overridevirtual

Initialize peer-target state and the communicator.

Parameters
[in]streamIdStream identifier for the ego camera.
[in]startReference start time for timestamp conversion.
[in]localInstanceCommunicatorsCommunicators for local streams.
[in]egoTargetsEgo-camera targets managed by the tracker.
[in]objModelProjectorProjector used to recover world-space target state.

Implements IMultiViewAssociator.

◆ isInitialized() [1/2]

bool MultiViewAssociator::isInitialized ( )
overridevirtual

Check if the MultiViewAssociator is initialized.

Returns
True if the multi-view associator is initialized.

Implements IMultiViewAssociator.

◆ isInitialized() [2/2]

bool MultiViewAssociator::isInitialized ( )
overridevirtual

Check if the MultiViewAssociator is initialized.

Returns
True if the multi-view associator is initialized.

Implements IMultiViewAssociator.

◆ sendAdoptedId() [1/2]

void MultiViewAssociator::sendAdoptedId ( std::shared_ptr< NvTrackedObject >  target,
TargetId  oldTargetId 
)
overridevirtual

Send the AdoptedId message using the communicator.

Parameters
[in]targetTarget whose adopted ID is sent.
[in]oldTargetIdPrevious target ID.

Implements IMultiViewAssociator.

◆ sendAdoptedId() [2/2]

void MultiViewAssociator::sendAdoptedId ( std::shared_ptr< NvTrackedObject >  target,
TargetId  oldTargetId 
)
overridevirtual

Send the AdoptedId message using the communicator.

Parameters
[in]targetTarget whose adopted ID is sent.
[in]oldTargetIdPrevious target ID.

Implements IMultiViewAssociator.

◆ sendStates() [1/2]

void MultiViewAssociator::sendStates ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Send the states using the communicator.

Parameters
[in]targetTarget whose states are serialized.

Implements IMultiViewAssociator.

◆ sendStates() [2/2]

void MultiViewAssociator::sendStates ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Send the states using the communicator.

Parameters
[in]targetTarget whose states are serialized.

Implements IMultiViewAssociator.

◆ sendSync() [1/2]

void MultiViewAssociator::sendSync ( )
overridevirtual

Send the synchronization message using the communicator.

Implements IMultiViewAssociator.

◆ sendSync() [2/2]

void MultiViewAssociator::sendSync ( )
overridevirtual

Send the synchronization message using the communicator.

Implements IMultiViewAssociator.

◆ sendTracklet() [1/2]

void MultiViewAssociator::sendTracklet ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Send the tracklet using the communicator.

Parameters
[in]targetTarget whose trajectory buffer is serialized.

Implements IMultiViewAssociator.

◆ sendTracklet() [2/2]

void MultiViewAssociator::sendTracklet ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Send the tracklet using the communicator.

Parameters
[in]targetTarget whose trajectory buffer is serialized.

Implements IMultiViewAssociator.

◆ tryPeerDataAssoc() [1/2]

std::deque<const DetectedObjInfo *> MultiViewAssociator::tryPeerDataAssoc ( const std::deque< const DetectedObjInfo * >  detObjs,
const float  minMatchingScore4PeerAssocIou 
)
overridevirtual

Data association between ego detection and peer targets.

Parameters
[in]detObjsEgo detections to match against peer targets.
[in]minMatchingScore4PeerAssocIouMinimum IoU required to match a detection to a peer target.
Returns
Detections that match a recent peer target.

Implements IMultiViewAssociator.

◆ tryPeerDataAssoc() [2/2]

std::deque<const DetectedObjInfo *> MultiViewAssociator::tryPeerDataAssoc ( const std::deque< const DetectedObjInfo * >  detObjs,
const float  minMatchingScore4PeerAssocIou 
)
overridevirtual

Data association between ego detection and peer targets.

Parameters
[in]detObjsEgo detections to match against peer targets.
[in]minMatchingScore4PeerAssocIouMinimum IoU required to match a detection to a peer target.
Returns
Detections that match a recent peer target.

Implements IMultiViewAssociator.

◆ tryPeerReAssoc() [1/2]

bool MultiViewAssociator::tryPeerReAssoc ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Try to reassociate a target with peer tracklets.

Parameters
[in]targetTarget to match.
Returns
True when peer reassociation succeeds.

Implements IMultiViewAssociator.

◆ tryPeerReAssoc() [2/2]

bool MultiViewAssociator::tryPeerReAssoc ( std::shared_ptr< NvTrackedObject >  target)
overridevirtual

Try to reassociate a target with peer tracklets.

Parameters
[in]targetTarget to match.
Returns
True when peer reassociation succeeds.

Implements IMultiViewAssociator.

◆ update() [1/2]

void MultiViewAssociator::update ( const NvMOTTimeMeta &  timeMeta)
overridevirtual

Synchronize the peer-target database with communicator messages.

Parameters
[in]timeMetaCurrent frame timing metadata.

Implements IMultiViewAssociator.

◆ update() [2/2]

void MultiViewAssociator::update ( const NvMOTTimeMeta &  timeMeta)
overridevirtual

Synchronize the peer-target database with communicator messages.

Parameters
[in]timeMetaCurrent frame timing metadata.

Implements IMultiViewAssociator.


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