Giter Site home page Giter Site logo

ceecnet's Introduction

** UPDATE **

We added a pure semantic segmentation model that uses CEECNetV1, CEECNetV2 or FracTAL ResNet micro-topologies, based on a single encoder/decoder macro-topology (unet-like). These can be found in location: models/semanticsegmentation/x_unet.

Looking for change? Roll the Dice and demand Attention

mantis

Official mxnet implementation of the paper: "Looking for change? Roll the Dice and demand Attention", Diakogiannis et al. (2020). This repository contains source code for implementing and training the mantis ceecnet/FracTAL ResNet as described in our manuscript. All models are built with the mxnet DL framework (version < 2.0), under the gluon api. We do not provide pre-trained weights.

Inference examples for the task of Building change detection for the model mantis ceecnetV1 (fractal Tanimoto loss tdepth, ftdepth=5). From left to right, input image date 1, input image date 2, ground truth, inference, confidence heat map for the segmentation task. mantis mantis

Inference examples for the task of Building change detection for the model mantis ceecnetV2 (ftdepth=5). Order of figures as above. These are for the difficult tiles 21, 71, 72, 77, 80, 101 from the test set. mantis mantis mantis mantis mantis mantis

Directory structure:

.
├── chopchop
├── demo
├── doc
├── images
├── models
│   ├── changedetection
│   │   └── mantis
│   ├── heads
│   └── semanticsegmentation
│       └── x_unet
├── nn
│   ├── activations
│   ├── layers
│   ├── loss
│   ├── pooling
│   └── units
├── src
└── utils

In directory chopchop exists code for splitting triplets of raster files (date1, date2, ground truth) into small training patches. It is tailored on the LEVIR CD dataset. In demo exists a notebooks that shows how to initiate a mantis ceecnet model, and perform forward and multitasking backward operations. In models/changedetection/mantis exists a generic definition for arbitrary depth and number of filters, that are described in our manuscript. In nn exist all the necessary building blocks to construct the models we present, as well as loss function definitions. In particular, in nn/loss we provide the average fractal Tanimoto with dual (file nn/loss/ftnmt_loss.py), as well as a class that can be used for multitasking loss training. Users of this method may want to write their own custom implementation for multitasking training, based on the ftnmt_loss.py file. See demo for example usage with a specific ground truth labels configuration. In src we provide a mxnet Dataset class, as well as a normalization class. Finally, in utils, there exist a function for selecting BatchNormalization, or GroupNorm, as a paremeter.

Datasets

Users can find the datasets used in this publication in the following locations:
LEVIR CD Dataset: https://justchenhao.github.io/LEVIR/
WHU Dataset: http://gpcv.whu.edu.cn/data/building_dataset.html

License

CSIRO BSTD/MIT LICENSE

As a condition of this licence, you agree that where you make any adaptations, modifications, further developments, or additional features available to CSIRO or the public in connection with your access to the Software, you do so on the terms of the BSD 3-Clause Licence template, a copy available at: http://opensource.org/licenses/BSD-3-Clause.

CITATION

If you find the contents of this repository useful for your research, please cite:

@article{diakogiannis2020looking,
    title={Looking for change? Roll the Dice and demand Attention},
    author={Foivos I. Diakogiannis and François Waldner and Peter Caccetta},
    year={2020},
    eprint={2009.02062},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}

ceecnet's People

Contributors

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