Spaces:
Build error
Build error
from ._base_metric import _BaseMetric | |
from .. import _timing | |
class Count(_BaseMetric): | |
"""Class which simply counts the number of tracker and gt detections and ids.""" | |
def __init__(self, config=None): | |
super().__init__() | |
self.integer_fields = ['Dets', 'GT_Dets', 'IDs', 'GT_IDs'] | |
self.fields = self.integer_fields | |
self.summary_fields = self.fields | |
def eval_sequence(self, data): | |
"""Returns counts for one sequence""" | |
# Get results | |
res = {'Dets': data['num_tracker_dets'], | |
'GT_Dets': data['num_gt_dets'], | |
'IDs': data['num_tracker_ids'], | |
'GT_IDs': data['num_gt_ids'], | |
'Frames': data['num_timesteps']} | |
return res | |
def combine_sequences(self, all_res): | |
"""Combines metrics across all sequences""" | |
res = {} | |
for field in self.integer_fields: | |
res[field] = self._combine_sum(all_res, field) | |
return res | |
def combine_classes_class_averaged(self, all_res, ignore_empty_classes=None): | |
"""Combines metrics across all classes by averaging over the class values""" | |
res = {} | |
for field in self.integer_fields: | |
res[field] = self._combine_sum(all_res, field) | |
return res | |
def combine_classes_det_averaged(self, all_res): | |
"""Combines metrics across all classes by averaging over the detection values""" | |
res = {} | |
for field in self.integer_fields: | |
res[field] = self._combine_sum(all_res, field) | |
return res | |