code: def _interval_overlap(self, interval_a, interval_b):
      x1, x2 = interval_a
      x3, x4 = interval_b
      if x3 < x1:
          if x4 < x1:
              return 0
          else:
              return min(x2, x4) - x1
      else:
          if x2 < x3:
              return 0
          else:
              return min(x2, x4) - x3
  
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 5 for calling the CustomDetectionUtils obj's underlying member method code with example usage: obj._interval_overlap(interval_a, interval_b) and returns: int, unknown, int, unknown