Skip to content

Commit

Permalink
adding details -> paper
Browse files Browse the repository at this point in the history
  • Loading branch information
yotarazona authored Jul 8, 2024
1 parent ee5a674 commit 5e77ba2
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ In environmental studies, particularly in land cover classification, the availab

One of **scikit-eo's** key strengths is its advanced analysis capabilities. It provides a rich suite of algorithms specifically designed for environmental studies, including statistical analysis, deep learning, data fusion, and spatial analysis. Researchers can leverage these tools to explore patterns, relationships, and trends within their datasets, uncover complex land or forest degradation or mapping, classify the land cover, and generate insightful visualizations.

As a particular example of these advanced analysis capabilities, we have integrated the **`deepLearning`** function, which includes the *Fully connected layers (FC)*, also known as *dense layers* model. This is one of the most straightforward yet functional neural networks we can apply to remote sensing analysis. The term "fully connected" comes from the fact that each neuron in one layer is connected to every neuron in the preceding layer, creating a highly interconnected network known as the Multi-Layer Perceptron (MLP). The model is trained using a specified dataset, with the bands as *input_shape*, including input features and corresponding class labels. The weights *𝑊* are initialized and then adjusted during training to ensure the neural network's output is consistent with the class labels. The training process involves minimizing the error function using *Gradient Descent* and *backpropagation* algorithms. The activation functions used in this model are ReLU (*Rectified Linear Unit*) for the neurons in each hidden layer and *Softmax* for the final classification layer.
As a particular example of these advanced analysis capabilities, we have integrated the **`deepLearning`** function, which includes the *Fully connected layers (FC)*, also known as *dense layers* model. This is one of the most straightforward yet functional neural networks we can apply to remote sensing analysis. The term "fully connected" comes from the fact that each neuron in one layer is connected to every neuron in the preceding layer, creating a highly interconnected network known as the Multi-Layer Perceptron (MLP). The model is trained using a specified dataset, with the bands as *input_shape*, including input features and corresponding class labels. The weights *W* are initialized and then adjusted during training to ensure the neural network's output is consistent with the class labels. The training process involves minimizing the error function using *Gradient Descent* and *backpropagation* algorithms. The activation functions used in this model are ReLU (*Rectified Linear Unit*) for the neurons in each hidden layer and *Softmax* for the final classification layer. For more details, see tutorial No [11](https://github.com/yotarazona/scikit-eo/blob/main/examples/notebooks/11_Deep_Learning_Classification_FullyConnected.ipynb) In future version, u-net architectures will be implemented within **scikit-eo**.

It's important to note that *ReLU* introduces non-linearity to the model, enabling it to learn complex patterns, while *Softmax* is used for multi-class classification, transforming the output into a probability distribution over multiple classes and better suited for more than two land covers. Unlike traditional machine learning models, such as linear regression or decision trees, which typically are simpler and don't involve multiple layers, the FC model uses multiple hidden layers, allowing it to learn hierarchical representations of the input data. Deep learning models like this one can automatically learn and extract complex features from the raw input, making them exceptionally powerful for tasks such as land cover classification.
It's important to note that *ReLU* introduces non-linearity to the model, enabling it to learn complex patterns, while *Softmax* is used for multi-class classification, transforming the output into a probability distribution over multiple classes and better suited for more than two land covers. Unlike traditional machine learning models, such as support vector machine or decision tree, which typically are simpler and don't involve multiple layers, the FC model uses multiple hidden layers, allowing it to learn hierarchical representations of the input data. Deep learning models like this one can automatically learn and extract complex features from the raw input, making them exceptionally powerful for tasks such as land cover classification.

To run an example of how to use the function **`deepLearning`** find a detailed notebook in tutorial No 11 [Deep Learning Classification](https://github.com/yotarazona/scikit-eo/blob/main/examples/11_Deep_Learning_Classification_FullyConnected.ipynb).

Expand Down Expand Up @@ -111,7 +111,7 @@ For more information the reader is referred to the [scikit-eo](https://yotarazon

# State of the field:

**Scikit-eo** is built upon well-known packages and libraries that support remote sensing analysis in python, but is designed specifically to study land cover classification, and providing tailored functionalities for environmental studies. It aims to simplify the identification of patterns, changes, and trends for environmental research. Like many other Python packages, **Scikit-eo** makes use of *Rasterio* and *GDAL*, which are essential for geospatial data handling. Additionally, **Scikit-eo** is based on **Scikit-learn**, a widely-used machine learning library in Python that includes several algorithms for classification, regression, clustering, and dimensionality reduction. However, **Scikit-eo** includes machine learning tools to remote sensing analysis. Another well-known library, *Geemap* that provides interactive mapping capabilities using Google Earth Engine and focuses more on visualization and data exploration, while **Scikit-eo** is designed for deeper analytical tasks using remote sensing data for land cover analysis. The *SITS* package is particularly useful for time series, while **Scikit-eo** provides functionalities for land cover studies. *torchgeo* a popular Python library that provides comprehensive deep learning functions for geospatial data. However **Scikit-eo** integrates machine learning methods that are particularly useful for analysing satellite imagery with multiple bands for environmental studies. Lastly, *EO-learn* can be considered the most aligned package with **Scikit-eo** providing efficient processing and analysis of satellite imagery capabilities but lacking the deep learning and tailored functions specifically included for land cover analysis.
**Scikit-eo** is built upon well-known packages and libraries that support remote sensing analysis in python, but is designed specifically to study land cover classification, and providing tailored functionalities for environmental studies. It aims to simplify the identification of patterns, changes, and trends for environmental research. Like many other Python packages, **Scikit-eo** makes use of *Rasterio* and *GDAL*, which are essential for geospatial data handling. Additionally, **Scikit-eo** is based on **Scikit-learn** and **tensorflow**, a widely-used machine learning libraries in Python that includes several algorithms for classification, regression, clustering, and dimensionality reduction. However, **Scikit-eo** includes machine learning tools to remote sensing analysis. Another well-known library, *Geemap* that provides interactive mapping capabilities using Google Earth Engine and focuses more on visualization and data exploration, while **Scikit-eo** is designed for deeper analytical tasks using remote sensing data for land cover analysis. The *SITS* package is particularly useful for time series, while **Scikit-eo** provides functionalities for land cover studies. *torchgeo* a popular Python library that provides comprehensive deep learning functions for geospatial data. However **Scikit-eo** integrates machine learning methods that are particularly useful for analysing satellite imagery with multiple bands for environmental studies. Lastly, *EO-learn* can be considered the most aligned package with **Scikit-eo** providing efficient processing and analysis of satellite imagery capabilities but lacking the deep learning and tailored functions specifically included for land cover analysis.

# Acknowledgments

Expand Down

0 comments on commit 5e77ba2

Please sign in to comment.