def METHOD_NAME(image_np, detection_graph, sess):
    """
    Actual detection .. generate scores and bounding boxes given an image
    :param: numpy array of image to be passed into tensorflow graph
    :param: Loaded Tensorflow Graph (use load_inference graph())
    :param: Tensorflow Session from loaded graph
    :return: numpy array
    :return: numpy array
    :return: numpy array
    """
    # Definite input and output Tensors for detection_graph
    image_tensor = detection_graph.get_tensor_by_name("image_tensor:0")
    # Each box represents a part of the image where a particular object was detected.
    detection_boxes = detection_graph.get_tensor_by_name("detection_boxes:0")
    # Each score represent how level of confidence for each of the objects.
    # Score is shown on the result image, together with the class label.
    detection_scores = detection_graph.get_tensor_by_name("detection_scores:0")
    detection_classes = detection_graph.get_tensor_by_name("detection_classes:0")
    num_detections = detection_graph.get_tensor_by_name("num_detections:0")
    # Expand dimensions since the model expects images to have shape: [1, None, None, 3]
    image_np_expanded = np.expand_dims(image_np, axis=0)
    (boxes, scores, classes, num) = sess.run(
        [detection_boxes, detection_scores, detection_classes, num_detections],
        feed_dict={image_tensor: image_np_expanded},
    )
    return np.squeeze(boxes), np.squeeze(scores), np.squeeze(classes)