说明:本文是根据代码对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;
Bytetrack算法主要包括五个步骤:首先,高分框与激活的tracked_stracks和lost_stracks进行匹配,匹配度基于1-iou*score计算。其次,中间得分的框只与tracked_stracks中未激活的轨迹匹配。接着,未匹配的框与新轨迹匹配。然后,高分且未匹配的检测框创建新轨迹。最后,未匹配的旧轨迹标记为lost。
956

被折叠的 条评论
为什么被折叠?



