🌾 PASTIS 🌾 Panoptic Agricultural Satellite TIme Series

Overview

🌾 PASTIS 🌾 Panoptic Agricultural Satellite TIme Series (optical and radar)

The PASTIS Dataset

  • Dataset presentation

PASTIS is a benchmark dataset for panoptic and semantic segmentation of agricultural parcels from satellite time series. It contains 2,433 patches within the French metropolitan territory with panoptic annotations (instance index + semantic labelfor each pixel). Each patch is a Sentinel-2 multispectral image time series of variable lentgh.

We propose an official 5 fold split provided in the dataset's metadata, and evaluated several of the top-performing image time series networks. You are welcome to use our numbers and to submit your own entries to the leaderboard!

  • Dataset in numbers
▶️ 2,433 time series ▶️ 124,422 individual parcels ▶️ 18 crop types
▶️ 128x128 pixels / images ▶️ 38-61 acquisitions / series ▶️ 10m / pixel
▶️ 10 spectral bands ▶️ covers ~4,000 km² ▶️ over 2B pixels
  • 🔥 NEW: Radar extension (PASTIS-R)

We also propose an extended version of PASTIS which contains all radar observations of Sentinel-1 for all 2433 patches in addition to the Sentinel-2 images. For each patch, approximately 70 observations of Sentinel-1 in ascending orbit, and 70 observations in descending orbit are added to the dataset. The PASTIS-R extension can thus be used to evaluate optical-radar fusion methods for parcel-based classification, semantic segmentation, and panoptic segmentation.
For more details on PASTIS-R, refer to our recent paper on multi-modal fusion with attention-based models (link coming soon).

Usage

  • Download

The dataset can be downloaded from zenodo in different formats:

  1. PASTIS (29 GB zipped) : The original PASTIS dataset for semantic and panoptic segmentation on Sentinel-2 time series (format used for the ICCV 2021 paper). DOI
  2. PASTIS-R (54 GB zipped) : The extended version with Sentinel-1 observations. DOI
  3. PASTIS-R (pixel-set format) (27 GB zipped) : The PASTIS-R dataset prepared in pixel-set format for parcel-based classification only. See this repo and paper for more details on this format. DOI
  • Data loading

This repository also contains a PyTorch dataset class in code/dataloader.py that can be readily used to load data for training models on PASTIS and PASTIS-R. For the pixel-set dataset, use the dataloader in code/dataloader_pixelset.py. The time series contained in PASTIS have variable lengths. The code/collate.py contains a pad_collate function that you can use in the pytorch dataloader to temporally pad shorter sequences. The demo.ipynb notebook shows how to use these classes and methods to load data from PASTIS.

  • Metrics

A PyTorch implementation is also given in code/panoptic_metrics.py to compute the panoptic metrics. In order to use these metrics, the model's output should contain an instance prediction and a semantic prediction. The first one allocates an instance id to each pixel of the image, and the latter a semantic label.

Leaderboard

Please open an issue to submit new entries. Do mention if the work has been published and wether the code accessible for reproducibility. We require that at least a preprint is available to present the method used.

Semantic Segmentation

Optical only (PASTIS)

Model name #Params OA mIoU Published
U-TAE 1.1M 83.2% 63.1% ✔️ link
Unet-3d* 1.6M 81.3% 58.4% ✔️ link
Unet-ConvLSTM* 1.5M 82.1% 57.8% ✔️ link
FPN-ConvLSTM* 1.3M 81.6% 57.1% ✔️ link
Models that we re-implemented ourselves are denoted with a star (*).

Optical+Radar fusion (PASTIS-R)

Model name #Params OA mIoU Published
Late Fusion (U-TAE) + Aux + TempDrop 1.7M 84.2% 66.3% ✔️ link
Early Fusion (U-TAE) + TempDrop 1.6M 83.8% 65.9% ✔️ link

Panoptic Segmentation

Optical only (PASTIS)

Model name #Params SQ RQ PQ Published
U-TAE + PaPs 1.3M 81.3 49.2 40.4 ✔️ link

Optical+Radar fusion (PASTIS-R)

Model name #Params SQ RQ PQ Published
Early Fusion (U-TAE + PaPs) + Aux + TempDrop 1.8M 82.2 50.6 42.0 ✔️ link
Late Fusion (U-TAE + PaPs) + TempDrop 2.4M 81.6 50.5 41.6 ✔️ link

Documentation

The agricultural parcels are grouped into 18 different crop classes as shown in the table below. The backgroud class corresponds to non-agricultural land, and the void label for parcels that are mostly outside their patch. drawing

Additional information about the dataset can be found in the documentation/pastis-documentation.pdf document.

References

If you use PASTIS please cite the related paper:

@article{garnot2021panoptic,
  title={Panoptic Segmentation of Satellite Image Time Series
with Convolutional Temporal Attention Networks},
  author={Sainte Fare Garnot, Vivien  and Landrieu, Loic },
  journal={ICCV},
  year={2021}
}

For the PASTIS-R optical-radar fusion dataset, please also cite this paper:

@article{garnot2021mmfusion,
  title={Multi-Modal Temporal Attention Models for Crop Mapping from Satellite Time Series},
  author={Sainte Fare Garnot, Vivien  and Landrieu, Loic and Chehata, Nesrine },
  journal={arxiv},
  year={2021}
}

Credits

  • The satellite imagery used in PASTIS was retrieved from THEIA: "Value-added data processed by the CNES for the Theia www.theia.land.fr data cluster using Copernicus data. The treatments use algorithms developed by Theia’s Scientific Expertise Centres. "

  • The annotations used in PASTIS stem from the French land parcel identification system produced by IGN, the French mapping agency.

  • This work was partly supported by ASP, the French Payment Agency.

  • We also thank Zenodo for hosting the datasets.

A repo that contains all the mesh keys needed for mesh backend, along with a code example of how to use them in python

Mesh-Keys A repo that contains all the mesh keys needed for mesh backend, along with a code example of how to use them in python Have been seeing alot

Joseph 53 Dec 13, 2022
multimodal transformer

This repo holds the code to perform experiments with the multimodal autoregressive probabilistic model Transflower. Overview of the repo It is structu

Guillermo Valle 68 Dec 13, 2022
A simple interface for editing natural photos with generative neural networks.

Neural Photo Editor A simple interface for editing natural photos with generative neural networks. This repository contains code for the paper "Neural

Andy Brock 2.1k Dec 29, 2022
Official implementation for: Blended Diffusion for Text-driven Editing of Natural Images.

Blended Diffusion for Text-driven Editing of Natural Images Blended Diffusion for Text-driven Editing of Natural Images Omri Avrahami, Dani Lischinski

328 Dec 30, 2022
Find-Lane-Line - Use openCV library and Python to detect the road-lane-line

Find-Lane-Line This project is to use openCV library and Python to detect the road-lane-line. Data Pipeline Step one : Color Selection Step two : Cann

Kenny Cheng 3 Aug 17, 2022
x-transformers-paddle 2.x version

x-transformers-paddle x-transformers-paddle 2.x version paddle 2.x版本 https://github.com/lucidrains/x-transformers 。 requirements paddlepaddle-gpu==2.2

yujun 7 Dec 08, 2022
A PyTorch Implementation of Single Shot Scale-invariant Face Detector.

S³FD: Single Shot Scale-invariant Face Detector A PyTorch Implementation of Single Shot Scale-invariant Face Detector. Eval python wider_eval_pytorch.

carwin 235 Jan 07, 2023
Official implementation of VQ-Diffusion

Official implementation of VQ-Diffusion: Vector Quantized Diffusion Model for Text-to-Image Synthesis

Microsoft 592 Jan 03, 2023
A Factor Model for Persistence in Investment Manager Performance

Factor-Model-Manager-Performance A Factor Model for Persistence in Investment Manager Performance I apply methods and processes similar to those used

Omid Arhami 1 Dec 01, 2021
Finite difference solution of 2D Poisson equation. Can handle Dirichlet, Neumann and mixed boundary conditions.

Poisson-solver-2D Finite difference solution of 2D Poisson equation Current version can handle Dirichlet, Neumann, and mixed (combination of Dirichlet

Mohammad Asif Zaman 34 Dec 23, 2022
Preparation material for Dropbox interviews

Dropbox-Onsite-Interviews A guide for the Dropbox onsite interview! The Dropbox interview question bank is very small. The bank has been in a Chinese

386 Dec 31, 2022
End-To-End Optimization of LiDAR Beam Configuration

End-To-End Optimization of LiDAR Beam Configuration arXiv | IEEE Xplore This repository is the official implementation of the paper: End-To-End Optimi

Niclas 30 Nov 28, 2022
GraPE is a Rust/Python library for high-performance Graph Processing and Embedding.

GraPE GraPE (Graph Processing and Embedding) is a fast graph processing and embedding library, designed to scale with big graphs and to run on both of

AnacletoLab 194 Dec 29, 2022
Learning to Map Large-scale Sparse Graphs on Memristive Crossbar

Release of AutoGMap:Learning to Map Large-scale Sparse Graphs on Memristive Crossbar For reproduction of our searched model, the Ubuntu OS is recommen

2 Aug 23, 2022
The implementation of "Bootstrapping Semantic Segmentation with Regional Contrast".

ReCo - Regional Contrast This repository contains the source code of ReCo and baselines from the paper, Bootstrapping Semantic Segmentation with Regio

Shikun Liu 128 Dec 30, 2022
FaceAPI: AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using TensorFlow/JS

FaceAPI AI-powered Face Detection & Rotation Tracking, Face Description & Recognition, Age & Gender & Emotion Prediction for Browser and NodeJS using

Vladimir Mandic 395 Dec 29, 2022
:fire: 2D and 3D Face alignment library build using pytorch

Face Recognition Detect facial landmarks from Python using the world's most accurate face alignment network, capable of detecting points in both 2D an

Adrian Bulat 6k Dec 31, 2022
BirdCLEF 2021 - Birdcall Identification 4th place solution

BirdCLEF 2021 - Birdcall Identification 4th place solution My solution detail kaggle discussion Inference Notebook (best submission) Environment Use K

tattaka 42 Jan 02, 2023
Sequential model-based optimization with a `scipy.optimize` interface

Scikit-Optimize Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements

Scikit-Optimize 2.5k Jan 04, 2023
Neural Motion Learner With Python

Neural Motion Learner Introduction This work is to extract skeletal structure from volumetric observations and to learn motion dynamics from the detec

Jinseok Bae 14 Nov 28, 2022