sportslabkit.mot#
Overview#
Helper class that provides a standard way to create an ABC using |
|
BYTE tracker from https://arxiv.org/pdf/2110.06864.pdf |
|
DeepSORT tracker from https://arxiv.org/abs/1703.07402 |
|
SORT tracker from https://arxiv.org/pdf/1602.00763.pdf |
|
TeamTrack |
Classes#
- class sportslabkit.mot.MultiObjectTracker(window_size=1, step_size=None, max_staleness=5, min_length=5, callbacks=None)[source]#
Bases:
abc.ABCHelper class that provides a standard way to create an ABC using inheritance.
Overview
Methods# update_tracklet(tracklet, states)-
update(current_frame, trackelts)abc -
process_sequence_item(sequence)-
track(sequence)-
track_sequence(sequence)-
cleanup_tracklets(tracklets)-
increment_staleness(tracklets)-
reset_staleness(tracklets)-
-
-
reset()-
check_updated_state(state)-
create_tracklet(state)-
to_bbdf()Create a bounding box dataframe.
separate_stale_tracklets(unassigned_tracklets)-
-
get_new_hyperparameters(hparams, trial)-
apply_hyperparameters(params)-
tune_hparams(frames_list, bbdf_gt_list, n_trials, hparam_search_space, verbose, return_study, use_bbdf, reuse_detections, sampler, pruner)-
Members
- update_tracklet(tracklet: sportslabkit.Tracklet, states: dict[str, Any])#
- abstract update(current_frame: Any, trackelts: list[sportslabkit.Tracklet]) tuple[list[sportslabkit.Tracklet], list[dict[str, Any]]]#
- process_sequence_item(sequence: Any)#
- track(sequence: Iterable[Any] | np.ndarray) sportslabkit.Tracklet#
- track_sequence(sequence)#
- cleanup_tracklets(tracklets)#
- increment_staleness(tracklets)#
- reset_staleness(tracklets)#
- pre_track()#
- post_track()#
- reset()#
- to_bbdf()#
Create a bounding box dataframe.
- separate_stale_tracklets(unassigned_tracklets)#
- create_hparam_dict()#
- get_new_hyperparameters(hparams, trial)#
- apply_hyperparameters(params)#
- tune_hparams(frames_list, bbdf_gt_list, n_trials=100, hparam_search_space=None, verbose=False, return_study=False, use_bbdf=False, reuse_detections=False, sampler=None, pruner=None)#
- class sportslabkit.mot.BYTETracker(detection_model=None, image_model=None, motion_model=None, first_matching_fn: sportslabkit.matching.MotionVisualMatchingFunction = MotionVisualMatchingFunction(motion_metric=IoUCMM(use_pred_box=True), motion_metric_gate=0.2, visual_metric=CosineCMM(), visual_metric_gate=0.2, beta=0.5), second_matching_fn=SimpleMatchingFunction(metric=IoUCMM(use_pred_box=True), gate=0.9), detection_score_threshold=0.6, window_size: int = 1, step_size: int | None = None, max_staleness: int = 5, min_length: int = 5, callbacks=None)[source]#
Bases:
sportslabkit.mot.base.MultiObjectTrackerBYTE tracker from https://arxiv.org/pdf/2110.06864.pdf
Overview
Members
- update(current_frame, tracklets)#
- class sportslabkit.mot.DeepSORTTracker(detection_model=None, image_model=None, motion_model=None, matching_fn: sportslabkit.matching.MotionVisualMatchingFunction = MotionVisualMatchingFunction(motion_metric=IoUCMM(), motion_metric_gate=0.2, visual_metric=CosineCMM(), visual_metric_gate=0.2, beta=0.5), window_size: int = 1, step_size: int | None = None, max_staleness: int = 5, min_length: int = 5, callbacks=None)[source]#
Bases:
sportslabkit.mot.base.MultiObjectTrackerDeepSORT tracker from https://arxiv.org/abs/1703.07402
Overview
Attributes# -
Members
- hparam_search_space#
- update(current_frame, tracklets)#
- class sportslabkit.mot.SORTTracker(detection_model, motion_model, matching_fn: sportslabkit.matching.SimpleMatchingFunction = SimpleMatchingFunction(metric=IoUCMM(use_pred_box=True), gate=1.0), window_size: int = 1, step_size: int | None = None, max_staleness: int = 5, min_length: int = 5, callbacks=None)[source]#
Bases:
sportslabkit.mot.base.MultiObjectTrackerSORT tracker from https://arxiv.org/pdf/1602.00763.pdf
Overview
Attributes# -
Members
- hparam_search_space#
- update(current_frame, tracklets)#
- class sportslabkit.mot.TeamTracker(detection_model=None, image_model=None, motion_model=None, calibration_model=None, first_matching_fn: sportslabkit.matching.MotionVisualMatchingFunction = MotionVisualMatchingFunction(motion_metric=IoUCMM(use_pred_box=True), motion_metric_gate=0.2, visual_metric=CosineCMM(), visual_metric_gate=0.2, beta=0.5), second_matching_fn=SimpleMatchingFunction(metric=IoUCMM(use_pred_box=True), gate=0.9), detection_score_threshold=0.6, window_size: int = 1, step_size: int | None = None, max_staleness: int = 5, min_length: int = 5, callbacks=None)[source]#
Bases:
sportslabkit.mot.base.MultiObjectTrackerTeamTrack
Overview
Methods# predict_single_tracklet_motion(tracklet)-
predict_multi_tracklet_motion(tracklets)-
tracklet_to_points(tracklet, H)-
detection_to_points(detection, H)-
update(current_frame, tracklets)-
Members
- predict_single_tracklet_motion(tracklet)#
- predict_multi_tracklet_motion(tracklets)#
- tracklet_to_points(tracklet, H)#
- detection_to_points(detection, H)#
- update(current_frame, tracklets)#