Code Monkey home page Code Monkey logo

cdrl's Introduction

Unsupervised Change Detection Based on Image Reconstruction Loss

release note

22.07.07 - Add : evaluate metric (note that all evaluate metrics is mean value. (0, 1))

Unsupervised Change Detection Based on Image Reconstruction Loss

Hyeoncheol Noh, Jingi Ju, Minseok Seo, Jongchan Park, Dong-Geol Choi

arXiv 2204.01200

Project Page

Results

Result videos are the results of the diffence map for each threshold. We used a threshold of 0.7.

Change Pair Result Unchange Pair Result

Abstract

To train the change detector, bi-temporal images taken at different times in the same area are used. However, collecting labeled bi-temporal images is expensive and time consuming. To solve this problem, various unsupervised change detection methods have been proposed, but they still require unlabeled bi-temporal images. In this paper, we propose unsupervised change detection based on image reconstruction loss using only unlabeled single temporal single image. The image reconstruction model is trained to reconstruct the original source image by receiving the source image and the photometrically transformed source image as a pair. During inference, the model receives bitemporal images as the input, and tries to reconstruct one of the inputs. The changed region between bi-temporal images shows high reconstruction loss. Our change detector showed significant performance in various change detection benchmark datasets even though only a single temporal single source image was used. The code and trained models will be publicly available for reproducibility.

memoryblock

Installation

Step1. Install CDRL.

git clone https://github.com/cjf8899/CDRL.git
cd CDRL
pip install -r requirements.txt

Step2. Creating a Pseudo-Unchange Image.

Download LEVIR-CD, WHU(TODO) and put them under <CDRL_HOME>/datasets in the following structure:

CDRL/datasets
       |——————LEVIR-CD
       |        └——————train
       |        └——————val
       |        └——————test
       └——————LEVIR-CD_A2B_B2A
                └——————train
                └——————val

The Photometric Transform model we used the CycleGAN code of pytorch-CycleGAN-and-pix2pix. We provide the model's weights.

Training

python main.py --root_path ./datasets/ --dataset_name LEVIR-CD --save_name levir 

Creating a Difference map.

python test.py --root_path ./datasets/ --dataset_name LEVIR-CD --save_name levir --save_visual

cdrl's People

Contributors

cjf8899 avatar seominseok0429 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.