Skip to content

Chaouki-AI/DisasterVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DisasterVision Logo

DisasterVision: SSD-Based Damage Detection

(Proof Of Concept) - project under enhancement

DisasterVision is a deep learning framework that leverages the Single Shot MultiBox Detector (SSD) to identify disaster-induced building damage using satellite imagery. By analyzing pre- and post-disaster images, the model detects affected structures and visualizes results with bounding boxes. Designed for rapid damage assessment, it supports disaster response planning and resource allocation.

DisasterVision Logo

📝 Table of Contents

🧐 About

DisasterVision is a proof-of-concept project that transforms building damage assessment from a segmentation task into an object detection problem using bounding boxes. Built on the xView2 dataset, the framework processes pre- and post-disaster satellite imagery, visualizes annotations, and trains an SSD model for damage detection. Key features include:

  • Modular Pipeline: Data loading, preprocessing, model training, evaluation, and visualization.
  • Extensible Design: Compatible with other object detection architectures (e.g., Faster R-CNN, YOLO).
  • Efficiency: Optimized training with OneCycle Learning Policy for fast convergence.

📦 Installation

Prerequisites

  • Git
  • Anaconda/Miniconda

Steps

Clone the repository:

git clone https://github.com/Chaouki-AI/DisasterVision
cd DisasterVision
chmod +x ./installEnv.sh
./installEnv.sh
conda activate DisasterVision

📂 Data Preparation

The xView2 Dataset contains images of various disasters, including volcanoes, hurricanes, earthquakes, floods, wildfires, Southern California fires, and tsunamis, from different countries around the world.

Download the xView2 dataset from the official website and organize the dataset in the following structure:

DisasterVision/
└── data/
    ├── train/
    |      ├── images/
    |      ├── targest/
    |      └── labels/
    └── test/
           ├── images/
           ├── targest/
           └── labels/

Update the dataset paths in the notebook as needed.

🚀 Training & Evaluation

Execute the training notebook to:

  • build datalaoder via converting the orignal polygons provided by the dataset into bounding boxes as the following:

DisasterVision Logo

  • prepare the Type of the Bonding boxes based on the universal formats (Yolo, coco, pascal_voc or albumentation) with augmentations and normalizations.

  • Train the SSD model after changing its input in order to accept an input with 6 channels. Three for pre-disaster and Three for post-disaster image.

  • Evaluate performance metrics

  • Visualize predictions

  • Save model checkpoints

here is an example of Training progress (Losses), for 20 epochs using OneCyle Learning policy with AdamW optimizer :

DisasterVision Logo

✍️ Author

M. Chaouki ZIARA is affiliated with the RCAM Laboratory, Department of Electronics, Djillali Liabes University, Sidi Bel Abbes, Algeria. (Email: [email protected], [email protected]) – concept creator, algorithm development, implementation, and manuscript writing.

About

DisasterVision: SSD-Based Detection of Building Damage in Disasters

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages