ifzhang / ByteTrack

[ECCV 2022] ByteTrack: Multi-Object Tracking by Associating Every Detection Box
MIT License
4.69k stars 890 forks source link

Trouble reproducing public MOT20 results #273

Open Mr-Akbari opened 2 years ago

Mr-Akbari commented 2 years ago

Thanks for sharing your work. I modified your track.py script to run on the detection files from MOT20-train (public detector protocols). Your code ran fine, but the tracking results seem very poor (combined HOTA = 46.97, combined MOTA = 49.49 on train set of MOT20, Evaluate with TrackEval). In general I would like to use your code with a MOT-style det.txt file, but I am concerned that it is not currently working right.

added code :

detections = []
for _,li in enumerate(lines):
      new = [float(x) for x in li.split(",")][:6]             
      new = new + [1] + [1] + [0]
      new[4] = new[2] + new[4]
      new[5] = new[3] + new[5]
      if int(new[0]) == (frame_id):
          detections.append(new[2:])
detections = np.array(detections)
trackerTimer.tic()
online_targets = tracker.update(detections, img_info["raw_img"])
trackerTimer.toc()

I really appreciate it if you answer these questions. Thanks very much.

zyiyid commented 1 year ago

感谢您分享您的作品。 我修改了您的 track.py 脚本以在来自 MOT20-train(公共检测器协议)的检测文件上运行。您的代码运行良好,但跟踪结果似乎很差(组合 HOTA = 46.97,组合 MOTA = 49.49 在 MOT20 训练集上,使用TrackEval评估)。一般来说,我想将您的代码与 MOT 样式的 det.txt 文件一起使用,但我担心它目前无法正常工作。

添加代码:

detections = []
for _,li in enumerate(lines):
      new = [float(x) for x in li.split(",")][:6]             
      new = new + [1] + [1] + [0]
      new[4] = new[2] + new[4]
      new[5] = new[3] + new[5]
      if int(new[0]) == (frame_id):
          detections.append(new[2:])
detections = np.array(detections)
trackerTimer.tic()
online_targets = tracker.update(detections, img_info["raw_img"])
trackerTimer.toc()

如果你能回答这些问题,我真的很感激。非常感谢。

Ask the same question.