code: def _load_kitti_annotations(labels_path, frame_size):
      gt2d = load_kitti_detection_annotations(labels_path, frame_size)
      gt3d = gt2d.copy()
  
      for detection in gt2d.detections:
          del detection["alpha"]
          del detection["dimensions"]
          del detection["location"]
          del detection["rotation_y"]
  
      for detection in gt3d.detections:
          detection["bounding_box"] = []
          detection["rotation"] = [0, detection["rotation_y"], 0]
          del detection["alpha"]
          del detection["rotation_y"]
          del detection["truncated"]
          del detection["occluded"]
  
      return gt2d, gt3d
  
imports: import csv
  import logging
  import struct
  import os
  import numpy
  import eta.core.utils
  import eta.core.web
  import fiftyone
  import fiftyone.core.labels
  import fiftyone.core.metadata
  import fiftyone.core.storage
  import fiftyone.core.utils
  import fiftyone.utils.data
label_desc: Use image node_id 8 for calling a global function with example usage: _load_kitti_annotations(labels_path, frame_size) and returns: gt2d,  gt3d