sportslabkit.motion_model#
Subpackages#
Overview#
Abstract base class for motion models. |
|
Exponential Moving Average (EMA) motion model for object tracking. |
|
Abstract base class for motion models. |
|
- |
Classes#
- class sportslabkit.motion_model.BaseMotionModel(is_multi_target=False)[source]#
Bases:
abc.ABCAbstract base class for motion models.
This class defines a common interface for all motion models. Derived classes should implement the update, and predict methods. MotionModels are procedural and stateless. The state of tracklet is managed by the Tracklet class. The tracklet must have the required observations and states for the motion model to work. If the tracklet doesn’t have the required observations or states, the motion model will raise an error and tell the user which observations or states are missing.
Overview
Attributes# -
-
-
Methods# predict(observations, states)abc Compute the next internal state and prediction based on the current observation and internal state.
from_config(config)class Initialize a motion model instance from a configuration dictionary.
Members
- hparam_search_space :dict[str, type]#
- required_observation_types :list[str]#
- required_state_types :list[str]#
- abstract predict(observations: float | np.ndarray, states: float | np.ndarray | None) tuple[float | np.ndarray | None, float | np.ndarray]#
Compute the next internal state and prediction based on the current observation and internal state.
- classmethod from_config(config: dict) BaseMotionModel#
Initialize a motion model instance from a configuration dictionary.
- Parameters:
config (Dict) – The configuration dictionary containing the motion model’s parameters.
- Returns:
A new instance of the motion model initialized with the given configuration.
- Return type:
MotionModel
- class sportslabkit.motion_model.ExponentialMovingAverage(gamma: float = 0.5)#
Bases:
sportslabkit.motion_model.base.BaseMotionModelExponential Moving Average (EMA) motion model for object tracking.
This class implements an EMA-based motion model for object tracking. It can be used both in a stateful and a procedural manner.
Overview
Attributes# -
-
-
Methods# predict(observations, states)Compute the next internal state and prediction based on the current observation and internal state.
Members
- hparam_search_space :dict[str, dict[str, object]]#
- required_observation_types = ['box']#
- required_state_types = ['EMA_t']#
- class sportslabkit.motion_model.KalmanFilter(dt: float = 1 / 30, process_noise: float = 0.001, measurement_noise: float = 0.001, confidence_scaler: float = 1.0)#
Bases:
sportslabkit.motion_model.base.BaseMotionModelAbstract base class for motion models.
This class defines a common interface for all motion models. Derived classes should implement the update, and predict methods. MotionModels are procedural and stateless. The state of tracklet is managed by the Tracklet class. The tracklet must have the required observations and states for the motion model to work. If the tracklet doesn’t have the required observations or states, the motion model will raise an error and tell the user which observations or states are missing.
Overview
Attributes# -
-
-
Methods# -
predict(observations, states)Compute the next internal state and prediction based on the current observation and internal state.
Members
- hparam_search_space :dict[str, dict[str, Any]]#
- required_observation_types :list[str] = ['box', 'score']#
- required_state_types :list[str] = ['x', 'P', 'F', 'H', 'R', 'Q']#
- get_initial_kalman_filter_states(box: numpy.ndarray) dict[str, numpy.ndarray]#