欢迎使用CSDN-markdown编辑器
来源:互联网 发布:淘宝做分销有成功的吗 编辑:程序博客网 时间:2024/06/04 00:38
Tracking diagrams
General diagram
@startuml{tracking_uml_general.png}
package “Tracker”
package “TrackerFeature”
package “TrackerSampler”
package “TrackerModel”
Tracker -> TrackerModel: create
Tracker -> TrackerSampler: create
Tracker -> TrackerFeature: create
@enduml
Tracker diagram
@startuml{tracking_uml_tracking.png}
package “Tracker package” #DDDDDD {
class Algorithm
class Tracker{
Ptr featureSet;
Ptr sampler;
Ptr model;
—
+static Ptr create(const string& trackerType);
+bool init(const Mat& image, const Rect& boundingBox);
+bool update(const Mat& image, Rect& boundingBox);
}
class Tracker
note right: Tracker is the general interface for each specialized trackers
class TrackerMIL{
+static Ptr createTracker(const TrackerMIL::Params ¶meters);
+virtual ~TrackerMIL();
}
class TrackerBoosting{
+static Ptr createTracker(const TrackerBoosting::Params ¶meters);
+virtual ~TrackerBoosting();
}
Algorithm <|– Tracker : virtual inheritance
Tracker <|– TrackerMIL
Tracker <|– TrackerBoosting
note “Single instance of the Tracker” as N1
TrackerBoosting .. N1
TrackerMIL .. N1
}
@enduml
TrackerFeatureSet diagram
@startuml{tracking_uml_feature.png}
package “TrackerFeature package” #DDDDDD {
class TrackerFeatureSet{
-vector
TrackerModel diagram
@startuml{tracking_uml_model.png}
package “TrackerModel package” #DDDDDD {
class Typedef << (T,#FF7700) >>{
ConfidenceMap
Trajectory
}
class TrackerModel{
-vector confidenceMaps;
-Trajectory trajectory;
-Ptr stateEstimator;
…
TrackerModel();
~TrackerModel();
+bool setTrackerStateEstimator(Ptr<TrackerStateEstimator> trackerStateEstimator);+Ptr<TrackerStateEstimator> getTrackerStateEstimator();+void modelEstimation(const vector<Mat>& responses);+void modelUpdate();+void setLastTargetState(const Ptr<TrackerTargetState> lastTargetState);+void runStateEstimator();+const vector<ConfidenceMap>& getConfidenceMaps();+const ConfidenceMap& getLastConfidenceMap();
}
class TrackerTargetState <>{
Point2f targetPosition;
—
Point2f getTargetPosition();
void setTargetPosition(Point2f position);
}
class TrackerTargetState
note bottom: Each tracker can create own state
class TrackerStateEstimator <>{
~TrackerStateEstimator();
static Ptr create(const String& trackeStateEstimatorType);
Ptr estimate(const vector& confidenceMaps)
void update(vector& confidenceMaps)
}
class TrackerStateEstimatorSVM{
TrackerStateEstimatorSVM()
~TrackerStateEstimatorSVM()
Ptr estimate(const vector& confidenceMaps)
void update(vector& confidenceMaps)
}
class TrackerStateEstimatorMILBoosting{
TrackerStateEstimatorMILBoosting()
~TrackerStateEstimatorMILBoosting()
Ptr estimate(const vector& confidenceMaps)
void update(vector& confidenceMaps)
}
TrackerModel -> TrackerStateEstimator: create
TrackerModel *– TrackerTargetState
TrackerStateEstimator <|– TrackerStateEstimatorMILBoosting
TrackerStateEstimator <|– TrackerStateEstimatorSVM
}
@enduml
TrackerSampler diagram
@startuml{tracking_uml_sampler.png}
package “TrackerSampler package” #DDDDDD {
class TrackerSampler{
-vector
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 1. Two Sum leetcode java
- SQL注入绕过技巧
- PrintWriter和FileWriter这两个类有什么区别
- Java
- Java Web笔记(三)
- 欢迎使用CSDN-markdown编辑器
- 冒泡排序
- html&css-------图像(11/6)
- 解决Qt5中的QSerialPort分多次接收串口数据的问题
- gradleAPI介绍
- kafka 发送消息
- 安装msi文件时出现2503、2502的错误。
- 数据结构-线性表初探
- 电力系统中的定值区是什么意思