NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef NVTRACKEDOBJECT_HPP_
19 #define NVTRACKEDOBJECT_HPP_
20 
21 #include <cstdint>
22 #include <deque>
23 #include <list>
24 #include <unordered_map>
25 #include <mutex>
26 #include <queue>
27 #include <iomanip>
28 
29 #include <atomic>
30 #include <limits>
31 #ifndef _WIN32
32 #include <unistd.h>
33 #include <sys/syscall.h>
34 #endif
35 #include <random>
36 
37 #include "modules/utility/dataTypes.hpp"
38 #include "modules/utility/cv_functions.hpp"
39 #include "modules/Estimatorv2/estimator_factory2.hpp"
40 #include "modules/NvMultiObjectTracker/localizer.hpp"
41 #include "modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp"
42 #include "modules/TrajectoryManager/NvTrajectoryManager.hpp"
43 #include "modules/ObjectModelProjector/ObjectModelProjector.hpp"
44 #include "modules/MultiViewAssociator/MultiViewAssociator_factory.hpp"
45 
57 };
58 
60 enum REID4REASSOC_STATE : int {
64 };
65 
68 {
72  uint16_t classID;
75  std::vector<TargetInfo> targetHistory;
76 };
77 
80 {
83 };
84 
87 {
91  bool isDetDone;
92  std::deque<const DetectedObjInfo *> detObjs;
93  std::map<TrackerIndex, std::shared_ptr<NvTrackedObject>> targets;
94  std::map<uint16_t, float> sumsCorrRespAtDetectedPt;
95  std::shared_ptr<IMultiViewAssociator> multiViewAssociator;
96 };
97 
100 {
104  bool isAssocDone;
105  std::map<const TrackerIndex, const DetectedObjInfo*> unmatchedDetObjs;
106  std::deque<std::pair<const DetectedObjInfo *, TrackerIndex>> matchedPairs;
107  std::set<TrackerIndex> unmatchedTargets;
108 };
109 
112 {
114  int groupCount = 0;
115  float confidence = 0.0;
116  float expConfidence = 0.0;
117  float distance;
120 };
121 
122 #ifdef VIZ_DEBUG
123 
124 class TrackerVizOutput;
125 #endif
126 
128 class NvTrajectoryManager;
129 
132 {
133 public:
136 
142  NvTrackerParamsTargetManager(const std::string &configFilePath, const std::string moduleName);
143 
148  NvTrackerParamsTargetManager(const YAML::Node &fn);
149 
154  void read(const YAML::Node &fn) override;
155 
165 
166  // [Class match]
168 
169  // [Creation & Termination Policy]
177  float m_minIouDiff4NewTarget;
180 
182  // [Trajectory Management]
185 
186  // [Debug parameters]
193 
194  // [Runtime parameters]
198  bool m_isInit = false;
199 };
201 
204 {
205 public:
213  const std::string &configFilePath, const NvTrackerParamsTargetManager *params, const TrackerIndex trackerInd
214  );
215 
217  virtual ~NvTrackedObject();
218 
220  void reset();
221 
228  void updateTargetStates(const NvMOTFrameNum frameNum, const DetectedObjInfo *debObj, TRACKER_STATE state);
229 
234  void updateTargetStates(const NvMOTFrameNum frameNum);
235 
241  void initializeQuasiActiveStates(const NvMOTFrameNum frameNum, const PeerTarget *peerTarget);
242 
250  const NvMOTFrameNum frameNum, const float trackingConfidence, const NvMotDataTypes::Rect2f& localizationBbox
251  );
252 
257  void incrementShadowTrackingAge(const NvMOTFrameNum increment = 1) { m_targetInfo.shadowTrackingAge += increment; }
258 
261 
263  void addPastFrameData();
264 
266  void resetPastFrameData() { return m_pastFrameDataBuffer.clear(); }
267 
273 
275  void updateTrajectoryBuffer();
276 
282 
287  void adoptTracklet(const std::list<TargetInfo> &tracklet);
288 
295  std::list<TargetInfo> fuseOverlappingTracklets(
296  const std::list<TargetInfo> &tracklet, const std::list<TargetInfo> &peerTracklet
297  );
298 
303  void adoptPastFrameData(const std::deque<TargetInfo> &pastFrameBuffer);
304 
309  std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> generateTrackedObjects4Reid(
310  const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta
311  );
312 
317  void setVideoStreamId(const NvMOTStreamId videoStreamId) { m_targetInfo.videoStreamId = videoStreamId; }
318 
321 
323  const TrackerIndex &getTargetInd() { return m_targetInd; }
324 
326  const TargetInfo &getTargetInfo() { return m_targetInfo; }
327 
332  void setTargetInfo(const TargetInfo &tInfo) { m_targetInfo = tInfo; }
333 
336 
339 
342 
345 
350  void setProgBbox(const NvMotDataTypes::Rect2f& bbox) { m_progBbox = bbox; }
351 
353  const NvMOTFrameNum getAge() { return m_targetInfo.age; }
354 
356  const float getVisibility() { return m_targetInfo.visibility; }
357 
362  void setAge(const NvMOTFrameNum newAge) { m_targetInfo.age = newAge; }
363 
366 
372 
375 
377  const TargetId getTargetID() { return m_targetID; }
378 
383  void setTargetID(const TargetId newTargetID) { m_targetID = newTargetID; }
384 
386  const uint16_t getClassId() { return m_targetInfo.classId; }
387 
388  #ifdef VIZ_DEBUG
389 
390  const cv::Scalar getColor() { return m_color; }
391  #endif
392 
394  const std::deque<TargetInfo> &getPastFrameData() { return m_pastFrameDataBuffer; }
395 
397  std::list<TargetInfo> &getTrajectoryBuffer() { return m_trajectoryBuffer; }
398 
403  void setTrajectoryBuffer(const std::list<TargetInfo> &traj) { m_trajectoryBuffer = traj; }
404 
407  {
408  return CV_FUNCS::convertXToBbox(m_stateEstimator->getPredictedStates(), m_stateEstimator->useAspectRatio());
409  }
410 
413 
419 
421  const bool becameActive() { return m_becameActive; }
422 
427  void setBecameActive(const bool flag) { m_becameActive = flag; }
428 
430  const bool acquiredID() { return m_acquiredID; }
431 
436  void setAcquiredID(const bool flag) { m_acquiredID = flag; }
437 
439  const std::vector<PeerTarget> getPeerTargets() { return m_peerTargets; }
440 
445  void setPeerTargets(const std::vector<PeerTarget> peerTargets) { m_peerTargets = peerTargets; }
446 
449 
452 
454  std::tuple<Eigen::VectorXd, Eigen::MatrixXd> getStatesWithCov()
455  {
456  return std::move(m_stateEstimator->getStatesWithCov());
457  }
458 
463  std::tuple<Eigen::VectorXd, Eigen::MatrixXd> getPredictedStatesWithCov(const float dT = 1.f)
464  {
465  return std::move(m_stateEstimator->getPredictedStatesWithCov(dT));
466  }
467 
469  std::tuple<Eigen::VectorXd, Eigen::MatrixXd> getPredictedMeasurementsWithCov()
470  {
471  return std::move(m_stateEstimator->getPredictedMeasurementsWithCov());
472  }
473 
475  const float getTrackerConfidence() { return m_targetInfo.confidence; }
476 
479  {
481  }
482 
485 
491  void setConfidenceCorrRespAtDetectedPts(const float *ptr, const size_t length)
492  {
493  m_confidenceCorrRespAtDetectedPts = std::vector<float>(ptr, ptr+length);
494  }
495 
498 
504  void setCorrRespAtDetectedPts(const float *ptr, const size_t length)
505  {
506  m_corrRespAtDetectedPts = std::vector<float>(ptr, ptr+length);
507  }
508 
510  const std::vector<float> &getCorrRespAtDetectedPts() { return m_corrRespAtDetectedPts; }
511 
517  void setConfidenceReidDets(const float *ptr, const size_t length)
518  {
519  m_confidenceReidDets = std::vector<float>(ptr, ptr+length);
520  }
521 
526  void setConfidenceReidDets(std::vector<float> vec) { m_confidenceReidDets = std::move(vec); }
527 
529  const std::vector<float> &getConfidenceReidDets() { return m_confidenceReidDets; }
530 
536  void addConfidenceListReidDets(const float *ptr, const size_t length)
537  {
538  m_confidenceListReidDets.emplace_back(ptr, ptr+length);
539  }
540 
542  std::vector<std::vector<float>> &getConfidenceListReidDets() { return m_confidenceListReidDets; }
543 
548  void setConfidenceReidDetsFrameNum(const std::vector<int> input) { m_confidenceReidDetsFrameNum = input; }
549 
551  const std::vector<int> &getConfidenceReidDetsFrameNum() { return m_confidenceReidDetsFrameNum; }
552 
557  void setDisMahalanobisDets(const std::vector<float> disVec) { m_disMahalanobisDets = disVec; }
558 
560  const std::vector<float> &getDisMahalanobisDets() { return m_disMahalanobisDets; }
561 
566  void setSegmentationMask(const NvMOTMask mask) { m_maskOriginal = mask; }
567 
570 
573 
575  const NvMOTFrameNum getlastFrameinTraj() { return m_trajectoryBuffer.rbegin()->frameNum; }
576 
578  const std::vector<float> &getPose() { return m_targetInfo.pose25d; }
579 
585  void setPose25d(const float *ptr, const size_t length)
586  {
587  m_targetInfo.pose25d = std::vector<float>(ptr, ptr+length);
588  }
589 
595  void setPose3d(const float *ptr, const size_t length) { m_targetInfo.pose3d = std::vector<float>(ptr, ptr+length); }
596 
601  void setObjModelProjector(std::shared_ptr<ObjectModelProjector> objModelProjector);
602 
604  std::shared_ptr<ObjectModelProjector> getObjModelProjector() { return m_objModelProjector; }
605 
611 
618  void setBbox3D(const Eigen::Vector2d& pt_world_feet, NvDsObj3DBbox& bbox3DWorld, float (*bbox3DImg)[2]);
619 
621  const bool needTargetIDAssigned() { return m_needToSetTargetID; }
622 
625 
627  const bool ready4ReAssoc() { return m_ready4ReAssoc; }
628 
631 
634 
637 
639  const bool getStateUseAspc() { return m_stateEstimator->useAspectRatio(); }
640 
646  void getReidFeaturesDet_h(const float **ptr, int &reidFeatureSize)
647  {
648  *ptr = m_reidFeaturesDet_h;
649  reidFeatureSize = m_reidFeatureSize;
650  }
651 
657  void setReidFeaturesDet_h(const float *ptr, int reidFeatureSize)
658  {
659  m_reidFeaturesDet_h = ptr; m_reidFeatureSize = reidFeatureSize;
661  if (ptr && reidFeatureSize > 0) {
662  m_persistentReidFeature.assign(ptr, ptr + reidFeatureSize);
663  }
664  }
665 
667  const std::vector<float>& getPersistentReidFeature() const { return m_persistentReidFeature; }
668 
670  float getTargetHeight() const
671  {
672  return (m_objModelProjector && m_objModelProjector->isInitialized())
673  ? m_objModelProjector->getTargetHeight() : 1.6f;
674  }
675 
677  float getHeightConfidence() const
678  {
679  return (m_objModelProjector && m_objModelProjector->isInitialized())
680  ? m_objModelProjector->getHeightConfidence() : 0.f;
681  }
682 
689  void setTargetHeight(float height, float confidence, bool force = false)
690  {
691  if (m_objModelProjector && m_objModelProjector->isInitialized()) {
692  m_objModelProjector->setTargetHeight(height, confidence, force);
693  }
694  }
695 
697  float getMinPoseConfidence() const
698  {
699  return (m_objModelProjector && m_objModelProjector->isInitialized())
700  ? m_objModelProjector->getMinPoseConfidence() : 0.5f;
701  }
702 
704  Eigen::Matrix2d getLocCovariance() const
705  {
706  return m_stateEstimator->getMeasurementNoiseCovariance().block<2,2>(0,0);
707  }
708 
711  {
713  }
714 
716  bool hasBeenActive() const { return m_hasBeenActive; }
717 
720 
726 
729 
732 
737  void setAdoptedReidServiceID(const bool flag) { m_adoptedReidServiceID = flag; }
738 
741 
746  void setTargetIDBeforeAdoption(const TargetId targetID) { m_targetIDBeforeAdoption = targetID; }
747 
750 
755  void setTargetIDFromReidService(const TargetId targetID) { m_targetIDFromReidService = targetID; }
756 
761  void setReidServiceAssocResponse(const std::map<TargetId, reidServiceAssocInfo> reidServiceAssocResponseMap)
762  {
763  m_reidServiceAssocResponseMap = reidServiceAssocResponseMap;
764  }
765 
767  const std::map<TargetId, reidServiceAssocInfo> &getReidServiceAssocResponse()
768  {
770  }
771 
777  {
778  return (
780  ? m_reidServiceAssocResponseMap.at(targetID).expConfidence : 0.0
781  );
782  }
783 protected:
784 
785  // [Configuration]
787  std::shared_ptr<ObjectModelProjector> m_objModelProjector;
790 
791  // [Multi-view association and fusion]
792  std::atomic<TargetId> m_targetID;
793  std::atomic<TimeStamp> m_targetIDTimeStamp;
794  std::atomic<bool> m_becameActive;
796  std::atomic<bool> m_acquiredID;
797  std::vector<PeerTarget> m_peerTargets;
806 
807  // [Reassociation from ReID service]
810  std::map<TargetId, reidServiceAssocInfo> m_reidServiceAssocResponseMap;
813 
814  #ifdef VIZ_DEBUG
815  cv::Scalar m_color;
816  #endif
817 
820  std::deque<TargetInfo> m_pastFrameDataBuffer;
822  std::list<TargetInfo> m_trajectoryBuffer;
824  std::shared_ptr<IEstimator2> m_stateEstimator;
825  std::vector<std::tuple<Eigen::VectorXd, Eigen::Matrix2d, bool>> m_measList;
827  std::vector<float> m_corrRespAtDetectedPts;
828  std::vector<float> m_confidenceReidDets;
829  std::vector<std::vector<float>> m_confidenceListReidDets;
830  std::vector<int> m_confidenceReidDetsFrameNum;
831  std::vector<float> m_disMahalanobisDets;
832  const float *m_reidFeaturesDet_h;
834  std::vector<float> m_persistentReidFeature;
835 
836  bool m_isOffline = false;
837 
838  #ifdef VIZ_DEBUG
839  friend class TrackerVizOutput;
840  #endif
841 };
842 
843 typedef std::map< std::shared_ptr<NvTrackedObject>, std::pair<std::shared_ptr<NvTrackedObject>, int> > FusedObjectList;
844 
847 {
848 public:
853  NvTrackedObjectManager(const std::string &configFilePath);
854 
857 
862  void initialize(const SourceFrameInfo &frameInfo);
863 
868  void queryParams(NvMOTQuery &paramsQuery);
869 
874  void updateInputInfo(const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta);
875 
877  void cleanPreviousBatchData();
878 
884  void updatePerStream(const assocDataOut_t& assocOut, const REID4REASSOC_STATE reid4reAssocState=NOT_NEEDED);
885 
887  void updateTargets();
888 
891 
898  bool addStreamSubModules(
899  const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta, const NvMotDataTypes::Size& srcImageSize
900  );
901 
909  const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, DetectedObjInfo &detObjInfo
910  );
911 
916  void updateParams(const YAML::Node &fn);
917 
922  void resetStream(const NvMOTStreamId videoStreamId);
923 
925  void resetAllStreams();
926 
931  void removeStream(const NvMOTStreamId videoStreamId);
932 
934  void removeAllStreams();
935 
940  std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> generateTrackedObjects4Reid(
941  const std::map<NvMOTStreamId, NvMOTFrame *> &inputMeta
942  );
943 
945  bool isInitialized() { return m_isInit; }
946 
948  const std::map<NvMOTStreamId, std::shared_ptr<NvTrackedObjectList>> &getTrackedObjectsInUseList()
949  {
950  return m_TrackedObjectsInUse;
951  }
952 
958 
960  const std::map<NvMOTStreamId, std::vector<std::shared_ptr<NvTrackedObject>>> & \
961  getTrackedObjectsTerminated() { return m_trackedObjectsTerminated; }
962 
964  const int getLastTargetInd() { return m_lastTrackerInd; }
965 
968 
971 
973  const std::map<NvMOTStreamId, FusedObjectList> &getTrackedObjectsFused() { return m_trackedObjectsFused; }
974 
976  std::map<const NvMOTStreamId, std::shared_ptr<ObjectModelProjector>>& getObjModelProjectors()
977  {
979  }
980 
982  const float getMinVisibility4TrajDump();
983 
985  const bool getDumpDetectorBboxes();
986 
991  const PeerTargetDB getPeerTargets(const NvMOTStreamId streamId);
992 
997  const std::shared_ptr<IMultiViewAssociator> getMultiViewAssociators(const NvMOTStreamId streamId)
998  {
999  if (m_multiViewAssociators.find(streamId) != m_multiViewAssociators.end())
1000  {
1001  return m_multiViewAssociators.at(streamId);
1002  }
1003  else
1004  {
1005  return nullptr;
1006  }
1007  };
1008 
1015  bool getOutputTerminatedTracks(const NvMOTStreamId streamId, std::list<TerminatedTrack>* & pTerminatedList)
1016  {
1017  if(m_terminatedTrackOutputMap_.find(streamId) != m_terminatedTrackOutputMap_.end())
1018  {
1019  pTerminatedList = &m_terminatedTrackOutputMap_[streamId];
1020  return true;
1021  }
1022  return false;
1023  }
1024 
1027  {
1029  {
1030  return;
1031  }
1032 
1033  for( auto curStreamIter = m_terminatedTrackOutputMap_.begin(); curStreamIter != m_terminatedTrackOutputMap_.end(); curStreamIter++ )
1034  {
1035  std::list<TerminatedTrack> & curtermTrackList = curStreamIter->second;
1036  curtermTrackList.clear();
1037  }
1038  }
1039 
1047  const std::shared_ptr<NvTrackedObject> target, const TRACKER_DELETE_MODE deleteMode,
1048  const std::shared_ptr<NvTrackedObject> peer=nullptr
1049  )
1050  {
1051  terminateTracker(target, deleteMode, peer);
1052  }
1053 
1055  void dumpTerminatedTracks();
1056 
1061  void dumpIntermediateTargetInfo(const assocDataOut_t& assocOut);
1062 
1067  std::set<std::shared_ptr<NvTrackedObject>> & getShadowTracks(const NvMOTStreamId streamId)
1068  {
1069  return m_shadowTracks[streamId];
1070  }
1071 
1073  void clearShadowTracks() { m_shadowTracks.clear(); }
1074 
1080 
1083 
1086 
1088  struct TM_Stats
1089  {
1090  std::atomic<uint64_t> term_reg_total{0};
1091  std::atomic<uint64_t> term_reg_was_active{0};
1092  std::atomic<uint64_t> term_reg_shadow_1{0};
1093  std::atomic<uint64_t> term_reg_shadow_2{0};
1094  std::atomic<uint64_t> term_reg_shadow_3{0};
1095  std::atomic<uint64_t> term_reg_shadow_4{0};
1096  std::atomic<uint64_t> term_reg_shadow_5{0};
1097  std::atomic<uint64_t> term_reg_shadow_6{0};
1098  std::atomic<uint64_t> term_reg_shadow_7{0};
1099  std::atomic<uint64_t> term_reg_shadow_8{0};
1100  std::atomic<uint64_t> term_reg_shadow_9plus{0};
1101  std::atomic<uint64_t> term_reg_young{0};
1102  std::atomic<uint64_t> term_reg_mature{0};
1103 
1104  // [Shadow rescues]
1105  std::atomic<uint64_t> shadow_rescue_6{0};
1106  std::atomic<uint64_t> shadow_rescue_7{0};
1107  std::atomic<uint64_t> shadow_rescue_8plus{0};
1108 
1109  // [TENTATIVE terminations]
1110  std::atomic<uint64_t> term_tent_total{0};
1111  std::atomic<uint64_t> term_tent_age_le2{0};
1112  std::atomic<uint64_t> term_tent_age_3_4{0};
1113  std::atomic<uint64_t> term_tent_age_5_7{0};
1114  std::atomic<uint64_t> term_tent_age_8_10{0};
1115  std::atomic<uint64_t> term_tent_age_11plus{0};
1116  } m_tm_stats;
1117 
1118 protected:
1119 
1120  bool m_isInit;
1121 
1122  // [Configuration]
1123  const std::string m_configFilePath;
1124 
1125  // [Worker-thread shared state]
1128  std::map<NvMOTStreamId, std::vector<std::shared_ptr<NvTrackedObject>>> m_trackedObjectsTerminated;
1129  std::map<NvMOTStreamId, FusedObjectList> m_trackedObjectsFused;
1130  std::map<NvMOTStreamId, assocDataOut_t> m_assocOuts;
1132  std::map<NvMOTStreamId, bool> m_isFileTerminatedDumpCreated;
1133  std::map<NvMOTStreamId, std::ofstream> m_fileTerminatedDump;
1134  std::map<NvMOTStreamId, std::ofstream> m_fileIntermediateDetDump;
1135  std::map<NvMOTStreamId, std::ofstream> m_fileIntermediateTrackDump;
1136  std::map<NvMOTStreamId, std::list<TerminatedTrack>> m_terminatedTrackOutputMap_;
1137  std::map<NvMOTStreamId, std::set<std::shared_ptr<NvTrackedObject>>> m_shadowTracks;
1138  std::map<NvMOTStreamId, std::shared_ptr<NvTrackedObjectList>> m_TrackedObjectsInUse;
1139 
1141  std::shared_ptr<NvTrajectoryManager> m_trajectoryManager;
1142  std::map<const NvMOTStreamId, std::shared_ptr<ObjectModelProjector>> m_defaultModelProjectors;
1144  std::map<NvMOTStreamId, std::shared_ptr<IMultiViewAssociator>> m_multiViewAssociators;
1145 
1150  void updateTargetsPerStream(const assocDataOut_t& assocOut);
1151 
1158  void updateMatched(
1159  const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum,
1160  const std::deque<std::pair<const DetectedObjInfo *, TrackerIndex >> &matchedPairs
1161  );
1162 
1169  void updateUnMatched(
1170  const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::set<TrackerIndex> &unmatchedTargets
1171  );
1172 
1179  void addTargetsBatch(
1180  const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum,
1181  const std::map<const TrackerIndex, const DetectedObjInfo*> &unmatchedDetObjs
1182  );
1183 
1189  void addSeeThroughTargets(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum);
1190 
1199  bool addTarget(
1200  const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum,
1201  const DetectedObjInfo *detObj, const PeerTarget *peerTarget=nullptr
1202  );
1203 
1208  void checkToTerminateTracker(const std::shared_ptr<NvTrackedObject> target);
1209 
1216  void terminateTracker(
1217  const std::shared_ptr<NvTrackedObject> target, const TRACKER_DELETE_MODE deleteMode,
1218  const std::shared_ptr<NvTrackedObject> peer=nullptr
1219  );
1220 
1225  virtual void updateTrajectoryManagerPerStream(const assocDataOut_t& assocOut);
1226 
1231  void updateTrajectoryBuffers(const NvMOTStreamId videoStreamId);
1232 
1235 
1237  void saveShadowTrackInfo();
1238 
1243  void addTargetInShadowTrack(std::shared_ptr<NvTrackedObject> target);
1244 
1246  const std::string dumpAllTargetStates();
1247 
1253  TerminatedTrack createTerminatedTrack(const std::shared_ptr<NvTrackedObject> terminatedTarget);
1254 
1259  void removeStreamSubModules(const NvMOTStreamId videoStreamId);
1260 
1263 
1269 
1272 
1273  #ifdef VIZ_DEBUG
1274  friend class TrackerVizOutput;
1275  #endif
1276 };
1277 
1278 #endif // NVTRACKEDOBJECT_HPP_
NvTrackedObject::m_reidServiceAssocResponseMap
std::map< TargetId, reidServiceAssocInfo > m_reidServiceAssocResponseMap
Association information returned by the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:810
NvTrackedObject::getVisibility
const float getVisibility()
Return the visible fraction of the target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:356
TerminatedTrack
Stores a terminated target and its frame history.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:67
NvTrackedObject::updateTargetStates
void updateTargetStates(const NvMOTFrameNum frameNum, const DetectedObjInfo *debObj, TRACKER_STATE state)
Update the states with the new measurement.
NvTrackedObjectManager::removeStreamSubModules
void removeStreamSubModules(const NvMOTStreamId videoStreamId)
Remove submodules when a stream is removed.
NvTrackedObject::m_trajectorySkipInterval
int m_trajectorySkipInterval
Frame interval between stored trajectory points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:823
NvTrackedObjectManager::TM_Stats::term_tent_age_le2
std::atomic< uint64_t > term_tent_age_le2
TENTATIVE death at age ≤ 2 (very short-lived).
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1111
MultiViewAssociatorParams
Store multi-view association configuration parameters.
Definition: sources/libs/nvmultiobjecttracker/include/modules/MultiViewAssociator/MultiViewAssociator.hpp:25
TOO_SMALL_OBJECT
@ TOO_SMALL_OBJECT
Target bounding box was too small.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:53
NvTrackedObjectManager::updatePerStream
void updatePerStream(const assocDataOut_t &assocOut, const REID4REASSOC_STATE reid4reAssocState=NOT_NEEDED)
Update targets and trajectories per stream in each thread.
NvTrackedObject::getMatchedDetObj
const DetectedObjInfo * getMatchedDetObj()
Return the detected object matched to the target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:484
NvTrackerParamsTargetManager::m_isInit
bool m_isInit
Indicates whether the parameters have been initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:198
NvTrackedObjectManager::getTrackedObjectsFused
const std::map< NvMOTStreamId, FusedObjectList > & getTrackedObjectsFused()
Return targets fused during reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:973
NvTrackedObject::getTargetIDTimeStamp
const TimeStamp getTargetIDTimeStamp()
Return the timestamp at which the target ID was created.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:412
NvTrackedObject::getReidFeaturesDet_h
void getReidFeaturesDet_h(const float **ptr, int &reidFeatureSize)
Return the detection ReID feature pointer and size.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:646
NvTrackedObject::m_reidFeatureSize
int m_reidFeatureSize
Number of values in each ReID feature.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:833
NvMotDataTypes::Rect2f
Rect_< float, 2 > Rect2f
Definition: sources/libs/nvmultiobjecttracker/include/modules/utility/dataTypes.hpp:47
reidServiceAssocInfo::confidence
float confidence
Match confidence computed as one divided by one plus distance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:115
NvTrackedObjectManager::m_trackedObjectsTerminated
std::map< NvMOTStreamId, std::vector< std::shared_ptr< NvTrackedObject > > > m_trackedObjectsTerminated
Stores terminated tracker in the current batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1128
NvTrackedObject::getDisMahalanobisDets
const std::vector< float > & getDisMahalanobisDets()
Return Mahalanobis distances from the target to detections.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:560
NvTrackedObject::setPose25d
void setPose25d(const float *ptr, const size_t length)
Store target 2.5D pose keypoints.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:585
NvTrackedObjectManager::getSizeTrackedObjectsInPool
uint getSizeTrackedObjectsInPool() const
Return the number of tracker slots in the object pool.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1271
NvTrackedObject::setTrajectoryBuffer
void setTrajectoryBuffer(const std::list< TargetInfo > &traj)
Replace the target trajectory buffer.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:403
NvTrackedObject::setObjModelProjector
void setObjModelProjector(std::shared_ptr< ObjectModelProjector > objModelProjector)
Store a deep copy of the object model projector.
NvTrackedObject::getStateUseAspc
const bool getStateUseAspc()
Report whether the state estimator uses aspect ratio.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:639
length
__host__ __device__ float length(float2 v)
Compute the Euclidean length of a vector.
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:2721
NvTrackerParamsTargetManager::m_earlyTerminationAge
int m_earlyTerminationAge
If the shadowTrackingAge reaches this threshold while in TENTATIVE period, the target will be termina...
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:176
NvTrackedObjectManager::TM_Stats::term_reg_was_active
std::atomic< uint64_t > term_reg_was_active
Targets that had reached ACTIVE before regular termination.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1091
NvTrackerParamsTargetManager::m_maxTargetsPerStream
int m_maxTargetsPerStream
The max # of targets to track per stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:164
NvTrackedObjectManager::generateTrackedObjects4Reid
std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > generateTrackedObjects4Reid(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
Select targets for ReID feature extraction during reassociation.
TargetInfo
Tracked target info.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:159
NvTrackedObject::getTargetIDFromReidService
const TargetId getTargetIDFromReidService()
Return the target ID assigned by the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:749
NvTrackedObjectManager::m_isInit
bool m_isInit
Indicates whether the target manager is initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1120
NvTrackedObjectManager::addTargetInShadowTrack
void addTargetInShadowTrack(std::shared_ptr< NvTrackedObject > target)
Save the current target in shadow track objects.
NvTrackerParamsTargetManager::m_intermediateInfoFileName
std::string m_intermediateInfoFileName
Base filename for intermediate detector and target dumps.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:163
NvTrackedObject::setConfidenceCorrRespAtDetectedPts
void setConfidenceCorrRespAtDetectedPts(const float *ptr, const size_t length)
Store confidence-weighted correlation responses at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:491
NvTrackedObject::setNeedTargetIDAssigned
void setNeedTargetIDAssigned()
Mark the target as ready for target ID assignment.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:448
NvTrackedObject::m_confidenceReidDets
std::vector< float > m_confidenceReidDets
ReID feature-similarity confidence for each detection.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:828
NvTrackerParamsTargetManager::m_maxTargetsToTrack
uint m_maxTargetsToTrack
Maximum number of targets across all streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:195
NvTrackedObject::m_trajectoryBuffer
std::list< TargetInfo > m_trajectoryBuffer
Record the whole trajectory.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:822
assocDataOut_t::matchedPairs
std::deque< std::pair< const DetectedObjInfo *, TrackerIndex > > matchedPairs
Matched pairs of detected object and target index.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:106
NvTrackedObject::getObjModelProjector
std::shared_ptr< ObjectModelProjector > getObjModelProjector()
Return the target object model projector.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:604
NvTrackerParamsTargetManager::m_debugParamInt2
int m_debugParamInt2
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:189
NvTrackedObject::getPeerTargets
const std::vector< PeerTarget > getPeerTargets()
Return peer-camera targets associated with this target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:439
NvTrackedObject::m_isOffline
bool m_isOffline
Indicates whether the tracked object is part of online tracking or offline metadata fusion.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:836
PeerTarget
Store the latest state and trajectory received for a peer target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/MultiViewAssociator/ICommunicator.hpp:72
NvTrackedObjectManager::TM_Stats::term_reg_shadow_9plus
std::atomic< uint64_t > term_reg_shadow_9plus
ACTIVE-lineage targets terminated regularly at shadow age nine or later.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1100
FUSED_BY_REASSOCIATION
@ FUSED_BY_REASSOCIATION
Target was fused into another track through reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:56
NvTrackedObject::getStatesWithCov
std::tuple< Eigen::VectorXd, Eigen::MatrixXd > getStatesWithCov()
Return the current estimator state and covariance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:454
NvTrackedObject::addConfidenceListReidDets
void addConfidenceListReidDets(const float *ptr, const size_t length)
Append a model's ReID confidence values.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:536
NvTrackedObject::m_adoptedReidServiceID
bool m_adoptedReidServiceID
Indicates whether an ID was adopted from the ReID service in the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:811
NvTrackedObjectManager::TM_Stats::shadow_rescue_8plus
std::atomic< uint64_t > shadow_rescue_8plus
INACTIVE to ACTIVE re-match at shadowAge of 8 or more.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1107
NvTrackedObjectManager::updateUnMatched
void updateUnMatched(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::set< TrackerIndex > &unmatchedTargets)
Update the targets that do not have any matched detector objects.
NvTrackedObject::m_reidFeaturesDet_h
const float * m_reidFeaturesDet_h
Target ReID feature data.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:832
NvTrackedObject::m_targetIDFromReidService
TargetId m_targetIDFromReidService
Target ID assigned by the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:809
NvTrackedObject::getAge
const NvMOTFrameNum getAge()
Return the target age in frames.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:353
NvTrackedObjectManager::getTargetCapacityUtilization
const float getTargetCapacityUtilization()
Return the fraction of total target capacity currently in use.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:967
NvTrackedObject::acquiredID
const bool acquiredID()
Report whether the target acquired an ID for the first time.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:430
TargetInfo::visibility
float visibility
Visible fraction of the object after occlusion and image-border cropping.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:308
NvTrackerParamsTargetManager::m_saveTerminatedTracks
bool m_saveTerminatedTracks
Enables saving terminated tracks for user reporting.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:160
INSUFFICIENT_VISIBILITY
@ INSUFFICIENT_VISIBILITY
Target visibility fell below the required threshold.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:50
NvTrackedObjectManager::updateTargetsPerStream
void updateTargetsPerStream(const assocDataOut_t &assocOut)
Actually perform target update per stream.
NvTrackedObjectManager::TM_Stats::term_tent_age_11plus
std::atomic< uint64_t > term_tent_age_11plus
TENTATIVE death at age > 10 (past probation).
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1115
NvTrackerParamsTargetManager::originalSrcImageBox
NvMotDataTypes::Rect2f originalSrcImageBox
Original video source image box.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:196
NvTrackedObjectList
std::map< TrackerIndex, std::shared_ptr< NvTrackedObject > > NvTrackedObjectList
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:321
NvTrackedObject::m_targetInfo
TargetInfo m_targetInfo
Tracked target information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:789
NvTrackerParamsTargetManager::m_maxTrajectoryBufferLength
int m_maxTrajectoryBufferLength
Maximum retained trajectory length before subsampling.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:183
NvTrackedObject::m_predictedSearchRegion
NvMotDataTypes::Rect2f m_predictedSearchRegion
Given a search region, predict the search region for the next frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:800
NvTrackedObjectManager::m_TrackedObjectsInUse
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.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1138
NvTrackedObject::getPredictedTargetBbox
const NvMotDataTypes::Rect2f getPredictedTargetBbox()
Return the bounding box predicted by the state estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:406
NvTrackedObjectManager::TM_Stats::term_reg_shadow_6
std::atomic< uint64_t > term_reg_shadow_6
ACTIVE-lineage targets terminated regularly at shadow age six.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1097
NvTrackerParamsTargetManager::m_debugVerboseLevel
int m_debugVerboseLevel
Debug message verbose mode level.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:156
NvTrackedObject::setConfidenceReidDets
void setConfidenceReidDets(const float *ptr, const size_t length)
Store ReID confidence values for detections.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:517
NvTrackedObject::setTargetID
void setTargetID(const TargetId newTargetID)
Set the unique target ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:383
REMOVED_STREAM_TRACKER
@ REMOVED_STREAM_TRACKER
Target belonged to a removed stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:55
NvTrackerParamsTargetManager::m_minIouDiff4NewTarget
float m_minIouDiff4NewTarget
If the IOU between the newly detected object and any of the existing targets is higher than this thre...
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:178
assocDataOut_t::unmatchedDetObjs
std::map< const TrackerIndex, const DetectedObjInfo * > unmatchedDetObjs
Detected objects without a matched target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:105
assocDataOut_t::frameNum
NvMOTFrameNum frameNum
Frame number of the video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:102
NvTrackedObject::setBecameActive
void setBecameActive(const bool flag)
Set whether the target became ACTIVE in the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:427
NvTrackedObjectManager::NvTrackedObjectManager
NvTrackedObjectManager(const std::string &configFilePath)
Initialize the target manager from a tracker configuration.
TargetId
uint64_t TargetId
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:41
NvTrackerParamsTargetManager::m_debugParamFloat1
float m_debugParamFloat1
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:191
TargetInfo::confidence
float confidence
Tracker confidence.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:303
NvTrackedObjectManager::m_fileIntermediateDetDump
std::map< NvMOTStreamId, std::ofstream > m_fileIntermediateDetDump
Intermediate detection dump stream for each video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1134
NvTrackedObject::getTrackerConfidence
const float getTrackerConfidence()
Return the current tracker confidence.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:475
NvTrackedObject::getReidServiceMatchConfidence
float getReidServiceMatchConfidence(const TargetId targetID)
Return the ReID-service match confidence for a target ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:776
TargetInfo::pose3d
std::vector< float > pose3d
Per-object 3D pose keypoints.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:315
NvTrackedObjectManager::m_lastTrackerInd
int m_lastTrackerInd
The ID of the last active tracker along the device memory space.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1131
NvTrackedObject::setConfidenceReidDetsFrameNum
void setConfidenceReidDetsFrameNum(const std::vector< int > input)
Store frame numbers associated with ReID confidence values.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:548
NvTrackedObject::becameActive
const bool becameActive()
Report whether the target became ACTIVE in the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:421
NvTrackedObjectManager::TM_Stats::term_tent_age_5_7
std::atomic< uint64_t > term_tent_age_5_7
TENTATIVE death at age 5-7.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1113
NvTrackedObjectManager::terminateTracker
void terminateTracker(const std::shared_ptr< NvTrackedObject > target, const TRACKER_DELETE_MODE deleteMode, const std::shared_ptr< NvTrackedObject > peer=nullptr)
Actually terminate tracker.
NvTrackedObjectManager
Target management module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:846
NvTrackedObject::m_targetID
std::atomic< TargetId > m_targetID
Unique target ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:792
NvTrackedObject
Stores and updates the state of one tracked target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:203
NvTrackedObjectManager::queryParams
void queryParams(NvMOTQuery &paramsQuery)
Populate target-manager memory requirements.
NvTrackedObject::m_objModelProjector
std::shared_ptr< ObjectModelProjector > m_objModelProjector
Refine bbox based on 3D object model.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:787
NvTrackedObject::m_peakCorrResp_short
float m_peakCorrResp_short
Exponentially averaged peak correlation response over a short interval.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:819
NvTrackedObject::m_pastFrameDataBuffer
std::deque< TargetInfo > m_pastFrameDataBuffer
Buffer storing past-frame data.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:821
NvTrackedObjectManager::TM_Stats::term_tent_total
std::atomic< uint64_t > term_tent_total
Total EARLY_TERMINATION events for TENTATIVE targets.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1110
NvTrackedObject::setTargetInfo
void setTargetInfo(const TargetInfo &tInfo)
Replace the current target information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:332
NvTrackedObjectManager::m_terminatedTrackOutputMap_
std::map< NvMOTStreamId, std::list< TerminatedTrack > > m_terminatedTrackOutputMap_
Terminated tracks keyed by video stream ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1136
NvTrackedObject::getTargetID
const TargetId getTargetID()
Return the unique target ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:377
assocDataIn_t::isDetDone
bool isDetDone
Indicates whether detection is complete for this video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:91
NvTrackedObject::m_needToReAssocFromReidService
bool m_needToReAssocFromReidService
Indicates whether this target requires ReID-service reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:808
NvTrackedObjectManager::createMultiViewAssociators
void createMultiViewAssociators()
Create multiview associators by replacing the existing instances after stream addition or deletion.
NvTrackedObject::adoptPastFrameData
void adoptPastFrameData(const std::deque< TargetInfo > &pastFrameBuffer)
In case of re-assoc with a newer tracklet, fuse its past frame object into the existing one.
NvTrackedObject::setTargetHeight
void setTargetHeight(float height, float confidence, bool force=false)
Update the estimated target height when an object model projector is available.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:689
TOO_LARGE_OBJECT
@ TOO_LARGE_OBJECT
Target bounding box was too large.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:54
NvTrackedObjectManager::m_multiViewParams
MultiViewAssociatorParams m_multiViewParams
Configuration parameters for multi-view association.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1085
NvTrackedObjectManager::getSegmentationBatchInfo
const SegmentationInBatch & getSegmentationBatchInfo()
Return batched segmentation-mask information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1082
NvTrackedObjectManager::updateTargetCapacityUtilization
void updateTargetCapacityUtilization()
Update target capacity utilization.
TargetInfo::videoStreamId
NvMOTStreamId videoStreamId
Video stream ID set during initialization.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:297
NvTrackedObjectManager::TM_Stats::term_tent_age_3_4
std::atomic< uint64_t > term_tent_age_3_4
TENTATIVE death at age 3-4.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1112
reidServiceAssocInfo::distanceToCentroid
float distanceToCentroid
L2 squared distance to centroid of the cluster.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:118
NvTrackedObject::m_confidenceCorrRespAtDetectedPts
std::vector< float > m_confidenceCorrRespAtDetectedPts
Visual-tracker confidence scores at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:826
NvTrackedObjectManager::dumpTerminatedTracks
void dumpTerminatedTracks()
Write all buffered terminated tracks to the configured debug output.
assocDataIn_t::frameNum
const NvMOTFrameNum frameNum
Frame number of the video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:89
NvTrackedObject::getVideoStreamId
const NvMOTStreamId getVideoStreamId()
Return the video stream associated with this target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:320
TargetInfo::trackerState
TRACKER_STATE trackerState
Current tracker state such as ACTIVE or INACTIVE.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:317
uint
unsigned int uint
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:25
NvTrackedObject::m_needToRemoveFromPendingReAssocDB
bool m_needToRemoveFromPendingReAssocDB
Indicates whether the target must leave the pending reassociation database after becoming ACTIVE.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:805
NvTrackedObject::getDistFromCam
float getDistFromCam()
Return the target distance from the camera.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:451
NvTrackedObjectManager::checkToTerminateTracker
void checkToTerminateTracker(const std::shared_ptr< NvTrackedObject > target)
Check the termination criteria for a target and terminate if met.
NvTrackedObject::getCorrRespAtDetectedPts
const std::vector< float > & getCorrRespAtDetectedPts()
Return correlation responses at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:510
NvTrackedObject::m_ready4ReAssoc
bool m_ready4ReAssoc
Indicates whether this target is ready for reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:804
NvTrackedObject::reset
void reset()
Reset the target states for later use.
NvTrackedObjectManager::m_trackedObjectsFused
std::map< NvMOTStreamId, FusedObjectList > m_trackedObjectsFused
Targets fused during reassociation, keyed by stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1129
NvTrackerParamsTargetManager::m_useVOTBasedTargetUpdate
bool m_useVOTBasedTargetUpdate
Enables VOT-based target updates.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:161
DUPLICATE_TRACKER
@ DUPLICATE_TRACKER
Target duplicated another tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:51
assocDataOut_t::videoStreamId
NvMOTStreamId videoStreamId
Video stream ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:101
NvTrackedObjectManager::saveShadowTrackInfo
void saveShadowTrackInfo()
Output shadow track objects in current batch.
NvTrackedObject::resetReady4ReAssoc
void resetReady4ReAssoc()
Clear the reassociation-ready flag.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:630
NvTrackedObject::getConfidenceReidDets
const std::vector< float > & getConfidenceReidDets()
Return ReID confidence values for detections.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:529
TerminatedTrack::TerminatedTrack
TerminatedTrack()
Initialize an empty terminated-track record.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:70
NvTrackedObjectManager::getDumpDetectorBboxes
const bool getDumpDetectorBboxes()
Report whether detector bounding boxes are included in debug dumps.
NvTrackedObject::setAcquiredID
void setAcquiredID(const bool flag)
Set whether the target acquired an ID for the first time.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:436
NvTrackerParamsTargetManager::m_maxShadowTrackingAge
int m_maxShadowTrackingAge
Max length of shadow tracking. If the shadowTrackingAge exceeds this limit, the tracker will be termi...
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:173
NvTrajectoryManager
Manage target IDs, archived trajectories, and trajectory reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/TrajectoryManager/NvTrajectoryManager.hpp:229
NvTrackedObject::ready4ReAssoc
const bool ready4ReAssoc()
Report whether the target is ready for reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:627
NvTrackedObject::addPastFrameData
void addPastFrameData()
Add the target info for the current frame into a buffer for later reporting.
NvMOTFrameNum
uint32_t NvMOTFrameNum
Definition: includes/nvdsmotmetafusion.h:51
NvTrackedObjectManager::updateParams
void updateParams(const YAML::Node &fn)
Update any Dynamic Params as provided during runtime by the user.
NvTrackedObjectManager::~NvTrackedObjectManager
~NvTrackedObjectManager()
Release all managed targets and stream submodules.
NvTrackedObjectManager::TM_Stats::shadow_rescue_6
std::atomic< uint64_t > shadow_rescue_6
INACTIVE-to-ACTIVE matches at shadow age six.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1105
assocDataIn_t::detObjs
std::deque< const DetectedObjInfo * > detObjs
Detected objects to associate with targets.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:92
NvTrackedObjectManager::TM_Stats::term_reg_mature
std::atomic< uint64_t > term_reg_mature
ACTIVE-lineage targets terminated at age 30 or later.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1102
FusedObjectList
std::map< std::shared_ptr< NvTrackedObject >, std::pair< std::shared_ptr< NvTrackedObject >, int > > FusedObjectList
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:843
NvTrackedObject::setNeedToReAssocFromReidService
void setNeedToReAssocFromReidService(const bool flag)
Set whether the target requires ReID-service reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:725
NvTrackedObjectManager::m_isFileTerminatedDumpCreated
std::map< NvMOTStreamId, bool > m_isFileTerminatedDumpCreated
Indicates whether each stream's terminated-track dump file was created.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1132
NvTrackedObject::getTargetHeight
float getTargetHeight() const
Return the estimated target height or the default human height.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:670
NvTrackerParamsTargetManager
Stores target-manager configuration parameters.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:131
NvTrackedObject::purgeTrajectoryBufferUntilSpecified
void purgeTrajectoryBufferUntilSpecified(const NvMOTFrameNum frameNum)
Purge the trajectory buffer until the frame num specified.
NvTrackedObject::hasBeenActive
bool hasBeenActive() const
Report whether the target has ever reached ACTIVE state.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:716
NvTrackedObject::resetNeedToRemoveFromPendingReAssocDB
void resetNeedToRemoveFromPendingReAssocDB()
Clear the pending reassociation database removal flag.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:636
NvTrackedObject::getMinPoseConfidence
float getMinPoseConfidence() const
Return the minimum pose confidence or its default value.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:697
NvTrackedObject::setDisMahalanobisDets
void setDisMahalanobisDets(const std::vector< float > disVec)
Store Mahalanobis distances from the target to detections.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:557
TargetInfo::shadowTrackingAge
uint32_t shadowTrackingAge
Number of frames since the tracker entered INACTIVE state.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:316
NvTrackedObject::setTargetIDFromReidService
void setTargetIDFromReidService(const TargetId targetID)
Store the target ID assigned by the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:755
DONE
@ DONE
ReID has completed for reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:63
NvTrackedObjectManager::m_trackedObjectsLock
std::mutex m_trackedObjectsLock
Lock associated with tracked objects for all streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1126
NvTrackedObject::setCorrRespAtDetectedPts
void setCorrRespAtDetectedPts(const float *ptr, const size_t length)
Store correlation responses at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:504
NvTrackedObject::getTrajectoryBuffer
std::list< TargetInfo > & getTrajectoryBuffer()
Return the target trajectory buffer.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:397
NvTrackedObjectManager::m_tm_stats
struct NvTrackedObjectManager::TM_Stats m_tm_stats
NvTrackedObject::setTargetIDBeforeAdoption
void setTargetIDBeforeAdoption(const TargetId targetID)
Store the target ID held before ReID-service adoption.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:746
NvTrackedObject::m_params
const NvTrackerParamsTargetManager * m_params
Configuration parameters for target management.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:786
NvTrackedObject::resetNeedToReAssocFromReidService
void resetNeedToReAssocFromReidService()
Clear the ReID-service reassociation flag.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:728
NvTrackedObject::m_hasBeenActive
bool m_hasBeenActive
Indicates whether the target has ever transitioned to ACTIVE.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:795
EARLY_TERMINATION
@ EARLY_TERMINATION
TENTATIVE target reached an early termination condition.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:49
NvTrackedObjectManager::removeStream
void removeStream(const NvMOTStreamId videoStreamId)
Remove all trackers for a stream and deletes stream.
NvTrackedObject::setTargetIDTimeStamp
void setTargetIDTimeStamp(const TimeStamp time)
Set the timestamp at which the target ID was created.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:418
NvTrackedObjectManager::addTarget
bool addTarget(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const DetectedObjInfo *detObj, const PeerTarget *peerTarget=nullptr)
Add a new target for a new object.
NvTrackedObject::getMatchedDetObjInd
const int getMatchedDetObjInd()
Return the matched detection index or negative one when unmatched.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:478
TO_DO
@ TO_DO
ReID is needed for reassociation but has not completed.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:62
reidServiceAssocInfo::distance
float distance
L2 squared average distance of the search vector to the "groupCount" vectors in the cluster.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:117
assocDataOut_t::unmatchedTargets
std::set< TrackerIndex > unmatchedTargets
Target indexes without a matched detected object.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:107
NvTrackedObject::needTargetIDAssigned
const bool needTargetIDAssigned()
Report whether the target is ready for target ID assignment.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:621
TargetInfo::matchedDetObjInfo
DetectedObjInfo * matchedDetObjInfo
Holds a pointer to the associated input object used in low level tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:296
NvTrackedObject::resetPastFrameData
void resetPastFrameData()
Clear the past-frame data buffer.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:266
NvTrackedObjectManager::resetAllStreams
void resetAllStreams()
Resets all trackers for all streams.
NvTrackedObject::adoptTracklet
void adoptTracklet(const std::list< TargetInfo > &tracklet)
In case of re-assoc with a newer tracklet, adopt and fuse it to the existing one.
NvTrackedObject::fuseOverlappingTracklets
std::list< TargetInfo > fuseOverlappingTracklets(const std::list< TargetInfo > &tracklet, const std::list< TargetInfo > &peerTracklet)
Fuse the peer's tracklet into the target's.
NvTrackedObjectManager::TM_Stats::term_reg_shadow_1
std::atomic< uint64_t > term_reg_shadow_1
ACTIVE-lineage targets terminated regularly at shadow age one.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1092
NvTrackedObject::getSegmentationMask
const NvMOTMask & getSegmentationMask()
Return the target segmentation mask.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:569
NvTrackerParamsTargetManager::m_checkClassMatch
bool m_checkClassMatch
If true, only objects of the same class are associated (sourced from BaseConfig:checkClassMatch).
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:167
NvTrackedObject::getTargetInd
const TrackerIndex & getTargetInd()
Return the target index in the allocated memory layout.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:323
NvTrackedObject::getPredictedStatesWithCov
std::tuple< Eigen::VectorXd, Eigen::MatrixXd > getPredictedStatesWithCov(const float dT=1.f)
Return the predicted estimator state and covariance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:463
NvTrackedObject::m_confidenceReidDetsFrameNum
std::vector< int > m_confidenceReidDetsFrameNum
Frame number associated with each extracted ReID feature.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:830
NvTrackerParamsTargetManager::m_outputVisibility
bool m_outputVisibility
Output visibility flag.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:159
NOT_NEEDED
@ NOT_NEEDED
ReID is not needed for reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:61
NvTrackerParams
Provides common loading helpers for tracker configuration parameters.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackerParams.hpp:35
NvTrackedObject::m_persistentReidFeature
std::vector< float > m_persistentReidFeature
Persisted copy of the last non-null embedding; survives non-extraction frames.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:834
NvTrackedObject::getTrackerState
const TRACKER_STATE getTrackerState()
Return the current tracker state.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:365
PeerTargetDB
std::map< CamId, std::map< TargetId, PeerTarget > > PeerTargetDB
PeerTargetDB structure.
Definition: sources/libs/nvmultiobjecttracker/include/modules/MultiViewAssociator/IMultiViewAssociator.hpp:32
NvTrackedObjectManager::TM_Stats::term_reg_shadow_4
std::atomic< uint64_t > term_reg_shadow_4
ACTIVE-lineage targets terminated regularly at shadow age four.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1095
absl::move
constexpr absl::OTABSL_OPTION_NAMESPACE_NAME::remove_reference_t< T > && move(T &&t) noexcept
Definition: includes/opentelemetry/nostd/internal/absl/utility/utility.h:199
TerminatedTrack::classID
uint16_t classID
Class ID of the terminated track.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:72
NvTrackedObject::getTargetIDBeforeAdoption
const TargetId getTargetIDBeforeAdoption()
Return the target ID held before ReID-service adoption.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:740
NvTrackedObjectManager::dumpAllTargetStates
const std::string dumpAllTargetStates()
Dump all the target states in a structured text for debug.
NvTrackedObjectManager::m_fileIntermediateTrackDump
std::map< NvMOTStreamId, std::ofstream > m_fileIntermediateTrackDump
Intermediate target dump stream for each video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1135
NvTrackedObject::setReidServiceAssocResponse
void setReidServiceAssocResponse(const std::map< TargetId, reidServiceAssocInfo > reidServiceAssocResponseMap)
Store association responses returned by the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:761
NvTrackedObjectManager::m_targetCapacityUtilization
float m_targetCapacityUtilization
The utilization of the total allocated target capacity. [Unit: %].
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1140
NvMOTStreamId
uint64_t NvMOTStreamId
Definition: includes/nvdstracker.h:53
NvTrackedObject::NvTrackedObject
NvTrackedObject(const std::string &configFilePath, const NvTrackerParamsTargetManager *params, const TrackerIndex trackerInd)
Initialize a tracked target and its estimator.
NvTrackedObject::isObjModelProjectorInitialized
bool isObjModelProjectorInitialized()
Check whether the object model projector is initialized.
reidServiceAssocInfo
Output from ReID service association module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:111
NvTrackerParamsTargetManager::m_debugParamInt0
int m_debugParamInt0
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:187
NvTrackedObject::getConfidenceCorrRespAtDetectedPts
const std::vector< float > & getConfidenceCorrRespAtDetectedPts()
Return confidence-weighted correlation responses at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:497
NvTrackerParamsTargetManager::m_enableBboxUnClipping
bool m_enableBboxUnClipping
Enables recovery of bounding boxes clipped by the image border.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:158
NvTrackedObjectManager::updateTrajectoryManagerPerStream
virtual void updateTrajectoryManagerPerStream(const assocDataOut_t &assocOut)
Update traj manager to assign ids, perform re-association and terminate trackers for each stream.
NvTrackedObjectManager::m_defaultModelProjectors
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > m_defaultModelProjectors
Default object model projectors for each stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1142
NvTrackedObjectManager::resetStream
void resetStream(const NvMOTStreamId videoStreamId)
Remove all trackers for a stream WITHOUT deleting stream.
NvTrackedObject::setReidFeaturesDet_h
void setReidFeaturesDet_h(const float *ptr, int reidFeatureSize)
Store detection ReID feature metadata and persist non-empty features.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:657
NvTrackedObjectManager::TM_Stats::term_reg_shadow_3
std::atomic< uint64_t > term_reg_shadow_3
ACTIVE-lineage targets terminated regularly at shadow age three.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1094
NvTrackedObjectManager::getMinVisibility4TrajDump
const float getMinVisibility4TrajDump()
Return the minimum visibility required for trajectory dumping.
NvTrackedObjectManager::TM_Stats::term_reg_total
std::atomic< uint64_t > term_reg_total
Total REGULAR_TERMINATION events.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1090
NvTrackedObjectManager::TM_Stats::term_tent_age_8_10
std::atomic< uint64_t > term_tent_age_8_10
TENTATIVE death at age 8-10 (near probationAge=10).
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1114
NvTrackedObject::getPastFrameData
const std::deque< TargetInfo > & getPastFrameData()
Return buffered past-frame target information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:394
NvTrackedObject::generateTrackedObjects4Reid
std::map< NvMOTStreamId, std::deque< DetectedObjInfo > > generateTrackedObjects4Reid(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
Package this target for ReID extraction when eligible.
TerminatedTrack::state
TRACKER_STATE state
Tracker state of the track.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:74
NvTrackedObject::getLocCovariance
Eigen::Matrix2d getLocCovariance() const
Return the location covariance from the state estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:704
NvTrackedObjectManager::getTrackedObjectsInUseList
const std::map< NvMOTStreamId, std::shared_ptr< NvTrackedObjectList > > & getTrackedObjectsInUseList()
Return in-use targets for all streams.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:948
NvTrackedObject::getPredictedSearchRegion
const NvMotDataTypes::Rect2f getPredictedSearchRegion() const
Get the predicted search region for the next frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:341
NvTrackedObject::m_becameActive
std::atomic< bool > m_becameActive
Indicates whether the target became ACTIVE in the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:794
NvTrackerParamsTargetManager::NvTrackerParamsTargetManager
NvTrackerParamsTargetManager()
Initialize target-manager parameters with default values.
NvTrackedObject::getProgBbox
const NvMotDataTypes::Rect2f getProgBbox() const
Return the progressed bounding box generated by the segmenter.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:344
NvTrackedObjectManager::m_assocOuts
std::map< NvMOTStreamId, assocDataOut_t > m_assocOuts
Store assoc output for each stream. Only used when preserving update order.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1130
NvTrackedObjectManager::m_shadowTracks
std::map< NvMOTStreamId, std::set< std::shared_ptr< NvTrackedObject > > > m_shadowTracks
Stores shadow tracks in the current batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1137
NvTrackedObjectManager::setSegmentationBatchInfo
void setSegmentationBatchInfo(SegmentationInBatch segInfo)
Store batched segmentation-mask information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1079
assocDataIn_t::targets
std::map< TrackerIndex, std::shared_ptr< NvTrackedObject > > targets
Targets to associate, keyed by tracker index.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:93
NvTrackedObject::m_measList
std::vector< std::tuple< Eigen::VectorXd, Eigen::Matrix2d, bool > > m_measList
Measurements, covariances, and detector-source flags for the state estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:825
NvTrackedObjectManager::clearOutputTerminatedTracks
void clearOutputTerminatedTracks()
Clear buffered terminated-track output when saving is enabled.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1026
reidServiceAssocInfo::clusterVariance
float clusterVariance
Variance of the cluster.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:119
NvTrackedObjectManager::updateMatched
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.
NvTrackerParamsTargetManager::m_minTrackerConfidence
float m_minTrackerConfidence
Localization confidence threshold for the peak correlation response.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:171
NvTrackerParamsTargetManager::m_maxActiveShadowTrackingAge
int m_maxActiveShadowTrackingAge
Override the shadow cap for tracks that were ever ACTIVE.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:174
NvTrackedObject::updateTrajectoryBuffer
void updateTrajectoryBuffer()
Add the current target info to the trajectory buffer.
NvTrackerParamsTargetManager::m_saveShadowTracks
bool m_saveShadowTracks
Output shadow track objects.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:184
CORRUPTED_TRACKER
@ CORRUPTED_TRACKER
Target state became invalid.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:52
NvTrackedObject::m_acquiredID
std::atomic< bool > m_acquiredID
Indicates whether the target acquired an ID for the first time.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:796
reidServiceAssocInfo::targetID
TargetId targetID
Best matched target ID from reid service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:113
SegmentationInBatch
Describes batched segmentation-mask storage.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:79
_NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
Definition: includes/nvdstracker.h:420
assocDataOut_t::isAssocDone
bool isAssocDone
Indicates whether association is complete for this video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:104
LOCATION_ESTIMATOR_PROJECTIVE
@ LOCATION_ESTIMATOR_PROJECTIVE
Selects the projective location estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/Estimatorv2/Estimator_common.hpp:28
NvTrackerParamsTargetManager::m_terminatedTrackFilename
std::string m_terminatedTrackFilename
Terminated tracker file name.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:162
NvTrackedObject::m_corrRespAtDetectedPts
std::vector< float > m_corrRespAtDetectedPts
Visual-tracker correlation responses at detected points.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:827
NvTrackedObjectManager::updateTrajectoryManager
void updateTrajectoryManager()
Update trajectories for all streams on the main thread.
TRACKER_DELETE_MODE
TRACKER_DELETE_MODE
The types of target termination mode.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:47
reidServiceAssocInfo::groupCount
int groupCount
Number of vectors from the cluster that are present in group search results.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:114
TargetInfo::tBbox
NvMotDataTypes::Rect2f tBbox
Object bbox.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:300
NvTrackedObjectManager::m_multiViewAssociators
std::map< NvMOTStreamId, std::shared_ptr< IMultiViewAssociator > > m_multiViewAssociators
Multi-view associators.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1144
TargetInfo::classId
NvMOTClassId classId
Object class ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:299
NvTrackedObject::getSearchRegion
const NvMotDataTypes::Rect2f getSearchRegion() const
Get the search region for the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:338
NvTrackedObject::~NvTrackedObject
virtual ~NvTrackedObject()
Release resources owned by the tracked target.
NvTrackedObject::getReidServiceAssocResponse
const std::map< TargetId, reidServiceAssocInfo > & getReidServiceAssocResponse()
Return association responses from the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:767
NvTrackedObjectManager::addTargetsBatch
void addTargetsBatch(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, const std::map< const TrackerIndex, const DetectedObjInfo * > &unmatchedDetObjs)
Add new targets for the new detected objects.
SegmentationInBatch::segMaskInBatch_d
float * segMaskInBatch_d
CUDA array containing segmentation results.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:81
NvTrackedObject::resetStateEstimator
void resetStateEstimator()
Reset the target state estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:572
NvTrackerParamsTargetManager::m_minDetectorConfidence
float m_minDetectorConfidence
If the confidence of a detected object is lower than this, it will not be considered as a new target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:170
DetectedObjInfo::bboxInd
uint16_t bboxInd
Object bbox ind in the metadata.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:145
NvTrackedObjectManager::addTerminatedTrackToBufferPerStream
void addTerminatedTrackToBufferPerStream(TerminatedTrack &newTermTrack)
Append a terminated track to its stream output buffer.
NvTrackedObject::setProgBbox
void setProgBbox(const NvMotDataTypes::Rect2f &bbox)
Store the progressed bounding box generated by the segmenter.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:350
NvTrackedObject::getlastFrameinTraj
const NvMOTFrameNum getlastFrameinTraj()
Return the last frame number in the trajectory buffer.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:575
NvTrackerParamsTargetManager::m_debugParamFloat2
float m_debugParamFloat2
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:192
NvTrackedObjectManager::getLastTargetInd
const int getLastTargetInd()
Return the index of the last allocated tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:964
NvTrackedObject::setAge
void setAge(const NvMOTFrameNum newAge)
Set the target age in frames.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:362
NvTrackedObject::setPose3d
void setPose3d(const float *ptr, const size_t length)
Store target 3D pose keypoints.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:595
NvTrackedObject::m_targetInd
const TrackerIndex m_targetInd
Index of this target in the allocated memory layout.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:788
NvTrackedObject::getShadowTrackingAge
const NvMOTFrameNum getShadowTrackingAge()
Return the number of frames spent in shadow tracking.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:374
NvTrackedObjectManager::recoverDefaultModelFromBbox
void recoverDefaultModelFromBbox(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum, DetectedObjInfo &detObjInfo)
Recover object model from detection bounding box using default model projector.
TrackerIndex
uint32_t TrackerIndex
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:42
assocDataIn_t::timeMeta
const NvMOTTimeMeta timeMeta
Frame, stream, and local timestamps for this association pass.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:90
NvTrackedObject::resetNeedTargetIDAssigned
void resetNeedTargetIDAssigned()
Clear the target ID assignment request.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:624
NvTrackedObject::m_multiViewParams
MultiViewAssociatorParams m_multiViewParams
Parameters for the multi-view associator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:798
NvTrackedObjectManager::TM_Stats::shadow_rescue_7
std::atomic< uint64_t > shadow_rescue_7
INACTIVE-to-ACTIVE matches at shadow age seven.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1106
NvTrackedObjectManager::TM_Stats::term_reg_shadow_7
std::atomic< uint64_t > term_reg_shadow_7
ACTIVE-lineage targets terminated regularly at shadow age seven.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1098
NvTrackedObject::m_progBbox
NvMotDataTypes::Rect2f m_progBbox
Progressed bounding box generated by segmenter.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:801
NvTrackerParamsTargetManager::m_searchRegionPaddingScale
float m_searchRegionPaddingScale
Search-region padding scale relative to the target bounding box.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:179
NvTrackedObjectManager::updateTrajectoryBuffers
void updateTrajectoryBuffers(const NvMOTStreamId videoStreamId)
Add the current target info to the trajectory buffer.
NvTrackedObject::m_targetIDBeforeAdoption
TargetId m_targetIDBeforeAdoption
Target ID held before ReID-service adoption in the current frame.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:812
_NvMOTTimeMeta
Per-frame timing: stream PTS (when valid), host-local ns for deltas, and frame index.
Definition: includes/nvdstracker.h:66
NvTrackedObjectManager::addSeeThroughTargets
void addSeeThroughTargets(const NvMOTStreamId videoStreamId, const NvMOTFrameNum frameNum)
Add see-through targets from peer cameras.
NvTrackedObjectManager::addStreamSubModules
bool addStreamSubModules(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, const NvMotDataTypes::Size &srcImageSize)
Update obj model projectors when streams are added or deleted.
NvTrackedObject::getPredictedMeasurementsWithCov
std::tuple< Eigen::VectorXd, Eigen::MatrixXd > getPredictedMeasurementsWithCov()
Return predicted measurements and their covariance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:469
NvTrackedObjectManager::m_segInfo
SegmentationInBatch m_segInfo
Segmentation results for all the targets.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1143
TimeStamp
NvMOTTimeStamp TimeStamp
Definition: includes/nvdstracker.h:56
NvTrackedObject::getTargetInfo
const TargetInfo & getTargetInfo()
Return the current target information.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:326
NvTrackedObject::setVideoStreamId
void setVideoStreamId(const NvMOTStreamId videoStreamId)
Set the video stream associated with this target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:317
NvTrackedObjectManager::terminateTrackerPublic
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.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1046
NvTrackedObject::m_searchRegion
NvMotDataTypes::Rect2f m_searchRegion
Given a target bbox, expand the bbox to some extent to define a search region.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:799
NvTrackedObject::getConfidenceListReidDets
std::vector< std::vector< float > > & getConfidenceListReidDets()
Return ReID confidence values from all models.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:542
_NvDsObj3DBbox
Holds 3D bbox information for an object.
Definition: includes/nvds_tracker_meta.h:177
NvTrackedObjectManager::getShadowTracks
std::set< std::shared_ptr< NvTrackedObject > > & getShadowTracks(const NvMOTStreamId streamId)
Return shadow tracks collected for a stream in the current batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1067
NvTrackedObject::setSegmentationMask
void setSegmentationMask(const NvMOTMask mask)
Store the target segmentation mask.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:566
TargetInfo::distFromCam
float distFromCam
Distance from the camera.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:304
NvTrackedObjectManager::m_configFilePath
const std::string m_configFilePath
Path to the tracker configuration file.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1123
NvMotDataTypes::Size
Represents a two-dimensional integer size.
Definition: sources/libs/nvmultiobjecttracker/include/modules/utility/dataTypes.hpp:52
NvTrackedObjectManager::TM_Stats
ACTIVE track termination counters (per NvTrackedObjectManager instance).
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1088
NvTrackerParamsTargetManager::m_debugParamInt1
int m_debugParamInt1
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:188
NvTrackedObjectManager::updateTargets
void updateTargets()
Update targets for all streams on the main thread.
SourceFrameInfo
Information about the input source frames for the input frame batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:49
NvTrackedObject::setPeerTargets
void setPeerTargets(const std::vector< PeerTarget > peerTargets)
Replace peer-camera targets associated with this target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:445
NvTrackedObjectManager::m_TrackedObjectsInPool
NvTrackedObjectList m_TrackedObjectsInPool
Pool of all preallocated tracked objects.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1127
DetectedObjInfo
Detected object info obtained from input metadata.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:72
assocDataIn_t::videoStreamId
const NvMOTStreamId videoStreamId
Video stream ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:88
CV_FUNCS::convertXToBbox
NvMotDataTypes::Rect2f convertXToBbox(const Eigen::VectorXd &x, const bool useAspc=false)
Convert an estimator state vector to a bounding box.
Definition: sources/libs/nvmultiobjecttracker/include/modules/utility/cv_functions.hpp:217
NvTrackedObject::m_peerTargets
std::vector< PeerTarget > m_peerTargets
Peer targets from other cameras.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:797
SegmentationInBatch::size
NvMotDataTypes::Size size
Size of each segmentation mask.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:82
NvTrackedObject::getHeightConfidence
float getHeightConfidence() const
Return the confidence of the estimated target height.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:677
NvTrackedObject::getConfidenceReidDetsFrameNum
const std::vector< int > & getConfidenceReidDetsFrameNum()
Return frame numbers associated with ReID confidence values.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:551
EMPTY
@ EMPTY
Definition: includes/nvds_tracker_meta.h:42
REID4REASSOC_STATE
REID4REASSOC_STATE
Identifies the ReID processing stage for reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:60
NvTrackedObject::resetShadowTrackingAge
void resetShadowTrackingAge()
Reset the shadow-tracking age to zero.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:260
NvTrackedObjectManager::getObjModelProjectors
std::map< const NvMOTStreamId, std::shared_ptr< ObjectModelProjector > > & getObjModelProjectors()
Return default object model projectors keyed by stream ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:976
NvTrackerParamsTargetManager::read
void read(const YAML::Node &fn) override
Read target-manager parameters from a YAML node.
assocDataIn_t::sumsCorrRespAtDetectedPt
std::map< uint16_t, float > sumsCorrRespAtDetectedPt
Sum of tracker correlation responses at each detected object for cascade stage zero.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:94
TRACKER_STATE
TRACKER_STATE
Definition: includes/nvds_tracker_meta.h:42
NvTrackedObjectManager::isInitialized
bool isInitialized()
Report whether the target manager is initialized.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:945
NvTrackedObject::setBbox3D
void setBbox3D(const Eigen::Vector2d &pt_world_feet, NvDsObj3DBbox &bbox3DWorld, float(*bbox3DImg)[2])
Set 3D bounding box information.
NvTrackedObjectManager::updateInputInfo
void updateInputInfo(const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta)
Update per-stream input information before target-manager processing.
NvTrackedObjectManager::TM_Stats::term_reg_shadow_5
std::atomic< uint64_t > term_reg_shadow_5
ACTIVE-lineage targets terminated regularly at shadow age five.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1096
NvTrackedObjectManager::m_fileTerminatedDump
std::map< NvMOTStreamId, std::ofstream > m_fileTerminatedDump
Terminated-track dump stream for each video stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1133
NvTrackedObjectManager::removeAllStreams
void removeAllStreams()
Remove all trackers for all streams.
TerminatedTrack::videoStreamId
NvMOTStreamId videoStreamId
Video stream ID associated with the track.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:73
NvTrackedObjectManager::createTerminatedTrack
TerminatedTrack createTerminatedTrack(const std::shared_ptr< NvTrackedObject > terminatedTarget)
Save and output the terminated tracks.
_NvMOTMask
Holds the segmentaiton mask of an object.
Definition: includes/nvdstracker.h:225
NvTrackedObject::setAdoptedReidServiceID
void setAdoptedReidServiceID(const bool flag)
Set whether the target adopted an ID from the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:737
reidServiceAssocInfo::expConfidence
float expConfidence
Match confidence computed as an exponential of distance.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:116
NvTrackedObject::getClassId
const uint16_t getClassId()
Return the target class ID.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:386
assocDataOut_t::timeMeta
NvMOTTimeMeta timeMeta
Frame, stream, and local timestamps received with the association input.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:103
NvTrackedObjectManager::dumpIntermediateTargetInfo
void dumpIntermediateTargetInfo(const assocDataOut_t &assocOut)
Write intermediate detector and target information for one stream.
NvTrackedObjectManager::m_params
NvTrackerParamsTargetManager m_params
Configuration parameters for target management.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1084
NvTrackedObjectManager::getPeerTargets
const PeerTargetDB getPeerTargets(const NvMOTStreamId streamId)
Return peer targets visible to a stream.
NvTrackedObject::m_confidenceListReidDets
std::vector< std::vector< float > > m_confidenceListReidDets
Detection confidence values from multiple ReID models.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:829
NvTrackedObjectManager::TM_Stats::term_reg_shadow_2
std::atomic< uint64_t > term_reg_shadow_2
ACTIVE-lineage targets terminated regularly at shadow age two.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1093
NvTrackedObject::setTrackerState
void setTrackerState(const TRACKER_STATE state)
Set the current tracker state.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:371
TargetInfo::pose25d
std::vector< float > pose25d
Per-object 2.5D pose keypoints.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:314
NvTrackedObject::getTargetBbox
const NvMotDataTypes::Rect2f getTargetBbox() const
Return the current target bounding box.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:335
NvTrackerParamsTargetManager::srcImageBox
NvMotDataTypes::Rect2f srcImageBox
Tracker source image box.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:197
REGULAR_TERMINATION
@ REGULAR_TERMINATION
Target reached a regular termination condition.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:48
assocDataIn_t
Input for the data association module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:86
NvTrackedObject::usesProjectiveEstimator
bool usesProjectiveEstimator() const
Report whether the target uses a projective state estimator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:710
NvTrackedObject::incrementShadowTrackingAge
void incrementShadowTrackingAge(const NvMOTFrameNum increment=1)
Increment the number of frames spent in shadow tracking.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:257
TargetInfo::age
NvMOTFrameNum age
Number of frames for which the target has been tracked.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:309
NvTrackedObjectManager::cleanPreviousBatchData
void cleanPreviousBatchData()
Clean previous batch data.
NvTrackedObject::m_maskOriginal
NvMOTMask m_maskOriginal
Object segmentation mask in original streammux coordinates.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:802
NvTrackedObject::m_needToSetTargetID
bool m_needToSetTargetID
Indicates whether this target is ready for target ID assignment.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:803
NvTrackedObject::m_stateEstimator
std::shared_ptr< IEstimator2 > m_stateEstimator
State estimator such as a Kalman or moving-average filter.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:824
assocDataIn_t::multiViewAssociator
std::shared_ptr< IMultiViewAssociator > multiViewAssociator
Multi-view associator.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:95
NvTrackedObject::adoptedReidServiceID
const bool adoptedReidServiceID()
Report whether the target adopted an ID from the ReID service.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:731
NvTrackedObjectManager::m_trajectoryManager
std::shared_ptr< NvTrajectoryManager > m_trajectoryManager
Manages the trajectory generated by each target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1141
NvTrackedObject::m_disMahalanobisDets
std::vector< float > m_disMahalanobisDets
Mahalanobis distance between the target and each detection.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:831
NvTrackerParamsTargetManager::m_preserveStreamUpdateOrder
bool m_preserveStreamUpdateOrder
Preserves input stream order when assigning target IDs for deterministic results.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:157
TrackerVizOutput
Renders and writes visual tracker debugging output.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/vizOutput.hpp:43
NvTrackerParamsTargetManager::m_probationAge
int m_probationAge
If the target's age exceeds this, the target will be considered to be valid.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:172
NvTrackedObject::initializeQuasiActiveStates
void initializeQuasiActiveStates(const NvMOTFrameNum frameNum, const PeerTarget *peerTarget)
Initialize a target tracked by a peer camera in quasi-active state.
TerminatedTrack::targetHistory
std::vector< TargetInfo > targetHistory
Target information for each frame of the track.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:75
NvTrackedObjectManager::getMultiViewAssociators
const std::shared_ptr< IMultiViewAssociator > getMultiViewAssociators(const NvMOTStreamId streamId)
Return the multi-view associator for a stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:997
NvTrackedObject::m_peakCorrResp_long
float m_peakCorrResp_long
Peak correlation response over a long interval.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:818
NvTrackedObject::m_targetIDTimeStamp
std::atomic< TimeStamp > m_targetIDTimeStamp
Time at which the target ID was created.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:793
NvTrackedObjectManager::clearShadowTracks
void clearShadowTracks()
Clear shadow tracks collected for the current batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1073
NvTrackedObject::getPersistentReidFeature
const std::vector< float > & getPersistentReidFeature() const
Return the last persisted non-empty ReID feature.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:667
NvTrackedObjectManager::initialize
void initialize(const SourceFrameInfo &frameInfo)
Allocate the target pool and initialize stream-independent submodules.
TerminatedTrack::targetID
TargetId targetID
Unique target ID of the terminated track.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:71
assocDataOut_t
Output from the data association module.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:99
NvTrackedObjectManager::TM_Stats::term_reg_young
std::atomic< uint64_t > term_reg_young
ACTIVE-lineage targets terminated before age 30.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1101
NvTrackedObjectManager::getMaxTargetsPerStream
const uint getMaxTargetsPerStream()
Return the maximum number of targets allowed per stream.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:970
NvTrackedObject::setConfidenceReidDets
void setConfidenceReidDets(std::vector< float > vec)
Move ReID confidence values into the target.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:526
NvTrackedObject::needToRemoveFromPendingReAssocDB
const bool needToRemoveFromPendingReAssocDB()
Report whether the target must leave the pending reassociation database.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:633
NvTrackerParamsTargetManager::m_debugParamFloat0
float m_debugParamFloat0
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:190
NvTrackedObject::setLocalizationResults
void setLocalizationResults(const NvMOTFrameNum frameNum, const float trackingConfidence, const NvMotDataTypes::Rect2f &localizationBbox)
Update localization states from the current tracker result.
NvTrackedObject::getPose
const std::vector< float > & getPose()
Return the target 2.5D pose keypoints.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:578
NvTrackedObject::needToReAssocFromReidService
const bool needToReAssocFromReidService()
Report whether the target requires ReID-service reassociation.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:719
NvTrackedObject::defineSearchRegion
const NvMotDataTypes::Rect2f defineSearchRegion(const NvMotDataTypes::Rect2f bbox) const
Expand a target bounding box into its search region.
NvTrackedObjectManager::getOutputTerminatedTracks
bool getOutputTerminatedTracks(const NvMOTStreamId streamId, std::list< TerminatedTrack > *&pTerminatedList)
Return the terminated-track output list for a stream when available.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1015
NvTrackedObjectManager::TM_Stats::term_reg_shadow_8
std::atomic< uint64_t > term_reg_shadow_8
ACTIVE-lineage targets terminated regularly at shadow age eight.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvTrackedObject.hpp:1099