有一个巨坑的地方就是,ByteTrack官方是只检测人的,具有针对性的进行了处理。
for t in online_targets:
tlwh = t.tlwh
tid = t.track_id
#vertical = tlwh[2] / tlwh[3] > args.aspect_ratio_thresh
#if tlwh[2] * tlwh[3] > args.min_box_area and not vertical:
online_tlwhs.append(tlwh)
online_ids.append(tid)
online_scores.append(t.score)
results.append(
f"{frame_id},{tid},{tlwh[0]:.2f},{tlwh[1]:.2f},{tlwh[2]:.2f},{tlwh[3]:.2f},{t.score:.2f},-1,-1,-1\n")
需要将上述注释部分的代码删掉,一般人的bbox都是偏窄高,所以代码中针对bbox进行了约束,如果我们用的是多个类别追踪,需要将上述代码删除,不然效果很差。本人就是没仔细看代码,郁闷了一天,效果真的差劲。。。。