说明:本文是根据代码对bytetrack算法的大致过程做记录
Step1
- 高分框与以下两种类型的轨迹做匹配:1)activated的self.tracked_stracks; 2) self.lost_stracks
self.tracked_stracks包含两种:state为Tracked的老轨迹和新轨迹
- 匹配的cost采用1-iou*score
Step2
- 介于低分阈值和高分阈值中间得分的检测框与步骤1中未被匹配上的且state为Tracked,即self.lost_stracks中的轨迹不参与
- 匹配的cost采用1-iou;
Step3
- 步骤1中未匹配的框与self.tracked_stracks中未被activated的轨迹(即新轨迹)做匹配;
- 匹配cost=1-iou*score;
Step4
- step3中未匹配的检测框且score>tresh的框建立新轨迹
Step5
- Step2中未匹配的轨迹,标记为lost;