class_docstr: BoxIOU.
docstr: For one scene, provide all ground-truth and all predicted detections.
docstr_tok: ["For","one","scene",",","provide","all","ground-truth","and","all","predicted","detections","."]
code: def update(
      self,
      scene_id,
      labeled_boxes,
      labeled_classes,
      predicted_boxes,
      predicted_classes,
      confidences,
  ):
      """For one scene, provide all ground-truth and all predicted detections."""
      self.labeled_boxes[scene_id] = (labeled_boxes, labeled_classes)
      self.predicted_boxes[scene_id] = (
          predicted_boxes,
          predicted_classes,
          confidences,
      )
  
imports: import os
  import pickle
  from absl import logging
  import matplotlib.pyplot
  import numpy
  import tensorflow
  from tensorflow_graphics.geometry.representation import grid
  from tensorflow_graphics.math.interpolation import trilinear
  from tensorflow_graphics.projects.points_to_3Dobjects.models import centernet_utils
  from tensorflow_graphics.projects.points_to_3Dobjects.utils import tf_utils
  from google3.pyglib import gfile
  from google3.third_party.google_research.google_research.tf3d.object_detection.box_utils import np_box_ops
label_desc: Use image node_id 2 for calling the BoxIoUMetric obj's underlying member method code with example usage: obj.update(scene_id, labeled_boxes, labeled_classes, predicted_boxes, predicted_classes, confidences) without return types