ObjectTracker.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
6 
7 // standard
8 #include <fstream>
9 
10 // shared
12 
13 namespace dai {
14 namespace node {
15 
19 class ObjectTracker : public NodeCRTP<Node, ObjectTracker, ObjectTrackerProperties> {
20  public:
21  constexpr static const char* NAME = "ObjectTracker";
22 
23  ObjectTracker(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
24  ObjectTracker(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);
25 
30  Input inputTrackerFrame{*this, "inputTrackerFrame", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}};
31 
36  Input inputDetectionFrame{*this, "inputDetectionFrame", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgFrame, false}}};
37 
42  Input inputDetections{*this, "inputDetections", Input::Type::SReceiver, false, 4, true, {{DatatypeEnum::ImgDetections, true}}};
43 
47  Output out{*this, "out", Output::Type::MSender, {{DatatypeEnum::Tracklets, false}}};
48 
53  Output passthroughTrackerFrame{*this, "passthroughTrackerFrame", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
54 
59  Output passthroughDetectionFrame{*this, "passthroughDetectionFrame", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
60 
65  Output passthroughDetections{*this, "passthroughDetections", Output::Type::MSender, {{DatatypeEnum::ImgDetections, true}}};
66 
71  void setTrackerThreshold(float threshold);
72 
77  void setMaxObjectsToTrack(std::int32_t maxObjectsToTrack);
78 
83  void setDetectionLabelsToTrack(std::vector<std::uint32_t> labels);
84 
90 
96 
100  void setTrackingPerClass(bool trackingPerClass);
101 };
102 
103 } // namespace node
104 } // namespace dai
dai::node::ObjectTracker::setTrackerIdAssignmentPolicy
void setTrackerIdAssignmentPolicy(TrackerIdAssignmentPolicy type)
Definition: ObjectTracker.cpp:32
dai::TrackerType
TrackerType
Definition: ObjectTrackerProperties.hpp:12
ObjectTrackerProperties.hpp
dai::node::ObjectTracker::setTrackingPerClass
void setTrackingPerClass(bool trackingPerClass)
Definition: ObjectTracker.cpp:35
dai::node::ObjectTracker::ObjectTracker
ObjectTracker(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: ObjectTracker.cpp:8
dai::node::ObjectTracker::inputDetections
Input inputDetections
Definition: ObjectTracker.hpp:42
dai::TrackerIdAssignmentPolicy
TrackerIdAssignmentPolicy
Definition: ObjectTrackerProperties.hpp:23
dai::Node::Output
Definition: Node.hpp:67
dai::NodeCRTP
Definition: Node.hpp:342
dai::node::ObjectTracker::passthroughDetectionFrame
Output passthroughDetectionFrame
Definition: ObjectTracker.hpp:59
dai::node::ObjectTracker::out
Output out
Definition: ObjectTracker.hpp:47
dai::node::ObjectTracker::NAME
constexpr static const char * NAME
Definition: ObjectTracker.hpp:21
Tracklets.hpp
dai::node::ObjectTracker
ObjectTracker node. Performs object tracking using Kalman filter and hungarian algorithm.
Definition: ObjectTracker.hpp:19
nanorpc::core::detail::pack::meta::type
type
Definition: pack_meta.h:26
dai::node::ObjectTracker::passthroughDetections
Output passthroughDetections
Definition: ObjectTracker.hpp:65
dai::DatatypeEnum::Tracklets
@ Tracklets
dai::DatatypeEnum::ImgDetections
@ ImgDetections
dai::node::ObjectTracker::setTrackerThreshold
void setTrackerThreshold(float threshold)
Definition: ObjectTracker.cpp:16
dai::node::ObjectTracker::setTrackerType
void setTrackerType(TrackerType type)
Definition: ObjectTracker.cpp:28
dai::node::ObjectTracker::setMaxObjectsToTrack
void setMaxObjectsToTrack(std::int32_t maxObjectsToTrack)
Definition: ObjectTracker.cpp:20
dai::DatatypeEnum::ImgFrame
@ ImgFrame
dai
Definition: CameraExposureOffset.hpp:6
Node.hpp
dai::node::ObjectTracker::passthroughTrackerFrame
Output passthroughTrackerFrame
Definition: ObjectTracker.hpp:53
dai::node::ObjectTracker::inputTrackerFrame
Input inputTrackerFrame
Definition: ObjectTracker.hpp:30
dai::node::ObjectTracker::setDetectionLabelsToTrack
void setDetectionLabelsToTrack(std::vector< std::uint32_t > labels)
Definition: ObjectTracker.cpp:24
dai::node::ObjectTracker::inputDetectionFrame
Input inputDetectionFrame
Definition: ObjectTracker.hpp:36


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19