How to update a tracker without any detection

5 ビュー (過去 30 日間)
Pujie Xin
Pujie Xin 2021 年 2 月 22 日
回答済み: Elad Kivelevitch 2022 年 9 月 20 日
I am using trackerTOMHT to track multi targets. Sometimes there are detections and sometime there is no detection. The code on matlab looks like this:
tracker = trackerTOMHT('FilterInitializationFcn',@initcvkf, ...
'ConfirmationThreshold',20, ...
'DeletionThreshold',-7, ...
detections = {objectDetection(1,[10;0],'SensorIndex',1, ...
'ObjectClassID',5,'ObjectAttributes',{struct('ID',1)}); ...
objectDetection(1,[0;10],'SensorIndex',1, ...
time = 2;
[confirmed_tracks,~,~,~] = tracker(detections,time);
However, when there is no detections, how can I update the get tracker and get the confirmed_tracks? For example, at time=3, there is no detections, how can I get the confirmed_tracks at that time?
Thank you.

回答 (1 件)

Elad Kivelevitch
Elad Kivelevitch 2022 年 9 月 20 日
Thanks for the question.
A nonempty cell array of detections is only needed in the first call to the tracker in order to allow the tracker to validate inputs and set itself up.
After that, you can pass an empty cell array to the tracker in following steps. You can see the following pattern in many of our examples:
if isLocked(tracker) || ~isempty(detections)
[confirmedTracks,tentativeTracks,allTracks,info] = tracker(detections,time);
This will allow you to pass an empty cell array of detections after the tracker has been set up and locked.
Thank you.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by