Skip to content

On-board Hyperspectral Data Processing using 3D-CNN for Satellite Earth Observation (Edge AI).

License

Notifications You must be signed in to change notification settings

KubaCzupik/Hyperspectral-Onboard-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛰️ On-board Hyperspectral Image Classification (Edge AI)

Python Framework Domain License

📋 Executive Summary

This project demonstrates a Deep Learning pipeline designed for on-board satellite data processing.

Traditional Earth Observation (EO) missions downlink raw data to Ground Stations, consuming massive bandwidth. This solution simulates an Edge AI approach where a 3D-CNN (Convolutional Neural Network) processes Hyperspectral Data (HSI) directly on the spacecraft, sending only the classification results (semantic maps) to Earth.

Key Achievement: Achieved >99% accuracy on the Indian Pines dataset using a lightweight 3D-CNN architecture optimized for volumetric data.


🖼️ Results

The model successfully reconstructed the land cover map with high fidelity compared to Ground Truth.

Classification Map

Comparison Map Left: Ground Truth (Real Labels) | Right: On-board AI Prediction

Training Performance

Metrics Model accuracy and loss convergence over 15 epochs.


🚀 Methodology

1. Data Engineering & Compression

  • Dataset: Indian Pines (145x145 pixels, 200 spectral bands).
  • Dimensionality Reduction: Applied PCA (Principal Component Analysis) to reduce spectral bands from 200 to 30. This simulates bandwidth reduction for embedded systems.
  • Spatial Context: Implemented 3D Patching (25x25x30 cubes) to allow the network to learn from spatial neighbors, not just single spectral signatures.

2. Neural Network Architecture (3D-CNN)

Instead of 2D convolutions used in standard vision, this project utilizes 3D Convolutions to extract features from both spatial (XY) and spectral (Z) dimensions simultaneously.

# Core Architecture Snippet
model.add(Conv3D(filters=8, kernel_size=(3, 3, 7), activation='relu'))
model.add(Conv3D(filters=16, kernel_size=(3, 3, 5), activation='relu'))
model.add(Flatten())
model.add(Dense(units=16, activation='softmax'))

About

On-board Hyperspectral Data Processing using 3D-CNN for Satellite Earth Observation (Edge AI).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published