class_docstr: A simple Kalman filter for tracking bounding boxes in image space.
  
  The 8-dimensional state space
  
      x, y, a, h, vx, vy, va, vh
  
  contains the bounding box center position (x, y), aspect ratio a, height h,
  and their respective velocities.
  
  Object motion follows a constant velocity model. The bounding box location
  (x, y, a, h) is taken as direct observation of the state space (linear
  observation model).
class_docstr_tok: ["A","simple","Kalman","filter","for","tracking","bounding","boxes","in","image","space",".","The","8-dimensional","state","space","x",",","y",",","a",",","h",",","vx",",","vy",",","va",",","vh","contains","the","bounding","box","center","position","(","x",",","y",")",",","aspect","ratio","a",",","height","h",",","and","their","respective","velocities",".","Object","motion","follows","a","constant","velocity","model",".","The","bounding","box","location","(","x",",","y",",","a",",","h",")","is","taken","as","direct","observation","of","the","state","space","(","linear","observation","model",")","."]
code: def __init__(self):
      ndim, dt = 4, 1.0
  
      # Create Kalman filter model matrices.
      self._motion_mat = np.eye(2 * ndim, 2 * ndim, dtype=np.float32)
      for i in range(ndim):
          self._motion_mat[i, ndim + i] = dt
      self._update_mat = np.eye(ndim, 2 * ndim, dtype=np.float32)
  
      # Motion and observation uncertainty are chosen relative to the current
      # state estimate. These weights control the amount of uncertainty in
      # the model. This is a bit hacky.
      self._std_weight_position = 1.0 / 20
      self._std_weight_velocity = 1.0 / 160
  
file_path: PaddleDetection/deploy/pptracking/python/mot/motion/kalman_filter.py
imports: import numpy
  import scipy.linalg
label_desc: Use image node_id 1 to create a new KalmanFilter object from inherited base classes: object with example: obj = KalmanFilter()