Hungarian APS; APS.Solve(Cost, assignment); // ----------------------------------- // clean assignment from pairs with large distance // ----------------------------------- // Not assigned tracks for(int i=0;i<assignment.size();i++) { if(assignment[i] >= 0 && assignment[i] < M) { if(Cost[i][assignment[i]] > dist_thres) { assignment[i]=-1; // Mark unassigned tracks, and increment skipped frames counter, // when skipped frames counter will be larger than threshold, track will be deleted. tracks[i]->skipped_frames++; } } else { // If track have no assigned detect, then increment skipped frames counter. tracks[i]->skipped_frames++; } }
时间: 2023-06-17 15:04:00 浏览: 147
The Hungarian Method for The Assignment Problem
3星 · 编辑精心推荐
这段代码是一个匈牙利算法的实现,用于解决二分图最大权匹配问题。输入是一个二分图的权值矩阵 Cost,输出是一个指派矩阵 assignment,其中 assignment[i] 表示第 i 个左部节点匹配的右部节点的编号,如果为 -1 表示未匹配。
接下来的代码是在清理指派矩阵中距离过大的匹配对,以及标记未被匹配的左部节点。对于已经被匹配的左部节点,如果它们与右部节点的距离大于阈值 dist_thres,则将它们的指派置为 -1,表示它们未被匹配。对于未被匹配的左部节点,将它们的 skipped_frames 计数器加 1。
这段代码的作用是在多目标跟踪中,对于长时间未被匹配的目标进行删除,以保持跟踪的准确性和效率。
阅读全文