Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update paper #33

Merged
merged 1 commit into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 47 additions & 1 deletion docs/installation.md
Original file line number Diff line number Diff line change
@@ -1 +1,47 @@
## Coming soon
# Installation

## Earth Engine Account

Google Earth Engine (GEE) is used for data processing to get it ready in a usable TF Format. You can [sign up](https://earthengine.google.com/signup/) for a [Google Earth Engine](https://earthengine.google.com/) account.

![signup](https://i.imgur.com/ng0FzUT.png)

## Install from PyPI

**servir-aces** is available on [PyPI](https://pypi.org/project/servir-aces/). To install **servir-aces**, run this command in your terminal:

```bash
pip install servir-aces
```
<!--
## Install from conda-forge

**servir-aces** is also available on [conda-forge](https://anaconda.org/conda-forge/servir-aces). If you have
[Anaconda](https://www.anaconda.com/download) or [Miniconda](https://docs.anaconda.com/free/miniconda) installed on your computer, you can install servir-aces using the following command:

```bash
conda install servir-aces -c conda-forge
```

The geemap package has some optional dependencies, such as [apache-beam](https://beam.apache.org/). It is highly recommended that you create a fresh conda environment to install servir-aces. Follow the commands below to set up a conda env and install geemap:

```bash
conda create -n servir-aces python=3.11
conda activate servir-aces
conda install -n base mamba -c conda-forge
mamba install servir-aces -c conda-forge
```

-->

The optional dependencies can be installed using one of the following:

- `pip install "servir-aces[extra]"`: installing all optional dependencies.

## Install from GitHub

To install the development version from GitHub using [Git](https://git-scm.com/), run the following command in your terminal:

```bash
pip install git+https://github.com/SERVIR/servir-aces
```
9 changes: 6 additions & 3 deletions docs/usage.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# Usage

To use servir-aces in a project:
To use servir-aces in a project.

```
```python
from aces.config import Config
from aces.model_trainer import ModelTrainer

if __name__ == "__main__":
config = Config()
config_file = "config.env"
config = Config(config_file)
trainer = ModelTrainer(config)
trainer.train_model()
```

Several notebooks are also available on the `notebook` folder implementing DL methods.
File renamed without changes
26 changes: 9 additions & 17 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
@article{Gorelick2017,
title = "{Google Earth Engine: Planetary-scale geospatial analysis for
everyone}",
author = "Gorelick, Noel and Hancher, Matt and Dixon, Mike and
Ilyushchenko, Simon and Thau, David and Moore, Rebecca",
journal = "Remote Sensing of Environment",
publisher = "Elsevier",
volume = 202,
pages = "18--27",
month = dec,
year = 2017,
url = "http://www.sciencedirect.com/science/article/pii/S0034425717302900",
keywords = "Cloud computing; Big data; Analysis; Platform; Data
democratization; Earth Engine",
issn = "0034-4257",
doi = "10.1016/j.rse.2017.06.031"
title={Google Earth Engine: Planetary-scale geospatial analysis for everyone},
author={Gorelick, Noel and Hancher, Matt and Dixon, Mike and Ilyushchenko, Simon and Thau, David and Moore, Rebecca},
journal={Remote sensing of Environment},
volume={202},
pages={18--27},
year={2017},
publisher={Elsevier}
}

@article{Mayer2021,
Expand All @@ -29,7 +21,7 @@ @article{Mayer2021
@article{Mayer2023,
title={Employing the agricultural classification and estimation service (ACES) for mapping smallholder rice farms in Bhutan},
author={Mayer, Timothy and Bhandari, Biplov and Mart{\'\i}nez, Filoteo G{\'o}mez and Walker, Kaitlin and Jim{\'e}nez, Stephanie A and Kruskopf, Meryl and Maganini, Micky and Phalke, Aparna and Wangchen, Tshering and Phuntsho, Loday and others},
journal={ISPRS Open Journal of Photogrammetry and Remote Sensing},
journal={Frontiers in Environmental Science},
volume={11},
pages={1137835},
year={2023},
Expand All @@ -39,7 +31,7 @@ @article{Mayer2023
@article{Bhandari2024,
title={Comparing Deep Learning Models for Rice Mapping in Bhutan using High Resolution Satellite Imagery},
author={Bhandari, Biplov and Mayer, Timothy},
journal={Frontiers in Environmental Science},
journal={ISPRS Open Journal of Photogrammetry and Remote Sensing},
volume={to appear},
pages={to appear},
year={2024},
Expand Down
10 changes: 5 additions & 5 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ bibliography: paper.bib

# Summary

**`servir-aces`** Agricultural Classification and Estimation Service (ACES) is a Python package for generating training data using highly parallelized [apache-beam](https://beam.apache.org/) and [Google Earth Engine (GEE)](https://earthengine.google.com/) [@Gorelick2017] workflows as well as for training various Machine Learning (ML) and Deep Learning (DL) models for Remote Sensing Applications [@Mayer2023], [@Bhandari2024]. With petabytes of data available via GEE, and integration of the TensorFlow (TF) platfrom, models trained in TF can be easily loaded into GEE. This package provides functionalities for 1) data processing; 2) data loading from GEE; 3) feature extraction, and 4) model training. The use of combining TF and GEE for has enabled several large scale ML and DL Remote Sensing applications. Some of them include Wetland Area Mapping [@Bakkestuen2023], Crop Type Mapping [@Poortinga2021], Surface Water Mapping [@Mayer2021], and Urban Mapping [@Parekh2021].
**`servir-aces`** Agricultural Classification and Estimation Service (ACES) is a Python package for generating training data using highly parallelized [apache-beam](https://beam.apache.org/) and [Google Earth Engine (GEE)](https://earthengine.google.com/) [@Gorelick2017] workflows as well as for training various Machine Learning (ML) and Deep Learning (DL) models for Remote Sensing Applications [@Mayer2023], [@Bhandari2024]. With petabytes of data available via GEE, and integration of the TensorFlow (TF) platfrom, models trained in TF can be easily loaded into GEE. This package provides functionalities for 1) data processing; 2) data loading from GEE; 3) feature extraction, 4) model training, and 5) model inference. The combination of TF and GEE has enabled several large scale ML and DL Remote Sensing applications. Some of them include Wetland Area Mapping [@Bakkestuen2023], Crop Type Mapping [@Poortinga2021], Surface Water Mapping [@Mayer2021], and Urban Mapping [@Parekh2021].

Despite robust platforms, specialized technical knowledge is required to setup and run various ML/DL models. Leading many practitioners, scientists, and domain experts to find it difficult to implement DL frameworks. The **`servir-aces`** Python package is created to fill this gap. **`servir-aces`** siginicantly lowers the barrier for users to export training data and both train and run DL models using cloud-based technology with their GEE workflows. Several examples are provided to make it easier for scientists utilize this emerging field of DL.
Despite robust platforms, specialized technical knowledge is required to setup and run various ML/DL models, leading many practitioners, scientists, and domain experts to find it difficult to implement them. The **`servir-aces`** Python package is created to fill this gap. **`servir-aces`** siginicantly lowers the barrier for users to export training data and both train and run DL models using cloud-based technology with their GEE workflows. Several examples are provided via a runnable notebook to make it easier for scientists utilize this emerging field of DL.

# **`servir-aces`** Audience

Expand All @@ -43,12 +43,13 @@ The major high-level functionality of the **servir-aces** packages are:
- Data loading and processing from GEE.
- Generation of training data for various ML and DL models.
- Training and evaluation of ML/DL Models.
- Inferences of the trained ML/DL models.
- Support for remote sensing feature extraction.
- Integration with Apache Beam for data processing and parallelization.

The key functionality of **`servir-aces`** is organized into several modules:

- [data_processor](https://servir.github.io/servir-aces/data_processor/): this module provides functions for data input/output and preprocessing for the image segmentation project.
- [data_processor](https://servir.github.io/servir-aces/data_processor/): this module provides functionality for data input/output and preprocessing for the image segmentation project.

- [model_builder](https://servir.github.io/servir-aces/model_builder/): this module provides functionality for creating and compiling various Neural Network Models, including DNN, CNN, U-Net.

Expand All @@ -64,7 +65,6 @@ The key functionality of **`servir-aces`** is organized into several modules:
This research was funded through the US Agency for International Development (USAID) and NASA initiative Cooperative Agreement Number: AID486-A-14-00002. Individuals affiliated with the University of Alabama in Huntsville (UAH) are funded through the NASA Applied Sciences Capacity Building Program, NASA Cooperative Agreement: 80MSFC22M004.

# **`servir-aces`** Acknowledgement
The authors would like to thank NASA’s Applied Sciences Program and Capacity Building Program, specifically Dr. Nancy Searby. We also want to thank the [SERVIR](https://servirglobal.net/) program Dan Irwin, Dr. Ashutosh Limaye, Eric Anderson in particular. Additionally, we would like to thank the the United States Agency for International Development (USAID) especially Dr. Pete Epanchin. We would also like to thank the University of Alabama in Huntsville specifically Dr. Rob Griffin and the [Lab for Applied Science (LAS)]([https://www.uah.edu/essc/laboratory-for-applied-science](https://www.uah.edu/essc/laboratory-for-applied-science)). As well as [SERVIR's Geospatial Artificial Intelleigence Working Group (Geo-AI WG)](https://sites.google.com/uah.edu/2020-tensorflow-technical-exch/home) for their support and collaboration over the years. Finally, Nick Clinton of the Google Earth Outreach Team for the support.

The authors would like to thank NASA’s Applied Sciences Program and Capacity Building Program, specifically Dr. Nancy Searby. We also want to thank the [SERVIR](https://servirglobal.net/) program especially Dan Irwin, Dr. Ashutosh Limaye, and Eric Anderson. Additionally, we would like to thank the USAID especially Dr. Pete Epanchin. We would also like to thank UAH specifically Dr. Rob Griffin and the [Lab for Applied Science (LAS)](https://www.uah.edu/essc/laboratory-for-applied-science) as well as [SERVIR's Geospatial Artificial Intelleigence Working Group (Geo-AI WG)](https://tinyurl.com/servir-geo-ai-wg) for their support and collaboration over the years. Finally, wse are indebted to Dr Nick Clinton from the Google Earth Outreach Team for the support.

# References
Loading