class_docstr: Module, which performs local-feature-based tracking of the target planar object in the sequence of the
  frames.
  
  Args:
      initial_matcher: image matching module, e.g. :class:`~kornia.feature.LocalFeatureMatcher`
                        or :class:`~kornia.feature.LoFTR`. Default: :class:`~kornia.feature.GFTTAffNetHardNet`.
      fast_matcher: fast image matching module, e.g. :class:`~kornia.feature.LocalFeatureMatcher`
                        or :class:`~kornia.feature.LoFTR`. Default: :class:`~kornia.feature.DescriptorMatcher`.
      ransac: homography estimation module. Default: :class:`~kornia.geometry.RANSAC`.
      minimum_inliers_num: threshold for number inliers for matching to be successful.
class_docstr_tok: ["Module",",","which","performs","local-feature-based","tracking","of","the","target","planar","object","in","the","sequence","of","the","frames",".","Args",":","initial_matcher",":","image","matching","module",",","e.g",".",":","class",":","`","~kornia.feature.LocalFeatureMatcher","`","or",":","class",":","`","~kornia.feature.LoFTR","`",".","Default",":",":","class",":","`","~kornia.feature.GFTTAffNetHardNet","`",".","fast_matcher",":","fast","image","matching","module",",","e.g",".",":","class",":","`","~kornia.feature.LocalFeatureMatcher","`","or",":","class",":","`","~kornia.feature.LoFTR","`",".","Default",":",":","class",":","`","~kornia.feature.DescriptorMatcher","`",".","ransac",":","homography","estimation","module",".","Default",":",":","class",":","`","~kornia.geometry.RANSAC","`",".","minimum_inliers_num",":","threshold","for","number","inliers","for","matching","to","be","successful","."]
code: def __init__(
      self,
      initial_matcher: Optional[LocalFeature] = None,
      fast_matcher: Optional[Module] = None,
      ransac: Optional[Module] = None,
      minimum_inliers_num: int = 30,
  ) -> None:
      super().__init__()
      self.initial_matcher = initial_matcher or (
          LocalFeatureMatcher(
              GFTTAffNetHardNet(3000), DescriptorMatcher("smnn", 0.95)
          )
      )
      self.fast_matcher = fast_matcher or LoFTR("outdoor")
      self.ransac = ransac or RANSAC(
          "homography",
          inl_th=5.0,
          batch_size=4096,
          max_iter=10,
          max_lo_iters=10,
      )
      self.minimum_inliers_num = minimum_inliers_num
  
      # placeholders
      self.target: Tensor
      self.target_initial_representation: Dict[str, Tensor] = {}
      self.target_fast_representation: Dict[str, Tensor] = {}
      self.previous_homography: Optional[Tensor] = None
  
      self.inliers_num: int = 0
      self.keypoints0_num: int = 0
      self.keypoints1_num: int = 0
  
      self.reset_tracking()
  
file_path: kornia/kornia/tracking/planar_tracker.py
imports: from typing import Dict, Optional, Tuple
  import torch
  from kornia.core import Module, Tensor
  from kornia.feature import DescriptorMatcher, GFTTAffNetHardNet, LocalFeatureMatcher, LoFTR
  from kornia.feature.integrated import LocalFeature
  from kornia.geometry.linalg import transform_points
  from kornia.geometry.ransac import RANSAC
  from kornia.geometry.transform import warp_perspective
label_desc: Use image node_id 1 to create a new HomographyTracker object from inherited base classes: Module with example: obj = HomographyTracker(initial_matcher, fast_matcher, ransac, minimum_inliers_num)