class_docstr: Args:
      in_channels (int): the channel number of input to CenterNetHead.
      num_classes (int): the number of classes, 1 (MOT17 dataset) by default.
      head_planes (int): the channel number in all head, 256 by default.
      task (str): the type of task for regression, 'tracking' by default.
      loss_weight (dict): the weight of each loss.
      add_ltrb_amodal (bool): whether to add ltrb_amodal branch, False by default.
class_docstr_tok: ["Args",":","in_channels","(","int",")",":","the","channel","number","of","input","to","CenterNetHead",".","num_classes","(","int",")",":","the","number","of","classes",",","1","(","MOT17","dataset",")","by","default",".","head_planes","(","int",")",":","the","channel","number","in","all","head",",","256","by","default",".","task","(","str",")",":","the","type","of","task","for","regression",",","'tracking","'","by","default",".","loss_weight","(","dict",")",":","the","weight","of","each","loss",".","add_ltrb_amodal","(","bool",")",":","whether","to","add","ltrb_amodal","branch",",","False","by","default","."]
code: def generic_decode(
      self, head_outs, bboxes, bbox_inds, topk_ys, topk_xs
  ):
      topk_ys = paddle.floor(topk_ys)  # note: More accurate
      topk_xs = paddle.floor(topk_xs)
      cts = paddle.concat([topk_xs, topk_ys], 1)
      ret = {"bboxes": bboxes, "cts": cts}
  
      regression_heads = ["tracking"]  # todo: add more tasks
      for head in regression_heads:
          if head in head_outs:
              ret[head] = _tranpose_and_gather_feat(
                  head_outs[head], bbox_inds
              )
  
      if "ltrb_amodal" in head_outs:
          ltrb_amodal = head_outs["ltrb_amodal"]
          ltrb_amodal = _tranpose_and_gather_feat(
              ltrb_amodal, bbox_inds
          )
          bboxes_amodal = paddle.concat(
              [
                  topk_xs * 1.0 + ltrb_amodal[..., 0:1],
                  topk_ys * 1.0 + ltrb_amodal[..., 1:2],
                  topk_xs * 1.0 + ltrb_amodal[..., 2:3],
                  topk_ys * 1.0 + ltrb_amodal[..., 3:4],
              ],
              axis=1,
          )
          ret["bboxes"] = paddle.concat(
              [bboxes[:, 0:2], bboxes_amodal], 1
          )
          # cls_id, score, x0, y0, x1, y1
  
      return ret
  
file_path: PaddleDetection/ppdet/modeling/heads/centertrack_head.py
imports: import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  from .centernet_head import ConvLayer
  from ..keypoint_utils import get_affine_transform
label_desc: Use image node_id 5 for calling the CenterTrackHead obj's underlying member method code with example usage: obj.generic_decode(head_outs, bboxes, bbox_inds, topk_ys, topk_xs) and returns: ret