code: def hard_nms(box_scores, iou_threshold, top_k=-1, candidate_size=200):
      """
      Args:
          box_scores (N, 5): boxes in corner-form and probabilities.
          iou_threshold: intersection over union threshold.
          top_k: keep top_k results. If k <= 0, keep all the results.
          candidate_size: only consider the candidates with the highest scores.
      Returns:
           picked: a list of indexes of the kept boxes
      """
      scores = box_scores[:, -1]
      boxes = box_scores[:, :-1]
      picked = []
      indexes = np.argsort(scores)
      indexes = indexes[-candidate_size:]
      while len(indexes) > 0:
          current = indexes[-1]
          picked.append(current)
          if 0 < top_k == len(picked) or len(indexes) == 1:
              break
          current_box = boxes[current, :]
          indexes = indexes[:-1]
          rest_boxes = boxes[indexes, :]
          iou = iou_of(
              rest_boxes,
              np.expand_dims(current_box, axis=0),
          )
          indexes = indexes[iou <= iou_threshold]
  
      return box_scores[picked, :]
  
file_path: PaddleDetection/deploy/third_engine/demo_openvino/python/openvino_benchmark.py
imports: import cv2
  import numpy
  import time
  import argparse
  from scipy.special import softmax
  from openvino.runtime import Core
label_desc: Use image node_id 3 for calling a global function with example usage: hard_nms(box_scores, iou_threshold, top_k, candidate_size) and returns: box_scores