How to update a tracker without any detections?

1 次查看(过去 30 天)
Hi,
I am using trackerTOMHT to track targets following the time sequence. Sometimes, the tracker will receive the detections and sometimes will not. I need to get the confirmed tracks at each time stamp. The following is an example of how to initialize and update a tracker with detections.
tracker = trackerTOMHT('FilterInitializationFcn',@initcvkf, ...
'ConfirmationThreshold',20, ...
'DeletionThreshold',-7, ...
'MaxNumHypotheses',10);
detections = {objectDetection(1,[10;0],'SensorIndex',1, ...
'ObjectClassID',5,'ObjectAttributes',{struct('ID',1)}); ...
objectDetection(1,[0;10],'SensorIndex',1, ...
'ObjectClassID',2,'ObjectAttributes',{struct('ID',2)})};
time = 2;
[confirmed_tracks,~,~,~] = tracker(detections,time);
The problem is that, I didn't find a way to update the tracker without any detection. So I can't get the confirmed tracks of the tracker when there is no detection. For example, at time = 3, there is no detection. How can I get the value of the confirmed_tracks?

回答(1 个)

Vidip
Vidip 2024-5-7
I understand that you want to manage the use of detections with a tracker, especially when dealing with varying inputs over time. Initially, providing a nonempty cell array of detections to the tracker is essential for its setup and input validation. This step is crucial for the tracker to properly initialize and prepare for subsequent tracking operations.
Once the tracker has been initialized and is in a "locked" state, it's possible to pass an empty cell array of detections in subsequent calls. This approach is particularly useful when detections are sparse or when there are frames without any detectable objects. The pattern for handling this can be seen in below examples link-

Community Treasure Hunt

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

Start Hunting!

Translated by