megadetector-utils 5.0.24__tar.gz

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 (214) hide show
  1. megadetector_utils-5.0.24/LICENSE +19 -0
  2. megadetector_utils-5.0.24/PKG-INFO +75 -0
  3. megadetector_utils-5.0.24/README-package-utils.md +23 -0
  4. megadetector_utils-5.0.24/README.md +271 -0
  5. megadetector_utils-5.0.24/megadetector/api/__init__.py +0 -0
  6. megadetector_utils-5.0.24/megadetector/api/batch_processing/__init__.py +0 -0
  7. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/__init__.py +0 -0
  8. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/batch_service/__init__.py +0 -0
  9. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/batch_service/score.py +439 -0
  10. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server.py +294 -0
  11. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_api_config.py +97 -0
  12. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_app_config.py +55 -0
  13. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_batch_job_manager.py +220 -0
  14. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_job_status_table.py +149 -0
  15. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_orchestration.py +360 -0
  16. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core/server_utils.py +88 -0
  17. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core_support/__init__.py +0 -0
  18. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_core_support/aggregate_results_manually.py +46 -0
  19. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_support/__init__.py +0 -0
  20. megadetector_utils-5.0.24/megadetector/api/batch_processing/api_support/summarize_daily_activity.py +152 -0
  21. megadetector_utils-5.0.24/megadetector/api/batch_processing/data_preparation/__init__.py +0 -0
  22. megadetector_utils-5.0.24/megadetector/api/batch_processing/integration/digiKam/setup.py +6 -0
  23. megadetector_utils-5.0.24/megadetector/api/batch_processing/integration/digiKam/xmp_integration.py +465 -0
  24. megadetector_utils-5.0.24/megadetector/api/batch_processing/integration/eMammal/test_scripts/config_template.py +5 -0
  25. megadetector_utils-5.0.24/megadetector/api/batch_processing/integration/eMammal/test_scripts/push_annotations_to_emammal.py +125 -0
  26. megadetector_utils-5.0.24/megadetector/api/batch_processing/integration/eMammal/test_scripts/select_images_for_testing.py +55 -0
  27. megadetector_utils-5.0.24/megadetector/api/synchronous/__init__.py +0 -0
  28. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/animal_detection_api/__init__.py +0 -0
  29. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/animal_detection_api/api_backend.py +151 -0
  30. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/animal_detection_api/api_frontend.py +263 -0
  31. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/animal_detection_api/config.py +35 -0
  32. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/tests/__init__.py +0 -0
  33. megadetector_utils-5.0.24/megadetector/api/synchronous/api_core/tests/load_test.py +110 -0
  34. megadetector_utils-5.0.24/megadetector/classification/__init__.py +0 -0
  35. megadetector_utils-5.0.24/megadetector/classification/aggregate_classifier_probs.py +108 -0
  36. megadetector_utils-5.0.24/megadetector/classification/analyze_failed_images.py +227 -0
  37. megadetector_utils-5.0.24/megadetector/classification/cache_batchapi_outputs.py +198 -0
  38. megadetector_utils-5.0.24/megadetector/classification/create_classification_dataset.py +627 -0
  39. megadetector_utils-5.0.24/megadetector/classification/crop_detections.py +516 -0
  40. megadetector_utils-5.0.24/megadetector/classification/csv_to_json.py +226 -0
  41. megadetector_utils-5.0.24/megadetector/classification/detect_and_crop.py +855 -0
  42. megadetector_utils-5.0.24/megadetector/classification/efficientnet/__init__.py +9 -0
  43. megadetector_utils-5.0.24/megadetector/classification/efficientnet/model.py +415 -0
  44. megadetector_utils-5.0.24/megadetector/classification/efficientnet/utils.py +607 -0
  45. megadetector_utils-5.0.24/megadetector/classification/evaluate_model.py +520 -0
  46. megadetector_utils-5.0.24/megadetector/classification/identify_mislabeled_candidates.py +152 -0
  47. megadetector_utils-5.0.24/megadetector/classification/json_to_azcopy_list.py +63 -0
  48. megadetector_utils-5.0.24/megadetector/classification/json_validator.py +699 -0
  49. megadetector_utils-5.0.24/megadetector/classification/map_classification_categories.py +276 -0
  50. megadetector_utils-5.0.24/megadetector/classification/merge_classification_detection_output.py +506 -0
  51. megadetector_utils-5.0.24/megadetector/classification/prepare_classification_script.py +194 -0
  52. megadetector_utils-5.0.24/megadetector/classification/prepare_classification_script_mc.py +228 -0
  53. megadetector_utils-5.0.24/megadetector/classification/run_classifier.py +287 -0
  54. megadetector_utils-5.0.24/megadetector/classification/save_mislabeled.py +110 -0
  55. megadetector_utils-5.0.24/megadetector/classification/train_classifier.py +827 -0
  56. megadetector_utils-5.0.24/megadetector/classification/train_classifier_tf.py +725 -0
  57. megadetector_utils-5.0.24/megadetector/classification/train_utils.py +323 -0
  58. megadetector_utils-5.0.24/megadetector/data_management/__init__.py +0 -0
  59. megadetector_utils-5.0.24/megadetector/data_management/annotations/__init__.py +0 -0
  60. megadetector_utils-5.0.24/megadetector/data_management/annotations/annotation_constants.py +34 -0
  61. megadetector_utils-5.0.24/megadetector/data_management/camtrap_dp_to_coco.py +237 -0
  62. megadetector_utils-5.0.24/megadetector/data_management/cct_json_utils.py +540 -0
  63. megadetector_utils-5.0.24/megadetector/data_management/cct_to_md.py +183 -0
  64. megadetector_utils-5.0.24/megadetector/data_management/cct_to_wi.py +289 -0
  65. megadetector_utils-5.0.24/megadetector/data_management/coco_to_labelme.py +284 -0
  66. megadetector_utils-5.0.24/megadetector/data_management/coco_to_yolo.py +662 -0
  67. megadetector_utils-5.0.24/megadetector/data_management/databases/__init__.py +0 -0
  68. megadetector_utils-5.0.24/megadetector/data_management/databases/add_width_and_height_to_db.py +33 -0
  69. megadetector_utils-5.0.24/megadetector/data_management/databases/combine_coco_camera_traps_files.py +206 -0
  70. megadetector_utils-5.0.24/megadetector/data_management/databases/integrity_check_json_db.py +500 -0
  71. megadetector_utils-5.0.24/megadetector/data_management/databases/subset_json_db.py +143 -0
  72. megadetector_utils-5.0.24/megadetector/data_management/generate_crops_from_cct.py +149 -0
  73. megadetector_utils-5.0.24/megadetector/data_management/get_image_sizes.py +189 -0
  74. megadetector_utils-5.0.24/megadetector/data_management/importers/add_nacti_sizes.py +52 -0
  75. megadetector_utils-5.0.24/megadetector/data_management/importers/add_timestamps_to_icct.py +79 -0
  76. megadetector_utils-5.0.24/megadetector/data_management/importers/animl_results_to_md_results.py +158 -0
  77. megadetector_utils-5.0.24/megadetector/data_management/importers/auckland_doc_test_to_json.py +373 -0
  78. megadetector_utils-5.0.24/megadetector/data_management/importers/auckland_doc_to_json.py +201 -0
  79. megadetector_utils-5.0.24/megadetector/data_management/importers/awc_to_json.py +191 -0
  80. megadetector_utils-5.0.24/megadetector/data_management/importers/bellevue_to_json.py +272 -0
  81. megadetector_utils-5.0.24/megadetector/data_management/importers/cacophony-thermal-importer.py +793 -0
  82. megadetector_utils-5.0.24/megadetector/data_management/importers/carrizo_shrubfree_2018.py +269 -0
  83. megadetector_utils-5.0.24/megadetector/data_management/importers/carrizo_trail_cam_2017.py +289 -0
  84. megadetector_utils-5.0.24/megadetector/data_management/importers/cct_field_adjustments.py +58 -0
  85. megadetector_utils-5.0.24/megadetector/data_management/importers/channel_islands_to_cct.py +913 -0
  86. megadetector_utils-5.0.24/megadetector/data_management/importers/eMammal/copy_and_unzip_emammal.py +180 -0
  87. megadetector_utils-5.0.24/megadetector/data_management/importers/eMammal/eMammal_helpers.py +249 -0
  88. megadetector_utils-5.0.24/megadetector/data_management/importers/eMammal/make_eMammal_json.py +223 -0
  89. megadetector_utils-5.0.24/megadetector/data_management/importers/ena24_to_json.py +276 -0
  90. megadetector_utils-5.0.24/megadetector/data_management/importers/filenames_to_json.py +386 -0
  91. megadetector_utils-5.0.24/megadetector/data_management/importers/helena_to_cct.py +283 -0
  92. megadetector_utils-5.0.24/megadetector/data_management/importers/idaho-camera-traps.py +1407 -0
  93. megadetector_utils-5.0.24/megadetector/data_management/importers/idfg_iwildcam_lila_prep.py +294 -0
  94. megadetector_utils-5.0.24/megadetector/data_management/importers/import_desert_lion_conservation_camera_traps.py +387 -0
  95. megadetector_utils-5.0.24/megadetector/data_management/importers/jb_csv_to_json.py +150 -0
  96. megadetector_utils-5.0.24/megadetector/data_management/importers/mcgill_to_json.py +250 -0
  97. megadetector_utils-5.0.24/megadetector/data_management/importers/missouri_to_json.py +490 -0
  98. megadetector_utils-5.0.24/megadetector/data_management/importers/nacti_fieldname_adjustments.py +79 -0
  99. megadetector_utils-5.0.24/megadetector/data_management/importers/noaa_seals_2019.py +181 -0
  100. megadetector_utils-5.0.24/megadetector/data_management/importers/osu-small-animals-to-json.py +364 -0
  101. megadetector_utils-5.0.24/megadetector/data_management/importers/pc_to_json.py +365 -0
  102. megadetector_utils-5.0.24/megadetector/data_management/importers/plot_wni_giraffes.py +123 -0
  103. megadetector_utils-5.0.24/megadetector/data_management/importers/prepare_zsl_imerit.py +131 -0
  104. megadetector_utils-5.0.24/megadetector/data_management/importers/raic_csv_to_md_results.py +416 -0
  105. megadetector_utils-5.0.24/megadetector/data_management/importers/rspb_to_json.py +356 -0
  106. megadetector_utils-5.0.24/megadetector/data_management/importers/save_the_elephants_survey_A.py +320 -0
  107. megadetector_utils-5.0.24/megadetector/data_management/importers/save_the_elephants_survey_B.py +329 -0
  108. megadetector_utils-5.0.24/megadetector/data_management/importers/snapshot_safari_importer.py +758 -0
  109. megadetector_utils-5.0.24/megadetector/data_management/importers/snapshot_serengeti_lila.py +1067 -0
  110. megadetector_utils-5.0.24/megadetector/data_management/importers/snapshotserengeti/make_full_SS_json.py +150 -0
  111. megadetector_utils-5.0.24/megadetector/data_management/importers/snapshotserengeti/make_per_season_SS_json.py +153 -0
  112. megadetector_utils-5.0.24/megadetector/data_management/importers/sulross_get_exif.py +65 -0
  113. megadetector_utils-5.0.24/megadetector/data_management/importers/timelapse_csv_set_to_json.py +490 -0
  114. megadetector_utils-5.0.24/megadetector/data_management/importers/ubc_to_json.py +399 -0
  115. megadetector_utils-5.0.24/megadetector/data_management/importers/umn_to_json.py +507 -0
  116. megadetector_utils-5.0.24/megadetector/data_management/importers/wellington_to_json.py +263 -0
  117. megadetector_utils-5.0.24/megadetector/data_management/importers/wi_to_json.py +442 -0
  118. megadetector_utils-5.0.24/megadetector/data_management/importers/zamba_results_to_md_results.py +180 -0
  119. megadetector_utils-5.0.24/megadetector/data_management/labelme_to_coco.py +547 -0
  120. megadetector_utils-5.0.24/megadetector/data_management/labelme_to_yolo.py +272 -0
  121. megadetector_utils-5.0.24/megadetector/data_management/lila/__init__.py +0 -0
  122. megadetector_utils-5.0.24/megadetector/data_management/lila/add_locations_to_island_camera_traps.py +97 -0
  123. megadetector_utils-5.0.24/megadetector/data_management/lila/add_locations_to_nacti.py +147 -0
  124. megadetector_utils-5.0.24/megadetector/data_management/lila/create_lila_blank_set.py +558 -0
  125. megadetector_utils-5.0.24/megadetector/data_management/lila/create_lila_test_set.py +166 -0
  126. megadetector_utils-5.0.24/megadetector/data_management/lila/create_links_to_md_results_files.py +106 -0
  127. megadetector_utils-5.0.24/megadetector/data_management/lila/download_lila_subset.py +185 -0
  128. megadetector_utils-5.0.24/megadetector/data_management/lila/generate_lila_per_image_labels.py +517 -0
  129. megadetector_utils-5.0.24/megadetector/data_management/lila/get_lila_annotation_counts.py +172 -0
  130. megadetector_utils-5.0.24/megadetector/data_management/lila/get_lila_image_counts.py +112 -0
  131. megadetector_utils-5.0.24/megadetector/data_management/lila/lila_common.py +316 -0
  132. megadetector_utils-5.0.24/megadetector/data_management/lila/test_lila_metadata_urls.py +145 -0
  133. megadetector_utils-5.0.24/megadetector/data_management/mewc_to_md.py +340 -0
  134. megadetector_utils-5.0.24/megadetector/data_management/ocr_tools.py +870 -0
  135. megadetector_utils-5.0.24/megadetector/data_management/read_exif.py +884 -0
  136. megadetector_utils-5.0.24/megadetector/data_management/remap_coco_categories.py +84 -0
  137. megadetector_utils-5.0.24/megadetector/data_management/remove_exif.py +91 -0
  138. megadetector_utils-5.0.24/megadetector/data_management/rename_images.py +187 -0
  139. megadetector_utils-5.0.24/megadetector/data_management/resize_coco_dataset.py +189 -0
  140. megadetector_utils-5.0.24/megadetector/data_management/speciesnet_to_md.py +41 -0
  141. megadetector_utils-5.0.24/megadetector/data_management/wi_download_csv_to_coco.py +247 -0
  142. megadetector_utils-5.0.24/megadetector/data_management/yolo_output_to_md_output.py +466 -0
  143. megadetector_utils-5.0.24/megadetector/data_management/yolo_to_coco.py +695 -0
  144. megadetector_utils-5.0.24/megadetector/detection/__init__.py +0 -0
  145. megadetector_utils-5.0.24/megadetector/detection/process_video.py +1248 -0
  146. megadetector_utils-5.0.24/megadetector/detection/pytorch_detector.py +1055 -0
  147. megadetector_utils-5.0.24/megadetector/detection/run_detector.py +1017 -0
  148. megadetector_utils-5.0.24/megadetector/detection/run_detector_batch.py +1671 -0
  149. megadetector_utils-5.0.24/megadetector/detection/run_inference_with_yolov5_val.py +1297 -0
  150. megadetector_utils-5.0.24/megadetector/detection/run_tiled_inference.py +934 -0
  151. megadetector_utils-5.0.24/megadetector/detection/tf_detector.py +211 -0
  152. megadetector_utils-5.0.24/megadetector/detection/video_utils.py +1076 -0
  153. megadetector_utils-5.0.24/megadetector/postprocessing/__init__.py +0 -0
  154. megadetector_utils-5.0.24/megadetector/postprocessing/add_max_conf.py +64 -0
  155. megadetector_utils-5.0.24/megadetector/postprocessing/categorize_detections_by_size.py +165 -0
  156. megadetector_utils-5.0.24/megadetector/postprocessing/classification_postprocessing.py +716 -0
  157. megadetector_utils-5.0.24/megadetector/postprocessing/combine_batch_outputs.py +246 -0
  158. megadetector_utils-5.0.24/megadetector/postprocessing/compare_batch_results.py +1817 -0
  159. megadetector_utils-5.0.24/megadetector/postprocessing/convert_output_format.py +403 -0
  160. megadetector_utils-5.0.24/megadetector/postprocessing/create_crop_folder.py +358 -0
  161. megadetector_utils-5.0.24/megadetector/postprocessing/detector_calibration.py +565 -0
  162. megadetector_utils-5.0.24/megadetector/postprocessing/load_api_results.py +195 -0
  163. megadetector_utils-5.0.24/megadetector/postprocessing/md_to_coco.py +398 -0
  164. megadetector_utils-5.0.24/megadetector/postprocessing/md_to_labelme.py +330 -0
  165. megadetector_utils-5.0.24/megadetector/postprocessing/md_to_wi.py +40 -0
  166. megadetector_utils-5.0.24/megadetector/postprocessing/merge_detections.py +412 -0
  167. megadetector_utils-5.0.24/megadetector/postprocessing/postprocess_batch_results.py +1942 -0
  168. megadetector_utils-5.0.24/megadetector/postprocessing/remap_detection_categories.py +170 -0
  169. megadetector_utils-5.0.24/megadetector/postprocessing/render_detection_confusion_matrix.py +660 -0
  170. megadetector_utils-5.0.24/megadetector/postprocessing/repeat_detection_elimination/find_repeat_detections.py +211 -0
  171. megadetector_utils-5.0.24/megadetector/postprocessing/repeat_detection_elimination/remove_repeat_detections.py +83 -0
  172. megadetector_utils-5.0.24/megadetector/postprocessing/repeat_detection_elimination/repeat_detections_core.py +1638 -0
  173. megadetector_utils-5.0.24/megadetector/postprocessing/separate_detections_into_folders.py +758 -0
  174. megadetector_utils-5.0.24/megadetector/postprocessing/subset_json_detector_output.py +710 -0
  175. megadetector_utils-5.0.24/megadetector/postprocessing/top_folders_to_bottom.py +223 -0
  176. megadetector_utils-5.0.24/megadetector/postprocessing/validate_batch_results.py +301 -0
  177. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/__init__.py +0 -0
  178. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/map_lila_taxonomy_to_wi_taxonomy.py +491 -0
  179. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/map_new_lila_datasets.py +158 -0
  180. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/prepare_lila_taxonomy_release.py +144 -0
  181. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/preview_lila_taxonomy.py +592 -0
  182. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/retrieve_sample_image.py +71 -0
  183. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/simple_image_download.py +224 -0
  184. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/species_lookup.py +834 -0
  185. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/taxonomy_csv_checker.py +159 -0
  186. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/taxonomy_graph.py +346 -0
  187. megadetector_utils-5.0.24/megadetector/taxonomy_mapping/validate_lila_category_mappings.py +83 -0
  188. megadetector_utils-5.0.24/megadetector/utils/__init__.py +0 -0
  189. megadetector_utils-5.0.24/megadetector/utils/azure_utils.py +178 -0
  190. megadetector_utils-5.0.24/megadetector/utils/ct_utils.py +929 -0
  191. megadetector_utils-5.0.24/megadetector/utils/directory_listing.py +246 -0
  192. megadetector_utils-5.0.24/megadetector/utils/gpu_test.py +124 -0
  193. megadetector_utils-5.0.24/megadetector/utils/md_tests.py +1825 -0
  194. megadetector_utils-5.0.24/megadetector/utils/path_utils.py +1234 -0
  195. megadetector_utils-5.0.24/megadetector/utils/process_utils.py +172 -0
  196. megadetector_utils-5.0.24/megadetector/utils/sas_blob_utils.py +509 -0
  197. megadetector_utils-5.0.24/megadetector/utils/split_locations_into_train_val.py +228 -0
  198. megadetector_utils-5.0.24/megadetector/utils/string_utils.py +92 -0
  199. megadetector_utils-5.0.24/megadetector/utils/url_utils.py +420 -0
  200. megadetector_utils-5.0.24/megadetector/utils/wi_utils.py +2355 -0
  201. megadetector_utils-5.0.24/megadetector/utils/write_html_image_list.py +240 -0
  202. megadetector_utils-5.0.24/megadetector/visualization/__init__.py +0 -0
  203. megadetector_utils-5.0.24/megadetector/visualization/plot_utils.py +293 -0
  204. megadetector_utils-5.0.24/megadetector/visualization/render_images_with_thumbnails.py +275 -0
  205. megadetector_utils-5.0.24/megadetector/visualization/visualization_utils.py +1860 -0
  206. megadetector_utils-5.0.24/megadetector/visualization/visualize_db.py +627 -0
  207. megadetector_utils-5.0.24/megadetector/visualization/visualize_detector_output.py +451 -0
  208. megadetector_utils-5.0.24/megadetector_utils.egg-info/PKG-INFO +75 -0
  209. megadetector_utils-5.0.24/megadetector_utils.egg-info/SOURCES.txt +212 -0
  210. megadetector_utils-5.0.24/megadetector_utils.egg-info/dependency_links.txt +1 -0
  211. megadetector_utils-5.0.24/megadetector_utils.egg-info/requires.txt +18 -0
  212. megadetector_utils-5.0.24/megadetector_utils.egg-info/top_level.txt +1 -0
  213. megadetector_utils-5.0.24/pyproject.toml +84 -0
  214. megadetector_utils-5.0.24/setup.cfg +4 -0
@@ -0,0 +1,19 @@
1
+ MIT License
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,75 @@
1
+ Metadata-Version: 2.2
2
+ Name: megadetector-utils
3
+ Version: 5.0.24
4
+ Summary: Utility code associated with the MegaDetector project.
5
+ Author-email: Your friendly neighborhood MegaDetector team <cameratraps@lila.science>
6
+ Maintainer-email: Your friendly neighborhood MegaDetector team <cameratraps@lila.science>
7
+ License: MIT License
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: Homepage, https://github.com/agentmorris/MegaDetector
28
+ Project-URL: Documentation, https://megadetector.readthedocs.io
29
+ Project-URL: Bug Reports, https://github.com/agentmorris/MegaDetector/issues
30
+ Project-URL: Source, https://github.com/agentmorris/MegaDetector
31
+ Keywords: camera traps,conservation,wildlife,ai,megadetector
32
+ Classifier: Programming Language :: Python :: 3
33
+ Requires-Python: <=3.13,>=3.9
34
+ Description-Content-Type: text/markdown
35
+ License-File: LICENSE
36
+ Requires-Dist: mkl==2024.0; sys_platform != "darwin"
37
+ Requires-Dist: numpy<2.0,>=1.26.4
38
+ Requires-Dist: Pillow>=9.5
39
+ Requires-Dist: tqdm>=4.64.0
40
+ Requires-Dist: jsonpickle>=3.0.2
41
+ Requires-Dist: humanfriendly>=10.0
42
+ Requires-Dist: matplotlib>=3.8.0
43
+ Requires-Dist: opencv-python>=4.8.0
44
+ Requires-Dist: requests>=2.31.0
45
+ Requires-Dist: pyqtree>=1.0.0
46
+ Requires-Dist: scikit-learn>=1.3.1
47
+ Requires-Dist: pandas>=2.1.1
48
+ Requires-Dist: python-dateutil
49
+ Requires-Dist: send2trash
50
+ Requires-Dist: dill
51
+ Requires-Dist: python-dateutil
52
+
53
+ # megadetector-utils
54
+
55
+ This package is a pip-installable version of <b>just the utility code</b> from the [MegaDetector](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector) repository. In other words, this package contains everything in the [megadetector](https://pypi.org/project/megadetector/) package <i>except</i> the PyTorch/YOLO dependencies. If you want to run MegaDetector, you don't want the megadetector-utils package. If you just want to use the tools for, e.g., postprocessing, manipulating large sets of camera trap images, etc., this package may be useful; it's a much quicker install than the megadetector package.
56
+
57
+ Version numbers are generally synchronized with the megadetector package.
58
+
59
+ ## Installation
60
+
61
+ Install with:
62
+
63
+ `pip install megadetector-utils`
64
+
65
+ ## Package reference
66
+
67
+ See [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
68
+
69
+ ## Contact
70
+
71
+ Contact <a href="cameratraps@lila.science">cameratraps@lila.science</a> with questions.
72
+
73
+ ## Gratuitous animal picture
74
+
75
+ <img src="https://github.com/agentmorris/MegaDetector/raw/main/images/orinoquia-thumb-web_detections.jpg"><br/>Image credit University of Minnesota, from the [Orinoquía Camera Traps](http://lila.science/datasets/orinoquia-camera-traps/) data set.
@@ -0,0 +1,23 @@
1
+ # megadetector-utils
2
+
3
+ This package is a pip-installable version of <b>just the utility code</b> from the [MegaDetector](https://github.com/agentmorris/MegaDetector/?tab=readme-ov-file#megadetector) repository. In other words, this package contains everything in the [megadetector](https://pypi.org/project/megadetector/) package <i>except</i> the PyTorch/YOLO dependencies. If you want to run MegaDetector, you don't want the megadetector-utils package. If you just want to use the tools for, e.g., postprocessing, manipulating large sets of camera trap images, etc., this package may be useful; it's a much quicker install than the megadetector package.
4
+
5
+ Version numbers are generally synchronized with the megadetector package.
6
+
7
+ ## Installation
8
+
9
+ Install with:
10
+
11
+ `pip install megadetector-utils`
12
+
13
+ ## Package reference
14
+
15
+ See [megadetector.readthedocs.io](https://megadetector.readthedocs.io).
16
+
17
+ ## Contact
18
+
19
+ Contact <a href="cameratraps@lila.science">cameratraps@lila.science</a> with questions.
20
+
21
+ ## Gratuitous animal picture
22
+
23
+ <img src="https://github.com/agentmorris/MegaDetector/raw/main/images/orinoquia-thumb-web_detections.jpg"><br/>Image credit University of Minnesota, from the [Orinoquía Camera Traps](http://lila.science/datasets/orinoquia-camera-traps/) data set.
@@ -0,0 +1,271 @@
1
+ # MegaDetector
2
+
3
+ ...helping conservation biologists spend less time doing boring things with camera trap images.
4
+
5
+ ## Table of contents
6
+
7
+ 1. [What's MegaDetector all about?](#whats-megadetector-all-about)
8
+ 3. [How do I get started with MegaDetector?](#how-do-i-get-started-with-megadetector)
9
+ 4. [Who is using MegaDetector?](#who-is-using-megadetector)
10
+ 5. [Repo contents](#repo-contents)
11
+ 6. [Contact](#contact)
12
+ 7. [Gratuitous camera trap picture](#gratuitous-camera-trap-picture)
13
+ 8. [License](#license)
14
+ 9. [Contributing](#contributing)
15
+
16
+
17
+ ## What's MegaDetector all about?
18
+
19
+ [MegaDetector](megadetector.md) is an AI model that identifies animals, people, and vehicles in camera trap images (which also makes it useful for eliminating blank images). This model is trained on several million images from a variety of ecosystems.
20
+
21
+ MegaDetector only finds animals, it doesn't identify them to species level. If you're looking for a species classifier, check out [SpeciesNet](https://github.com/google/cameratrapai), a species classifier that plays nicely with MegaDetector.
22
+
23
+ Here's a &ldquo;teaser&rdquo; image of what MegaDetector output looks like:
24
+
25
+ ![Red bounding box on fox](images/detector_example.jpg)<br/>Image credit University of Washington.
26
+
27
+
28
+ ## How do I get started with MegaDetector?
29
+
30
+ * If you are looking for a convenient tool to run MegaDetector, you don't need anything from this repository: check out [AddaxAI](https://addaxdatascience.com/addaxai/) (formerly EcoAssist), a GUI-based tool for running AI models (including MegaDetector) on camera trap images.
31
+ * If you're just <i>considering</i> the use of AI in your workflow, and you aren't even sure yet whether MegaDetector would be useful to you, we recommend reading the "[getting started with MegaDetector](getting-started.md)" page.
32
+ * If you're already familiar with MegaDetector and you're ready to run it on your data, see the [MegaDetector User Guide](megadetector.md) for instructions on running MegaDetector.
33
+ * If you're a programmer-type looking to use tools from this repo, check out the [MegaDetector Python package](https://pypi.org/project/megadetector/) that provides access to everything in this repo (yes, you guessed it, "pip install megadetector").
34
+ * If you have any questions, or you want to tell us that MegaDetector was amazing/terrible on your images, or you have a zillion images and you want some help digging out of that backlog, <a href="mailto:cameratraps@lila.science">email us</a>!
35
+
36
+ MegaDetector is just one of many tools that aims to make conservation biologists more efficient with AI. If you want to learn about other ways to use AI to accelerate camera trap workflows, check out our of the field, affectionately titled &ldquo;[Everything I know about machine learning and camera traps](https://agentmorris.github.io/camera-trap-ml-survey/)&rdquo;.
37
+
38
+
39
+ ## Who is using MegaDetector?
40
+
41
+ We work with ecologists all over the world to help them spend less time annotating images and more time thinking about conservation. You can read a little more about how this works on our [getting started with MegaDetector](getting-started.md) page.
42
+
43
+ Here are a few of the organizations that have used MegaDetector... we're only listing organizations who (a) we know about and (b) have given us permission to refer to them here (or have posted publicly about their use of MegaDetector), so if you're using MegaDetector or other tools from this repo and would like to be added to this list, <a href="mailto:cameratraps@lila.science">email us</a>!
44
+
45
+ * [Arizona Department of Environmental Quality](http://azdeq.gov/)
46
+ * [Biometrio.earth](https://biometrio.earth/)
47
+ * [Blackbird Environmental](https://blackbirdenv.com/)
48
+ * [Camelot](https://camelotproject.org/)
49
+ * [Canadian Parks and Wilderness Society (CPAWS) Northern Alberta Chapter](https://cpawsnab.org/)
50
+ * [Conservation X Labs](https://conservationxlabs.com/)
51
+ * [Czech University of Life Sciences Prague](https://www.czu.cz/en)
52
+ * [Dudek Camera Trap AI Image Toolkit (AIT)](https://ait.dudek.com/)
53
+ * [EcoLogic Consultants Ltd.](https://www.consult-ecologic.com/)
54
+ * [Estación Biológica de Doñana](https://www.ebd.csic.es/)
55
+ * [Indigenous Desert Alliance](https://www.indigenousdesertalliance.com/)
56
+ * [Myall Lakes Dingo Project](https://carnivorecoexistence.info/myall-lakes-dingo-project/)
57
+ * [Norwegian Institute for Nature Research](https://www.nina.no/english/Home)
58
+ * [Okala](https://www.okala.io/)
59
+ * [Point No Point Treaty Council](https://pnptc.org/)
60
+ * [Ramat Hanadiv Nature Park](https://www.ramat-hanadiv.org.il/en/)
61
+ * [SPEA (Portuguese Society for the Study of Birds)](https://spea.pt/en/)
62
+ * [Sky Island Alliance](https://skyislandalliance.org/)
63
+ * [Synthetaic](https://www.synthetaic.com/)
64
+ * [Taronga Conservation Society](https://taronga.org.au/)
65
+ * [The Nature Conservancy in Wyoming](https://www.nature.org/en-us/about-us/where-we-work/united-states/wyoming/)
66
+ * [TrapTagger](https://wildeyeconservation.org/trap-tagger-about/)
67
+ * [University of California Davis Natural Reserves](https://naturalreserves.ucdavis.edu/)
68
+ * [Upper Yellowstone Watershed Group](https://www.upperyellowstone.org/)
69
+ * [Zamba Cloud](https://www.zambacloud.com/)
70
+ * [Parc national du Mont-Tremblant](https://www.sepaq.com/pq/mot/index.dot?language_id=1)
71
+ * [The Land Banking Group](https://thelandbankinggroup.com/)
72
+ * [New Zealand Department of Conservation](https://www.doc.govt.nz)
73
+ * [Habitat NZ](https://habitatnz.co.nz/)
74
+ * [Research Institute of Organic Agriculture](https://www.fibl.org/en/) (FiBL)
75
+ * [A/Vian Ecological Consulting](https://avianeco.com/)
76
+ * [Wildlife Insights](https://www.wildlifeinsights.org/)
77
+
78
+ * [Applied Conservation Macro Ecology Lab](http://www.acmelab.ca/), University of Victoria
79
+ * [Banff National Park Resource Conservation](https://www.pc.gc.ca/en/pn-np/ab/banff/nature/conservation), Parks Canada
80
+ * [Blumstein Lab](https://blumsteinlab.eeb.ucla.edu/), UCLA
81
+ * [Borderlands Research Institute](https://bri.sulross.edu/), Sul Ross State University
82
+ * [Capitol Reef National Park](https://www.nps.gov/care/index.htm) / Utah Valley University
83
+ * [Canyon Critters Project](https://www.zooniverse.org/projects/arw36/canyon-critters), University of Georgia
84
+ * [Center for Biodiversity and Conservation](https://www.amnh.org/research/center-for-biodiversity-conservation), American Museum of Natural History
85
+ * [Centre for Ecosystem Science](https://www.unsw.edu.au/research/), UNSW Sydney
86
+ * [Cross-Cultural Ecology Lab](https://crossculturalecology.net/), Macquarie University
87
+ * [DC Cat Count](https://hub.dccatcount.org/), led by the Humane Rescue Alliance
88
+ * [Department of Fish and Wildlife Sciences](https://www.uidaho.edu/cnr/departments/fish-and-wildlife-sciences), University of Idaho
89
+ * [Department of Society & Conservation](https://www.umt.edu/environment/about/departments/socon/), W.A. Franke College of Forestry & Conservation, University of Montana
90
+ * [Department of Wildlife Ecology and Conservation](https://wec.ifas.ufl.edu/), University of Florida
91
+ * [Gola Forest Programme](https://www.rspb.org.uk/our-work/conservation/projects/scientific-support-for-the-gola-forest-programme/), Royal Society for the Protection of Birds (RSPB)
92
+ * [Graeme Shannon's Research Group](https://wildliferesearch.co.uk/group-1), Bangor University
93
+ * [Grizzly Bear Recovery Program](https://www.fws.gov/office/grizzly-bear-recovery-program), U.S. Fish & Wildlife Service
94
+ * [Hamaarag](https://hamaarag.org.il/), The Steinhardt Museum of Natural History, Tel Aviv University
95
+ * [Institut des Science de la Forêt Tempérée](https://isfort.uqo.ca/) (ISFORT), Université du Québec en Outaouais
96
+ * [Lab of Dr. Bilal Habib](https://bhlab.in/about), the Wildlife Institute of India
97
+ * [Landscape Ecology Lab](https://www.concordia.ca/artsci/geography-planning-environment/research/labs/lel.html), Concordia University
98
+ * [Mammal Spatial Ecology and Conservation Lab](https://labs.wsu.edu/dthornton/), Washington State University
99
+ * [McLoughlin Lab in Population Ecology](http://mcloughlinlab.ca/lab/), University of Saskatchewan
100
+ * [National Wildlife Refuge System, Southwest Region](https://www.fws.gov/about/region/southwest), U.S. Fish & Wildlife Service
101
+ * [Northern Great Plains Program](https://nationalzoo.si.edu/news/restoring-americas-prairie), Smithsonian
102
+ * [Polar Ecology Group](https://polarecologygroup.wordpress.com), University of Gdansk
103
+ * [Quantitative Ecology Lab](https://depts.washington.edu/sefsqel/), University of Washington
104
+ * [San Diego Field Station](https://www.usgs.gov/centers/werc/science/san-diego-field-station), U.S. Geological Survey
105
+ * [Santa Monica Mountains Recreation Area](https://www.nps.gov/samo/index.htm), National Park Service
106
+ * [Seattle Urban Carnivore Project](https://www.zoo.org/seattlecarnivores), Woodland Park Zoo
107
+ * [Serra dos Órgãos National Park](https://www.icmbio.gov.br/parnaserradosorgaos/), ICMBio
108
+ * [Snapshot USA](https://www.snapshot-usa.org/), Smithsonian
109
+ * [TROPECOLNET project](https://www.anabenitezlopez.com/research/global-change-biology/tropecolnet/), Museo Nacional de Ciencias Naturales
110
+ * [Wildlife Coexistence Lab](https://wildlife.forestry.ubc.ca/), University of British Columbia
111
+ * [Wildlife Research](https://www.dfw.state.or.us/wildlife/research/index.asp), Oregon Department of Fish and Wildlife
112
+ * [Wildlife Division](https://www.michigan.gov/dnr/about/contact/wildlife), Michigan Department of Natural Resources
113
+ * [Kohl Wildlife Lab](https://kohlwildlifelab.com/), University of Georgia
114
+ * Ecology and Conservation of Amazonian Vertebrates Research Group, Federal University of Amapá
115
+ * Department of Ecology, TU Berlin
116
+ * Ghost Cat Analytics
117
+ * Protected Areas Unit, Canadian Wildlife Service
118
+ * Conservation and Restoration Science Branch, New South Wales Department of Climate Change, Energy, the Environment and Water
119
+
120
+ * [School of Natural Sciences](https://www.utas.edu.au/natural-sciences), University of Tasmania ([story](https://www.utas.edu.au/about/news-and-stories/articles/2022/1204-innovative-camera-network-keeps-close-eye-on-tassie-wildlife))
121
+ * [Kenai National Wildlife Refuge](https://www.fws.gov/refuge/kenai), U.S. Fish & Wildlife Service ([story](https://www.peninsulaclarion.com/sports/refuge-notebook-new-technology-increases-efficiency-of-refuge-cameras/))
122
+
123
+ * [Idaho Department of Fish and Game](https://idfg.idaho.gov/) ([fancy PBS video](https://www.youtube.com/watch?v=uEsL8EZKpbA&t=261s&ab_channel=OutdoorIdaho))
124
+ * [Australian Wildlife Conservancy](https://www.australianwildlife.org/) (blog posts [1](https://www.australianwildlife.org/cutting-edge-technology-delivering-efficiency-gains-in-conservation/), [2](https://www.australianwildlife.org/efficiency-gains-at-the-cutting-edge-of-technology/), [3](https://www.australianwildlife.org/federal-grant-to-fund-ai-supported-wildlife-recognisers))
125
+ * [Bavarian Forest National Park](https://www.nationalpark-bayerischer-wald.bayern.de/english/index.htm) ([story](https://customers.microsoft.com/en-au/story/1667539539271247797-nationalparkbayerischerwald-azure-en))
126
+ * [Environs Kimberley](https://www.environskimberley.org.au) ([blog post](https://www.environskimberley.org.au/ai_megadetector))
127
+ * [Felidae Conservation Fund](https://felidaefund.org/) ([WildePod platform](https://wildepod.org/)) ([blog post](https://abhaykashyap.com/blog/ai-powered-camera-trap-image-annotation-system/))
128
+ * [Island Conservation](https://www.islandconservation.org/) (blog posts [1](https://www.islandconservation.org/conservation-machine-learning/),[2](https://news.lenovo.com/island-conservation-machine-learning-solutions-nvidia-island-ecosystems/?sprinklrid=12869857824&linkId=356951919)) ([video](https://www.lenovo.com/content/dam/lenovo/iso/customer-references-coe/one-lenovo-customer-stories/wfh/videos/WFH-One-Lenovo-ENG-subtitles.mp4))
129
+ * [Alberta Biodiversity Monitoring Institute (ABMI)](https://www.abmi.ca/home.html) ([WildTrax platform](https://www.wildtrax.ca/)) (blog posts [1](https://wildcams.ca/blog/the-abmi-visits-the-zoo/),[2](http://blog.abmi.ca/2023/06/14/making-wildtrax-its-not-a-kind-of-magic-behind-the-screen/))
130
+ * [Shan Shui Conservation Center](http://en.shanshui.org/) ([blog post](https://mp.weixin.qq.com/s/iOIQF3ckj0-rEG4yJgerYw?fbclid=IwAR0alwiWbe3udIcFvqqwm7y5qgr9hZpjr871FZIa-ErGUukZ7yJ3ZhgCevs)) ([translated blog post](https://mp-weixin-qq-com.translate.goog/s/iOIQF3ckj0-rEG4yJgerYw?fbclid=IwAR0alwiWbe3udIcFvqqwm7y5qgr9hZpjr871FZIa-ErGUukZ7yJ3ZhgCevs&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp)) ([Web demo](https://cameratrap-ai.hinature.cn/home))
131
+ * [Irvine Ranch Conservancy](http://www.irconservancy.org/) ([story](https://www.ocregister.com/2022/03/30/ai-software-is-helping-researchers-focus-on-learning-about-ocs-wild-animals/))
132
+ * [Wildlife Protection Solutions](https://wildlifeprotectionsolutions.org/) ([story](https://customers.microsoft.com/en-us/story/1384184517929343083-wildlife-protection-solutions-nonprofit-ai-for-earth), [story](https://www.enterpriseai.news/2023/02/20/ai-helps-wildlife-protection-solutions-safeguard-endangered-species/))
133
+ * [Q42](https://www.q42.nl/en) ([blog post](https://engineering.q42.nl/ai-bear-repeller/))
134
+ * [Agouti](https://agouti.eu/) ([report](https://efsa.onlinelibrary.wiley.com/doi/pdf/10.2903/sp.efsa.2023.EN-8217))
135
+ * [Trapper](https://trapper-project.readthedocs.io/en/latest/overview.html) ([tutorial](https://trapper-project.readthedocs.io/en/latest/tutorial.html))
136
+ * [BirdLife Malta](https://birdlifemalta.org/) ([tweet](https://x.com/BirdLife_Malta/status/1817456839862173783?t=S-KRiZ5R1-CoW8-tbYNjqQ&s=03)) ([LI post](https://www.linkedin.com/posts/birdlifemalta_worldnatureconservationday-shearwater-colony-activity-7223220656589463553-X2Mc/?utm_source=share&utm_medium=member_android))
137
+ * [Endangered Landscapes and Seascapes Programme](https://www.endangeredlandscapes.org/), Cambridge Conservation Initiative ([blog post](https://www.endangeredlandscapes.org/news/ai-for-wildlife-monitoring-a-real-time-alert-system-for-bears-and-wild-boars-in-romanias-carpathian-mountains/))
138
+
139
+ * [Road Ecology Center](https://roadecology.ucdavis.edu/), University of California, Davis ([Wildlife Observer Network platform](https://roadecology.ucdavis.edu/research/projects/wildlife-observer-network))
140
+ * [The Nature Conservancy in California](https://www.nature.org/en-us/about-us/where-we-work/united-states/california/) ([Animl platform](https://github.com/tnc-ca-geo/animl-frontend)) ([story](https://www.vision-systems.com/non-factory/environment-agriculture/article/14304433/the-nature-conservancy-brings-cameras-ai-to-invasive-species-prevention))
141
+ * [San Diego Zoo Wildlife Alliance](https://science.sandiegozoo.org/) ([Animl R package](https://github.com/conservationtechlab/animl))
142
+ * [TerrOïko](https://www.terroiko.fr/) ([OCAPI platform](https://www.terroiko.fr/ocapi))
143
+
144
+ Also see:
145
+
146
+ * The [list of MD-related GUIs, platforms, and GitHub repos](https://github.com/agentmorris/MegaDetector/blob/main/megadetector.md#is-there-a-gui) within the MegaDetector User Guide
147
+
148
+ * [Peter's map of AddaxAI (formerly EcoAssist) users](https://addaxdatascience.com/addaxai/) (who are also MegaDetector users!)
149
+
150
+ * The list of papers tagged "MegaDetector" on our [list of papers about ML and camera traps](https://agentmorris.github.io/camera-trap-ml-survey/#camera-trap-ml-papers)
151
+
152
+
153
+ ## Repo contents
154
+
155
+ ### Repo history
156
+
157
+ MegaDetector was initially developed by the [Microsoft AI for Earth program](https://www.microsoft.com/en-us/ai/ai-for-earth); this repo was forked from the microsoft/cameratraps repo and is maintained by the original MegaDetector developers (who are no longer at Microsoft, but are absolutely fantastically eternally grateful to Microsoft for the investment and commitment that made MegaDetector happen). If you're interested in MD's history, see the [downloading the model](https://github.com/agentmorris/MegaDetector/blob/main/megadetector.md#downloading-the-model) section in the MegaDetector User Guide to learn about the history of MegaDetector releases, and the [can you share the training data?](https://github.com/agentmorris/MegaDetector/blob/main/megadetector.md#can-you-share-the-training-data) section to learn about the training data used in each of those releases.
158
+
159
+ ### What the code in this repo does
160
+
161
+ The core functionality provided in this repo is:
162
+
163
+ - Tools for training and running [MegaDetector](megadetector.md).
164
+ - Tools for working with MegaDetector output, e.g. for reviewing the results of a large processing batch.
165
+ - Tools to convert among frequently-used camera trap metadata formats.
166
+
167
+ This repo does not host the data used to train MegaDetector, but we work with our collaborators to make data and annotations available whenever possible on [lila.science](http://lila.science). See the [MegaDetector training data](megadetector.md#can-you-share-the-training-data) section to learn more about the data used to train MegaDetector.
168
+
169
+ ### Repo organization
170
+
171
+ This repo is organized into the following folders...
172
+
173
+ #### megadetector/detection
174
+
175
+ Code for running models, especially MegaDetector.
176
+
177
+
178
+ ##### megadetector/postprocessing
179
+
180
+ Code for common operations one might do after running MegaDetector, e.g. [generating preview pages to summarize your results](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/postprocess_batch_results.py), [separating images into different folders based on AI results](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/separate_detections_into_folders.py), or [converting results to a different format](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/postprocessing/convert_output_format.py).
181
+
182
+
183
+ #### megadetector/utils
184
+
185
+ Small utility functions for string manipulation, filename manipulation, downloading files from URLs, etc.
186
+
187
+
188
+ #### megadetector/visualization
189
+
190
+ Tools for visualizing images with ground truth and/or predicted bounding boxes.
191
+
192
+
193
+ #### megadetector/data_management
194
+
195
+ Code for:
196
+
197
+ * Converting frequently-used metadata formats to [COCO Camera Traps](https://github.com/agentmorris/MegaDetector/blob/main/megadetector/data_management/README.md#coco-cameratraps-format) format
198
+ * Converting the output of AI models (especially YOLOv5) to the format used for AI results throughout this repo
199
+ * Creating, visualizing, and editing COCO Camera Traps .json databases
200
+
201
+
202
+ #### megadetector/api
203
+
204
+ Code for hosting our models as an API, either for synchronous operation (i.e., for real-time inference) or as a batch process (for large biodiversity surveys).
205
+
206
+
207
+ #### megadetector/classification
208
+
209
+ This folder is largely deprecated thanks to the release of [SpeciesNet](https://github.com/google/cameratrapai), a species classifier that is better than any of the classifiers we ever trained with the stuff in this folder. That said, this folder contains code for training species classifiers on new data sets, generally trained on MegaDetector crops.
210
+
211
+ Here's another "teaser image" of what you get at the end of training and running a classifier:
212
+
213
+ <img src="images/warthog_classifications.jpg" width="700"><br/>Image credit University of Minnesota, from the Snapshot Safari program.
214
+
215
+
216
+ #### megadetector/taxonomy_mapping
217
+
218
+ Code to facilitate mapping data-set-specific category names (e.g. "lion", which means very different things in Idaho vs. South Africa) to a standard taxonomy.
219
+
220
+
221
+ #### envs
222
+
223
+ Environment files... specifically .yml files for mamba/conda environments (these are what we recommend in our [MegaDetector User Guide](megadetector.md)), and a requirements.txt for the pip-inclined.
224
+
225
+
226
+ #### images
227
+
228
+ Media used in documentation.
229
+
230
+
231
+ #### archive
232
+
233
+ Old code that we didn't <i>quite</i> want to delete, but is basically obsolete.
234
+
235
+
236
+ #### sandbox
237
+
238
+ Random things that don't fit in any other directory, but aren't quite deprecated. Mostly postprocessing scripts that were built for a single use case but could potentially be useful in the future.
239
+
240
+
241
+ #### test_images
242
+
243
+ A handful of images from [LILA](https://lila.science) that facilitate testing and debugging.
244
+
245
+
246
+ ## Contact
247
+
248
+ For questions about this repo, contact [cameratraps@lila.science](mailto:cameratraps@lila.science).
249
+
250
+ You can also chat with us and the broader camera trap AI community on the [AI for Conservation forum at WILDLABS](https://wildlabs.net/groups/ai-conservation) or the [AI for Conservation Slack group](https://aiforconservation.slack.com).
251
+
252
+
253
+ ## Gratuitous camera trap picture
254
+
255
+ ![Bird flying above water](images/nacti.jpg)<br/>Image credit USDA, from the [NACTI](http://lila.science/datasets/nacti) data set.
256
+
257
+ You will find lots more gratuitous camera trap pictures sprinkled about this repo. It's like a scavenger hunt.
258
+
259
+
260
+ ## License
261
+
262
+ This repository is licensed with the [MIT license](https://opensource.org/license/mit/).
263
+
264
+ Code written on or before April 28, 2023 is [copyright Microsoft](https://github.com/Microsoft/dotnet/blob/main/LICENSE).
265
+
266
+
267
+ ## Contributing
268
+
269
+ This project welcomes contributions, as pull requests, issues, or suggestions by [email](mailto:cameratraps@lila.science). We have a [list](https://github.com/agentmorris/MegaDetector/issues/84) of issues that we're hoping to address, many of which would be good starting points for new contributors. We also depend on other open-source tools that help users run MegaDetector (particularly [AddaxAI](https://github.com/PetervanLunteren/AddaxAI) (formerly EcoAssist), and open-source tools that help users work with MegaDetector results (particularly [Timelapse](https://github.com/saulgreenberg/Timelapse)). If you are looking to get involved in GUI development, reach out to the developers of those tools as well!
270
+
271
+ If you are interesting in getting involved in the conservation technology space, and MegaDetector just happens to be the first page you landed on, and none of our open issues are getting you fired up, don't fret! Head over to the [WILDLABS discussion forums](https://wildlabs.net/discussions) and let the community know you're a developer looking to get involved. Someone needs your help!
File without changes