code: def bbox_ious(atlbrs, btlbrs):
      boxes = np.ascontiguousarray(atlbrs, dtype=np.float32)
      query_boxes = np.ascontiguousarray(btlbrs, dtype=np.float32)
      N = boxes.shape[0]
      K = query_boxes.shape[0]
      ious = np.zeros((N, K), dtype=boxes.dtype)
      if N * K == 0:
          return ious
  
      for k in range(K):
          box_area = (query_boxes[k, 2] - query_boxes[k, 0] + 1) * (
              query_boxes[k, 3] - query_boxes[k, 1] + 1
          )
          for n in range(N):
              iw = (
                  min(boxes[n, 2], query_boxes[k, 2])
                  - max(boxes[n, 0], query_boxes[k, 0])
                  + 1
              )
              if iw > 0:
                  ih = (
                      min(boxes[n, 3], query_boxes[k, 3])
                      - max(boxes[n, 1], query_boxes[k, 1])
                      + 1
                  )
                  if ih > 0:
                      ua = float(
                          (boxes[n, 2] - boxes[n, 0] + 1)
                          * (boxes[n, 3] - boxes[n, 1] + 1)
                          + box_area
                          - iw * ih
                      )
                      ious[n, k] = iw * ih / ua
      return ious
  
file_path: PaddleDetection/deploy/pptracking/python/mot/matching/jde_matching.py
imports: import scipy
  import numpy
  from scipy.spatial.distance import cdist
  from ..motion import kalman_filter
  import warnings
label_desc: Use image node_id 3 for calling a global function with example usage: bbox_ious(atlbrs, btlbrs) and returns: ious, ious