NVIDIA DeepStream SDK API Reference

9.2 Release
sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.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 VISUALTRACKERLIB_IVISUALTRACKER_HPP_
19 #define VISUALTRACKERLIB_IVISUALTRACKER_HPP_
20 
21 #include <memory>
22 #include <map>
23 #include "modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp"
24 #include "modules/NvMultiObjectTracker/NvTrackedObject.hpp"
25 
28 {
29  DUMMY_VOT = 0,
32 };
33 
36 {
37 public:
39  virtual ~IVisualTracker() {}
40 
48  virtual void initialize(
49  const SourceFrameInfo &frameInfo, const uint maxTargetsToTrack,
50  const uint maxTargetsPerStream, const std::shared_ptr<NvTrackedObjectManager> &targetManager
51  ) = 0;
52 
57  virtual void queryParams(NvMOTQuery &paramsQuery) = 0;
58 
64  virtual void localize(
65  const std::map<NvMOTStreamId, NvMOTFrame *> inputMeta,
66  const std::map<NvMOTStreamId, std::deque<DetectedObjInfo>> &detectedObjects
67  ) = 0;
68 
73  virtual void update(const std::map<NvMOTStreamId, NvMOTFrame *> inputMeta) = 0;
74 
76  virtual bool isInitialized() = 0;
77 
79  virtual const VISUAL_TRACKER_TYPES getVisualTrackerType() = 0;
80 
85  virtual void updateParams(const YAML::Node &fn) = 0;
86 };
87 
88 #endif // VISUALTRACKERLIB_IVISUALTRACKER_HPP_
IVisualTracker
Defines the interface implemented by visual trackers.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:35
uint
unsigned int uint
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:25
IVisualTracker::isInitialized
virtual bool isInitialized()=0
Report whether tracker initialization completed.
IVisualTracker::getVisualTrackerType
virtual const VISUAL_TRACKER_TYPES getVisualTrackerType()=0
Return the configured visual tracker type.
VISUAL_TRACKER_TYPES
VISUAL_TRACKER_TYPES
Visual tracker implementations that can be selected by configuration.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:27
DUMMY_VOT
@ DUMMY_VOT
Selects the dummy visual tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:29
IVisualTracker::localize
virtual void localize(const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta, const std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects)=0
Localize tracked targets and evaluate nearby detections across an input batch.
NvMOTStreamId
uint64_t NvMOTStreamId
Definition: includes/nvdstracker.h:53
NvDCF_VOT
@ NvDCF_VOT
Selects the NvDCF visual tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:30
IVisualTracker::~IVisualTracker
virtual ~IVisualTracker()
Destroy the visual tracker interface.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:39
IVisualTracker::initialize
virtual void initialize(const SourceFrameInfo &frameInfo, const uint maxTargetsToTrack, const uint maxTargetsPerStream, const std::shared_ptr< NvTrackedObjectManager > &targetManager)=0
Initialize variables and allocate memories.
IVisualTracker::queryParams
virtual void queryParams(NvMOTQuery &paramsQuery)=0
Populate the visual tracker's capability query.
_NvMOTQuery
Holds the capabilities and requirements reported by the tracker library.
Definition: includes/nvdstracker.h:420
IVisualTracker::update
virtual void update(const std::map< NvMOTStreamId, NvMOTFrame * > inputMeta)=0
Update each target's visual model from an input batch.
NvDCF_VPI_VOT
@ NvDCF_VPI_VOT
Selects the VPI-based NvDCF visual tracker.
Definition: sources/libs/nvmultiobjecttracker/include/modules/VisualTracker/IVisualTracker.hpp:31
SourceFrameInfo
Information about the input source frames for the input frame batch.
Definition: sources/libs/nvmultiobjecttracker/include/modules/NvMultiObjectTracker/NvMultiObjectTracker_common.hpp:49
IVisualTracker::updateParams
virtual void updateParams(const YAML::Node &fn)=0
Update runtime-configurable visual tracker parameters.