code: def get_boxes(self, boxes, labels, thresh):
      v_boxes, v_labels, v_scores = list(), list(), list()
      # enumerate all boxes
      for box in boxes:
          # enumerate all possible labels
          for i in range(len(labels)):
              # check if the threshold for this label is high enough
              if box.classes[i] > thresh:
                  v_boxes.append(box)
                  v_labels.append(labels[i])
                  v_scores.append(box.classes[i] * 100)
              # don't break, many labels may trigger for one box
      return v_boxes, v_labels, v_scores
  
imports: import os
  import re
  import numpy
  import json
  from imageai.Detection.Custom.voc import parse_voc_annotation
  from imageai.Detection.YOLO.yolov3 import yolov3_main, yolov3_train, dummy_loss
  from imageai.Detection.Custom.generator import BatchGenerator
  from imageai.Detection.Custom.utils.utils import normalize, evaluate, makedirs
  from tensorflow.keras.callbacks import ReduceLROnPlateau
  from tensorflow.keras.optimizers import Adam
  from imageai.Detection.Custom.callbacks import CustomModelCheckpoint
  from imageai.Detection.Custom.utils.multi_gpu_model import multi_gpu_model
  from imageai.Detection.Custom.gen_anchors import generateAnchors
  import tensorflow
  from tensorflow.keras.models import load_model
  from tensorflow.keras import Input
  from tensorflow.keras.callbacks import TensorBoard
  import tensorflow.keras.backend
  import cv2
label_desc: Use image node_id 8 for calling the CustomDetectionUtils obj's underlying member method code with example usage: obj.get_boxes(boxes, labels, thresh) and returns: v_boxes,  v_labels,  v_scores