sportslabkit.motion_model.models.kf#

Overview#

Classes#

KalmanFilter

Abstract base class for motion models.

Classes#

class sportslabkit.motion_model.models.kf.KalmanFilter(dt: float = 1 / 30, process_noise: float = 0.001, measurement_noise: float = 0.001, confidence_scaler: float = 1.0)[source]#

Bases: sportslabkit.motion_model.base.BaseMotionModel

Abstract 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

Methods#

get_initial_kalman_filter_states(box)

-

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]][source]#
required_observation_types :list[str] = ['box', 'score'][source]#
required_state_types :list[str] = ['x', 'P', 'F', 'H', 'R', 'Q'][source]#
get_initial_kalman_filter_states(box: numpy.ndarray) dict[str, numpy.ndarray][source]#
predict(observations: dict[str, [float | ndarray]], states: dict[str, float | ndarray] = None) tuple[numpy.ndarray, dict[str, float | ndarray]][source]#

Compute the next internal state and prediction based on the current observation and internal state.

Parameters:
  • observation (Union[float, np.ndarray]) – The current observation.

  • states (Union[float, np.ndarray, None]) – The current internal state of the motion model.

Returns:

The next internal state and the prediction.

Return type:

Tuple[Union[float, np.ndarray, None], Union[float, np.ndarray]]