Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - JorisCod/earthObservation · GitHub
Skip to content

Repository files navigation

Machine Learning for Earth Observation

A repository with some examples of machine learning applications in the domain of Earth Observation/remote sensing. Specifically, the repository is meant for image classification on the EuroSAT dataset [1,2]. The goal is to leverage different packages, in order to check:

  1. How easy they are to use
  2. The quality of the results, vs. [3]

For each package, a Vision Transformer (ViT) will be fine-tuned on the EuroSAT datasel, as research shows this is the best approach for multi-class image classification [4].

Installation

conda create -n earthObs
conda activate earthObs
conda install -c fastchan fastai
pip install requirements.txt

(Note that the installation is specific for using miniconda, cfr. https://anaconda.org/fastai/fastai)

Contents

Fine-tuning for the EuroSAT dataset with:

  • Fast.ai: train_fast_vit.ipynb
  • Hugging Face (+torch): train_hf_vit.ipynb
  • Timm (PyTorch Image Models): train_timm_vit.ipynb
  • TensorFlow: TODO

TODO for Fast & Timm: use base ViT model pretrained on ImageNet21k instead of ViT-tiny.

TODO for all: align performance metric with [3], by using 1) stratified sampling and 2) a 60-20-20 separation of the data.

Conclusion (preliminary)

The best results are through using Hugging Face's transformers package. This package is also relatively easy to use, well-documented and has a wide database of datasets and models.

It should be remarked that higher performance should be achived by using a ViT pre-trained with SSL methods (e.g. DINO, MAE). This was done by Wang et al. [4], but on a multi-spectral, multi-temporal dataset. Again, this should be relatively easy through Hugging Face.

For multi-specral and multi-temporal data, one should revert to base (Py)Torch/TensorFlow, as standard image processing NN/libraries focus on RGB data. Still, there are some recent interesting works that can be leveraged. One is from Li et al. [4], showing the use of multi-temporal data in combination with transformers (though not multi-spectral), the other from Cong et al. [6]. The latter work is specifically for satellite imagery, acts on multi-temperal and multi-spectral data and provides code which can be reused [7]. The work can possibly enhanced by leveraging the dataset from [4].

References

[1] P. Helber, B. Bischke, A. Dengel and D. Borth, "EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 7, pp. 2217-2226, July 2019, doi: 10.1109/JSTARS.2019.2918242.

[2] P. Helber, B. Bischke, A. Dengel and D. Borth, "Introducing Eurosat: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification," IGARSS 2018 - 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, Spain, 2018, pp. 204-207, doi: 10.1109/IGARSS.2018.8519248.

[3] Ivica Dimitrovski, Ivan Kitanovski, Dragi Kocev, Nikola Simidjievski, Current trends in deep learning for Earth Observation: An open-source benchmark arena for image classification, ISPRS Journal of Photogrammetry and Remote Sensing, Volume 197, 2023, Pages 18-35, ISSN 0924-2716, https://doi.org/10.1016/j.isprsjprs.2023.01.014. (https://www.sciencedirect.com/science/article/pii/S0924271623000205)

[4] Wang, Y., Braham, N. A. A., Xiong, Z., Liu, C., Albrecht, C. M., & Zhu, X. X. (2022). SSL4EO-S12: A Large-Scale Multi-Modal, Multi-Temporal Dataset for Self-Supervised Learning in Earth Observation. http://arxiv.org/abs/2211.07044
[5] Li, Z., Li, S., & Yan, X. (2023). Time Series as Images: Vision Transformer for Irregularly Sampled Time Series. https://doi.org/https://doi.org/10.48550/arXiv.2303.12799
[6] Cong, Y., Khanna, S., Meng, C., Liu, P., Rozi, E., He, Y., Burke, M., Lobell, D. B., & Ermon, S. (2022). SatMAE: Pre-training Transformers for Temporal and Multi-Spectral Satellite Imagery. http://arxiv.org/abs/2207.08051
[7] GitHub - sustainlab-group/SatMAE: Official code repository for NeurIPS 2022 paper “SatMAE: Pretraining Transformers for Temporal and Multi-Spectral Satellite Imagery.” (n.d.). Retrieved June 24, 2023, from https://github.com/sustainlab-group/SatMAE

Note: references 1-3 should be reformatted with Mendeley.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages