franktpmvu / NeighborTrack

[CVPR 2023 workshop] NeighborTrack: Single Object Tracking by Bipartite Matching With Neighbor Tracklets and Its Applications to Sports
47 stars 1 forks source link

Test results on the data set in the paper #5

Closed Jasper0420 closed 3 months ago

Jasper0420 commented 1 year ago

Firstly thank you for your excellent work! In reading your paper I noticed that your OSTrack384 results on the dataset all are higher than the results in the original OSTrack paper, did you perform any processing? For example, on the dataset UAV123, OSTrack384 has an accuracy of 70.7 in the original paper, and I see that the accuracy in this paper is 72.17, so what has caused the increase in accuracy? image image Good luck!

franktpmvu commented 1 year ago

In some time, OSTrack github version can get more accuracy then their paper, unfortunately i also didn't know why, i'm not add any code or augmentation in OStrack, just use their initial settings to get the result.

you can try this code below.

----UAV----

python tracking/test.py ostrack vitb_384_mae_ce_32x4_ep300 --dataset uav --threads 16 --num_gpus 8

-----with neighbortrack-----------

python tracking/test.py ostrack vitb_384_mae_ce_32x4_ep300_neighbor --dataset uav --threads 16 --num_gpus 8 --neighbor 1

the same issue you can see in OStrack github: https://github.com/botaoye/OSTrack/issues/44

Jasper0420 commented 1 year ago

Thank you for the answer! Good luck!

Jasper0420 commented 1 year ago

I am experiencing the following problem while testing the UAV123 dataset.I chose ntracker.rev_frames = 27, but when I comment him out it works again!

Traceback (most recent call last):
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/running.py", line 137, in run_sequence
    output = tracker.run_sequence(seq, debug=debug)
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/tracker.py", line 423, in run_sequence
    output = self._track_sequence(tracker,invtracker, seq, init_info)
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/tracker.py", line 388, in _track_sequence
    state = ntracker._neighbor_track(image)
  File "/gemini/code/NeighborTrack/neighbortrack.py", line 464, in _neighbor_track
    b_overlap = poly_iou_list(state['old_target_pos'][::1+self.time_dilate][ignore_frames:],state['old_target_sz'][::1+self.time_dilate][ignore_frames:],rev_target_pos[::1+self.time_dilate][ignore_frames:],rev_target_sz[::1+self.time_dilate][ignore_frames:])
  File "/gemini/code/NeighborTrack/./NTutils/utils.py", line 927, in poly_iou_list
    location2 = copy.deepcopy([float(polys2pos[ind][0]), float(polys2pos[ind][1]), float(polys2sz[ind][0]), float(polys2sz[ind][1])])
IndexError: list index out of range
error in: None error code: list index out of range

image image How should I change this? It seems that only the last 9 elements in this list have values that cause this. Good luck!

franktpmvu commented 1 year ago

hi, did you can try to change "ntracker.rev_frames" and "ntracker.check_probe_rev_frames" both from tracker.py like below? ntracker.rev_frames=27 #9 = reverse step tau ntracker.check_probe_rev_frames=27 # check main tracker's cycle consistency with x frame step

if still dosn't work please let me know.

Jasper0420 commented 1 year ago

Yes, you're right! This way I have tried. But there might be some problems in your source code, because it wrotentracker.test_probe_rev_frames=27 https://github.com/franktpmvu/NeighborTrack/blob/d2bc294ca6b89b7cce8a26ff4e059f49b12ef140/trackers/ostrack/lib/test/evaluation/tracker.py#L365 Unfortunately, a new problem has now arisen

Traceback (most recent call last):
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/running.py", line 137, in run_sequence
    output = tracker.run_sequence(seq, debug=debug)
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/tracker.py", line 423, in run_sequence
    output = self._track_sequence(tracker,invtracker, seq, init_info)
  File "/gemini/code/NeighborTrack/trackers/ostrack/tracking/../lib/test/evaluation/tracker.py", line 388, in _track_sequence
    state = ntracker._neighbor_track(image)
  File "/gemini/code/NeighborTrack/neighbortrack.py", line 596, in _neighbor_track
    costmatrix[0,]=all_rev_iou
ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 1.
error in: None error code: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 1.

image

This error occurs because the array elements set will exceed the maximum dimension limit of the array, which is 1.The costmatrix array cannot hold such a sequence. It may be defined as a one-dimensional array, and you are trying to assign a multi-dimensional sequence to it. Good luck!

franktpmvu commented 1 year ago

ok, let me check your tracker.py and neighbortrack.py is like these images?

image image

my output of cost matrix, each element is not an array, just a value image

maybe you can add code let each element become only a value? e.g.

all_rev_iou = np.array(all_rev_iou) 

before L596 https://github.com/franktpmvu/NeighborTrack/blob/d2bc294ca6b89b7cce8a26ff4e059f49b12ef140/neighbortrack.py#L596C23-L596C23

Jasper0420 commented 1 year ago

Oh! That's so embarrassing! It actually worked perfectly on the other machine~ That's weird, hahaha! Thanks again for your careful answers and outstanding contributions~ I may trouble you again if I have questions later and look forward to your reply! Have a great life and good luck with your studies!

Jasper0420 commented 1 year ago

I would like to ask you the following questions : Q1 : Is your environment for testing ostrack384 exactly the same as the install.sh posted by OStrack. My UAV result in pytorch 1.9 environment is only 70.9. if not, what environment are you using? Q2: NeighborTrack seems to affect the speed of the model? I tested the UAV dataset on 3090 at only 10FPS

franktpmvu commented 1 year ago

Hi. About Q1 i think it's have some different, i update my pip requirements and nvidia driver, cuda version, please see This file.

My driver version: NVIDIA-SMI 465.19.01 Driver Version: 465.19.01 Python 3.7.7 (default, Mar 23 2020, 22:36:06) torch.version.cuda=10.1

Regarding Q2, yes, NeighborTrack will affect the speed. My new paper on CVPRW has a table about inference time and tau as shown below.

image

Jasper0420 commented 1 year ago

Thank you for your answer! Your answer has helped me a lot! Good luck!