Safemotion Lib
Loading...
Searching...
No Matches
byte_tracker_runner.py
Go to the documentation of this file.
1from smutils.bbox.result_transforms import outs2results
2from smutils.bbox.transforms import bbox_cxcyah_to_xyxy
3from .base_tracker_runner import BaseTrackerRunner
4
5import numpy as np
6import torch
7
9 def __init__(self, tracker=None, motion=None):
10 super().__init__(tracker=tracker, motion=motion)
11 pass
12
13 def run_tracker(self, det_bboxes, det_labels, frame_id, num_classes=1):
14 track_bboxes, track_labels, track_ids = self.tracker.track(
15 motion=self.motion,
16 bboxes=det_bboxes,
17 labels=det_labels,
18 frame_id=frame_id)
19
20 track_results = outs2results(
21 bboxes=track_bboxes,
22 labels=track_labels,
23 ids=track_ids,
24 num_classes=num_classes)
25 det_results = outs2results(
26 bboxes=det_bboxes, labels=det_labels, num_classes=num_classes)
27
28 return dict(
29 det_bboxes=det_results['bbox_results'],
30 track_bboxes=track_results['bbox_results'])
31
32 def get_tracks(self):
33 track_bboxes = np.zeros((0, 4))
34 for track_id in self.tracker.tracks.keys():
35 track_bboxes = np.concatenate(
36 (track_bboxes, self.tracker.tracks[track_id].mean[:4][None]), axis=0)
37
38 track_bboxes = torch.from_numpy(track_bboxes)
39 track_bboxes = bbox_cxcyah_to_xyxy(track_bboxes)
40
41 return track_bboxes
__init__(self, tracker=None, motion=None)
run_tracker(self, det_bboxes, det_labels, frame_id, num_classes=1)