Code Monkey home page Code Monkey logo

asd's Introduction

Anomaly Segmentation for High-Resolution Remote Sensing Images Based on Pixel Descriptors (AAAI2023)

This is a PyTorch implementation of the AAAI2023 paper:

@Article{Li2022ASD,
  author = {Jingtao Li and Xinyu Wang and Hengwei Zhao and Shaoyu Wang and Yanfei Zhong},
  title = {Anomaly Segmentation for High-Resolution Remote Sensing Images Based on Pixel Descriptors},
  journal = {arXiv preprint arXiv:2301.13422},
  year = {2023},
}

Outline

  1. Anomaly segmentation for HRS images is a new task in remote sensing community, which is of great significance for environmental monitoring application.
  2. Proposed model ASD sets the first baseline, which aims to learn better normal descriptors.
  3. FAS dataset is made and publicly available.

Introduction

A novel anomaly segmentation model based on pixel descriptors (ASD) is implemented to segment anomaly patterns of the earth deviating from normal patterns, which plays an important role in various Earth vision applications. The ASD model incorporates the data argument for generating virtual abnormal samples, which can force the pixel descriptors to be compact for normal data and meanwhile to be diverse to avoid the model collapse problems when only positive samples participated in the training. In addition, the ASD introduced a multi-level and multi-scale feature extraction strategy for learning the low-level and semantic information to make the pixel descriptors feature-rich. The three conditions (compact, diverse, and feature-rich) direct the design of architecture and optimization.

Preparation

  1. Install required packages according to the requirements.txt.

  2. Download the datasets (i.e. Agriculture-vison, DeepGlobe, Landslide4sense and FAS) with the following link. (https://pan.baidu.com/s/1lY5RfPOq_KIxvWJ4F8c0GA password:171j)

    Notice: The Agriculture-vison dataset can also be downloaded from this link.

Model Training and Testing (without visualization)

  1. Each normal class is trained separately.
  2. The first 10 epochs are trained only to initialize the hypersphere center without testing the model.
  3. Starting the training and testing process using the following command.
python run.py 'config_fie_path'

For example, to train the ASD model when treating the drydown in Agriculture-vison dataset as the normal class

python run.py ./configs/asd_drydown_config.yaml

Result visualization

  1. Write the trained parameter path in the config file.
ckpt_dir: 'ckpt_path'
  1. To visualize the results, set the parameter (i.e. visualization) to be True in _test function.
self._test(epoch, visualization=True)

Trained checkpoints

  1. Agriculture-vison dataset
Normal class BaiduDrive Normal class BaiduDrive Normal class BaiduDrive
Drydown Link Double plant Link Endrow Link
Weed cluster Link ND Link Water Link
  1. DeepGlobe dataset
Normal class BaiduDrive Normal class BaiduDrive Normal class BaiduDrive
Urban land Link Agriculture Link Range land Link
Forest land Link Water Link Barren land Link
  1. FAS and Landslide4sense datasets
Dataset BaiduDrive Dataset BaiduDrive
FAS Link Landslide4sense Link

asd's People

Contributors

jingtao-li-cver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

asd's Issues

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.