class_docstr: FCOSR Head, refer to https://arxiv.org/abs/2111.10780 for details 
class_docstr_tok: ["FCOSR","Head",",","refer","to","https",":","\/\/arxiv.org\/abs\/2111.10780","for","details"]
code: def post_process(self, head_outs, scale_factor):
      pred_scores, pred_rboxes = head_outs
      # [B, N, 5] -> [B, N, 4, 2] -> [B, N, 8]
      pred_rboxes = self._box2corners(pred_rboxes)
      # scale bbox to origin
      scale_y, scale_x = paddle.split(scale_factor, 2, axis=-1)
      scale_factor = paddle.concat(
          [
              scale_x,
              scale_y,
              scale_x,
              scale_y,
              scale_x,
              scale_y,
              scale_x,
              scale_y,
          ],
          axis=-1,
      ).reshape([-1, 1, 8])
      pred_rboxes /= scale_factor
      bbox_pred, bbox_num, before_nms_indexes = self.nms(
          pred_rboxes, pred_scores
      )
      return bbox_pred, bbox_num, before_nms_indexes
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from ppdet.core.workspace import register
  from paddle import ParamAttr
  from paddle.regularizer import L2Decay
  from .fcos_head import ScaleReg
  from ..initializer import bias_init_with_prob, constant_, normal_
  from ..ops import get_act_fn, anchor_generator
  from ..rbox_utils import box2corners
  from ..losses import ProbIoULoss
  import numpy
label_desc: Use image node_id 12 for calling the FCOSRHead obj's underlying member method code with example usage: obj.post_process(head_outs, scale_factor) and returns: bbox_pred,  bbox_num,  before_nms_indexes