NVIDIA DeepStream SDK API Reference

9.2 Release
IMultiViewAssociator Class Referenceabstract

Detailed Description

Define the interface for peer and late-peer reassociation.

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

Inheritance diagram for IMultiViewAssociator:

Public Member Functions

virtual ~IMultiViewAssociator ()
 Destroy the multi-view associator interface. More...
 
virtual bool isInitialized ()=0
 Check if the MultiViewAssociator is initialized. More...
 
virtual 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)=0
 Initialize peer-target state and the communicator. More...
 
virtual void update (const NvMOTTimeMeta &timeMeta)=0
 Synchronize the peer-target database with communicator messages. More...
 
virtual bool tryPeerReAssoc (std::shared_ptr< NvTrackedObject > target)=0
 Try to reassociate a target with peer tracklets. More...
 
virtual void sendTracklet (std::shared_ptr< NvTrackedObject > target)=0
 Send the tracklet using the communicator. More...
 
virtual void sendStates (std::shared_ptr< NvTrackedObject > target)=0
 Send the states using the communicator. More...
 
virtual void sendAdoptedId (std::shared_ptr< NvTrackedObject > target, TargetId oldTargetId)=0
 Send the AdoptedId message using the communicator. More...
 
virtual void sendSync ()=0
 Send the synchronization message using the communicator. More...
 
virtual std::shared_ptr< ICommunicator > getCommunicator ()=0
 Get the communicator. More...
 
virtual std::deque< const DetectedObjInfo * > tryPeerDataAssoc (const std::deque< const DetectedObjInfo * > detObjs, const float minMatchingScore4PeerAssocIou)=0
 Data association between ego detection and peer targets. More...
 
virtual const PeerTargetDB getPeerTargetDB ()=0
 Return the peer-target database. More...
 
virtual ~IMultiViewAssociator ()
 Destroy the multi-view associator interface. More...
 
virtual bool isInitialized ()=0
 Check if the MultiViewAssociator is initialized. More...
 
virtual 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)=0
 Initialize peer-target state and the communicator. More...
 
virtual void update (const NvMOTTimeMeta &timeMeta)=0
 Synchronize the peer-target database with communicator messages. More...
 
virtual bool tryPeerReAssoc (std::shared_ptr< NvTrackedObject > target)=0
 Try to reassociate a target with peer tracklets. More...
 
virtual void sendTracklet (std::shared_ptr< NvTrackedObject > target)=0
 Send the tracklet using the communicator. More...
 
virtual void sendStates (std::shared_ptr< NvTrackedObject > target)=0
 Send the states using the communicator. More...
 
virtual void sendAdoptedId (std::shared_ptr< NvTrackedObject > target, TargetId oldTargetId)=0
 Send the AdoptedId message using the communicator. More...
 
virtual void sendSync ()=0
 Send the synchronization message using the communicator. More...
 
virtual std::shared_ptr< ICommunicator > getCommunicator ()=0
 Get the communicator. More...
 
virtual std::deque< const DetectedObjInfo * > tryPeerDataAssoc (const std::deque< const DetectedObjInfo * > detObjs, const float minMatchingScore4PeerAssocIou)=0
 Data association between ego detection and peer targets. More...
 
virtual const PeerTargetDB getPeerTargetDB ()=0
 Return the peer-target database. More...
 

Constructor & Destructor Documentation

◆ ~IMultiViewAssociator() [1/2]

virtual IMultiViewAssociator::~IMultiViewAssociator ( )
inlinevirtual

Destroy the multi-view associator interface.

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

◆ ~IMultiViewAssociator() [2/2]

virtual IMultiViewAssociator::~IMultiViewAssociator ( )
inlinevirtual

Destroy the multi-view associator interface.

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

Member Function Documentation

◆ getCommunicator() [1/2]

virtual std::shared_ptr<ICommunicator> IMultiViewAssociator::getCommunicator ( )
pure virtual

◆ getCommunicator() [2/2]

virtual std::shared_ptr<ICommunicator> IMultiViewAssociator::getCommunicator ( )
pure virtual

◆ getPeerTargetDB() [1/2]

virtual const PeerTargetDB IMultiViewAssociator::getPeerTargetDB ( )
pure virtual

Return the peer-target database.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ getPeerTargetDB() [2/2]

virtual const PeerTargetDB IMultiViewAssociator::getPeerTargetDB ( )
pure virtual

Return the peer-target database.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ initialize() [1/2]

virtual void IMultiViewAssociator::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 
)
pure virtual

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.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ initialize() [2/2]

virtual void IMultiViewAssociator::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 
)
pure virtual

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.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ isInitialized() [1/2]

virtual bool IMultiViewAssociator::isInitialized ( )
pure virtual

Check if the MultiViewAssociator is initialized.

Returns
True if the multi-view associator is initialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ isInitialized() [2/2]

virtual bool IMultiViewAssociator::isInitialized ( )
pure virtual

Check if the MultiViewAssociator is initialized.

Returns
True if the multi-view associator is initialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendAdoptedId() [1/2]

virtual void IMultiViewAssociator::sendAdoptedId ( std::shared_ptr< NvTrackedObject >  target,
TargetId  oldTargetId 
)
pure virtual

Send the AdoptedId message using the communicator.

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

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendAdoptedId() [2/2]

virtual void IMultiViewAssociator::sendAdoptedId ( std::shared_ptr< NvTrackedObject >  target,
TargetId  oldTargetId 
)
pure virtual

Send the AdoptedId message using the communicator.

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

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendStates() [1/2]

virtual void IMultiViewAssociator::sendStates ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Send the states using the communicator.

Parameters
[in]targetTarget whose states are serialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendStates() [2/2]

virtual void IMultiViewAssociator::sendStates ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Send the states using the communicator.

Parameters
[in]targetTarget whose states are serialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendSync() [1/2]

virtual void IMultiViewAssociator::sendSync ( )
pure virtual

Send the synchronization message using the communicator.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendSync() [2/2]

virtual void IMultiViewAssociator::sendSync ( )
pure virtual

Send the synchronization message using the communicator.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendTracklet() [1/2]

virtual void IMultiViewAssociator::sendTracklet ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Send the tracklet using the communicator.

Parameters
[in]targetTarget whose trajectory buffer is serialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ sendTracklet() [2/2]

virtual void IMultiViewAssociator::sendTracklet ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Send the tracklet using the communicator.

Parameters
[in]targetTarget whose trajectory buffer is serialized.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ tryPeerDataAssoc() [1/2]

virtual std::deque<const DetectedObjInfo *> IMultiViewAssociator::tryPeerDataAssoc ( const std::deque< const DetectedObjInfo * >  detObjs,
const float  minMatchingScore4PeerAssocIou 
)
pure virtual

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.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ tryPeerDataAssoc() [2/2]

virtual std::deque<const DetectedObjInfo *> IMultiViewAssociator::tryPeerDataAssoc ( const std::deque< const DetectedObjInfo * >  detObjs,
const float  minMatchingScore4PeerAssocIou 
)
pure virtual

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.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ tryPeerReAssoc() [1/2]

virtual bool IMultiViewAssociator::tryPeerReAssoc ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Try to reassociate a target with peer tracklets.

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

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ tryPeerReAssoc() [2/2]

virtual bool IMultiViewAssociator::tryPeerReAssoc ( std::shared_ptr< NvTrackedObject >  target)
pure virtual

Try to reassociate a target with peer tracklets.

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

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ update() [1/2]

virtual void IMultiViewAssociator::update ( const NvMOTTimeMeta &  timeMeta)
pure virtual

Synchronize the peer-target database with communicator messages.

Parameters
[in]timeMetaCurrent frame timing metadata.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.

◆ update() [2/2]

virtual void IMultiViewAssociator::update ( const NvMOTTimeMeta &  timeMeta)
pure virtual

Synchronize the peer-target database with communicator messages.

Parameters
[in]timeMetaCurrent frame timing metadata.

Implemented in MultiViewAssociator, MultiViewAssociator, DummyMultiViewAssociator, and DummyMultiViewAssociator.


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