MATLAB多传感器融合--核心步骤
MATLAB的多传感器融合的核心步骤在stepImpl函数中实现,该函数的输入的跟踪目标和测量的目标的信息,输出为证实的真目标信息和处于试探的跟踪目标信息。
[confirmedTracks, tentativeTracks, allTracks] = stepImpl(tracker, detections, varargin)
该函数涉及到的核心步骤如下所示
(1)通过代价矩阵计算出测量的目标那些能够与跟踪目标关联即Assignments 目标,哪些是属于没有匹配成功的跟踪目标UnassignedTracks,哪些是没有匹配成功的测量目标UnassignedDetections。
[Assignments, UnassignedTracks, UnassignedDetections] =...
tracker.associateDetectionsToTracksByUserCost(varargin{end});
(2) 将未匹配成功的测量目标UnassignedDetections初始化成新的跟踪目标
% Initiate tracks based on unassigned detections
initiateTracks(tracker, UnassignedDetections);
(3) 将匹配成功的目标Assignments的数据在跟踪目标中进行更新
% Update tracks based on assigned detections.
updateAssignedTracks(tracker, Assignments);
(4) 将未匹配成功的跟踪目标UnassignedTracks根据时间决定是否删除
% Delete tracks that are not assigned
deleteOldTracks(tracker, UnassignedTracks, time);
(5)预测所有跟踪目标的状态
% Predict all the tracks to the end of the time step.
predictTracks(tracker, time);