https://github.com/aryashah2k/smokeu-net-smoke-column-segmentation-from-satellite-imagery-using-deep-u-net-architecture

A U-Net deep learning model for automated smoke plume segmentation in satellite imagery. The model processes multi-spectral satellite data to generate precise smoke column masks, improving upon manual detection methods. Results demonstrate high accuracy in smoke plume detection with 99.04% validation accuracy and 0.91 Dice coefficient.

https://github.com/aryashah2k/smokeu-net-smoke-column-segmentation-from-satellite-imagery-using-deep-u-net-architecture

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

A U-Net deep learning model for automated smoke plume segmentation in satellite imagery. The model processes multi-spectral satellite data to generate precise smoke column masks, improving upon manual detection methods. Results demonstrate high accuracy in smoke plume detection with 99.04% validation accuracy and 0.91 Dice coefficient.

Basic Info
  • Host: GitHub
  • Owner: aryashah2k
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 14 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

SmokeU-Net-Smoke-Column-Segmentation-from-Satellite-Imagery-using-Deep-U-Net-Architecture


This research proposes an automated deep learning approach for segmenting smoke columns in satellite imagery using U-Net architecture. Current manual and semi-automated methods for smoke plume detection are time-consuming and prone to human error. We aim to develop a robust segmentation model trained on multi-spectral satellite data that can accurately identify and segment smoke columns from wildfires. The proposed framework will leverage U-Net's encoder-decoder architecture to process multiple spectral bands and generate precise smoke column masks. Through this work, we expect to demonstrate significant improvements in smoke plume detection accuracy and processing efficiency compared to traditional threshold-based methods. This research will contribute to advancing automated wildfire monitoring capabilities and support early warning systems for disaster management.

The model processes multi-spectral satellite data to generate precise smoke column masks, improving upon manual detection methods. Results demonstrate high accuracy in smoke plume detection with 99.04% validation accuracy and 0.91 Dice coefficient.


Project Structure

Follow this structure for replication or simply run the Notebook in the Notebooks Folder

``` smoke_segmentation/

src/ init.py data/ init.py dataset.py dataloader.py models/ init.py unet.py layers.py utils/ init.py metrics.py visualization.py training/ init.py trainer.py config/ config.py train.py README.md ```

Installation

  1. Clone the repository: bash git clone https://github.com/aryashah2k/SmokeU-Net-Smoke-Column-Segmentation-from-Satellite-Imagery-using-Deep-U-Net-Architecture.git cd smoke-segmentation

  2. Create a virtual environment: bash python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows

  3. Install dependencies: bash pip install torch torchvision numpy matplotlib pillow opencv-python pandas

Usage

Training

  1. Configure your dataset paths and training parameters in config/config.py

  2. Run training: bash python train.py

Inference

```python import torch from src.models.unet import Unet from torchvision import transforms from PIL import Image

Load model

model = Unet(channelsin=3, channels=64, numclasses=2) model.loadstatedict(torch.load('path/to/model.pth')) model.eval()

Prepare image

transform = transforms.Compose([ transforms.Resize([128, 128]), transforms.ToTensor() ])

Load and process image

image = Image.open('path/to/image.jpg') input_tensor = transform(image).unsqueeze(0)

Inference

with torch.nograd(): output = model(inputtensor) prediction = torch.argmax(output, dim=1) ```

Dataset Format

The dataset should be organized as follows: dataset/ train/ image1.jpg image2.jpg ... train_masks/ image1_mask.jpg image2_mask.jpg ... valid/ valid_masks/ test/ test_masks/

Model Architecture

The implementation uses a U-Net architecture with: - Input channels: 3 (RGB) - Initial features: 64 - Output classes: 2 (binary segmentation) - Optimization: SGD with OneCycleLR scheduler - Loss function: Cross-entropy

Training Parameters

Default training configuration: - Batch size: 32 - Learning rate: 0.01 - Momentum: 0.95 - Weight decay: 1e-4 - Epochs: 25 - Image size: 128x128

Performance Metrics

The model is evaluated using: - Accuracy - Dice coefficient - IoU (Intersection over Union) - Confusion matrix metrics (TP, TN, FP, FN)

Owner

  • Name: Arya Shah
  • Login: aryashah2k
  • Kind: user
  • Location: Mumbai, India
  • Company: IIT Gandhinagar

Artificial Intelligence Engineer & Researcher

GitHub Events

Total
  • Watch event: 8
  • Push event: 4
  • Fork event: 1
  • Create event: 2
Last Year
  • Watch event: 8
  • Push event: 4
  • Fork event: 1
  • Create event: 2

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 6
  • Total Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 6
  • Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
aryashah2k a****2@n****n 6
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels