-
Notifications
You must be signed in to change notification settings - Fork 1
Tracking
Moscowsky Anton edited this page Nov 23, 2021
·
8 revisions
Tracking in this package is an add-on over OpenCV tracking API. The main difference lies in the fact that OpenCV tracking is included in the work only when the main object detector has not coped with the task. The rest of the time, the tracking task is concerned with the ratio of objects in subsequent frames.
This part of the package only works with the version OpenCV 4!
- The object detector returns a new set of recognized object instances. If this object is recognized for the first time, then all instances form new tracks.
- If there are already tracks in the system, then the matcher, based on the criterion of maximum intersection over union, matches the object instances to the tracks. Such tracks receive the DETECTED status.
- For those instances of objects that have not received a pair of tracks, they form new tracks, also receiving the DETECTED status.
- For those tracks that have not received a pair among the objects, tracking is initiated by OpenCV, which tries to detect the object by the latest data about it. The track gets TRACKED status. Moreover, each step of work in this mode decreases the confidence coefficient according to the formula
score [t + 1] = score [t] (1 - decay)
. If this coefficient reaches the Probability threshold of the object, then the track receives the LOST status and is deleted at the next iteration. - Further, for tracks in the TRACKED status, attributes with the Check type and Extract type are applied.
As mentioned, a track can have three statuses DETECTED, TRACKCED and LOST.
- DETECTED means that this object is recognized directly by its detector.
- TRACKED means that this object was recognized using OpenCV tracking.
- LOST Indicates that both the object detector and OpenCV tracking could not find the object. The object visualisates or published with this status contains information on the latest data. Tis stauses are inclided to ROS messages of package.
- The tracking method is described inside the tag. Below is a table of tracking methods.
- IOU (double, default: 0.5) Intersection over union. Object and track can only be matched to each other if they have IOUs greater than this threshold.
- decay (double, default: 0.1) Decay rate, i.e. how quickly the confidence factor will decrease if OpenCV tracking is working. A decay of 0 means that tracking will continue until the object is lost. A decay equal to 1 means that the track will be deleted immediately after the detector fails. However, the same effect can be achieved by specifying None in the tracking method.
<Tracker IOU="0.5" decay="0.1">KCF</Tracker>
Трекер должен быть объявлен в описании объекта
<SimpleObject Name="PersonCNNtracked" ID="1">
<Tracker IOU="0.5" decay="0.1">KCF</Tracker>
<Attribute Type="Detect">Person</Attribute>
</SimpleObject>
Metod | Comment |
---|---|
None | OpenCV tracking disabled, only IOU matcher works |
KCF | |
BOOSTING | |
MIL | |
TLD | |
MEDIANFLOW | |
GOTURN | Additional steps are required to use TODO |
MOSSE | |
CSRT |
- Home
- ROS-interface
- Interacting with a package through a configuration file
- Common structure of the configuration file
-
Simple objects
- Clusterization
- Filtering
- Tracking
- Attributes
- HSVcolor
- HistColor
- HaarCascade
- Size
- Hough
- Dimension
- BasicMotion
- Aruco
- Feature
- Pose
- DNN
- QR
- QR_Zbar
- LogicAnd
- LogicNot
- LogicOr
- Blob
- Depth
- RoughDist
- Dist
- FaceDlib
- ExractedInfoId
- ExractedInfoString
- UnitTranslation
- SquareObjectDistance
- TorchYOLOv7Attribute
- TorchYOLOv7KeypointAttribute
- ROSSubcriberOpenPoseRaw
- DummyHumanPose
- Complex objects
- Install Guides
- Usage Guides
- Troubleshooting
- Developing