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`.

Official code for "Towards An End-to-End Framework for Flow-Guided Video Inpainting" (CVPR2022)

E2FGVI (CVPR 2022) English | 简体中文 This repository contains the official implementation of the following paper: Towards An End-to-End Framework for Flo

Media Computing Group @ Nankai University 537 Jan 07, 2023
PyTorch Code for NeurIPS 2021 paper Anti-Backdoor Learning: Training Clean Models on Poisoned Data.

Anti-Backdoor Learning PyTorch Code for NeurIPS 2021 paper Anti-Backdoor Learning: Training Clean Models on Poisoned Data. The Anti-Backdoor Learning

Yige-Li 51 Dec 07, 2022
Personalized Federated Learning using Pytorch (pFedMe)

Personalized Federated Learning with Moreau Envelopes (NeurIPS 2020) This repository implements all experiments in the paper Personalized Federated Le

Charlie Dinh 226 Dec 30, 2022
Code for A Volumetric Transformer for Accurate 3D Tumor Segmentation

VT-UNet This repo contains the supported pytorch code and configuration files to reproduce 3D medical image segmentaion results of VT-UNet. Environmen

Himashi Amanda Peiris 114 Dec 20, 2022
Algorithmic Trading using RNN

Deep-Trading This an implementation adapted from Rachnog Neural networks for algorithmic trading. Part One — Simple time series forecasting and this c

Hazem Nomer 29 Sep 04, 2022
[CVPR'21] Multi-Modal Fusion Transformer for End-to-End Autonomous Driving

TransFuser This repository contains the code for the CVPR 2021 paper Multi-Modal Fusion Transformer for End-to-End Autonomous Driving. If you find our

695 Jan 05, 2023
Offical implementation for "Trash or Treasure? An Interactive Dual-Stream Strategy for Single Image Reflection Separation".

Trash or Treasure? An Interactive Dual-Stream Strategy for Single Image Reflection Separation (NeurIPS 2021) by Qiming Hu, Xiaojie Guo. Dependencies P

Qiming Hu 31 Dec 20, 2022
Focal Loss for Dense Rotation Object Detection

Convert ResNets weights from GluonCV to Tensorflow Abstract GluonCV released some new resnet pre-training weights and designed some new resnets (such

17 Nov 24, 2021
Repository features UNet inspired architecture used for segmenting lungs on chest X-Ray images

Lung Segmentation (2D) Repository features UNet inspired architecture used for segmenting lungs on chest X-Ray images. Demo See the application of the

163 Sep 21, 2022
Multiview 3D object detection on MultiviewC dataset through moft3d.

Voxelized 3D Feature Aggregation for Multiview Detection [arXiv] Multiview 3D object detection on MultiviewC dataset through VFA. Introduction We prop

Jiahao Ma 20 Dec 21, 2022
O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis

O-CNN This repository contains the implementation of our papers related with O-CNN. The code is released under the MIT license. O-CNN: Octree-based Co

Microsoft 607 Dec 28, 2022
OpenMMLab Computer Vision Foundation

English | 简体中文 Introduction MMCV is a foundational library for computer vision research and supports many research projects as below: MMCV: OpenMMLab

OpenMMLab 4.6k Jan 09, 2023
Pytorch implementation of Implicit Behavior Cloning.

Implicit Behavior Cloning - PyTorch (wip) Pytorch implementation of Implicit Behavior Cloning. Install conda create -n ibc python=3.8 pip install -r r

Kevin Zakka 49 Dec 25, 2022
Extremely easy multi instancing software for minecraft speedrunning.

Easy Multi Extremely easy multi/single instancing software for minecraft speedrunning. A couple of goals of this project: Setup multi in minutes No fi

Duncan 8 Jul 16, 2022
Memory Efficient Attention (O(sqrt(n)) for Jax and PyTorch

Memory Efficient Attention This is unofficial implementation of Self-attention Does Not Need O(n^2) Memory for Jax and PyTorch. Implementation is almo

Amin Rezaei 126 Dec 27, 2022
TSDF++: A Multi-Object Formulation for Dynamic Object Tracking and Reconstruction

TSDF++: A Multi-Object Formulation for Dynamic Object Tracking and Reconstruction TSDF++ is a novel multi-object TSDF formulation that can encode mult

ETHZ ASL 130 Dec 29, 2022
Official implementation of NeuralFusion: Online Depth Map Fusion in Latent Space

NeuralFusion This is the official implementation of NeuralFusion: Online Depth Map Fusion in Latent Space. We provide code to train the proposed pipel

53 Jan 01, 2023
🛠️ Tools for Transformers compression using Lightning ⚡

Bert-squeeze is a repository aiming to provide code to reduce the size of Transformer-based models or decrease their latency at inference time.

Jules Belveze 66 Dec 11, 2022
A very simple tool for situations where optimization with onnx-simplifier would exceed the Protocol Buffers upper file size limit of 2GB, or simply to separate onnx files to any size you want.

sne4onnx A very simple tool for situations where optimization with onnx-simplifier would exceed the Protocol Buffers upper file size limit of 2GB, or

Katsuya Hyodo 10 Aug 30, 2022
Applying curriculum to meta-learning for few shot classification

Curriculum Meta-Learning for Few-shot Classification We propose an adaptation of the curriculum training framework, applicable to state-of-the-art met

Stergiadis Manos 3 Oct 25, 2022