code: def postprocess(self, input_dicts, fetch_dict, data_id, log_id):
      det_out = list(fetch_dict.values())[0]
      ratio_list = [
          float(self.new_h) / self.ori_h,
          float(self.new_w) / self.ori_w,
      ]
      dt_boxes_list = self.post_func(det_out, [ratio_list])
      dt_boxes = self.filter_func(
          dt_boxes_list[0], [self.ori_h, self.ori_w]
      )
      out_dict = {"dt_boxes": str(dt_boxes)}
  
      return out_dict, None, ""
  
file_path: PaddleOCR/deploy/pdserving/web_service_det.py
imports: from paddle_serving_server.web_service import WebService, Op
  import logging
  import numpy
  import cv2
  import base64
  from ocr_reader import OCRReader, DetResizeForTest, ArgsParser
  from paddle_serving_app.reader import Sequential, ResizeByFactor
  from paddle_serving_app.reader import Div, Normalize, Transpose
  from paddle_serving_app.reader import DBPostProcess, FilterBoxes, GetRotateCropImage, SortedBoxes
label_desc: Use image node_id 3 for calling the DetOp obj's underlying member method code with example usage: obj.postprocess(input_dicts, fetch_dict, data_id, log_id) and returns: out_dict,  None,  str