Skip to content
Snippets Groups Projects
Commit 29b2ab36 authored by Shivam Khandelwal's avatar Shivam Khandelwal
Browse files

Online calculation of track length

parent 5a0cdc4b
No related branches found
No related tags found
No related merge requests found
......@@ -48,28 +48,27 @@ class SiamMOTPredictor(AirbornePredictor):
def flight_started(self):
self.track_id_results = {}
self.visited_frame = {}
self.track_len_so_far = {}
def proxy_register_object_and_location(self, class_name, track_id, bbox, confidence, img_name):
if track_id not in self.track_id_results:
self.track_id_results[track_id] = []
# MIN_TRACK_LEN check
if track_id not in self.track_len_so_far:
self.track_len_so_far[track_id] = 0
self.track_len_so_far[track_id] += 1
if self.track_len_so_far[track_id] <= MIN_TRACK_LEN:
return
# MIN_SCORE check
if confidence < MIN_SCORE:
return
if img_name not in self.visited_frame:
self.visited_frame[img_name] = []
if track_id in self.visited_frame[img_name]:
raise Exception('two entities within the same frame {} have the same track id'.format(img_name))
self.track_id_results[track_id].append([class_name, track_id, bbox, confidence, img_name])
self.visited_frame[img_name].append(track_id)
def flight_completed(self):
for track_id in self.track_id_results.keys():
track_len = len(self.track_id_results[track_id])
if track_len < MIN_TRACK_LEN:
continue
for entity in self.track_id_results[track_id][MIN_TRACK_LEN:]:
if entity[3] < MIN_SCORE:
continue
self.register_object_and_location(*entity)
self.register_object_and_location(class_name, track_id, bbox, confidence, img_name)
"""
PARTICIPANT_TODO:
......@@ -103,7 +102,6 @@ class SiamMOTPredictor(AirbornePredictor):
self.proxy_register_object_and_location(class_name, int(track_id),
bbox, float(confidence),
frame_image)
self.flight_completed()
if __name__ == "__main__":
submission = SiamMOTPredictor()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment