mediapipe-nightly 0.10.21.post20241223__cp310-cp310-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. mediapipe/__init__.py +26 -0
  2. mediapipe/calculators/__init__.py +0 -0
  3. mediapipe/calculators/audio/__init__.py +0 -0
  4. mediapipe/calculators/audio/mfcc_mel_calculators_pb2.py +33 -0
  5. mediapipe/calculators/audio/rational_factor_resample_calculator_pb2.py +33 -0
  6. mediapipe/calculators/audio/spectrogram_calculator_pb2.py +37 -0
  7. mediapipe/calculators/audio/stabilized_log_calculator_pb2.py +31 -0
  8. mediapipe/calculators/audio/time_series_framer_calculator_pb2.py +33 -0
  9. mediapipe/calculators/core/__init__.py +0 -0
  10. mediapipe/calculators/core/bypass_calculator_pb2.py +31 -0
  11. mediapipe/calculators/core/clip_vector_size_calculator_pb2.py +31 -0
  12. mediapipe/calculators/core/concatenate_vector_calculator_pb2.py +31 -0
  13. mediapipe/calculators/core/constant_side_packet_calculator_pb2.py +39 -0
  14. mediapipe/calculators/core/dequantize_byte_array_calculator_pb2.py +31 -0
  15. mediapipe/calculators/core/flow_limiter_calculator_pb2.py +32 -0
  16. mediapipe/calculators/core/gate_calculator_pb2.py +33 -0
  17. mediapipe/calculators/core/get_vector_item_calculator_pb2.py +31 -0
  18. mediapipe/calculators/core/graph_profile_calculator_pb2.py +31 -0
  19. mediapipe/calculators/core/packet_cloner_calculator_pb2.py +31 -0
  20. mediapipe/calculators/core/packet_resampler_calculator_pb2.py +33 -0
  21. mediapipe/calculators/core/packet_thinner_calculator_pb2.py +33 -0
  22. mediapipe/calculators/core/quantize_float_vector_calculator_pb2.py +31 -0
  23. mediapipe/calculators/core/sequence_shift_calculator_pb2.py +31 -0
  24. mediapipe/calculators/core/split_vector_calculator_pb2.py +33 -0
  25. mediapipe/calculators/image/__init__.py +0 -0
  26. mediapipe/calculators/image/bilateral_filter_calculator_pb2.py +31 -0
  27. mediapipe/calculators/image/feature_detector_calculator_pb2.py +31 -0
  28. mediapipe/calculators/image/image_clone_calculator_pb2.py +31 -0
  29. mediapipe/calculators/image/image_cropping_calculator_pb2.py +33 -0
  30. mediapipe/calculators/image/image_transformation_calculator_pb2.py +38 -0
  31. mediapipe/calculators/image/mask_overlay_calculator_pb2.py +33 -0
  32. mediapipe/calculators/image/opencv_encoded_image_to_image_frame_calculator_pb2.py +31 -0
  33. mediapipe/calculators/image/opencv_image_encoder_calculator_pb2.py +35 -0
  34. mediapipe/calculators/image/recolor_calculator_pb2.py +34 -0
  35. mediapipe/calculators/image/rotation_mode_pb2.py +29 -0
  36. mediapipe/calculators/image/scale_image_calculator_pb2.py +34 -0
  37. mediapipe/calculators/image/segmentation_smoothing_calculator_pb2.py +31 -0
  38. mediapipe/calculators/image/set_alpha_calculator_pb2.py +31 -0
  39. mediapipe/calculators/image/warp_affine_calculator_pb2.py +36 -0
  40. mediapipe/calculators/internal/__init__.py +0 -0
  41. mediapipe/calculators/internal/callback_packet_calculator_pb2.py +33 -0
  42. mediapipe/calculators/tensor/__init__.py +0 -0
  43. mediapipe/calculators/tensor/audio_to_tensor_calculator_pb2.py +35 -0
  44. mediapipe/calculators/tensor/bert_preprocessor_calculator_pb2.py +31 -0
  45. mediapipe/calculators/tensor/feedback_tensors_calculator_pb2.py +37 -0
  46. mediapipe/calculators/tensor/image_to_tensor_calculator_pb2.py +40 -0
  47. mediapipe/calculators/tensor/inference_calculator_pb2.py +63 -0
  48. mediapipe/calculators/tensor/landmarks_to_tensor_calculator_pb2.py +33 -0
  49. mediapipe/calculators/tensor/regex_preprocessor_calculator_pb2.py +31 -0
  50. mediapipe/calculators/tensor/tensor_converter_calculator_pb2.py +34 -0
  51. mediapipe/calculators/tensor/tensor_to_joints_calculator_pb2.py +31 -0
  52. mediapipe/calculators/tensor/tensors_readback_calculator_pb2.py +35 -0
  53. mediapipe/calculators/tensor/tensors_to_audio_calculator_pb2.py +33 -0
  54. mediapipe/calculators/tensor/tensors_to_classification_calculator_pb2.py +44 -0
  55. mediapipe/calculators/tensor/tensors_to_detections_calculator_pb2.py +39 -0
  56. mediapipe/calculators/tensor/tensors_to_floats_calculator_pb2.py +33 -0
  57. mediapipe/calculators/tensor/tensors_to_landmarks_calculator_pb2.py +33 -0
  58. mediapipe/calculators/tensor/tensors_to_segmentation_calculator_pb2.py +34 -0
  59. mediapipe/calculators/tensor/vector_to_tensor_calculator_pb2.py +27 -0
  60. mediapipe/calculators/tflite/__init__.py +0 -0
  61. mediapipe/calculators/tflite/ssd_anchors_calculator_pb2.py +32 -0
  62. mediapipe/calculators/tflite/tflite_converter_calculator_pb2.py +33 -0
  63. mediapipe/calculators/tflite/tflite_custom_op_resolver_calculator_pb2.py +31 -0
  64. mediapipe/calculators/tflite/tflite_inference_calculator_pb2.py +49 -0
  65. mediapipe/calculators/tflite/tflite_tensors_to_classification_calculator_pb2.py +31 -0
  66. mediapipe/calculators/tflite/tflite_tensors_to_detections_calculator_pb2.py +31 -0
  67. mediapipe/calculators/tflite/tflite_tensors_to_landmarks_calculator_pb2.py +33 -0
  68. mediapipe/calculators/tflite/tflite_tensors_to_segmentation_calculator_pb2.py +31 -0
  69. mediapipe/calculators/util/__init__.py +0 -0
  70. mediapipe/calculators/util/align_hand_to_pose_in_world_calculator_pb2.py +31 -0
  71. mediapipe/calculators/util/annotation_overlay_calculator_pb2.py +32 -0
  72. mediapipe/calculators/util/association_calculator_pb2.py +31 -0
  73. mediapipe/calculators/util/collection_has_min_size_calculator_pb2.py +31 -0
  74. mediapipe/calculators/util/combine_joints_calculator_pb2.py +36 -0
  75. mediapipe/calculators/util/detection_label_id_to_text_calculator_pb2.py +36 -0
  76. mediapipe/calculators/util/detections_to_rects_calculator_pb2.py +33 -0
  77. mediapipe/calculators/util/detections_to_render_data_calculator_pb2.py +33 -0
  78. mediapipe/calculators/util/face_to_rect_calculator_pb2.py +26 -0
  79. mediapipe/calculators/util/filter_detections_calculator_pb2.py +31 -0
  80. mediapipe/calculators/util/flat_color_image_calculator_pb2.py +32 -0
  81. mediapipe/calculators/util/labels_to_render_data_calculator_pb2.py +34 -0
  82. mediapipe/calculators/util/landmark_projection_calculator_pb2.py +31 -0
  83. mediapipe/calculators/util/landmarks_refinement_calculator_pb2.py +41 -0
  84. mediapipe/calculators/util/landmarks_smoothing_calculator_pb2.py +33 -0
  85. mediapipe/calculators/util/landmarks_to_detection_calculator_pb2.py +31 -0
  86. mediapipe/calculators/util/landmarks_to_floats_calculator_pb2.py +31 -0
  87. mediapipe/calculators/util/landmarks_to_render_data_calculator_pb2.py +32 -0
  88. mediapipe/calculators/util/landmarks_transformation_calculator_pb2.py +37 -0
  89. mediapipe/calculators/util/latency_pb2.py +26 -0
  90. mediapipe/calculators/util/local_file_contents_calculator_pb2.py +31 -0
  91. mediapipe/calculators/util/logic_calculator_pb2.py +34 -0
  92. mediapipe/calculators/util/non_max_suppression_calculator_pb2.py +35 -0
  93. mediapipe/calculators/util/packet_frequency_calculator_pb2.py +31 -0
  94. mediapipe/calculators/util/packet_frequency_pb2.py +26 -0
  95. mediapipe/calculators/util/packet_latency_calculator_pb2.py +31 -0
  96. mediapipe/calculators/util/rect_to_render_data_calculator_pb2.py +32 -0
  97. mediapipe/calculators/util/rect_to_render_scale_calculator_pb2.py +31 -0
  98. mediapipe/calculators/util/rect_transformation_calculator_pb2.py +31 -0
  99. mediapipe/calculators/util/refine_landmarks_from_heatmap_calculator_pb2.py +31 -0
  100. mediapipe/calculators/util/resource_provider_calculator_pb2.py +28 -0
  101. mediapipe/calculators/util/set_joints_visibility_calculator_pb2.py +41 -0
  102. mediapipe/calculators/util/thresholding_calculator_pb2.py +31 -0
  103. mediapipe/calculators/util/timed_box_list_id_to_label_calculator_pb2.py +31 -0
  104. mediapipe/calculators/util/timed_box_list_to_render_data_calculator_pb2.py +32 -0
  105. mediapipe/calculators/util/top_k_scores_calculator_pb2.py +31 -0
  106. mediapipe/calculators/util/visibility_copy_calculator_pb2.py +27 -0
  107. mediapipe/calculators/util/visibility_smoothing_calculator_pb2.py +31 -0
  108. mediapipe/calculators/video/__init__.py +0 -0
  109. mediapipe/calculators/video/box_detector_calculator_pb2.py +32 -0
  110. mediapipe/calculators/video/box_tracker_calculator_pb2.py +32 -0
  111. mediapipe/calculators/video/flow_packager_calculator_pb2.py +32 -0
  112. mediapipe/calculators/video/flow_to_image_calculator_pb2.py +31 -0
  113. mediapipe/calculators/video/motion_analysis_calculator_pb2.py +42 -0
  114. mediapipe/calculators/video/opencv_video_encoder_calculator_pb2.py +31 -0
  115. mediapipe/calculators/video/tool/__init__.py +0 -0
  116. mediapipe/calculators/video/tool/flow_quantizer_model_pb2.py +26 -0
  117. mediapipe/calculators/video/tracked_detection_manager_calculator_pb2.py +32 -0
  118. mediapipe/calculators/video/video_pre_stream_calculator_pb2.py +35 -0
  119. mediapipe/examples/__init__.py +14 -0
  120. mediapipe/examples/desktop/__init__.py +14 -0
  121. mediapipe/framework/__init__.py +0 -0
  122. mediapipe/framework/calculator_options_pb2.py +29 -0
  123. mediapipe/framework/calculator_pb2.py +59 -0
  124. mediapipe/framework/calculator_profile_pb2.py +48 -0
  125. mediapipe/framework/deps/__init__.py +0 -0
  126. mediapipe/framework/deps/proto_descriptor_pb2.py +29 -0
  127. mediapipe/framework/formats/__init__.py +0 -0
  128. mediapipe/framework/formats/affine_transform_data_pb2.py +28 -0
  129. mediapipe/framework/formats/annotation/__init__.py +0 -0
  130. mediapipe/framework/formats/annotation/locus_pb2.py +32 -0
  131. mediapipe/framework/formats/annotation/rasterization_pb2.py +29 -0
  132. mediapipe/framework/formats/body_rig_pb2.py +28 -0
  133. mediapipe/framework/formats/classification_pb2.py +31 -0
  134. mediapipe/framework/formats/detection_pb2.py +36 -0
  135. mediapipe/framework/formats/image_file_properties_pb2.py +26 -0
  136. mediapipe/framework/formats/image_format_pb2.py +29 -0
  137. mediapipe/framework/formats/landmark_pb2.py +37 -0
  138. mediapipe/framework/formats/location_data_pb2.py +38 -0
  139. mediapipe/framework/formats/matrix_data_pb2.py +31 -0
  140. mediapipe/framework/formats/motion/__init__.py +0 -0
  141. mediapipe/framework/formats/motion/optical_flow_field_data_pb2.py +30 -0
  142. mediapipe/framework/formats/object_detection/__init__.py +0 -0
  143. mediapipe/framework/formats/object_detection/anchor_pb2.py +26 -0
  144. mediapipe/framework/formats/rect_pb2.py +29 -0
  145. mediapipe/framework/formats/time_series_header_pb2.py +28 -0
  146. mediapipe/framework/graph_runtime_info_pb2.py +31 -0
  147. mediapipe/framework/mediapipe_options_pb2.py +27 -0
  148. mediapipe/framework/packet_factory_pb2.py +31 -0
  149. mediapipe/framework/packet_generator_pb2.py +33 -0
  150. mediapipe/framework/status_handler_pb2.py +28 -0
  151. mediapipe/framework/stream_handler/__init__.py +0 -0
  152. mediapipe/framework/stream_handler/default_input_stream_handler_pb2.py +27 -0
  153. mediapipe/framework/stream_handler/fixed_size_input_stream_handler_pb2.py +27 -0
  154. mediapipe/framework/stream_handler/sync_set_input_stream_handler_pb2.py +29 -0
  155. mediapipe/framework/stream_handler/timestamp_align_input_stream_handler_pb2.py +27 -0
  156. mediapipe/framework/stream_handler_pb2.py +30 -0
  157. mediapipe/framework/test_calculators_pb2.py +31 -0
  158. mediapipe/framework/thread_pool_executor_pb2.py +29 -0
  159. mediapipe/framework/tool/__init__.py +0 -0
  160. mediapipe/framework/tool/calculator_graph_template_pb2.py +44 -0
  161. mediapipe/framework/tool/field_data_pb2.py +28 -0
  162. mediapipe/framework/tool/node_chain_subgraph_pb2.py +31 -0
  163. mediapipe/framework/tool/packet_generator_wrapper_calculator_pb2.py +28 -0
  164. mediapipe/framework/tool/source_pb2.py +33 -0
  165. mediapipe/framework/tool/switch_container_pb2.py +32 -0
  166. mediapipe/gpu/__init__.py +0 -0
  167. mediapipe/gpu/copy_calculator_pb2.py +33 -0
  168. mediapipe/gpu/gl_animation_overlay_calculator_pb2.py +31 -0
  169. mediapipe/gpu/gl_context_options_pb2.py +31 -0
  170. mediapipe/gpu/gl_scaler_calculator_pb2.py +32 -0
  171. mediapipe/gpu/gl_surface_sink_calculator_pb2.py +32 -0
  172. mediapipe/gpu/gpu_origin_pb2.py +29 -0
  173. mediapipe/gpu/scale_mode_pb2.py +28 -0
  174. mediapipe/model_maker/__init__.py +27 -0
  175. mediapipe/model_maker/setup.py +107 -0
  176. mediapipe/modules/__init__.py +0 -0
  177. mediapipe/modules/face_detection/__init__.py +0 -0
  178. mediapipe/modules/face_detection/face_detection_full_range_cpu.binarypb +0 -0
  179. mediapipe/modules/face_detection/face_detection_full_range_sparse.tflite +0 -0
  180. mediapipe/modules/face_detection/face_detection_pb2.py +30 -0
  181. mediapipe/modules/face_detection/face_detection_short_range.tflite +0 -0
  182. mediapipe/modules/face_detection/face_detection_short_range_cpu.binarypb +0 -0
  183. mediapipe/modules/face_geometry/__init__.py +0 -0
  184. mediapipe/modules/face_geometry/data/__init__.py +0 -0
  185. mediapipe/modules/face_geometry/effect_renderer_calculator_pb2.py +27 -0
  186. mediapipe/modules/face_geometry/env_generator_calculator_pb2.py +28 -0
  187. mediapipe/modules/face_geometry/geometry_pipeline_calculator_pb2.py +27 -0
  188. mediapipe/modules/face_geometry/libs/__init__.py +0 -0
  189. mediapipe/modules/face_geometry/protos/__init__.py +0 -0
  190. mediapipe/modules/face_geometry/protos/environment_pb2.py +31 -0
  191. mediapipe/modules/face_geometry/protos/face_geometry_pb2.py +29 -0
  192. mediapipe/modules/face_geometry/protos/geometry_pipeline_metadata_pb2.py +32 -0
  193. mediapipe/modules/face_geometry/protos/mesh_3d_pb2.py +31 -0
  194. mediapipe/modules/face_landmark/__init__.py +0 -0
  195. mediapipe/modules/face_landmark/face_landmark.tflite +0 -0
  196. mediapipe/modules/face_landmark/face_landmark_front_cpu.binarypb +0 -0
  197. mediapipe/modules/face_landmark/face_landmark_with_attention.tflite +0 -0
  198. mediapipe/modules/hand_landmark/__init__.py +0 -0
  199. mediapipe/modules/hand_landmark/calculators/__init__.py +0 -0
  200. mediapipe/modules/hand_landmark/hand_landmark_full.tflite +0 -0
  201. mediapipe/modules/hand_landmark/hand_landmark_lite.tflite +0 -0
  202. mediapipe/modules/hand_landmark/hand_landmark_tracking_cpu.binarypb +0 -0
  203. mediapipe/modules/hand_landmark/handedness.txt +2 -0
  204. mediapipe/modules/holistic_landmark/__init__.py +0 -0
  205. mediapipe/modules/holistic_landmark/calculators/__init__.py +0 -0
  206. mediapipe/modules/holistic_landmark/calculators/roi_tracking_calculator_pb2.py +37 -0
  207. mediapipe/modules/holistic_landmark/hand_recrop.tflite +0 -0
  208. mediapipe/modules/holistic_landmark/holistic_landmark_cpu.binarypb +0 -0
  209. mediapipe/modules/iris_landmark/__init__.py +0 -0
  210. mediapipe/modules/iris_landmark/iris_landmark.tflite +0 -0
  211. mediapipe/modules/objectron/__init__.py +0 -0
  212. mediapipe/modules/objectron/calculators/__init__.py +0 -0
  213. mediapipe/modules/objectron/calculators/a_r_capture_metadata_pb2.py +102 -0
  214. mediapipe/modules/objectron/calculators/annotation_data_pb2.py +38 -0
  215. mediapipe/modules/objectron/calculators/belief_decoder_config_pb2.py +28 -0
  216. mediapipe/modules/objectron/calculators/camera_parameters_pb2.py +30 -0
  217. mediapipe/modules/objectron/calculators/filter_detection_calculator_pb2.py +35 -0
  218. mediapipe/modules/objectron/calculators/frame_annotation_to_rect_calculator_pb2.py +31 -0
  219. mediapipe/modules/objectron/calculators/frame_annotation_tracker_calculator_pb2.py +31 -0
  220. mediapipe/modules/objectron/calculators/lift_2d_frame_annotation_to_3d_calculator_pb2.py +32 -0
  221. mediapipe/modules/objectron/calculators/object_pb2.py +38 -0
  222. mediapipe/modules/objectron/calculators/tensors_to_objects_calculator_pb2.py +32 -0
  223. mediapipe/modules/objectron/calculators/tflite_tensors_to_objects_calculator_pb2.py +32 -0
  224. mediapipe/modules/objectron/object_detection_oidv4_labelmap.txt +24 -0
  225. mediapipe/modules/objectron/objectron_cpu.binarypb +0 -0
  226. mediapipe/modules/palm_detection/__init__.py +0 -0
  227. mediapipe/modules/palm_detection/palm_detection_full.tflite +0 -0
  228. mediapipe/modules/palm_detection/palm_detection_lite.tflite +0 -0
  229. mediapipe/modules/pose_detection/__init__.py +0 -0
  230. mediapipe/modules/pose_detection/pose_detection.tflite +0 -0
  231. mediapipe/modules/pose_landmark/__init__.py +0 -0
  232. mediapipe/modules/pose_landmark/pose_landmark_cpu.binarypb +0 -0
  233. mediapipe/modules/pose_landmark/pose_landmark_full.tflite +0 -0
  234. mediapipe/modules/selfie_segmentation/__init__.py +0 -0
  235. mediapipe/modules/selfie_segmentation/selfie_segmentation.tflite +0 -0
  236. mediapipe/modules/selfie_segmentation/selfie_segmentation_cpu.binarypb +0 -0
  237. mediapipe/modules/selfie_segmentation/selfie_segmentation_landscape.tflite +0 -0
  238. mediapipe/python/__init__.py +29 -0
  239. mediapipe/python/_framework_bindings.cpython-310-x86_64-linux-gnu.so +0 -0
  240. mediapipe/python/calculator_graph_test.py +251 -0
  241. mediapipe/python/image_frame_test.py +194 -0
  242. mediapipe/python/image_test.py +218 -0
  243. mediapipe/python/packet_creator.py +275 -0
  244. mediapipe/python/packet_getter.py +120 -0
  245. mediapipe/python/packet_test.py +533 -0
  246. mediapipe/python/solution_base.py +604 -0
  247. mediapipe/python/solution_base_test.py +396 -0
  248. mediapipe/python/solutions/__init__.py +27 -0
  249. mediapipe/python/solutions/download_utils.py +37 -0
  250. mediapipe/python/solutions/drawing_styles.py +249 -0
  251. mediapipe/python/solutions/drawing_utils.py +320 -0
  252. mediapipe/python/solutions/drawing_utils_test.py +258 -0
  253. mediapipe/python/solutions/face_detection.py +105 -0
  254. mediapipe/python/solutions/face_detection_test.py +92 -0
  255. mediapipe/python/solutions/face_mesh.py +125 -0
  256. mediapipe/python/solutions/face_mesh_connections.py +500 -0
  257. mediapipe/python/solutions/face_mesh_test.py +170 -0
  258. mediapipe/python/solutions/hands.py +153 -0
  259. mediapipe/python/solutions/hands_connections.py +32 -0
  260. mediapipe/python/solutions/hands_test.py +219 -0
  261. mediapipe/python/solutions/holistic.py +167 -0
  262. mediapipe/python/solutions/holistic_test.py +142 -0
  263. mediapipe/python/solutions/objectron.py +288 -0
  264. mediapipe/python/solutions/objectron_test.py +81 -0
  265. mediapipe/python/solutions/pose.py +192 -0
  266. mediapipe/python/solutions/pose_connections.py +22 -0
  267. mediapipe/python/solutions/pose_test.py +262 -0
  268. mediapipe/python/solutions/selfie_segmentation.py +76 -0
  269. mediapipe/python/solutions/selfie_segmentation_test.py +68 -0
  270. mediapipe/python/timestamp_test.py +78 -0
  271. mediapipe/tasks/__init__.py +14 -0
  272. mediapipe/tasks/cc/__init__.py +0 -0
  273. mediapipe/tasks/cc/audio/__init__.py +0 -0
  274. mediapipe/tasks/cc/audio/audio_classifier/__init__.py +0 -0
  275. mediapipe/tasks/cc/audio/audio_classifier/proto/__init__.py +0 -0
  276. mediapipe/tasks/cc/audio/audio_classifier/proto/audio_classifier_graph_options_pb2.py +35 -0
  277. mediapipe/tasks/cc/audio/audio_embedder/__init__.py +0 -0
  278. mediapipe/tasks/cc/audio/audio_embedder/proto/__init__.py +0 -0
  279. mediapipe/tasks/cc/audio/audio_embedder/proto/audio_embedder_graph_options_pb2.py +35 -0
  280. mediapipe/tasks/cc/audio/core/__init__.py +0 -0
  281. mediapipe/tasks/cc/audio/utils/__init__.py +0 -0
  282. mediapipe/tasks/cc/components/__init__.py +0 -0
  283. mediapipe/tasks/cc/components/calculators/__init__.py +0 -0
  284. mediapipe/tasks/cc/components/calculators/classification_aggregation_calculator_pb2.py +31 -0
  285. mediapipe/tasks/cc/components/calculators/score_calibration_calculator_pb2.py +35 -0
  286. mediapipe/tasks/cc/components/calculators/tensors_to_embeddings_calculator_pb2.py +32 -0
  287. mediapipe/tasks/cc/components/containers/__init__.py +0 -0
  288. mediapipe/tasks/cc/components/containers/proto/__init__.py +0 -0
  289. mediapipe/tasks/cc/components/containers/proto/classifications_pb2.py +30 -0
  290. mediapipe/tasks/cc/components/containers/proto/embeddings_pb2.py +35 -0
  291. mediapipe/tasks/cc/components/containers/proto/landmarks_detection_result_pb2.py +32 -0
  292. mediapipe/tasks/cc/components/processors/__init__.py +0 -0
  293. mediapipe/tasks/cc/components/processors/proto/__init__.py +0 -0
  294. mediapipe/tasks/cc/components/processors/proto/classification_postprocessing_graph_options_pb2.py +38 -0
  295. mediapipe/tasks/cc/components/processors/proto/classifier_options_pb2.py +27 -0
  296. mediapipe/tasks/cc/components/processors/proto/detection_postprocessing_graph_options_pb2.py +36 -0
  297. mediapipe/tasks/cc/components/processors/proto/detector_options_pb2.py +27 -0
  298. mediapipe/tasks/cc/components/processors/proto/embedder_options_pb2.py +27 -0
  299. mediapipe/tasks/cc/components/processors/proto/embedding_postprocessing_graph_options_pb2.py +32 -0
  300. mediapipe/tasks/cc/components/processors/proto/image_preprocessing_graph_options_pb2.py +34 -0
  301. mediapipe/tasks/cc/components/processors/proto/text_model_type_pb2.py +28 -0
  302. mediapipe/tasks/cc/components/processors/proto/text_preprocessing_graph_options_pb2.py +32 -0
  303. mediapipe/tasks/cc/components/utils/__init__.py +0 -0
  304. mediapipe/tasks/cc/core/__init__.py +0 -0
  305. mediapipe/tasks/cc/core/proto/__init__.py +0 -0
  306. mediapipe/tasks/cc/core/proto/acceleration_pb2.py +28 -0
  307. mediapipe/tasks/cc/core/proto/base_options_pb2.py +30 -0
  308. mediapipe/tasks/cc/core/proto/external_file_pb2.py +31 -0
  309. mediapipe/tasks/cc/core/proto/inference_subgraph_pb2.py +32 -0
  310. mediapipe/tasks/cc/core/proto/model_resources_calculator_pb2.py +32 -0
  311. mediapipe/tasks/cc/genai/__init__.py +0 -0
  312. mediapipe/tasks/cc/genai/inference/__init__.py +0 -0
  313. mediapipe/tasks/cc/genai/inference/c/__init__.py +0 -0
  314. mediapipe/tasks/cc/genai/inference/calculators/__init__.py +0 -0
  315. mediapipe/tasks/cc/genai/inference/calculators/detokenizer_calculator_pb2.py +27 -0
  316. mediapipe/tasks/cc/genai/inference/calculators/llm_gpu_calculator_pb2.py +32 -0
  317. mediapipe/tasks/cc/genai/inference/calculators/model_data_calculator_pb2.py +27 -0
  318. mediapipe/tasks/cc/genai/inference/calculators/tokenizer_calculator_pb2.py +29 -0
  319. mediapipe/tasks/cc/genai/inference/common/__init__.py +0 -0
  320. mediapipe/tasks/cc/genai/inference/proto/__init__.py +0 -0
  321. mediapipe/tasks/cc/genai/inference/proto/llm_file_metadata_pb2.py +32 -0
  322. mediapipe/tasks/cc/genai/inference/proto/llm_params_pb2.py +33 -0
  323. mediapipe/tasks/cc/genai/inference/proto/prompt_template_pb2.py +27 -0
  324. mediapipe/tasks/cc/genai/inference/proto/sampler_params_pb2.py +29 -0
  325. mediapipe/tasks/cc/genai/inference/proto/transformer_params_pb2.py +45 -0
  326. mediapipe/tasks/cc/genai/inference/utils/__init__.py +0 -0
  327. mediapipe/tasks/cc/genai/inference/utils/llm_utils/__init__.py +0 -0
  328. mediapipe/tasks/cc/genai/inference/utils/xnn_utils/__init__.py +0 -0
  329. mediapipe/tasks/cc/metadata/__init__.py +0 -0
  330. mediapipe/tasks/cc/metadata/python/__init__.py +0 -0
  331. mediapipe/tasks/cc/metadata/python/_pywrap_metadata_version.cpython-310-x86_64-linux-gnu.so +0 -0
  332. mediapipe/tasks/cc/metadata/tests/__init__.py +0 -0
  333. mediapipe/tasks/cc/metadata/utils/__init__.py +0 -0
  334. mediapipe/tasks/cc/text/__init__.py +0 -0
  335. mediapipe/tasks/cc/text/custom_ops/__init__.py +0 -0
  336. mediapipe/tasks/cc/text/custom_ops/ragged/__init__.py +0 -0
  337. mediapipe/tasks/cc/text/custom_ops/sentencepiece/__init__.py +0 -0
  338. mediapipe/tasks/cc/text/custom_ops/sentencepiece/testdata/__init__.py +0 -0
  339. mediapipe/tasks/cc/text/language_detector/__init__.py +0 -0
  340. mediapipe/tasks/cc/text/language_detector/custom_ops/__init__.py +0 -0
  341. mediapipe/tasks/cc/text/language_detector/custom_ops/utils/__init__.py +0 -0
  342. mediapipe/tasks/cc/text/language_detector/custom_ops/utils/hash/__init__.py +0 -0
  343. mediapipe/tasks/cc/text/language_detector/custom_ops/utils/utf/__init__.py +0 -0
  344. mediapipe/tasks/cc/text/text_classifier/__init__.py +0 -0
  345. mediapipe/tasks/cc/text/text_classifier/proto/__init__.py +0 -0
  346. mediapipe/tasks/cc/text/text_classifier/proto/text_classifier_graph_options_pb2.py +35 -0
  347. mediapipe/tasks/cc/text/text_embedder/__init__.py +0 -0
  348. mediapipe/tasks/cc/text/text_embedder/proto/__init__.py +0 -0
  349. mediapipe/tasks/cc/text/text_embedder/proto/text_embedder_graph_options_pb2.py +35 -0
  350. mediapipe/tasks/cc/text/tokenizers/__init__.py +0 -0
  351. mediapipe/tasks/cc/text/utils/__init__.py +0 -0
  352. mediapipe/tasks/cc/vision/__init__.py +0 -0
  353. mediapipe/tasks/cc/vision/core/__init__.py +0 -0
  354. mediapipe/tasks/cc/vision/custom_ops/__init__.py +0 -0
  355. mediapipe/tasks/cc/vision/face_detector/__init__.py +0 -0
  356. mediapipe/tasks/cc/vision/face_detector/proto/__init__.py +0 -0
  357. mediapipe/tasks/cc/vision/face_detector/proto/face_detector_graph_options_pb2.py +34 -0
  358. mediapipe/tasks/cc/vision/face_geometry/__init__.py +0 -0
  359. mediapipe/tasks/cc/vision/face_geometry/calculators/__init__.py +0 -0
  360. mediapipe/tasks/cc/vision/face_geometry/calculators/env_generator_calculator_pb2.py +28 -0
  361. mediapipe/tasks/cc/vision/face_geometry/calculators/geometry_pipeline_calculator_pb2.py +29 -0
  362. mediapipe/tasks/cc/vision/face_geometry/data/__init__.py +0 -0
  363. mediapipe/tasks/cc/vision/face_geometry/libs/__init__.py +0 -0
  364. mediapipe/tasks/cc/vision/face_geometry/proto/__init__.py +0 -0
  365. mediapipe/tasks/cc/vision/face_geometry/proto/environment_pb2.py +31 -0
  366. mediapipe/tasks/cc/vision/face_geometry/proto/face_geometry_graph_options_pb2.py +29 -0
  367. mediapipe/tasks/cc/vision/face_geometry/proto/face_geometry_pb2.py +29 -0
  368. mediapipe/tasks/cc/vision/face_geometry/proto/geometry_pipeline_metadata_pb2.py +32 -0
  369. mediapipe/tasks/cc/vision/face_geometry/proto/mesh_3d_pb2.py +31 -0
  370. mediapipe/tasks/cc/vision/face_landmarker/__init__.py +0 -0
  371. mediapipe/tasks/cc/vision/face_landmarker/proto/__init__.py +0 -0
  372. mediapipe/tasks/cc/vision/face_landmarker/proto/face_blendshapes_graph_options_pb2.py +34 -0
  373. mediapipe/tasks/cc/vision/face_landmarker/proto/face_landmarker_graph_options_pb2.py +37 -0
  374. mediapipe/tasks/cc/vision/face_landmarker/proto/face_landmarks_detector_graph_options_pb2.py +35 -0
  375. mediapipe/tasks/cc/vision/face_landmarker/proto/tensors_to_face_landmarks_graph_options_pb2.py +32 -0
  376. mediapipe/tasks/cc/vision/face_stylizer/__init__.py +0 -0
  377. mediapipe/tasks/cc/vision/face_stylizer/calculators/__init__.py +0 -0
  378. mediapipe/tasks/cc/vision/face_stylizer/calculators/tensors_to_image_calculator_pb2.py +36 -0
  379. mediapipe/tasks/cc/vision/face_stylizer/proto/__init__.py +0 -0
  380. mediapipe/tasks/cc/vision/face_stylizer/proto/face_stylizer_graph_options_pb2.py +35 -0
  381. mediapipe/tasks/cc/vision/gesture_recognizer/__init__.py +0 -0
  382. mediapipe/tasks/cc/vision/gesture_recognizer/calculators/__init__.py +0 -0
  383. mediapipe/tasks/cc/vision/gesture_recognizer/calculators/combined_prediction_calculator_pb2.py +33 -0
  384. mediapipe/tasks/cc/vision/gesture_recognizer/calculators/landmarks_to_matrix_calculator_pb2.py +31 -0
  385. mediapipe/tasks/cc/vision/gesture_recognizer/proto/__init__.py +0 -0
  386. mediapipe/tasks/cc/vision/gesture_recognizer/proto/gesture_classifier_graph_options_pb2.py +35 -0
  387. mediapipe/tasks/cc/vision/gesture_recognizer/proto/gesture_embedder_graph_options_pb2.py +34 -0
  388. mediapipe/tasks/cc/vision/gesture_recognizer/proto/gesture_recognizer_graph_options_pb2.py +36 -0
  389. mediapipe/tasks/cc/vision/gesture_recognizer/proto/hand_gesture_recognizer_graph_options_pb2.py +36 -0
  390. mediapipe/tasks/cc/vision/hand_detector/__init__.py +0 -0
  391. mediapipe/tasks/cc/vision/hand_detector/proto/__init__.py +0 -0
  392. mediapipe/tasks/cc/vision/hand_detector/proto/hand_detector_graph_options_pb2.py +34 -0
  393. mediapipe/tasks/cc/vision/hand_detector/proto/hand_detector_result_pb2.py +30 -0
  394. mediapipe/tasks/cc/vision/hand_landmarker/__init__.py +0 -0
  395. mediapipe/tasks/cc/vision/hand_landmarker/calculators/__init__.py +0 -0
  396. mediapipe/tasks/cc/vision/hand_landmarker/calculators/hand_association_calculator_pb2.py +31 -0
  397. mediapipe/tasks/cc/vision/hand_landmarker/proto/__init__.py +0 -0
  398. mediapipe/tasks/cc/vision/hand_landmarker/proto/hand_landmarker_graph_options_pb2.py +36 -0
  399. mediapipe/tasks/cc/vision/hand_landmarker/proto/hand_landmarks_detector_graph_options_pb2.py +34 -0
  400. mediapipe/tasks/cc/vision/hand_landmarker/proto/hand_roi_refinement_graph_options_pb2.py +28 -0
  401. mediapipe/tasks/cc/vision/holistic_landmarker/__init__.py +0 -0
  402. mediapipe/tasks/cc/vision/holistic_landmarker/proto/__init__.py +0 -0
  403. mediapipe/tasks/cc/vision/holistic_landmarker/proto/holistic_landmarker_graph_options_pb2.py +34 -0
  404. mediapipe/tasks/cc/vision/holistic_landmarker/proto/holistic_result_pb2.py +29 -0
  405. mediapipe/tasks/cc/vision/image_classifier/__init__.py +0 -0
  406. mediapipe/tasks/cc/vision/image_classifier/proto/__init__.py +0 -0
  407. mediapipe/tasks/cc/vision/image_classifier/proto/image_classifier_graph_options_pb2.py +35 -0
  408. mediapipe/tasks/cc/vision/image_embedder/__init__.py +0 -0
  409. mediapipe/tasks/cc/vision/image_embedder/proto/__init__.py +0 -0
  410. mediapipe/tasks/cc/vision/image_embedder/proto/image_embedder_graph_options_pb2.py +35 -0
  411. mediapipe/tasks/cc/vision/image_generator/__init__.py +0 -0
  412. mediapipe/tasks/cc/vision/image_generator/diffuser/__init__.py +0 -0
  413. mediapipe/tasks/cc/vision/image_generator/diffuser/stable_diffusion_iterate_calculator_pb2.py +40 -0
  414. mediapipe/tasks/cc/vision/image_generator/proto/__init__.py +0 -0
  415. mediapipe/tasks/cc/vision/image_generator/proto/conditioned_image_graph_options_pb2.py +40 -0
  416. mediapipe/tasks/cc/vision/image_generator/proto/control_plugin_graph_options_pb2.py +34 -0
  417. mediapipe/tasks/cc/vision/image_generator/proto/image_generator_graph_options_pb2.py +30 -0
  418. mediapipe/tasks/cc/vision/image_segmenter/__init__.py +0 -0
  419. mediapipe/tasks/cc/vision/image_segmenter/calculators/__init__.py +0 -0
  420. mediapipe/tasks/cc/vision/image_segmenter/calculators/tensors_to_segmentation_calculator_pb2.py +34 -0
  421. mediapipe/tasks/cc/vision/image_segmenter/proto/__init__.py +0 -0
  422. mediapipe/tasks/cc/vision/image_segmenter/proto/image_segmenter_graph_options_pb2.py +35 -0
  423. mediapipe/tasks/cc/vision/image_segmenter/proto/segmenter_options_pb2.py +33 -0
  424. mediapipe/tasks/cc/vision/interactive_segmenter/__init__.py +0 -0
  425. mediapipe/tasks/cc/vision/object_detector/__init__.py +0 -0
  426. mediapipe/tasks/cc/vision/object_detector/proto/__init__.py +0 -0
  427. mediapipe/tasks/cc/vision/object_detector/proto/object_detector_options_pb2.py +34 -0
  428. mediapipe/tasks/cc/vision/pose_detector/__init__.py +0 -0
  429. mediapipe/tasks/cc/vision/pose_detector/proto/__init__.py +0 -0
  430. mediapipe/tasks/cc/vision/pose_detector/proto/pose_detector_graph_options_pb2.py +34 -0
  431. mediapipe/tasks/cc/vision/pose_landmarker/__init__.py +0 -0
  432. mediapipe/tasks/cc/vision/pose_landmarker/proto/__init__.py +0 -0
  433. mediapipe/tasks/cc/vision/pose_landmarker/proto/pose_landmarker_graph_options_pb2.py +36 -0
  434. mediapipe/tasks/cc/vision/pose_landmarker/proto/pose_landmarks_detector_graph_options_pb2.py +34 -0
  435. mediapipe/tasks/cc/vision/utils/__init__.py +0 -0
  436. mediapipe/tasks/cc/vision/utils/ghum/__init__.py +0 -0
  437. mediapipe/tasks/metadata/image_segmenter_metadata_schema.fbs +59 -0
  438. mediapipe/tasks/metadata/image_segmenter_metadata_schema_py_generated.py +108 -0
  439. mediapipe/tasks/metadata/metadata_schema.fbs +732 -0
  440. mediapipe/tasks/metadata/metadata_schema_py_generated.py +3251 -0
  441. mediapipe/tasks/metadata/object_detector_metadata_schema.fbs +98 -0
  442. mediapipe/tasks/metadata/object_detector_metadata_schema_py_generated.py +674 -0
  443. mediapipe/tasks/metadata/schema_py_generated.py +18438 -0
  444. mediapipe/tasks/python/__init__.py +27 -0
  445. mediapipe/tasks/python/audio/__init__.py +33 -0
  446. mediapipe/tasks/python/audio/audio_classifier.py +324 -0
  447. mediapipe/tasks/python/audio/audio_embedder.py +285 -0
  448. mediapipe/tasks/python/audio/core/__init__.py +16 -0
  449. mediapipe/tasks/python/audio/core/audio_record.py +125 -0
  450. mediapipe/tasks/python/audio/core/audio_task_running_mode.py +29 -0
  451. mediapipe/tasks/python/audio/core/base_audio_task_api.py +181 -0
  452. mediapipe/tasks/python/benchmark/__init__.py +13 -0
  453. mediapipe/tasks/python/benchmark/benchmark_utils.py +70 -0
  454. mediapipe/tasks/python/benchmark/vision/__init__.py +13 -0
  455. mediapipe/tasks/python/benchmark/vision/benchmark.py +99 -0
  456. mediapipe/tasks/python/benchmark/vision/core/__init__.py +14 -0
  457. mediapipe/tasks/python/benchmark/vision/core/base_vision_benchmark_api.py +40 -0
  458. mediapipe/tasks/python/components/__init__.py +13 -0
  459. mediapipe/tasks/python/components/containers/__init__.py +53 -0
  460. mediapipe/tasks/python/components/containers/audio_data.py +137 -0
  461. mediapipe/tasks/python/components/containers/bounding_box.py +73 -0
  462. mediapipe/tasks/python/components/containers/category.py +78 -0
  463. mediapipe/tasks/python/components/containers/classification_result.py +111 -0
  464. mediapipe/tasks/python/components/containers/detections.py +181 -0
  465. mediapipe/tasks/python/components/containers/embedding_result.py +89 -0
  466. mediapipe/tasks/python/components/containers/keypoint.py +77 -0
  467. mediapipe/tasks/python/components/containers/landmark.py +122 -0
  468. mediapipe/tasks/python/components/containers/landmark_detection_result.py +106 -0
  469. mediapipe/tasks/python/components/containers/rect.py +109 -0
  470. mediapipe/tasks/python/components/processors/__init__.py +23 -0
  471. mediapipe/tasks/python/components/processors/classifier_options.py +86 -0
  472. mediapipe/tasks/python/components/utils/__init__.py +13 -0
  473. mediapipe/tasks/python/components/utils/cosine_similarity.py +68 -0
  474. mediapipe/tasks/python/core/__init__.py +13 -0
  475. mediapipe/tasks/python/core/base_options.py +121 -0
  476. mediapipe/tasks/python/core/optional_dependencies.py +25 -0
  477. mediapipe/tasks/python/core/task_info.py +139 -0
  478. mediapipe/tasks/python/genai/__init__.py +14 -0
  479. mediapipe/tasks/python/genai/bundler/__init__.py +23 -0
  480. mediapipe/tasks/python/genai/bundler/llm_bundler.py +130 -0
  481. mediapipe/tasks/python/genai/bundler/llm_bundler_test.py +168 -0
  482. mediapipe/tasks/python/genai/converter/__init__.py +24 -0
  483. mediapipe/tasks/python/genai/converter/converter_base.py +179 -0
  484. mediapipe/tasks/python/genai/converter/converter_factory.py +79 -0
  485. mediapipe/tasks/python/genai/converter/llm_converter.py +374 -0
  486. mediapipe/tasks/python/genai/converter/llm_converter_test.py +63 -0
  487. mediapipe/tasks/python/genai/converter/pytorch_converter.py +318 -0
  488. mediapipe/tasks/python/genai/converter/pytorch_converter_test.py +86 -0
  489. mediapipe/tasks/python/genai/converter/quantization_util.py +516 -0
  490. mediapipe/tasks/python/genai/converter/quantization_util_test.py +259 -0
  491. mediapipe/tasks/python/genai/converter/safetensors_converter.py +580 -0
  492. mediapipe/tasks/python/genai/converter/safetensors_converter_test.py +83 -0
  493. mediapipe/tasks/python/genai/converter/weight_bins_writer.py +120 -0
  494. mediapipe/tasks/python/genai/converter/weight_bins_writer_test.py +95 -0
  495. mediapipe/tasks/python/metadata/__init__.py +13 -0
  496. mediapipe/tasks/python/metadata/flatbuffers_lib/_pywrap_flatbuffers.cpython-310-x86_64-linux-gnu.so +0 -0
  497. mediapipe/tasks/python/metadata/metadata.py +928 -0
  498. mediapipe/tasks/python/metadata/metadata_displayer_cli.py +34 -0
  499. mediapipe/tasks/python/metadata/metadata_writers/__init__.py +13 -0
  500. mediapipe/tasks/python/metadata/metadata_writers/face_stylizer.py +138 -0
  501. mediapipe/tasks/python/metadata/metadata_writers/image_classifier.py +71 -0
  502. mediapipe/tasks/python/metadata/metadata_writers/image_segmenter.py +170 -0
  503. mediapipe/tasks/python/metadata/metadata_writers/metadata_info.py +1166 -0
  504. mediapipe/tasks/python/metadata/metadata_writers/metadata_writer.py +845 -0
  505. mediapipe/tasks/python/metadata/metadata_writers/model_asset_bundle_utils.py +71 -0
  506. mediapipe/tasks/python/metadata/metadata_writers/object_detector.py +331 -0
  507. mediapipe/tasks/python/metadata/metadata_writers/text_classifier.py +119 -0
  508. mediapipe/tasks/python/metadata/metadata_writers/writer_utils.py +91 -0
  509. mediapipe/tasks/python/test/__init__.py +13 -0
  510. mediapipe/tasks/python/test/audio/__init__.py +13 -0
  511. mediapipe/tasks/python/test/audio/audio_classifier_test.py +387 -0
  512. mediapipe/tasks/python/test/audio/audio_embedder_test.py +297 -0
  513. mediapipe/tasks/python/test/test_utils.py +196 -0
  514. mediapipe/tasks/python/test/text/__init__.py +13 -0
  515. mediapipe/tasks/python/test/text/language_detector_test.py +228 -0
  516. mediapipe/tasks/python/test/text/text_classifier_test.py +235 -0
  517. mediapipe/tasks/python/test/text/text_embedder_test.py +326 -0
  518. mediapipe/tasks/python/test/vision/__init__.py +13 -0
  519. mediapipe/tasks/python/test/vision/face_aligner_test.py +190 -0
  520. mediapipe/tasks/python/test/vision/face_detector_test.py +523 -0
  521. mediapipe/tasks/python/test/vision/face_landmarker_test.py +565 -0
  522. mediapipe/tasks/python/test/vision/face_stylizer_test.py +191 -0
  523. mediapipe/tasks/python/test/vision/hand_landmarker_test.py +437 -0
  524. mediapipe/tasks/python/test/vision/holistic_landmarker_test.py +544 -0
  525. mediapipe/tasks/python/test/vision/image_classifier_test.py +657 -0
  526. mediapipe/tasks/python/test/vision/image_embedder_test.py +423 -0
  527. mediapipe/tasks/python/test/vision/image_segmenter_test.py +512 -0
  528. mediapipe/tasks/python/test/vision/interactive_segmenter_test.py +341 -0
  529. mediapipe/tasks/python/test/vision/object_detector_test.py +493 -0
  530. mediapipe/tasks/python/test/vision/pose_landmarker_test.py +518 -0
  531. mediapipe/tasks/python/text/__init__.py +35 -0
  532. mediapipe/tasks/python/text/core/__init__.py +16 -0
  533. mediapipe/tasks/python/text/core/base_text_task_api.py +54 -0
  534. mediapipe/tasks/python/text/language_detector.py +220 -0
  535. mediapipe/tasks/python/text/text_classifier.py +187 -0
  536. mediapipe/tasks/python/text/text_embedder.py +188 -0
  537. mediapipe/tasks/python/vision/__init__.py +90 -0
  538. mediapipe/tasks/python/vision/core/__init__.py +14 -0
  539. mediapipe/tasks/python/vision/core/base_vision_task_api.py +226 -0
  540. mediapipe/tasks/python/vision/core/image_processing_options.py +39 -0
  541. mediapipe/tasks/python/vision/core/vision_task_running_mode.py +31 -0
  542. mediapipe/tasks/python/vision/face_aligner.py +158 -0
  543. mediapipe/tasks/python/vision/face_detector.py +332 -0
  544. mediapipe/tasks/python/vision/face_landmarker.py +3244 -0
  545. mediapipe/tasks/python/vision/face_stylizer.py +158 -0
  546. mediapipe/tasks/python/vision/gesture_recognizer.py +480 -0
  547. mediapipe/tasks/python/vision/hand_landmarker.py +504 -0
  548. mediapipe/tasks/python/vision/holistic_landmarker.py +576 -0
  549. mediapipe/tasks/python/vision/image_classifier.py +358 -0
  550. mediapipe/tasks/python/vision/image_embedder.py +362 -0
  551. mediapipe/tasks/python/vision/image_segmenter.py +433 -0
  552. mediapipe/tasks/python/vision/interactive_segmenter.py +285 -0
  553. mediapipe/tasks/python/vision/object_detector.py +389 -0
  554. mediapipe/tasks/python/vision/pose_landmarker.py +455 -0
  555. mediapipe/util/__init__.py +0 -0
  556. mediapipe/util/analytics/__init__.py +0 -0
  557. mediapipe/util/analytics/mediapipe_log_extension_pb2.py +44 -0
  558. mediapipe/util/analytics/mediapipe_logging_enums_pb2.py +37 -0
  559. mediapipe/util/audio_decoder_pb2.py +33 -0
  560. mediapipe/util/color_pb2.py +33 -0
  561. mediapipe/util/label_map_pb2.py +27 -0
  562. mediapipe/util/render_data_pb2.py +58 -0
  563. mediapipe/util/sequence/__init__.py +14 -0
  564. mediapipe/util/sequence/media_sequence.py +716 -0
  565. mediapipe/util/sequence/media_sequence_test.py +290 -0
  566. mediapipe/util/sequence/media_sequence_util.py +800 -0
  567. mediapipe/util/sequence/media_sequence_util_test.py +389 -0
  568. mediapipe/util/tracking/__init__.py +0 -0
  569. mediapipe/util/tracking/box_detector_pb2.py +39 -0
  570. mediapipe/util/tracking/box_tracker_pb2.py +32 -0
  571. mediapipe/util/tracking/camera_motion_pb2.py +31 -0
  572. mediapipe/util/tracking/flow_packager_pb2.py +60 -0
  573. mediapipe/util/tracking/frame_selection_pb2.py +35 -0
  574. mediapipe/util/tracking/frame_selection_solution_evaluator_pb2.py +28 -0
  575. mediapipe/util/tracking/motion_analysis_pb2.py +35 -0
  576. mediapipe/util/tracking/motion_estimation_pb2.py +66 -0
  577. mediapipe/util/tracking/motion_models_pb2.py +42 -0
  578. mediapipe/util/tracking/motion_saliency_pb2.py +26 -0
  579. mediapipe/util/tracking/push_pull_filtering_pb2.py +26 -0
  580. mediapipe/util/tracking/region_flow_computation_pb2.py +59 -0
  581. mediapipe/util/tracking/region_flow_pb2.py +49 -0
  582. mediapipe/util/tracking/tone_estimation_pb2.py +45 -0
  583. mediapipe/util/tracking/tone_models_pb2.py +32 -0
  584. mediapipe/util/tracking/tracked_detection_manager_config_pb2.py +26 -0
  585. mediapipe/util/tracking/tracking_pb2.py +73 -0
  586. mediapipe_nightly-0.10.21.post20241223.dist-info/LICENSE +218 -0
  587. mediapipe_nightly-0.10.21.post20241223.dist-info/METADATA +199 -0
  588. mediapipe_nightly-0.10.21.post20241223.dist-info/RECORD +593 -0
  589. mediapipe_nightly-0.10.21.post20241223.dist-info/WHEEL +5 -0
  590. mediapipe_nightly-0.10.21.post20241223.dist-info/top_level.txt +4 -0
  591. mediapipe_nightly.libs/libEGL-48f73270.so.1.1.0 +0 -0
  592. mediapipe_nightly.libs/libGLESv2-ed5eda4f.so.2.1.0 +0 -0
  593. mediapipe_nightly.libs/libGLdispatch-64b28464.so.0.0.0 +0 -0
@@ -0,0 +1,716 @@
1
+ """Copyright 2019 The MediaPipe Authors.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
14
+
15
+
16
+ This script defines a large number of getters and setters for storing
17
+ multimedia, such as video or audio, and related machine learning data in
18
+ tf.train.SequenceExamples. These getters and setters simplify sharing
19
+ data by enforcing common patterns for storing data in SequenceExample
20
+ key-value pairs.
21
+
22
+ The constants, macros, and functions are organized into 6 groups: clip
23
+ metadata, clip label related, segment related, bounding-box related, image
24
+ related, feature list related, and keyframe related. The following examples
25
+ will walk through common task structures, but the relevant data to store can
26
+ vary by task.
27
+
28
+ The clip metadata group is generally data about the media and stored in the
29
+ SequenceExample.context. Specifying the metadata enables media pipelines,
30
+ such as MediaPipe, to retrieve that data. Typically, set_clip_data_path,
31
+ set_clip_start_timestamp, and set_clip_end_timestamp define which data to use
32
+ without storing the data itself. Example:
33
+ tensorflow.train.SequenceExample sequence
34
+ set_clip_data_path("/relative/path/to/data.mp4", sequence)
35
+ set_clip_start_timestamp(0, sequence)
36
+ set_clip_end_timestamp(10000000, sequence) # 10 seconds in microseconds.
37
+
38
+ The clip label group adds labels that apply to the entire media clip. To
39
+ annotate that a video clip has a particular label, set the clip metadata
40
+ above and also set the set_clip_label_index and set_clip_label_string. Most
41
+ training pipelines will only use the label index or string, but we recommend
42
+ storing both to improve readability while maintaining ease of use.
43
+ Example:
44
+ set_clip_label_string(("run", "jump"), sequence)
45
+ set_Clip_label_index((35, 47), sequence)
46
+
47
+ The segment group is generally data about time spans within the media clip
48
+ and stored in the SequenceExample.context. In this code, continuous lengths
49
+ of media are called clips, and each clip may have subregions of interest that
50
+ are called segments. To annotate that a video clip has time spans with labels
51
+ set the clip metadata above and use the functions set_segment_start_timestamp,
52
+ set_segment_end_timestamp, set_segment_label_index, and
53
+ set_segment_label_string. Most training pipelines will only use the label index
54
+ or string, but we recommend storing both to improve readability while
55
+ maintaining ease of use. By listing segments as times, the frame rate or other
56
+ properties can change without affecting the labels.
57
+ Example:
58
+ set_segment_start_timestamp((500000, 1000000), sequence) # in microseconds
59
+ set_segment_end_timestamp((2000000, 6000000), sequence)
60
+ set_segment_label_index((35, 47), sequence)
61
+ set_segment_label_string(("run", "jump"), sequence)
62
+
63
+ The bounding box group is useful for identifying spatio-temporal annotations
64
+ for detection, tracking, or action recognition. The exact keys that are
65
+ needed can vary by task, but to annotate a video clip for detection set the
66
+ clip metadata above and use repeatedly call add_bbox, add_bbox_timestamp,
67
+ add_bbox_label_index, and add_bbox_label_string. Most training pipelines will
68
+ only use the label index or string, but we recommend storing both to improve
69
+ readability while maintaining ease of use. Because bounding boxes are
70
+ assigned to timepoints in a video, changing the image frame rate can can
71
+ change the alignment. The media_sequence.h's ReconcileMetadata function can
72
+ align bounding boxes to the nearest image.
73
+
74
+ The image group is useful for storing data as sequential 2D arrays, typically
75
+ encoded as bytes. Images can be RGB images stored as JPEG, discrete masks
76
+ stored as PNG, or some other format. Parameters that are static over time are
77
+ set in the context using set_image_width, set_image_height, set_image_format,
78
+ etc. The series of frames and timestamps are then added with add_image_encoded
79
+ and
80
+ add_image_timestamp. For discrete masks, the class or instance indices can be
81
+ mapped to labels or classes using
82
+ set_class_segmentation_class_label_{index,string} and
83
+ set_instance_segmentation_object_class_index.
84
+
85
+ The feature list group is useful for storing audio and extracted features,
86
+ such as per-frame embeddings. SequenceExamples only store lists of floats per
87
+ timestep, so the dimensions are stored in the context to enable reshaping.
88
+ For example, set_feature_dimensions and repeatedly calling add_feature_floats
89
+ and add_feature_timestamp adds per-frame embeddings. The feature methods also
90
+ support audio features.
91
+
92
+ Macros for common patterns are created in media_sequence_util.py and are used
93
+ here extensively. Because these macros are formulaic, I will only include a
94
+ usage example here in the code rather than repeating documentation for every
95
+ instance. This header defines additional functions to simplify working with
96
+ MediaPipe types.
97
+
98
+ Each msu.create_{TYPE}_context_feature takes a NAME and a KEY. It provides
99
+ setters and getters for SequenceExamples and stores a single value under KEY
100
+ in the context field. The provided functions are has_${NAME}, get_${NAME},
101
+ set_${Name}, and clear_${NAME}.
102
+ Eg.
103
+ tf.train.SequenceExample example
104
+ set_data_path("data_path", example)
105
+ if has_data_path(example):
106
+ data_path = get_data_path(example)
107
+ clear_data_path(example)
108
+
109
+ Each msu.create_{TYPE}_list_context_feature takes a NAME and a KEY. It provides
110
+ setters and getters for SequenceExamples and stores a sequence of values
111
+ under KEY in the context field. The provided functions are has_${NAME},
112
+ get_${NAME}, set_${Name}, clear_${NAME}, get_${NAME}_at, and add_${NAME}.
113
+ Eg.
114
+ tf.train.SequenceExample example
115
+ set_clip_label_string(("run", "jump"), example)
116
+ if has_clip_label_string(example):
117
+ values = get_clip_label_string(example)
118
+ clear_clip_label_string(example)
119
+
120
+ Each msu.create_{TYPE}_feature_list takes a NAME and a KEY. It provides setters
121
+ and getters for SequenceExamples and stores a single value in each feature field
122
+ under KEY of the feature_lists field. The provided functions are has_${NAME},
123
+ get_${NAME}, clear_${NAME}, get_${NAME}_size, get_${NAME}_at, and add_${NAME}.
124
+ tf.train.SequenceExample example
125
+ add_image_timestamp(1000000, example)
126
+ add_image_timestamp(2000000, example)
127
+ if has_image_timestamp(example):
128
+ for i in range(get_image_timestamp_size()):
129
+ timestamp = get_image_timestamp_at(example, i)
130
+ clear_image_timestamp(example)
131
+
132
+ Each VECTOR_{TYPE}_FEATURE_LIST takes a NAME and a KEY. It provides setters
133
+ and getters for SequenceExamples and stores a sequence of values in each
134
+ feature field under KEY of the feature_lists field. The provided functions
135
+ are Has${NAME}, Get${NAME}, Clear${NAME}, Get${NAME}Size, Get${NAME}At, and
136
+ Add${NAME}.
137
+ tf.train.SequenceExample example
138
+ add_bbox_label_string(("run", "jump"), example)
139
+ add_bbox_label_string(("run", "fall"), example)
140
+ if has_bbox_label_string(example):
141
+ for i in range(get_bbox_label_string_size(example)):
142
+ labels = get_bbox_label_string_at(example, i)
143
+ clear_bbox_label_string(example)
144
+
145
+ As described in media_sequence_util.h, each of these functions can take an
146
+ additional string prefix argument as their first argument. The prefix can
147
+ be fixed with a new NAME by using functools.partial. Prefixes are used to
148
+ identify common storage patterns (e.g. storing an image along with the height
149
+ and width) under different names (e.g. storing a left and right image in a
150
+ stereo pair.) An example creating functions such as
151
+ add_left_image_encoded that adds a string under the key "LEFT/image/encoded"
152
+ add_left_image_encoded = msu.function_with_default(add_image_encoded, "LEFT")
153
+ """
154
+
155
+ from __future__ import absolute_import
156
+ from __future__ import division
157
+ from __future__ import print_function
158
+ import numpy as np
159
+ from mediapipe.util.sequence import media_sequence_util
160
+ msu = media_sequence_util
161
+
162
+ _HAS_DYNAMIC_ATTRIBUTES = True
163
+
164
+ ################################## METADATA #################################
165
+ # A unique identifier for each example.
166
+ EXAMPLE_ID_KEY = "example/id"
167
+ # The name o fthe data set, including the version.
168
+ EXAMPLE_DATASET_NAME_KEY = "example/dataset_name"
169
+ # String flags or attributes for this example within a data set.
170
+ EXAMPLE_DATASET_FLAG_STRING_KEY = "example/dataset/flag/string"
171
+ # The relative path to the data on disk from some root directory.
172
+ CLIP_DATA_PATH_KEY = "clip/data_path"
173
+ # Any identifier for the media beyond the data path.
174
+ CLIP_MEDIA_ID_KEY = "clip/media_id"
175
+ # Yet another alternative identifier.
176
+ ALTERNATIVE_CLIP_MEDIA_ID_KEY = "clip/alternative_media_id"
177
+ # The encoded bytes for storing media directly in the SequenceExample.
178
+ CLIP_ENCODED_MEDIA_BYTES_KEY = "clip/encoded_media_bytes"
179
+ # The start time for the encoded media if not preserved during encoding.
180
+ CLIP_ENCODED_MEDIA_START_TIMESTAMP_KEY = "clip/encoded_media_start_timestamp"
181
+ # The start time, in microseconds, for the start of the clip in the media.
182
+ CLIP_START_TIMESTAMP_KEY = "clip/start/timestamp"
183
+ # The end time, in microseconds, for the end of the clip in the media.
184
+ CLIP_END_TIMESTAMP_KEY = "clip/end/timestamp"
185
+ # A list of label indices for this clip.
186
+ CLIP_LABEL_INDEX_KEY = "clip/label/index"
187
+ # A list of label strings for this clip.
188
+ CLIP_LABEL_STRING_KEY = "clip/label/string"
189
+ # A list of label confidences for this clip.
190
+ CLIP_LABEL_CONFIDENCE_KEY = "clip/label/confidence"
191
+ # A list of label start timestamps for this clip.
192
+ CLIP_LABEL_START_TIMESTAMP_KEY = "clip/label/start/timestamp"
193
+ # A list of label end timestamps for this clip.
194
+ CLIP_LABEL_END_TIMESTAMP_KEY = "clip/label/end/timestamp"
195
+ msu.create_bytes_context_feature(
196
+ "example_id", EXAMPLE_ID_KEY, module_dict=globals())
197
+ msu.create_bytes_context_feature(
198
+ "example_dataset_name", EXAMPLE_DATASET_NAME_KEY, module_dict=globals())
199
+ msu.create_bytes_list_context_feature(
200
+ "example_dataset_flag_string", EXAMPLE_DATASET_FLAG_STRING_KEY,
201
+ module_dict=globals())
202
+ msu.create_bytes_context_feature(
203
+ "clip_media_id", CLIP_MEDIA_ID_KEY, module_dict=globals())
204
+ msu.create_bytes_context_feature(
205
+ "clip_alternative_media_id", ALTERNATIVE_CLIP_MEDIA_ID_KEY,
206
+ module_dict=globals())
207
+ msu.create_bytes_context_feature(
208
+ "clip_encoded_media_bytes", CLIP_ENCODED_MEDIA_BYTES_KEY,
209
+ module_dict=globals())
210
+ msu.create_bytes_context_feature(
211
+ "clip_data_path", CLIP_DATA_PATH_KEY, module_dict=globals())
212
+ msu.create_int_context_feature(
213
+ "clip_encoded_media_start_timestamp",
214
+ CLIP_ENCODED_MEDIA_START_TIMESTAMP_KEY, module_dict=globals())
215
+ msu.create_int_context_feature(
216
+ "clip_start_timestamp", CLIP_START_TIMESTAMP_KEY, module_dict=globals())
217
+ msu.create_int_context_feature(
218
+ "clip_end_timestamp", CLIP_END_TIMESTAMP_KEY, module_dict=globals())
219
+ msu.create_bytes_list_context_feature(
220
+ "clip_label_string", CLIP_LABEL_STRING_KEY, module_dict=globals())
221
+ msu.create_int_list_context_feature(
222
+ "clip_label_index", CLIP_LABEL_INDEX_KEY, module_dict=globals())
223
+ msu.create_float_list_context_feature(
224
+ "clip_label_confidence", CLIP_LABEL_CONFIDENCE_KEY, module_dict=globals())
225
+ msu.create_int_list_context_feature(
226
+ "clip_label_start_timestamp",
227
+ CLIP_LABEL_START_TIMESTAMP_KEY,
228
+ module_dict=globals())
229
+ msu.create_int_list_context_feature(
230
+ "clip_label_end_timestamp",
231
+ CLIP_LABEL_END_TIMESTAMP_KEY,
232
+ module_dict=globals())
233
+
234
+ ################################## SEGMENTS #################################
235
+ # A list of segment start times in microseconds.
236
+ SEGMENT_START_TIMESTAMP_KEY = "segment/start/timestamp"
237
+ # A list of indices marking the first frame index >= the start timestamp.
238
+ SEGMENT_START_INDEX_KEY = "segment/start/index"
239
+ # A list of segment end times in microseconds.
240
+ SEGMENT_END_TIMESTAMP_KEY = "segment/end/timestamp"
241
+ # A list of indices marking the last frame index <= the end timestamp.
242
+ SEGMENT_END_INDEX_KEY = "segment/end/index"
243
+ # A list with the label index for each segment.
244
+ # Multiple labels for the same segment are encoded as repeated segments.
245
+ SEGMENT_LABEL_INDEX_KEY = "segment/label/index"
246
+ # A list with the label string for each segment.
247
+ # Multiple labels for the same segment are encoded as repeated segments.
248
+ SEGMENT_LABEL_STRING_KEY = "segment/label/string"
249
+ # A list with the label confidence for each segment.
250
+ # Multiple labels for the same segment are encoded as repeated segments.
251
+ SEGMENT_LABEL_CONFIDENCE_KEY = "segment/label/confidence"
252
+ msu.create_bytes_list_context_feature(
253
+ "segment_label_string", SEGMENT_LABEL_STRING_KEY, module_dict=globals())
254
+ msu.create_int_list_context_feature(
255
+ "segment_start_timestamp",
256
+ SEGMENT_START_TIMESTAMP_KEY, module_dict=globals())
257
+ msu.create_int_list_context_feature(
258
+ "segment_start_index", SEGMENT_START_INDEX_KEY, module_dict=globals())
259
+ msu.create_int_list_context_feature(
260
+ "segment_end_timestamp", SEGMENT_END_TIMESTAMP_KEY, module_dict=globals())
261
+ msu.create_int_list_context_feature(
262
+ "segment_end_index", SEGMENT_END_INDEX_KEY, module_dict=globals())
263
+ msu.create_int_list_context_feature(
264
+ "segment_label_index", SEGMENT_LABEL_INDEX_KEY, module_dict=globals())
265
+ msu.create_float_list_context_feature(
266
+ "segment_label_confidence",
267
+ SEGMENT_LABEL_CONFIDENCE_KEY, module_dict=globals())
268
+
269
+ ########################## REGIONS / BOUNDING BOXES #########################
270
+
271
+ # Normalized coordinates of bounding boxes are provided in four lists to avoid
272
+ # order ambiguity. We provide additional accessors for complete bounding boxes
273
+ # below.
274
+ REGION_BBOX_YMIN_KEY = "region/bbox/ymin"
275
+ REGION_BBOX_XMIN_KEY = "region/bbox/xmin"
276
+ REGION_BBOX_YMAX_KEY = "region/bbox/ymax"
277
+ REGION_BBOX_XMAX_KEY = "region/bbox/xmax"
278
+ # The point and radius can denote keypoints.
279
+ REGION_POINT_X_KEY = "region/point/x"
280
+ REGION_POINT_Y_KEY = "region/point/y"
281
+ REGION_RADIUS_KEY = "region/radius"
282
+ # The 3D point can denote keypoints.
283
+ REGION_3D_POINT_X_KEY = "region/3d_point/x"
284
+ REGION_3D_POINT_Y_KEY = "region/3d_point/y"
285
+ REGION_3D_POINT_Z_KEY = "region/3d_point/z"
286
+ # The number of regions at that timestep.
287
+ REGION_NUM_REGIONS_KEY = "region/num_regions"
288
+ # Whether that timestep is annotated for regions.
289
+ # (Disambiguates between multiple meanings of num_regions = 0.)
290
+ REGION_IS_ANNOTATED_KEY = "region/is_annotated"
291
+ # A list indicating if each region is generated (1) or manually annotated (0)
292
+ REGION_IS_GENERATED_KEY = "region/is_generated"
293
+ # A list indicating if each region is occluded (1) or visible (0)
294
+ REGION_IS_OCCLUDED_KEY = "region/is_occluded"
295
+ # Lists with a label for each region.
296
+ # Multiple labels for the same region require duplicating the region.
297
+ REGION_LABEL_INDEX_KEY = "region/label/index"
298
+ REGION_LABEL_STRING_KEY = "region/label/string"
299
+ REGION_LABEL_CONFIDENCE_KEY = "region/label/confidence"
300
+ # Lists with a track identifier for each region.
301
+ # Multiple track identifier for the same region require duplicating the region.
302
+ REGION_TRACK_INDEX_KEY = "region/track/index"
303
+ REGION_TRACK_STRING_KEY = "region/track/string"
304
+ REGION_TRACK_CONFIDENCE_KEY = "region/track/confidence"
305
+ # Lists with a class for each region. In general, prefer to use the label
306
+ # fields. These class fields exist to distinguish tracks when different classes
307
+ # have overlapping track ids.
308
+ REGION_CLASS_INDEX_KEY = "region/class/index"
309
+ REGION_CLASS_STRING_KEY = "region/class/string"
310
+ REGION_CLASS_CONFIDENCE_KEY = "region/class/confidence"
311
+ # The timestamp of the region annotation in microseconds.
312
+ REGION_TIMESTAMP_KEY = "region/timestamp"
313
+ # The original timestamp in microseconds for region annotations.
314
+ # If regions are aligned to image frames, this field preserves the original
315
+ # timestamps.
316
+ REGION_UNMODIFIED_TIMESTAMP_KEY = "region/unmodified_timestamp"
317
+ # The list of region parts expected in this example.
318
+ REGION_PARTS_KEY = "region/parts"
319
+ # The dimensions of each embedding per region / bounding box.
320
+ REGION_EMBEDDING_DIMENSIONS_PER_REGION_KEY = (
321
+ "region/embedding/dimensions_per_region")
322
+ # The format encoding embeddings as strings.
323
+ REGION_EMBEDDING_FORMAT_KEY = "region/embedding/format"
324
+ # An embedding for each region. The length of each list must be the product of
325
+ # the number of regions and the product of the embedding dimensions.
326
+ REGION_EMBEDDING_FLOAT_KEY = "region/embedding/float"
327
+ # A string encoded embedding for each regions.
328
+ REGION_EMBEDDING_ENCODED_KEY = "region/embedding/encoded"
329
+ # The confidence of the embedding.
330
+ REGION_EMBEDDING_CONFIDENCE_KEY = "region/embedding/confidence"
331
+
332
+
333
+ def _create_region_with_prefix(name, prefix):
334
+ """Create multiple accessors for region based data."""
335
+ msu.create_int_feature_list(name + "_num_regions", REGION_NUM_REGIONS_KEY,
336
+ prefix=prefix, module_dict=globals())
337
+ msu.create_int_feature_list(name + "_is_annotated", REGION_IS_ANNOTATED_KEY,
338
+ prefix=prefix, module_dict=globals())
339
+ msu.create_int_list_feature_list(
340
+ name + "_is_occluded", REGION_IS_OCCLUDED_KEY,
341
+ prefix=prefix, module_dict=globals())
342
+ msu.create_int_list_feature_list(
343
+ name + "_is_generated", REGION_IS_GENERATED_KEY,
344
+ prefix=prefix, module_dict=globals())
345
+ msu.create_int_feature_list(name + "_timestamp", REGION_TIMESTAMP_KEY,
346
+ prefix=prefix, module_dict=globals())
347
+ msu.create_int_feature_list(
348
+ name + "_unmodified_timestamp", REGION_UNMODIFIED_TIMESTAMP_KEY,
349
+ prefix=prefix, module_dict=globals())
350
+ msu.create_bytes_list_feature_list(
351
+ name + "_label_string", REGION_LABEL_STRING_KEY,
352
+ prefix=prefix, module_dict=globals())
353
+ msu.create_int_list_feature_list(
354
+ name + "_label_index", REGION_LABEL_INDEX_KEY,
355
+ prefix=prefix, module_dict=globals())
356
+ msu.create_float_list_feature_list(
357
+ name + "_label_confidence", REGION_LABEL_CONFIDENCE_KEY,
358
+ prefix=prefix, module_dict=globals())
359
+ msu.create_bytes_list_feature_list(
360
+ name + "_class_string", REGION_CLASS_STRING_KEY,
361
+ prefix=prefix, module_dict=globals())
362
+ msu.create_int_list_feature_list(
363
+ name + "_class_index", REGION_CLASS_INDEX_KEY,
364
+ prefix=prefix, module_dict=globals())
365
+ msu.create_float_list_feature_list(
366
+ name + "_class_confidence", REGION_CLASS_CONFIDENCE_KEY,
367
+ prefix=prefix, module_dict=globals())
368
+ msu.create_bytes_list_feature_list(
369
+ name + "_track_string", REGION_TRACK_STRING_KEY,
370
+ prefix=prefix, module_dict=globals())
371
+ msu.create_int_list_feature_list(
372
+ name + "_track_index", REGION_TRACK_INDEX_KEY,
373
+ prefix=prefix, module_dict=globals())
374
+ msu.create_float_list_feature_list(
375
+ name + "_track_confidence", REGION_TRACK_CONFIDENCE_KEY,
376
+ prefix=prefix, module_dict=globals())
377
+ msu.create_float_list_feature_list(name + "_ymin", REGION_BBOX_YMIN_KEY,
378
+ prefix=prefix, module_dict=globals())
379
+ msu.create_float_list_feature_list(name + "_xmin", REGION_BBOX_XMIN_KEY,
380
+ prefix=prefix, module_dict=globals())
381
+ msu.create_float_list_feature_list(name + "_ymax", REGION_BBOX_YMAX_KEY,
382
+ prefix=prefix, module_dict=globals())
383
+ msu.create_float_list_feature_list(name + "_xmax", REGION_BBOX_XMAX_KEY,
384
+ prefix=prefix, module_dict=globals())
385
+ msu.create_float_list_feature_list(name + "_point_x", REGION_POINT_X_KEY,
386
+ prefix=prefix, module_dict=globals())
387
+ msu.create_float_list_feature_list(name + "_point_y", REGION_POINT_Y_KEY,
388
+ prefix=prefix, module_dict=globals())
389
+ msu.create_float_list_feature_list(
390
+ name + "_3d_point_x", REGION_3D_POINT_X_KEY,
391
+ prefix=prefix, module_dict=globals())
392
+ msu.create_float_list_feature_list(
393
+ name + "_3d_point_y", REGION_3D_POINT_Y_KEY,
394
+ prefix=prefix, module_dict=globals())
395
+ msu.create_float_list_feature_list(
396
+ name + "_3d_point_z", REGION_3D_POINT_Z_KEY,
397
+ prefix=prefix, module_dict=globals())
398
+ msu.create_bytes_list_context_feature(name + "_parts",
399
+ REGION_PARTS_KEY,
400
+ prefix=prefix, module_dict=globals())
401
+ msu.create_float_list_context_feature(
402
+ name + "_embedding_dimensions_per_region",
403
+ REGION_EMBEDDING_DIMENSIONS_PER_REGION_KEY,
404
+ prefix=prefix, module_dict=globals())
405
+ msu.create_bytes_context_feature(name + "_embedding_format",
406
+ REGION_EMBEDDING_FORMAT_KEY,
407
+ prefix=prefix, module_dict=globals())
408
+ msu.create_float_list_feature_list(name + "_embedding_floats",
409
+ REGION_EMBEDDING_FLOAT_KEY,
410
+ prefix=prefix, module_dict=globals())
411
+ msu.create_bytes_list_feature_list(name + "_embedding_encoded",
412
+ REGION_EMBEDDING_ENCODED_KEY,
413
+ prefix=prefix, module_dict=globals())
414
+ msu.create_float_list_feature_list(name + "_embedding_confidence",
415
+ REGION_EMBEDDING_CONFIDENCE_KEY,
416
+ prefix=prefix, module_dict=globals())
417
+ # pylint: disable=undefined-variable
418
+ def get_prefixed_bbox_at(index, sequence_example, prefix):
419
+ return np.stack((
420
+ get_bbox_ymin_at(index, sequence_example, prefix=prefix),
421
+ get_bbox_xmin_at(index, sequence_example, prefix=prefix),
422
+ get_bbox_ymax_at(index, sequence_example, prefix=prefix),
423
+ get_bbox_xmax_at(index, sequence_example, prefix=prefix)),
424
+ 1)
425
+ def add_prefixed_bbox(values, sequence_example, prefix):
426
+ values = np.array(values)
427
+ if values.size == 0:
428
+ add_bbox_ymin([], sequence_example, prefix=prefix)
429
+ add_bbox_xmin([], sequence_example, prefix=prefix)
430
+ add_bbox_ymax([], sequence_example, prefix=prefix)
431
+ add_bbox_xmax([], sequence_example, prefix=prefix)
432
+ else:
433
+ add_bbox_ymin(values[:, 0], sequence_example, prefix=prefix)
434
+ add_bbox_xmin(values[:, 1], sequence_example, prefix=prefix)
435
+ add_bbox_ymax(values[:, 2], sequence_example, prefix=prefix)
436
+ add_bbox_xmax(values[:, 3], sequence_example, prefix=prefix)
437
+ def get_prefixed_bbox_size(sequence_example, prefix):
438
+ return get_bbox_ymin_size(sequence_example, prefix=prefix)
439
+ def has_prefixed_bbox(sequence_example, prefix):
440
+ return has_bbox_ymin(sequence_example, prefix=prefix)
441
+ def clear_prefixed_bbox(sequence_example, prefix):
442
+ clear_bbox_ymin(sequence_example, prefix=prefix)
443
+ clear_bbox_xmin(sequence_example, prefix=prefix)
444
+ clear_bbox_ymax(sequence_example, prefix=prefix)
445
+ clear_bbox_xmax(sequence_example, prefix=prefix)
446
+ def get_prefixed_point_at(index, sequence_example, prefix):
447
+ return np.stack((
448
+ get_bbox_point_y_at(index, sequence_example, prefix=prefix),
449
+ get_bbox_point_x_at(index, sequence_example, prefix=prefix)),
450
+ 1)
451
+ def add_prefixed_point(values, sequence_example, prefix):
452
+ add_bbox_point_y(values[:, 0], sequence_example, prefix=prefix)
453
+ add_bbox_point_x(values[:, 1], sequence_example, prefix=prefix)
454
+ def get_prefixed_point_size(sequence_example, prefix):
455
+ return get_bbox_point_y_size(sequence_example, prefix=prefix)
456
+ def has_prefixed_point(sequence_example, prefix):
457
+ return has_bbox_point_y(sequence_example, prefix=prefix)
458
+ def clear_prefixed_point(sequence_example, prefix):
459
+ clear_bbox_point_y(sequence_example, prefix=prefix)
460
+ clear_bbox_point_x(sequence_example, prefix=prefix)
461
+ def get_prefixed_3d_point_at(index, sequence_example, prefix):
462
+ return np.stack((
463
+ get_bbox_3d_point_x_at(index, sequence_example, prefix=prefix),
464
+ get_bbox_3d_point_y_at(index, sequence_example, prefix=prefix),
465
+ get_bbox_3d_point_z_at(index, sequence_example, prefix=prefix)),
466
+ 1)
467
+ def add_prefixed_3d_point(values, sequence_example, prefix):
468
+ add_bbox_3d_point_x(values[:, 0], sequence_example, prefix=prefix)
469
+ add_bbox_3d_point_y(values[:, 1], sequence_example, prefix=prefix)
470
+ add_bbox_3d_point_z(values[:, 2], sequence_example, prefix=prefix)
471
+ def get_prefixed_3d_point_size(sequence_example, prefix):
472
+ return get_bbox_3d_point_x_size(sequence_example, prefix=prefix)
473
+ def has_prefixed_3d_point(sequence_example, prefix):
474
+ return has_bbox_3d_point_x(sequence_example, prefix=prefix)
475
+ def clear_prefixed_3d_point(sequence_example, prefix):
476
+ clear_bbox_3d_point_x(sequence_example, prefix=prefix)
477
+ clear_bbox_3d_point_y(sequence_example, prefix=prefix)
478
+ clear_bbox_3d_point_z(sequence_example, prefix=prefix)
479
+ # pylint: enable=undefined-variable
480
+ msu.add_functions_to_module({
481
+ "get_" + name + "_at":
482
+ msu.function_with_default(get_prefixed_bbox_at, prefix),
483
+ "add_" + name:
484
+ msu.function_with_default(add_prefixed_bbox, prefix),
485
+ "get_" + name + "_size":
486
+ msu.function_with_default(get_prefixed_bbox_size, prefix),
487
+ "has_" + name:
488
+ msu.function_with_default(has_prefixed_bbox, prefix),
489
+ "clear_" + name:
490
+ msu.function_with_default(clear_prefixed_bbox, prefix),
491
+ }, module_dict=globals())
492
+ msu.add_functions_to_module({
493
+ "get_" + name + "_point_at":
494
+ msu.function_with_default(get_prefixed_point_at, prefix),
495
+ "add_" + name + "_point":
496
+ msu.function_with_default(add_prefixed_point, prefix),
497
+ "get_" + name + "_point_size":
498
+ msu.function_with_default(get_prefixed_point_size, prefix),
499
+ "has_" + name + "_point":
500
+ msu.function_with_default(has_prefixed_point, prefix),
501
+ "clear_" + name + "_point":
502
+ msu.function_with_default(clear_prefixed_point, prefix),
503
+ }, module_dict=globals())
504
+ msu.add_functions_to_module({
505
+ "get_" + name + "_3d_point_at":
506
+ msu.function_with_default(get_prefixed_3d_point_at, prefix),
507
+ "add_" + name + "_3d_point":
508
+ msu.function_with_default(add_prefixed_3d_point, prefix),
509
+ "get_" + name + "_3d_point_size":
510
+ msu.function_with_default(get_prefixed_3d_point_size, prefix),
511
+ "has_" + name + "_3d_point":
512
+ msu.function_with_default(has_prefixed_3d_point, prefix),
513
+ "clear_" + name + "_3d_point":
514
+ msu.function_with_default(clear_prefixed_3d_point, prefix),
515
+ }, module_dict=globals())
516
+
517
+
518
+ PREDICTED_PREFIX = "PREDICTED"
519
+ _create_region_with_prefix("bbox", "")
520
+ _create_region_with_prefix("predicted_bbox", PREDICTED_PREFIX)
521
+
522
+
523
+ ################################### IMAGES #################################
524
+ # The format the images are encoded as (e.g. "JPEG", "PNG")
525
+ IMAGE_FORMAT_KEY = "image/format"
526
+ # The number of channels in the image.
527
+ IMAGE_CHANNELS_KEY = "image/channels"
528
+ # The colorspace of the iamge.
529
+ IMAGE_COLORSPACE_KEY = "image/colorspace"
530
+ # The height of the image in pixels.
531
+ IMAGE_HEIGHT_KEY = "image/height"
532
+ # The width of the image in pixels.
533
+ IMAGE_WIDTH_KEY = "image/width"
534
+ # frame rate in images/second of media.
535
+ IMAGE_FRAME_RATE_KEY = "image/frame_rate"
536
+ # The maximum values if the images were saturated and normalized for encoding.
537
+ IMAGE_SATURATION_KEY = "image/saturation"
538
+ # The listing from discrete image values (as indices) to class indices.
539
+ IMAGE_CLASS_LABEL_INDEX_KEY = "image/class/label/index"
540
+ # The listing from discrete image values (as indices) to class strings.
541
+ IMAGE_CLASS_LABEL_STRING_KEY = "image/class/label/string"
542
+ # The listing from discrete instance indices to class indices they embody.
543
+ IMAGE_OBJECT_CLASS_INDEX_KEY = "image/object/class/index"
544
+ # The encoded image frame.
545
+ IMAGE_ENCODED_KEY = "image/encoded"
546
+ # Multiple images from the same timestep (e.g. multiview video).
547
+ IMAGE_MULTI_ENCODED_KEY = "image/multi_encoded"
548
+ # The timestamp of the frame in microseconds.
549
+ IMAGE_TIMESTAMP_KEY = "image/timestamp"
550
+ # A per image label if specific frames have labels.
551
+ # If time spans have labels, segments are preferred to allow changing rates.
552
+ IMAGE_LABEL_INDEX_KEY = "image/label/index"
553
+ IMAGE_LABEL_STRING_KEY = "image/label/string"
554
+ IMAGE_LABEL_CONFIDENCE_KEY = "image/label/confidence"
555
+ # The path of the image file if it did not come from a media clip.
556
+ IMAGE_DATA_PATH_KEY = "image/data_path"
557
+
558
+
559
+ def _create_image_with_prefix(name, prefix):
560
+ """Create multiple accessors for image based data."""
561
+ msu.create_bytes_context_feature(name + "_format", IMAGE_FORMAT_KEY,
562
+ prefix=prefix, module_dict=globals())
563
+ msu.create_bytes_context_feature(name + "_colorspace", IMAGE_COLORSPACE_KEY,
564
+ prefix=prefix, module_dict=globals())
565
+ msu.create_int_context_feature(name + "_channels", IMAGE_CHANNELS_KEY,
566
+ prefix=prefix, module_dict=globals())
567
+ msu.create_int_context_feature(name + "_height", IMAGE_HEIGHT_KEY,
568
+ prefix=prefix, module_dict=globals())
569
+ msu.create_int_context_feature(name + "_width", IMAGE_WIDTH_KEY,
570
+ prefix=prefix, module_dict=globals())
571
+ msu.create_bytes_feature_list(name + "_encoded", IMAGE_ENCODED_KEY,
572
+ prefix=prefix, module_dict=globals())
573
+ msu.create_float_context_feature(name + "_frame_rate", IMAGE_FRAME_RATE_KEY,
574
+ prefix=prefix, module_dict=globals())
575
+ msu.create_bytes_list_context_feature(
576
+ name + "_class_label_string", IMAGE_CLASS_LABEL_STRING_KEY,
577
+ prefix=prefix, module_dict=globals())
578
+ msu.create_int_list_context_feature(
579
+ name + "_class_label_index", IMAGE_CLASS_LABEL_INDEX_KEY,
580
+ prefix=prefix, module_dict=globals())
581
+ msu.create_int_list_context_feature(
582
+ name + "_object_class_index", IMAGE_OBJECT_CLASS_INDEX_KEY,
583
+ prefix=prefix, module_dict=globals())
584
+ msu.create_bytes_context_feature(name + "_data_path", IMAGE_DATA_PATH_KEY,
585
+ prefix=prefix, module_dict=globals())
586
+ msu.create_int_feature_list(name + "_timestamp", IMAGE_TIMESTAMP_KEY,
587
+ prefix=prefix, module_dict=globals())
588
+ msu.create_bytes_list_feature_list(name + "_multi_encoded",
589
+ IMAGE_MULTI_ENCODED_KEY, prefix=prefix,
590
+ module_dict=globals())
591
+ FORWARD_FLOW_PREFIX = "FORWARD_FLOW"
592
+ CLASS_SEGMENTATION_PREFIX = "CLASS_SEGMENTATION"
593
+ INSTANCE_SEGMENTATION_PREFIX = "INSTANCE_SEGMENTATION"
594
+ _create_image_with_prefix("image", "")
595
+ _create_image_with_prefix("forward_flow", FORWARD_FLOW_PREFIX)
596
+ _create_image_with_prefix("class_segmentation", CLASS_SEGMENTATION_PREFIX)
597
+ _create_image_with_prefix("instance_segmentation", INSTANCE_SEGMENTATION_PREFIX)
598
+
599
+ ################################## TEXT #################################
600
+ # Which language text tokens are likely to be in.
601
+ TEXT_LANGUAGE_KEY = "text/language"
602
+ # A large block of text that applies to the media.
603
+ TEXT_CONTEXT_CONTENT_KEY = "text/context/content"
604
+ # A large block of text that applies to the media as token ids.
605
+ TEXT_CONTEXT_TOKEN_ID_KEY = "text/context/token_id"
606
+ # A large block of text that applies to the media as embeddings.
607
+ TEXT_CONTEXT_EMBEDDING_KEY = "text/context/embedding"
608
+
609
+ # The text contents for a given time.
610
+ TEXT_CONTENT_KEY = "text/content"
611
+ # The start time for the text becoming relevant.
612
+ TEXT_TIMESTAMP_KEY = "text/timestamp"
613
+ # The duration where the text is relevant.
614
+ TEXT_DURATION_KEY = "text/duration"
615
+ # The confidence that this is the correct text.
616
+ TEXT_CONFIDENCE_KEY = "text/confidence"
617
+ # A floating point embedding corresponding to the text.
618
+ TEXT_EMBEDDING_KEY = "text/embedding"
619
+ # An integer id corresponding to the text.
620
+ TEXT_TOKEN_ID_KEY = "text/token/id"
621
+
622
+ msu.create_bytes_context_feature(
623
+ "text_language", TEXT_LANGUAGE_KEY, module_dict=globals())
624
+ msu.create_bytes_context_feature(
625
+ "text_context_content", TEXT_CONTEXT_CONTENT_KEY, module_dict=globals())
626
+ msu.create_int_list_context_feature(
627
+ "text_context_token_id", TEXT_CONTEXT_TOKEN_ID_KEY, module_dict=globals())
628
+ msu.create_float_list_context_feature(
629
+ "text_context_embedding", TEXT_CONTEXT_EMBEDDING_KEY, module_dict=globals())
630
+ msu.create_bytes_feature_list(
631
+ "text_content", TEXT_CONTENT_KEY, module_dict=globals())
632
+ msu.create_int_feature_list(
633
+ "text_timestamp", TEXT_TIMESTAMP_KEY, module_dict=globals())
634
+ msu.create_int_feature_list(
635
+ "text_duration", TEXT_DURATION_KEY, module_dict=globals())
636
+ msu.create_float_feature_list(
637
+ "text_confidence", TEXT_CONFIDENCE_KEY, module_dict=globals())
638
+ msu.create_float_list_feature_list(
639
+ "text_embedding", TEXT_EMBEDDING_KEY, module_dict=globals())
640
+ msu.create_int_feature_list(
641
+ "text_token_id", TEXT_TOKEN_ID_KEY, module_dict=globals())
642
+
643
+ ################################## FEATURES #################################
644
+ # The dimensions of the feature.
645
+ FEATURE_DIMENSIONS_KEY = "feature/dimensions"
646
+ # The rate the features are extracted per second of media.
647
+ FEATURE_RATE_KEY = "feature/rate"
648
+ # The encoding format if any for the feature.
649
+ FEATURE_BYTES_FORMAT_KEY = "feature/bytes/format"
650
+ # For audio, the rate the samples are extracted per second of media.
651
+ FEATURE_SAMPLE_RATE_KEY = "feature/sample_rate"
652
+ # For audio, the number of channels per extracted feature.
653
+ FEATURE_NUM_CHANNELS_KEY = "feature/num_channels"
654
+ # For audio, th enumber of samples per extracted feature.
655
+ FEATURE_NUM_SAMPLES_KEY = "feature/num_samples"
656
+ # For audio, the rate the features are extracted per second of media.
657
+ FEATURE_PACKET_RATE_KEY = "feature/packet_rate"
658
+ # For audio, the original audio sampling rate the feature is derived from.
659
+ FEATURE_AUDIO_SAMPLE_RATE_KEY = "feature/audio_sample_rate"
660
+ # The feature as a list of floats.
661
+ FEATURE_FLOATS_KEY = "feature/floats"
662
+ # The feature as a list of bytes. May be encoded.
663
+ FEATURE_BYTES_KEY = "feature/bytes"
664
+ # The feature as a list of ints.
665
+ FEATURE_INTS_KEY = "feature/ints"
666
+ # The timestamp, in microseconds, of the feature.
667
+ FEATURE_TIMESTAMP_KEY = "feature/timestamp"
668
+ # It is occasionally useful to indicate that a feature applies to a given range.
669
+ # This should be used for features only and annotations should be provided as
670
+ # segments.
671
+ FEATURE_DURATION_KEY = "feature/duration"
672
+ # Encodes an optional confidence score for the generated features.
673
+ FEATURE_CONFIDENCE_KEY = "feature/confidence"
674
+ # The feature as a list of floats in the context.
675
+ CONTEXT_FEATURE_FLOATS_KEY = "context_feature/floats"
676
+ # The feature as a list of bytes in the context. May be encoded.
677
+ CONTEXT_FEATURE_BYTES_KEY = "context_feature/bytes"
678
+ # The feature as a list of ints in the context.
679
+ CONTEXT_FEATURE_INTS_KEY = "context_feature/ints"
680
+
681
+ msu.create_int_list_context_feature(
682
+ "feature_dimensions", FEATURE_DIMENSIONS_KEY, module_dict=globals())
683
+ msu.create_float_context_feature(
684
+ "feature_rate", FEATURE_RATE_KEY, module_dict=globals())
685
+ msu.create_bytes_context_feature(
686
+ "feature_bytes_format", FEATURE_BYTES_FORMAT_KEY, module_dict=globals())
687
+ msu.create_float_context_feature(
688
+ "feature_sample_rate", FEATURE_SAMPLE_RATE_KEY, module_dict=globals())
689
+ msu.create_int_context_feature(
690
+ "feature_num_channels", FEATURE_NUM_CHANNELS_KEY, module_dict=globals())
691
+ msu.create_int_context_feature(
692
+ "feature_num_samples", FEATURE_NUM_SAMPLES_KEY, module_dict=globals())
693
+ msu.create_float_context_feature(
694
+ "feature_packet_rate", FEATURE_PACKET_RATE_KEY, module_dict=globals())
695
+ msu.create_float_context_feature(
696
+ "feature_audio_sample_rate", FEATURE_AUDIO_SAMPLE_RATE_KEY,
697
+ module_dict=globals())
698
+ msu.create_float_list_feature_list(
699
+ "feature_floats", FEATURE_FLOATS_KEY, module_dict=globals())
700
+ msu.create_bytes_list_feature_list(
701
+ "feature_bytes", FEATURE_BYTES_KEY, module_dict=globals())
702
+ msu.create_int_list_feature_list(
703
+ "feature_ints", FEATURE_INTS_KEY, module_dict=globals())
704
+ msu.create_int_feature_list(
705
+ "feature_timestamp", FEATURE_TIMESTAMP_KEY, module_dict=globals())
706
+ msu.create_int_list_feature_list(
707
+ "feature_duration", FEATURE_DURATION_KEY, module_dict=globals())
708
+ msu.create_float_list_feature_list(
709
+ "feature_confidence", FEATURE_CONFIDENCE_KEY, module_dict=globals())
710
+ msu.create_float_list_context_feature(
711
+ "context_feature_floats", CONTEXT_FEATURE_FLOATS_KEY, module_dict=globals())
712
+ msu.create_bytes_list_context_feature(
713
+ "context_feature_bytes", CONTEXT_FEATURE_BYTES_KEY, module_dict=globals())
714
+ msu.create_int_list_context_feature(
715
+ "context_feature_ints", CONTEXT_FEATURE_INTS_KEY, module_dict=globals())
716
+