class_docstr: Tracker for Quasi-Dense Tracking.
  
  Args:
      init_score_thr (float): The cls_score threshold to
          initialize a new tracklet. Defaults to 0.8.
      obj_score_thr (float): The cls_score threshold to
          update a tracked tracklet. Defaults to 0.5.
      match_score_thr (float): The match threshold. Defaults to 0.5.
      memo_tracklet_frames (int): The most frames in a tracklet memory.
          Defaults to 10.
      memo_backdrop_frames (int): The most frames in the backdrops.
          Defaults to 1.
      memo_momentum (float): The momentum value for embeds updating.
          Defaults to 0.8.
      nms_conf_thr (float): The nms threshold for confidence.
          Defaults to 0.5.
      nms_backdrop_iou_thr (float): The nms threshold for backdrop IoU.
          Defaults to 0.3.
      nms_class_iou_thr (float): The nms threshold for class IoU.
          Defaults to 0.7.
      with_cats (bool): Whether to track with the same category.
          Defaults to True.
      match_metric (str): The match metric. Defaults to 'bisoftmax'.
code: def __init__(
      self,
      init_score_thr: float = 0.8,
      obj_score_thr: float = 0.5,
      match_score_thr: float = 0.5,
      memo_tracklet_frames: int = 10,
      memo_backdrop_frames: int = 1,
      memo_momentum: float = 0.8,
      nms_conf_thr: float = 0.5,
      nms_backdrop_iou_thr: float = 0.3,
      nms_class_iou_thr: float = 0.7,
      with_cats: bool = True,
      match_metric: str = "bisoftmax",
      **kwargs,
  ):
      super().__init__(**kwargs)
      assert 0 <= memo_momentum <= 1.0
      assert memo_tracklet_frames >= 0
      assert memo_backdrop_frames >= 0
      self.init_score_thr = init_score_thr
      self.obj_score_thr = obj_score_thr
      self.match_score_thr = match_score_thr
      self.memo_tracklet_frames = memo_tracklet_frames
      self.memo_backdrop_frames = memo_backdrop_frames
      self.memo_momentum = memo_momentum
      self.nms_conf_thr = nms_conf_thr
      self.nms_backdrop_iou_thr = nms_backdrop_iou_thr
      self.nms_class_iou_thr = nms_class_iou_thr
      self.with_cats = with_cats
      assert match_metric in ["bisoftmax", "softmax", "cosine"]
      self.match_metric = match_metric
  
      self.num_tracks = 0
      self.tracks = dict()
      self.backdrops = []
  
file_path: mmdetection/mmdet/models/trackers/quasi_dense_tracker.py
imports: from typing import List, Tuple
  import torch
  import torch.nn.functional
  from mmengine.structures import InstanceData
  from torch import Tensor
  from mmdet.registry import MODELS
  from mmdet.structures import TrackDataSample
  from mmdet.structures.bbox import bbox_overlaps
  from .base_tracker import BaseTracker
label_desc: Use image node_id 1 to create a new QuasiDenseTracker object from inherited base classes: BaseTracker with example: obj = QuasiDenseTracker(init_score_thr, obj_score_thr, match_score_thr, memo_tracklet_frames, memo_backdrop_frames, memo_momentum, nms_conf_thr, nms_backdrop_iou_thr, nms_class_iou_thr, with_cats, match_metric)