{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/ssl4eo-l-datasets-and-foundation-models-for-1","title":"SSL4EO-L: Datasets and Foundation Models for Landsat Imagery","arxiv_id":"2306.09424","date":"2023-06-15","proceeding":"NeurIPS 2023 11","authors":["Adam J. Stewart","Nils Lehmann","Isaac A. Corley","Yi Wang","Yi-Chia Chang","Nassim Ait Ali Braham","Shradha Sehgal","Caleb Robinson","Arindam Banerjee"],"abstract":"The Landsat program is the longest-running Earth observation program in history, with 50+ years of data acquisition by 8 satellites. The multispectral imagery captured by sensors onboard these satellites is critical for a wide range of scientific fields. Despite the increasing popularity of deep learning and remote sensing, the majority of researchers still use decision trees and random forests for Landsat image analysis due to the prevalence of small labeled datasets and lack of foundation models. In this paper, we introduce SSL4EO-L, the first ever dataset designed for Self-Supervised Learning for Earth Observation for the Landsat family of satellites (including 3 sensors and 2 product levels) and the largest Landsat dataset in history (5M image patches). Additionally, we modernize and re-release the L7 Irish and L8 Biome cloud detection datasets, and introduce the first ML benchmark datasets for Landsats 4-5 TM and Landsat 7 ETM+ SR. Finally, we pre-train the first foundation models for Landsat imagery using SSL4EO-L and evaluate their performance on multiple semantic segmentation tasks. All datasets and model weights are available via the TorchGeo (https://github.com/microsoft/torchgeo) library, making reproducibility and experimentation easy, and enabling scientific advancements in the burgeoning field of remote sensing for a multitude of downstream applications.","url_abs":"https://arxiv.org/abs/2306.09424v2","url_pdf":"https://arxiv.org/pdf/2306.09424v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"ssl4eo-l-datasets-and-foundation-models-for-1","repo_url":"https://github.com/microsoft/torchgeo","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"ssl4eo-l-datasets-and-foundation-models-for-1","repo_url":"https://github.com/zhu-xlab/ssl4eo-s12","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"cloud-detection","task_name":"Cloud Detection"},{"task_slug":"earth-observation","task_name":"Earth Observation"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.09424","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.09424"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/microsoft/torchgeo","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhu-xlab/ssl4eo-s12","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":1,"unverified":10},"by_repo_kind":{"listed":{"samples":11,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"131a82fd65128218","entry":"accuracy","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/pretrain_moco_v2_s2c.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/pretrain_moco_v2_s2c.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"131a82fd65128218"}},{"code_sha256_prefix":"b3bd317a63c0e5a9","entry":"date2str","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/download_data/ssl4eo_s12_downloader.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/download_data/ssl4eo_s12_downloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b3bd317a63c0e5a9"}},{"code_sha256_prefix":"6956cf22c99cfa9d","entry":"date2str","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/download_data/ssl4eo_downloader.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/download_data/ssl4eo_downloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6956cf22c99cfa9d"}},{"code_sha256_prefix":"42c054802a568e6b","entry":"get_model","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/pretrain_data2vec.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/pretrain_data2vec.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"42c054802a568e6b"}},{"code_sha256_prefix":"98e89406336bcd07","entry":"get_period","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/download_data/ssl4eo_s12_downloader.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/download_data/ssl4eo_s12_downloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"98e89406336bcd07"}},{"code_sha256_prefix":"b9a9229f92b6dedb","entry":"get_period","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/download_data/ssl4eo_downloader.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/download_data/ssl4eo_downloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b9a9229f92b6dedb"}},{"code_sha256_prefix":"08537317d4bdd531","entry":"maskS2clouds","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/download_data/ssl4eo_s12_downloader.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/download_data/ssl4eo_s12_downloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"08537317d4bdd531"}},{"code_sha256_prefix":"15c4c0f9b256fee4","entry":"normalize","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/datasets/SSL4EO/ssl4eo_dataset.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/datasets/SSL4EO/ssl4eo_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"15c4c0f9b256fee4"}},{"code_sha256_prefix":"d88646daaeb020ef","entry":"random_subset","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/datasets/SSL4EO/ssl4eo_dataset.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/datasets/SSL4EO/ssl4eo_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d88646daaeb020ef"}},{"code_sha256_prefix":"22e63e9ba09c6b88","entry":"train","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/pretrain_moco_v2_s2c.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/pretrain_moco_v2_s2c.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"22e63e9ba09c6b88"}},{"code_sha256_prefix":"d65aefdf2f95c196","entry":"train","repo":"zhu-xlab/ssl4eo-s12","repo_kind":"listed","path":"src/benchmark/pretrain_ssl/pretrain_moco_v2_seco_ms.py","file_url":"https://github.com/zhu-xlab/ssl4eo-s12/blob/HEAD/src/benchmark/pretrain_ssl/pretrain_moco_v2_seco_ms.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d65aefdf2f95c196"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}