in siammot/engine/inferencer.py [0:0]
def _postprocess_tracks(self, tracks: DataSample):
"""
post_process the tracks to filter out short and non-confident tracks
:param tracks: un-filtered tracks
:return: filtered tracks that would be used for evaluation
"""
track_ids = set()
for _entity in tracks.entities:
if _entity.id not in track_ids and _entity.id >= 0:
track_ids.add(_entity.id)
filter_tracks = tracks.get_copy_without_entities()
for _id in track_ids:
_id_entities = tracks.get_entities_with_id(_id)
_track_conf = np.mean([_e.confidence for _e in _id_entities])
if len(_id_entities) >= self._track_len \
and _track_conf >= self._track_conf:
for _entity in _id_entities:
filter_tracks.add_entity(_entity)
return filter_tracks