def METHOD_NAME(self, outputs, meta):
    heat = outputs[self._output_layer_names[0]][0]
    reg = outputs[self._output_layer_names[1]][0]
    wh = outputs[self._output_layer_names[2]][0]
    heat = np.exp(heat)/(1 + np.exp(heat))
    height, width = heat.shape[1:3]
    num_predictions = 100
    heat = self._nms(heat)
    scores, inds, clses, ys, xs = self._topk(heat, K=num_predictions)
    reg = self._tranpose_and_gather_feat(reg, inds)
    reg = reg.reshape((num_predictions, 2))
    xs = xs.reshape((num_predictions, 1)) + reg[:, 0:1]
    ys = ys.reshape((num_predictions, 1)) + reg[:, 1:2]
    wh = self._tranpose_and_gather_feat(wh, inds)
    wh = wh.reshape((num_predictions, 2))
    clses = clses.reshape((num_predictions, 1))
    scores = scores.reshape((num_predictions, 1))
    bboxes = np.concatenate((xs - wh[..., 0:1] / 2,
                             ys - wh[..., 1:2] / 2,
                             xs + wh[..., 0:1] / 2,
                             ys + wh[..., 1:2] / 2), axis=1)
    detections = np.concatenate((bboxes, scores, clses), axis=1)
    mask = detections[..., 4] >= self.confidence_threshold
    filtered_detections = detections[mask]
    scale = max(meta['original_shape'])
    center = np.array(meta['original_shape'][:2])/2.0
    dets = self._transform(filtered_detections, np.flip(center, 0), scale, height, width)
    dets = [Detection(x[0], x[1], x[2], x[3], score=x[4], id=x[5]) for x in dets]
    return clip_detections(dets, meta['original_shape'])