Home

Awesome

Space2Ground Dataset

<img align="right" width="230" height="280" src="Space2Ground_components.jpg"/>

Space2Ground is a multi-level, multi-sensor, multi-modal dataset, annotated with grassland/non-grassland labels for agriculture monitoring. We combine Sentinel-1 SAR data, Sentinel-2 multispectral data and street-level images for the purpose of grassland detection.

In particular, our dataset consists of:

<br clear="right"/>

Downloading Space2Ground through direct links

To download Space2Ground, you can use the following links, taken from the corresponding page of the dataset on Zenodo:

Downloading Space2Ground through the provided download script

An alternative way to download Space2Ground, is to use the download.sh script included in this repository. The instructions for the script usage are as follows:

  1. download Sentinel data to data/ (~ 115MB)
bash download.sh sentinel
  1. download Street level patches to data/streetLevel_patches (~ 187MB)
bash download.sh imagepatches
  1. (Optional) download Street level raw images to data/Mapillary (~ 4.6GB)
bash download.sh mapillary

or download everything with bash download.sh all <br/><br/>

Dataset structure

By downloading and unzipping the components, the file structure should look as follows:

├── Mapillary (optional)
│   └── mapillary
│       ├── 1000364310368104.jpg
│       ├── 1000636817135431.jpg
|       ... (~ 38000 more images)
├── s1
│   ├── test_dataset.csv
│   └── train_dataset.csv
├── s2
│   ├── test_dataset.csv
│   └── train_dataset.csv
└── streetLevel_patches
    ├── test
    │   ├── Grassland
    │   │   ├── 1021749698360014_right.jpg
    │   │   ├── 1076131292797553_left.jpg
    │   │   ... (~ 1900 more images)
    │   └── Non_Grassland
    │   │   ├── 1003028817110323_right.jpg
    │   │   ├── 1074590653065936_left.jpg
    │   │   ... (~ 320 more images)
    └── train
        ├── Grassland
        │   ├── 1003976380345602_right.jpg
        │   ├── 1005946389941606_left.jpg
        │   ... (~ 6950 more images)
        └── Non_Grassland
            ├── 1005486846651292_left.jpg
            ├── 1019023345502754_right.jpg
            ... (~ 900 more images)

Details for each data component

Sentinel-1 data

The following table is a 2-row sample of the Sentinel-1 csv data columns and how they look like

labelid2017-04_VH_SAR2017-04_VV_SAR2017-05_VH_SAR2017-05_VV_SAR...
1382673.880000039935112000e-013.217499963939189911e-013.055000031987826214e-012.696666667858759747e-01...
0129141.291400000000000000e+043.467499986290931702e-012.702500000596046448e-012.591666653752326965e-01...
...

The full list of column names of the Sentinel 1 data is:

s1_colnames = ['label', 'parcel_id', '2017-04_VH_SAR', '2017-04_VV_SAR', '2017-05_VH_SAR',
    '2017-05_VV_SAR', '2017-06_VH_SAR', '2017-06_VV_SAR', '2017-07_VH_SAR',
    '2017-07_VV_SAR', '2017-08_VH_SAR', '2017-08_VV_SAR', '2017-09_VH_SAR',
    '2017-09_VV_SAR', '2017-10_VH_SAR', '2017-10_VV_SAR', '2017-04_VH_COH',
    '2017-04_VV_COH', '2017-05_VH_COH', '2017-05_VV_COH', '2017-06_VH_COH',
    '2017-06_VV_COH', '2017-07_VH_COH', '2017-07_VV_COH', '2017-08_VH_COH',
    '2017-08_VV_COH', '2017-09_VH_COH', '2017-09_VV_COH', '2017-10_VH_COH',
    '2017-10_VV_COH']

Sentinel-2 data

The following table is a 2-row sample of the Sentinel-2 csv data columns and how they look like

labelidB02_2017-03-24B02_2017-03-27...B8A_2017-03-24...
1129141.877940319825072701e-012.718666706611517214e-01...3.002316555825695898e-01...
0416601.720458268082157016e-012.467546732731773496e-01...1.456669014803818607e-01...
...

The full list of column names of the Sentinel 2 data is:

s2_colnames = ['label', 'id', 'B02_2017-03-24', 'B02_2017-03-27', 'B02_2017-04-26', 'B02_2017-05-06', 'B02_2017-05-26', 
    'B02_2017-06-02', 'B02_2017-06-05', 'B02_2017-07-07', 'B02_2017-07-17', 'B02_2017-07-20', 'B02_2017-07-22',
    'B02_2017-08-04', 'B02_2017-08-06', 'B02_2017-08-09', 'B02_2017-08-14', 'B02_2017-08-19', 'B02_2017-08-24',
    'B02_2017-08-26', 'B02_2017-08-29', 'B02_2017-09-03', 'B02_2017-09-10', 'B02_2017-09-15', 'B02_2017-09-20',
    'B02_2017-09-23', 'B02_2017-09-28', 'B02_2017-10-03', 'B02_2017-10-05', 'B02_2017-10-15', 'B02_2017-10-18',
    'B03_2017-03-24', 'B03_2017-03-27', 'B03_2017-04-26', 'B03_2017-05-06', 'B03_2017-05-26', 'B03_2017-06-02',
    'B03_2017-06-05', 'B03_2017-07-07', 'B03_2017-07-17', 'B03_2017-07-20', 'B03_2017-07-22', 'B03_2017-08-04',
    'B03_2017-08-06', 'B03_2017-08-09', 'B03_2017-08-14', 'B03_2017-08-19', 'B03_2017-08-24', 'B03_2017-08-26',
    'B03_2017-08-29', 'B03_2017-09-03', 'B03_2017-09-10', 'B03_2017-09-15', 'B03_2017-09-20', 'B03_2017-09-23',
    'B03_2017-09-28', 'B03_2017-10-03', 'B03_2017-10-05', 'B03_2017-10-15', 'B03_2017-10-18', 'B04_2017-03-24',
    'B04_2017-03-27', 'B04_2017-04-26', 'B04_2017-05-06', 'B04_2017-05-26', 'B04_2017-06-02', 'B04_2017-06-05',
    'B04_2017-07-07', 'B04_2017-07-17', 'B04_2017-07-20', 'B04_2017-07-22', 'B04_2017-08-04', 'B04_2017-08-06',
    'B04_2017-08-09', 'B04_2017-08-14', 'B04_2017-08-19', 'B04_2017-08-24', 'B04_2017-08-26', 'B04_2017-08-29',
    'B04_2017-09-03', 'B04_2017-09-10', 'B04_2017-09-15', 'B04_2017-09-20', 'B04_2017-09-23', 'B04_2017-09-28',
    'B04_2017-10-03', 'B04_2017-10-05', 'B04_2017-10-15', 'B04_2017-10-18', 'B05_2017-03-24', 'B05_2017-03-27',
    'B05_2017-04-26', 'B05_2017-05-06', 'B05_2017-05-26', 'B05_2017-06-02', 'B05_2017-06-05', 'B05_2017-07-07',
    'B05_2017-07-17', 'B05_2017-07-20', 'B05_2017-07-22', 'B05_2017-08-04', 'B05_2017-08-06', 'B05_2017-08-09',
    'B05_2017-08-14', 'B05_2017-08-19', 'B05_2017-08-24', 'B05_2017-08-26', 'B05_2017-08-29', 'B05_2017-09-03',
    'B05_2017-09-10', 'B05_2017-09-15', 'B05_2017-09-20', 'B05_2017-09-23', 'B05_2017-09-28', 'B05_2017-10-03',
    'B05_2017-10-05', 'B05_2017-10-15', 'B05_2017-10-18', 'B06_2017-03-24', 'B06_2017-03-27', 'B06_2017-04-26',
    'B06_2017-05-06', 'B06_2017-05-26', 'B06_2017-06-02', 'B06_2017-06-05', 'B06_2017-07-07', 'B06_2017-07-17',
    'B06_2017-07-20', 'B06_2017-07-22', 'B06_2017-08-04', 'B06_2017-08-06', 'B06_2017-08-09', 'B06_2017-08-14',
    'B06_2017-08-19', 'B06_2017-08-24', 'B06_2017-08-26', 'B06_2017-08-29', 'B06_2017-09-03', 'B06_2017-09-10',
    'B06_2017-09-15', 'B06_2017-09-20', 'B06_2017-09-23', 'B06_2017-09-28', 'B06_2017-10-03', 'B06_2017-10-05',
    'B06_2017-10-15', 'B06_2017-10-18', 'B07_2017-03-24', 'B07_2017-03-27', 'B07_2017-04-26', 'B07_2017-05-06',
    'B07_2017-05-26', 'B07_2017-06-02', 'B07_2017-06-05', 'B07_2017-07-07', 'B07_2017-07-17', 'B07_2017-07-20',
    'B07_2017-07-22', 'B07_2017-08-04', 'B07_2017-08-06', 'B07_2017-08-09', 'B07_2017-08-14', 'B07_2017-08-19',
    'B07_2017-08-24', 'B07_2017-08-26', 'B07_2017-08-29', 'B07_2017-09-03', 'B07_2017-09-10', 'B07_2017-09-15',
    'B07_2017-09-20', 'B07_2017-09-23', 'B07_2017-09-28', 'B07_2017-10-03', 'B07_2017-10-05', 'B07_2017-10-15',
    'B07_2017-10-18', 'B08_2017-03-24', 'B08_2017-03-27', 'B08_2017-04-26', 'B08_2017-05-06', 'B08_2017-05-26',
    'B08_2017-06-02', 'B08_2017-06-05', 'B08_2017-07-07', 'B08_2017-07-17', 'B08_2017-07-20', 'B08_2017-07-22',
    'B08_2017-08-04', 'B08_2017-08-06', 'B08_2017-08-09', 'B08_2017-08-14', 'B08_2017-08-19', 'B08_2017-08-24',
    'B08_2017-08-26', 'B08_2017-08-29', 'B08_2017-09-03', 'B08_2017-09-10', 'B08_2017-09-15', 'B08_2017-09-20',
    'B08_2017-09-23', 'B08_2017-09-28', 'B08_2017-10-03', 'B08_2017-10-05', 'B08_2017-10-15', 'B08_2017-10-18',
    'B8A_2017-03-24', 'B8A_2017-03-27', 'B8A_2017-04-26', 'B8A_2017-05-06', 'B8A_2017-05-26', 'B8A_2017-06-02',
    'B8A_2017-06-05', 'B8A_2017-07-07', 'B8A_2017-07-17', 'B8A_2017-07-20', 'B8A_2017-07-22', 'B8A_2017-08-04',
    'B8A_2017-08-06', 'B8A_2017-08-09', 'B8A_2017-08-14', 'B8A_2017-08-19', 'B8A_2017-08-24', 'B8A_2017-08-26',
    'B8A_2017-08-29', 'B8A_2017-09-03', 'B8A_2017-09-10', 'B8A_2017-09-15', 'B8A_2017-09-20', 'B8A_2017-09-23',
    'B8A_2017-09-28', 'B8A_2017-10-03', 'B8A_2017-10-05', 'B8A_2017-10-15', 'B8A_2017-10-18', 'B11_2017-03-24',
    'B11_2017-03-27', 'B11_2017-04-26', 'B11_2017-05-06', 'B11_2017-05-26', 'B11_2017-06-02', 'B11_2017-06-05',
    'B11_2017-07-07', 'B11_2017-07-17', 'B11_2017-07-20', 'B11_2017-07-22', 'B11_2017-08-04', 'B11_2017-08-06',
    'B11_2017-08-09', 'B11_2017-08-14', 'B11_2017-08-19', 'B11_2017-08-24', 'B11_2017-08-26', 'B11_2017-08-29',
    'B11_2017-09-03', 'B11_2017-09-10', 'B11_2017-09-15', 'B11_2017-09-20', 'B11_2017-09-23', 'B11_2017-09-28',
    'B11_2017-10-03', 'B11_2017-10-05', 'B11_2017-10-15', 'B11_2017-10-18', 'B12_2017-03-24', 'B12_2017-03-27',
    'B12_2017-04-26', 'B12_2017-05-06', 'B12_2017-05-26', 'B12_2017-06-02', 'B12_2017-06-05', 'B12_2017-07-07',
    'B12_2017-07-17', 'B12_2017-07-20', 'B12_2017-07-22', 'B12_2017-08-04', 'B12_2017-08-06', 'B12_2017-08-09',
    'B12_2017-08-14', 'B12_2017-08-19', 'B12_2017-08-24', 'B12_2017-08-26', 'B12_2017-08-29', 'B12_2017-09-03',
    'B12_2017-09-10', 'B12_2017-09-15', 'B12_2017-09-20', 'B12_2017-09-23', 'B12_2017-09-28', 'B12_2017-10-03',
    'B12_2017-10-05', 'B12_2017-10-15', 'B12_2017-10-18']

Street-level patches data

These are cropped vegetation parts of mapillary street-level images. The methodology of creating these images is described in our Space2Ground paper.

Samples of Grassland patches:<br/> Grassland image patch - example 1 Grassland image patch - example 2 Grassland image patch - example 3 <br/>

Samples of Non-Grassland patches:<br/> Non Grassland image patch - example 1 Non Grassland image patch - example 2 Non Grassland image patch - example 3

Parcel annotations

This is a csv file that contains the annotations that connect all the Space2Ground dataset components, as it holds information on the parcel id and the street level image id. Its structure is as follows:<br/>

idlabelimage_dateimage_iddirection
1890Grassland2017-08-02527903208225456right
28235Grassland2017-08-05485698512854670left
34666Maize2017-08-13306183544216406left
...

Note that the labels include crop types, like Grassland, Maize, Onions, etc. The Grassland/Non-Grassland differentiation has been generated by processing the labels accordingly.

Space2Ground Usage examples and Dataset Generation

Usage example

A jupyter notebook with the implementation using Space2Ground dataset described in our publication can be also found as part of this repo (file Space2Ground_use_case.ipynb)

Image patches from raw Mapillary images example

The process we followed to extract the vegetation patches from the "raw" Mapillary dataset can be found in this jupyter notebook. A new, detailed version with further instructions and comment will be uploaded shortly.

External Code

References

<a id="space2ground_paper">[1]</a> George Choumos, Alkiviadis Koukos, Vasileios Sitokonstantinou and Charalampos Kontoes (2022) <br/> Towards Space-to-Ground Data Availability for Agriculture Monitoring <br/> 2022 IEEE 14th Image, Video, and Multidimensional Signal Processing Workshop (IVMSP 2022), 26-29 June 2022, Nafplio, Greece https://arxiv.org/abs/2205.07721 <img align="right" src="Space2Ground_overview.jpg"/>

Citation

If you used Space2Ground dataset, please cite the following paper.

@INPROCEEDINGS{9816335,
  author={Choumos, George and Koukos, Alkiviadis and Sitokonstantinou, Vasileios and Kontoes, Charalampos},
  booktitle={2022 IEEE 14th Image, Video, and Multidimensional Signal Processing Workshop (IVMSP)},
  title={Towards Space-to-Ground Data Availability for Agriculture Monitoring},
  year={2022},
  volume={},
  number={},
  pages={1-5},
  doi={10.1109/IVMSP54334.2022.9816335}
}