class_docstr: MediaPipe Objectron.
  
  MediaPipe Objectron processes an RGB image and returns the 3D box landmarks
  and 2D rectangular bounding box of each detected object.
class_docstr_tok: ["MediaPipe","Objectron",".","MediaPipe","Objectron","processes","an","RGB","image","and","returns","the","3D","box","landmarks","and","2D","rectangular","bounding","box","of","each","detected","object","."]
code: def _convert_format(
      self, inputs: annotation_data_pb2.FrameAnnotation
  ) -> List[ObjectronOutputs]:
      new_outputs = list()
      for annotation in inputs.annotations:
          # Get 3d object pose.
          rotation = np.reshape(np.array(annotation.rotation), (3, 3))
          translation = np.array(annotation.translation)
          scale = np.array(annotation.scale)
          # Get 2d/3d landmakrs.
          landmarks_2d = landmark_pb2.NormalizedLandmarkList()
          landmarks_3d = landmark_pb2.LandmarkList()
          for keypoint in annotation.keypoints:
              point_2d = keypoint.point_2d
              landmarks_2d.landmark.add(x=point_2d.x, y=point_2d.y)
              point_3d = keypoint.point_3d
              landmarks_3d.landmark.add(
                  x=point_3d.x, y=point_3d.y, z=point_3d.z
              )
  
          # Add to objectron outputs.
          new_outputs.append(
              ObjectronOutputs(
                  landmarks_2d,
                  landmarks_3d,
                  rotation,
                  translation,
                  scale=scale,
              )
          )
      return new_outputs
  
imports: import enum
  from typing import List, Tuple, NamedTuple, Optional
  import attr
  import numpy
  from mediapipe.calculators.core import constant_side_packet_calculator_pb2
  from mediapipe.calculators.core import gate_calculator_pb2
  from mediapipe.calculators.core import split_vector_calculator_pb2
  from mediapipe.calculators.tensor import image_to_tensor_calculator_pb2
  from mediapipe.calculators.tensor import inference_calculator_pb2
  from mediapipe.calculators.tensor import tensors_to_detections_calculator_pb2
  from mediapipe.calculators.tensor import tensors_to_floats_calculator_pb2
  from mediapipe.calculators.tensor import tensors_to_landmarks_calculator_pb2
  from mediapipe.calculators.tflite import ssd_anchors_calculator_pb2
  from mediapipe.calculators.util import association_calculator_pb2
  from mediapipe.calculators.util import collection_has_min_size_calculator_pb2
  from mediapipe.calculators.util import detection_label_id_to_text_calculator_pb2
  from mediapipe.calculators.util import detections_to_rects_calculator_pb2
  from mediapipe.calculators.util import landmark_projection_calculator_pb2
  from mediapipe.calculators.util import local_file_contents_calculator_pb2
  from mediapipe.calculators.util import non_max_suppression_calculator_pb2
  from mediapipe.calculators.util import rect_transformation_calculator_pb2
  from mediapipe.calculators.util import thresholding_calculator_pb2
  from mediapipe.framework.formats import landmark_pb2
  from mediapipe.modules.objectron.calculators import annotation_data_pb2
  from mediapipe.modules.objectron.calculators import frame_annotation_to_rect_calculator_pb2
  from mediapipe.modules.objectron.calculators import lift_2d_frame_annotation_to_3d_calculator_pb2
  from mediapipe.python.solution_base import SolutionBase
  from mediapipe.python.solutions import download_utils
label_desc: Use image node_id 3 for calling the Objectron obj's underlying member method code with example usage: obj._convert_format(inputs) and returns: new_outputs