class_docstr: OCSORT tracker, support single class
  
  Args:
      det_thresh (float): threshold of detection score
      max_age (int): maximum number of missed misses before a track is deleted
      min_hits (int): minimum hits for associate
      iou_threshold (float): iou threshold for associate
      delta_t (int): delta_t of previous observation
      inertia (float): vdc_weight of angle_diff_cost for associate
      vertical_ratio (float): w/h, the vertical ratio of the bbox to filter
          bad results. If set <= 0 means no need to filter bboxes，usually set
          1.6 for pedestrian tracking.
      min_box_area (int): min box area to filter out low quality boxes
      use_byte (bool): Whether use ByteTracker, default False
class_docstr_tok: ["OCSORT","tracker",",","support","single","class","Args",":","det_thresh","(","float",")",":","threshold","of","detection","score","max_age","(","int",")",":","maximum","number","of","missed","misses","before","a","track","is","deleted","min_hits","(","int",")",":","minimum","hits","for","associate","iou_threshold","(","float",")",":","iou","threshold","for","associate","delta_t","(","int",")",":","delta_t","of","previous","observation","inertia","(","float",")",":","vdc_weight","of","angle_diff_cost","for","associate","vertical_ratio","(","float",")",":","w\/h",",","the","vertical","ratio","of","the","bbox","to","filter","bad","results",".","If","set","<","=","0","means","no","need","to","filter","bboxes\uff0cusually","set","1.6","for","pedestrian","tracking",".","min_box_area","(","int",")",":","min","box","area","to","filter","out","low","quality","boxes","use_byte","(","bool",")",":","Whether","use","ByteTracker",",","default","False"]
code: def __init__(
      self,
      det_thresh=0.6,
      max_age=30,
      min_hits=3,
      iou_threshold=0.3,
      delta_t=3,
      inertia=0.2,
      vertical_ratio=-1,
      min_box_area=0,
      use_byte=False,
      use_angle_cost=False,
  ):
      self.det_thresh = det_thresh
      self.max_age = max_age
      self.min_hits = min_hits
      self.iou_threshold = iou_threshold
      self.delta_t = delta_t
      self.inertia = inertia
      self.vertical_ratio = vertical_ratio
      self.min_box_area = min_box_area
      self.use_byte = use_byte
      self.use_angle_cost = use_angle_cost
  
      self.trackers = []
      self.frame_count = 0
      KalmanBoxTracker.count = 0
  
file_path: PaddleDetection/ppdet/modeling/mot/tracker/ocsort_tracker.py
imports: import numpy
  from ..matching.ocsort_matching import associate, linear_assignment, iou_batch, associate_only_iou
  from ..motion.ocsort_kalman_filter import OCSORTKalmanFilter
  from ppdet.core.workspace import register, serializable
label_desc: Use image node_id 1 to create a new OCSORTTracker object from inherited base classes: object with example: obj = OCSORTTracker(det_thresh, max_age, min_hits, iou_threshold, delta_t, inertia, vertical_ratio, min_box_area, use_byte, use_angle_cost)