From this paper "SESNet: A Semantically Enhanced Siamese Network for Remote Sensing Change Detection"

Related tags

Deep LearningSESNet
Overview

SESNet for remote sensing image change detection

It is the implementation of the paper: "SESNet: A Semantically Enhanced Siamese Network for Remote Sensing Change Detection". Here, we provide the pytorch implementation of this paper.

Prerequisites

  • windows or Linux
  • PyTorch-1.4.0
  • Python 3.6
  • CPU or NVIDIA GPU

Training

You can run a demo to start training.

python train.py

The network with the highest F1 score in the validation set will be saved in the folder tmp.

testing

You can run a demo to start testing.

python test.py

The F1_score, precision, recall, IoU and OA are displayed in order. Of course, you can slightly modify the code in the test.py file to save the confusion matrix.

Prepare Datasets

download the change detection dataset

SVCD is from the paper CHANGE DETECTION IN REMOTE SENSING IMAGES USING CONDITIONAL ADVERSARIAL NETWORKS, You could download the dataset at https://drive.google.com/file/d/1GX656JqqOyBi_Ef0w65kDGVto-nHrNs9;

LEVIR-CD is from the paper A Spatial-Temporal Attention-Based Method and a New Dataset for Remote Sensing Image Change Detection, You could download the dataset at https://justchenhao.github.io/LEVIR/;

Take SVCD as an example, the path list in the downloaded folder is as follows:

├SVCD:
├  ├─train
├  │  ├─A
├  │  ├─B
├  │  ├─OUT
├  ├─val
├  │  ├─A
├  │  ├─B
├  │  ├─OUT
├  ├─test
├  │  ├─A
├  │  ├─B
├  │  ├─OUT

where A contains images of pre-phase, B contains images of post-phase, and OUT contains label maps.

When using the LEVIR-CD dataset, simply change the folder name from SVCD to LEVIR. The location of the dataset can be set in dataset_dir in the file metadata.json.

cut bitemporal image pairs (LEVIR-CD)

The original image in LEVIR-CD has a size of 1024 * 1024, which will consume too much memory when training. In our paper, we cut the original image into patches of 256 * 256 size without overlapping.

When running our code, please make sure that the file path of the cut image matches ours.

Define hyperparameters

The hyperparameters and dataset paths can be set in the file metadata.json.


"augmentation":  Data Enhancements
"num_gpus":      Number of simultaneous GPUs
"num_workers":   Number of simultaneous processes

"image_chanels": Number of channels of the image (3 for RGB images)
"init_channels": Adjust the overall number of channels in the network, the default is 32
"epochs":        Number of rounds of training
"batch_size":    Number of pictures in the same batch
"learning_rate": Learning Rate
"loss_function": The loss function is specified in the file `./utils/helpers.py`
"bilinear":      Up-sampling method of decoder feature maps, `False` means deconvolution, `True` means bilinear up-sampling

"dataset_dir":   Dataset path, "../SVCD/" means that the dataset `SVCD` is in the same directory as the folder `SESNet`.

Kaggle | 9th place single model solution for TGS Salt Identification Challenge

UNet for segmenting salt deposits from seismic images with PyTorch. General We, tugstugi and xuyuan, have participated in the Kaggle competition TGS S

Erdene-Ochir Tuguldur 276 Dec 20, 2022
Converts given image (png, jpg, etc) to amogus gif.

Image to Amogus Converter Converts given image (.png, .jpg, etc) to an amogus gif! Usage Place image in the /target/ folder (or anywhere realistically

Hank Magan 1 Nov 24, 2021
Flexible-CLmser: Regularized Feedback Connections for Biomedical Image Segmentation

Flexible-CLmser: Regularized Feedback Connections for Biomedical Image Segmentation The skip connections in U-Net pass features from the levels of enc

Boheng Cao 1 Dec 29, 2021
ShinRL: A Library for Evaluating RL Algorithms from Theoretical and Practical Perspectives

Status: Under development (expect bug fixes and huge updates) ShinRL: A Library for Evaluating RL Algorithms from Theoretical and Practical Perspectiv

37 Dec 28, 2022
DGN pymarl - Implementation of DGN on Pymarl, which could be trained by VDN or QMIX

This is the implementation of DGN on Pymarl, which could be trained by VDN or QM

4 Nov 23, 2022
A simple Python configuration file operator.

A simple Python configuration file operator This project provides a common way to read configurations using config42. Installation It is possible to i

Scott Lau 2 Nov 08, 2021
A self-supervised learning framework for audio-visual speech

AV-HuBERT (Audio-Visual Hidden Unit BERT) Learning Audio-Visual Speech Representation by Masked Multimodal Cluster Prediction Robust Self-Supervised A

Meta Research 431 Jan 07, 2023
Python script for performing depth completion from sparse depth and rgb images using the msg_chn_wacv20. model in ONNX

ONNX msg_chn_wacv20 depth completion Python script for performing depth completion from sparse depth and rgb images using the msg_chn_wacv20 model in

Ibai Gorordo 19 Oct 22, 2022
ncnn is a high-performance neural network inference framework optimized for the mobile platform

ncnn ncnn is a high-performance neural network inference computing framework optimized for mobile platforms. ncnn is deeply considerate about deployme

Tencent 16.2k Jan 05, 2023
Code for the Population-Based Bandits Algorithm, presented at NeurIPS 2020.

Population-Based Bandits (PB2) Code for the Population-Based Bandits (PB2) Algorithm, from the paper Provably Efficient Online Hyperparameter Optimiza

Jack Parker-Holder 22 Nov 16, 2022
CAPITAL: Optimal Subgroup Identification via Constrained Policy Tree Search

CAPITAL: Optimal Subgroup Identification via Constrained Policy Tree Search This repository is the official implementation of CAPITAL: Optimal Subgrou

Hengrui Cai 0 Oct 19, 2021
CMT: Convolutional Neural Networks Meet Vision Transformers

CMT: Convolutional Neural Networks Meet Vision Transformers [arxiv] 1. Introduction This repo is the CMT model which impelement with pytorch, no refer

FlyEgle 83 Dec 30, 2022
This is the official repository for our paper: ''Pruning Self-attentions into Convolutional Layers in Single Path''.

Pruning Self-attentions into Convolutional Layers in Single Path This is the official repository for our paper: Pruning Self-attentions into Convoluti

Zhuang AI Group 77 Dec 26, 2022
I created My own Virtual Artificial Intelligence named genesis, He can assist with my Tasks and also perform some analysis,,

Virtual-Artificial-Intelligence-genesis- I created My own Virtual Artificial Intelligence named genesis, He can assist with my Tasks and also perform

AKASH M 1 Nov 05, 2021
Unofficial Implementation of MLP-Mixer in TensorFlow

mlp-mixer-tf Unofficial Implementation of MLP-Mixer [abs, pdf] in TensorFlow. Note: This project may have some bugs in it. I'm still learning how to i

Rishabh Anand 24 Mar 23, 2022
The official implementation of Variable-Length Piano Infilling (VLI).

Variable-Length-Piano-Infilling The official implementation of Variable-Length Piano Infilling (VLI). (paper: Variable-Length Music Score Infilling vi

29 Sep 01, 2022
Rational Activation Functions - Replacing Padé Activation Units

Rational Activations - Learnable Rational Activation Functions First introduce as PAU in Padé Activation Units: End-to-end Learning of Activation Func

<a href=[email protected]"> 38 Nov 22, 2022
The spiritual successor to knockknock for PyTorch Lightning, get notified when your training ends

Who's there? The spiritual successor to knockknock for PyTorch Lightning, to get a notification when your training is complete or when it crashes duri

twsl 70 Oct 06, 2022
MQBench Quantization Aware Training with PyTorch

MQBench Quantization Aware Training with PyTorch I am using MQBench(Model Quantization Benchmark)(http://mqbench.tech/) to quantize the model for depl

Ling Zhang 29 Nov 18, 2022
This is an official pytorch implementation of Fast Fourier Convolution.

Fast Fourier Convolution (FFC) for Image Classification This is the official code of Fast Fourier Convolution for image classification on ImageNet. Ma

pkumi 199 Jan 03, 2023