diff --git a/README.md b/README.md index 97d6ee35..49435588 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ to your desired specification. [cucumber_disease_classification](https://github.com/Project-AgML/AgML/blob/main/docs/datasets/cucumber_disease_classification.md) | Image Classification | 7689 | [iNatAg](https://github.com/Project-AgML/AgML/blob/main/docs/datasets/iNatAg.md) | Image Classification | 4720903 | [iNatAg-mini](https://github.com/Project-AgML/AgML/blob/main/docs/datasets/iNatAg-mini.md) | Image Classification | 560844 | - +[soybean_insect_classification](https://github.com/Project-AgML/AgML/blob/main/docs/datasets/soybean_insect_classification.md) | Image Classification | 6410 | ## iNatAg and iNatAg-mini @@ -218,6 +218,7 @@ loader = agml.data.AgMLDataLoader.from_parent("iNatAg", filters={"family_name": loader = agml.data.AgMLDataLoader.from_parent("iNatAg", filters={"common_name": "..."}) ``` + ## Usage Information ### Using Public Agricultural Data @@ -248,5 +249,4 @@ a bug or feature that you would like to see implemented, please don't hesitate t See the [contributing guidelines](/CONTRIBUTING.md) for more information. ## Funding -This project is partly funded by the [National AI Institute for Food Systems](https://aifs.ucdavis.edu). - +This project is partly funded by the [National AI Institute for Food Systems](https://aifs.ucdavis.edu). \ No newline at end of file diff --git a/agml/_assets/public_datasources.json b/agml/_assets/public_datasources.json index 1bad4b46..d7c3660b 100644 --- a/agml/_assets/public_datasources.json +++ b/agml/_assets/public_datasources.json @@ -1057,6 +1057,11 @@ "continent": "worldwide", "country": "worldwide" }, + "sensor_modality": "rgb", + "real_synthetic": "real", + "platform": "handheld/ground", + "input_data_format": "jpg", + "annotation_format": "image", "n_images": "42", "docs_url": "https://data.nal.usda.gov/dataset/data-multi-species-fruit-flower-detection-using-refined-semantic-segmentation-network", "external_image_sources": [], @@ -2462,5 +2467,40 @@ }, "parent_dataset": "", "extra_metadata": {} + }, + "soybean_insect_classification": { + "ml_task": "image_classification", + "ag_task": "pest_classification", + "location": { + "continent": "south_america", + "country": "brazil" + }, + "sensor_modality": "rgb", + "real_synthetic": "real", + "platform": "uav", + "input_data_format": "jpg", + "annotation_format": "directory_names", + "n_images": "6410", + "docs_url": "https://data.mendeley.com/datasets/bycbh73438/1", + "classes": { + "0": "Caterpillar", + "1": "Diabrotica_speciosa", + "2": "Healthy" + }, + "external_image_sources": [], + "parent_dataset": "", + "extra_metadata": {}, + "stats": { + "mean": [ + 0.4129256308078766, + 0.515846848487854, + 0.3347107470035553 + ], + "std": [ + 0.22007715702056885, + 0.22993944585323334, + 0.20302338898181915 + ] + } } } \ No newline at end of file diff --git a/agml/_assets/shape_info.pickle b/agml/_assets/shape_info.pickle index 15d242e2..daa39277 100644 Binary files a/agml/_assets/shape_info.pickle and b/agml/_assets/shape_info.pickle differ diff --git a/agml/_assets/source_citations.json b/agml/_assets/source_citations.json index d3851aae..2bea6b79 100644 --- a/agml/_assets/source_citations.json +++ b/agml/_assets/source_citations.json @@ -262,5 +262,9 @@ "cucumber_disease_classification": { "license": "CC BY 4.0", "citation": "Sultana, Nusrat; Shorif, Sumaita Binte ; Akter, Morium ; Uddin, Mohammad Shorif (2022), “Cucumber Disease Recognition Dataset”, Mendeley Data, V1, doi: 10.17632/y6d3z6f8z9.1" + }, + "soybean_insect_classification": { + "license": "CC BY 4.0", + "citation": "Mignoni, Maria Eloisa (2021), “Images of Soybean Leaves”, Mendeley Data, V1, doi: 10.17632/bycbh73438.1" } } \ No newline at end of file diff --git a/agml/_internal/preprocess.py b/agml/_internal/preprocess.py index 0126022d..b501cb42 100644 --- a/agml/_internal/preprocess.py +++ b/agml/_internal/preprocess.py @@ -1585,6 +1585,9 @@ def sunflower_disease_classification(self, dataset_name): def cucumber_disease_classification(self, dataset_name): pass + def soybean_insect_classification(self, dataset_name): + pass + if __name__ == '__main__': # Initialize program arguments. ap = argparse.ArgumentParser() diff --git a/docs/datasets/iNatAg-mini.md b/docs/datasets/iNatAg-mini.md index d05b82db..96537bf7 100644 --- a/docs/datasets/iNatAg-mini.md +++ b/docs/datasets/iNatAg-mini.md @@ -10,10 +10,7 @@ It consists of 2,959 species with a breakdown of 1,986 crop species and 973 weed from pprint import pprint import agml -datasets = agml.data.public_data_sources() -iNatAg_mini_datasets = [ds._name.replace("iNatAg-mini/","") for ds in datasets if "iNatAg-mini" in ds._name] - -print(iNatAg_mini_datasets) +print(agml.data.public_data_sources(parent_dataset='iNatAg-mini')) ``` ## Loading iNatAg-mini dataset diff --git a/docs/datasets/iNatAg.md b/docs/datasets/iNatAg.md index 73ef2f04..7cbdcbd0 100644 --- a/docs/datasets/iNatAg.md +++ b/docs/datasets/iNatAg.md @@ -8,10 +8,7 @@ iNatAg is a large-scale dataset derived from the iNaturalist dataset, designed f from pprint import pprint import agml -datasets = agml.data.public_data_sources() -iNatAg_datasets = [ds._name.replace("iNatAg/","") for ds in datasets if "iNatAg" in ds._name] - -print(iNatAg_datasets) +print(agml.data.public_data_sources(parent_dataset='iNatAg')) ``` ## Loading iNatAg dataset diff --git a/docs/datasets/soybean_insect_classification.md b/docs/datasets/soybean_insect_classification.md new file mode 100644 index 00000000..5d958427 --- /dev/null +++ b/docs/datasets/soybean_insect_classification.md @@ -0,0 +1,27 @@ + +# `soybean_insect_classification` + +## Dataset Metadata + +| Metadata | Value | +| --- | --- | +| **Machine Learning Task** | image_classification | +| **Agricultural Task** | pest_classification | +| **Location** | Brazil, South America | +| **Sensor Modality** | RGB | +| **Real or Synthetic** | real | +| **Platform** | uav | +| **Input Data Format** | JPG | +| **Annotation Format** | directory_names | +| **Number of Images** | 6410 | +| **Documentation** | https://data.mendeley.com/datasets/bycbh73438/1 | +| **Classes** | Caterpillar, Diabrotica_speciosa, Healthy | +| **Parent Dataset** | None | +| **Extra Metadata** | {} | +| **Stats/Mean** | [0.413, 0.516, 0.335] | +| **Stats/Standard Deviation** | [0.22, 0.23, 0.203] | + + +## Examples + +![Example Images for soybean_insect_classification](https://github.com/Project-AgML/AgML/blob/main/docs/sample_images/soybean_insect_classification_examples.png) \ No newline at end of file diff --git a/docs/sample_images/soybean_insect_classification_examples.png b/docs/sample_images/soybean_insect_classification_examples.png new file mode 100644 index 00000000..93d0a968 Binary files /dev/null and b/docs/sample_images/soybean_insect_classification_examples.png differ