nwojke / deep_sort

Simple Online Realtime Tracking with a Deep Association Metric
GNU General Public License v3.0
5.27k stars 1.47k forks source link

Use deep sort to track objects with bounding boxes ready #215

Open ZiyueWangUoB opened 4 years ago

ZiyueWangUoB commented 4 years ago

Hi is it possible to track objects which already have the bounding boxes readily available? As in the bounding boxes are arrays and their location what not are all saved. I know this would mean removing the person reindentification algorithm (which is important) but I want to track objects that have already been detected.

InzamamAnwar commented 4 years ago

You can use generate_detections.py to generate the 138 dimensional vector for each object in each frame. After that you can run tracking algorithm. If you download MOT16 dataset you can see it already has bbox detections which are used by authors to generate cosine similarity.

senemaktas commented 3 years ago

Hi is it possible to track objects which already have the bounding boxes readily available? As in the bounding boxes are arrays and their location what not are all saved. I know this would mean removing the person reindentification algorithm (which is important) but I want to track objects that have already been detected.

I am trying do samething now , did you do that? @ZiyueWangUoB

ZiyueWangUoB commented 3 years ago

Hi is it possible to track objects which already have the bounding boxes readily available? As in the bounding boxes are arrays and their location what not are all saved. I know this would mean removing the person reindentification algorithm (which is important) but I want to track objects that have already been detected.

I am trying do samething now , did you do that? @ZiyueWangUoB

You would need to edit the code so that it reads the detections frame by frame. The way I did it was to iterate through the file of detections and pass them to the tracker systematically.

senemaktas commented 3 years ago

I have exact points for bounding boxes. Therefore, I think that I do not need some conversion operations as much as I see in the detections file. In the object_tracker.py , I am storing my bounding boxes as list for each frame. but I could not solved this part. Should I use/define features ? Thanks.

features = encoder(frame, bboxes)  # encoder intialize deepsort!!!
detections = [Detection(bbox, feature) for bbox,feature in zip(bboxes,features)]

# Call the tracker
tracker.predict()
tracker.update(detections)

# update tracks
for track in tracker.tracks:
    if not track.is_confirmed() or track.time_since_update > 1:
        continue 
    bbox = track.to_tlbr()

İs it able to share changed files? Thanks. @ZiyueWangUoB