class_docstr: RepPoint head.
  
  Args:
      point_feat_channels (int): Number of channels of points features.
      gradient_mul (float): The multiplier to gradients from
          points refinement and recognition.
      point_strides (Iterable): points strides.
      point_base_scale (int): bbox scale for assigning labels.
      loss_cls (dict): Config of classification loss.
      loss_bbox_init (dict): Config of initial points loss.
      loss_bbox_refine (dict): Config of points loss in refinement.
      use_grid_points (bool): If we use bounding box representation, the
      reppoints is represented as grid points on the bounding box.
      center_init (bool): Whether to use center point assignment.
      transform_method (str): The methods to transform RepPoints to bbox.
class_docstr_tok: ["RepPoint","head",".","Args",":","point_feat_channels","(","int",")",":","Number","of","channels","of","points","features",".","gradient_mul","(","float",")",":","The","multiplier","to","gradients","from","points","refinement","and","recognition",".","point_strides","(","Iterable",")",":","points","strides",".","point_base_scale","(","int",")",":","bbox","scale","for","assigning","labels",".","loss_cls","(","dict",")",":","Config","of","classification","loss",".","loss_bbox_init","(","dict",")",":","Config","of","initial","points","loss",".","loss_bbox_refine","(","dict",")",":","Config","of","points","loss","in","refinement",".","use_grid_points","(","bool",")",":","If","we","use","bounding","box","representation",",","the","reppoints","is","represented","as","grid","points","on","the","bounding","box",".","center_init","(","bool",")",":","Whether","to","use","center","point","assignment",".","transform_method","(","str",")",":","The","methods","to","transform","RepPoints","to","bbox","."]
code: def get_bboxes(
      self,
      cls_scores,
      pts_preds_init,
      pts_preds_refine,
      img_metas,
      cfg=None,
      rescale=False,
      with_nms=True,
  ):
      assert len(cls_scores) == len(pts_preds_refine)
      device = cls_scores[0].device
      bbox_preds_refine = [
          self.points2bbox(pts_pred_refine)
          for pts_pred_refine in pts_preds_refine
      ]
      num_levels = len(cls_scores)
      mlvl_points = [
          self.point_generators[i].grid_points(
              cls_scores[i].size()[-2:], self.point_strides[i], device
          )
          for i in range(num_levels)
      ]
      result_list = []
      for img_id in range(len(img_metas)):
          cls_score_list = [
              cls_scores[i][img_id].detach() for i in range(num_levels)
          ]
          bbox_pred_list = [
              bbox_preds_refine[i][img_id].detach()
              for i in range(num_levels)
          ]
          img_shape = img_metas[img_id]["img_shape"]
          scale_factor = img_metas[img_id]["scale_factor"]
          proposals = self._get_bboxes_single(
              cls_score_list,
              bbox_pred_list,
              mlvl_points,
              img_shape,
              scale_factor,
              cfg,
              rescale,
              with_nms,
          )
          result_list.append(proposals)
      return result_list
  
imports: import numpy
  import torch
  import torch.nn
  from mmcv.cnn import ConvModule, bias_init_with_prob, normal_init
  from mmcv.ops import DeformConv2d
  from mmdet.core import PointGenerator, build_assigner, build_sampler, images_to_levels, multi_apply, multiclass_nms, unmap
  from ..builder import HEADS, build_loss
  from .anchor_free_head import AnchorFreeHead
label_desc: Use image node_id 15 for calling the RepPointsHead obj's underlying member method code with example usage: obj.get_bboxes(cls_scores, pts_preds_init, pts_preds_refine, img_metas, cfg, rescale, with_nms) and returns: result_list