πŸ›°οΈ Space Debris Detection & Risk Assessment

A YOLOv8-powered deep learning system for detecting space debris and satellites in orbital imagery β€” with real-time collision risk assessment.

Python YOLOv8 Streamlit PyTorch License


πŸ“Œ Overview

Space debris poses a significant risk to operational satellites and future space missions. This project uses YOLOv8 object detection trained on orbital imagery to identify and classify Satellites and Debris in real time, and assess the collision risk level based on detected debris count.

The project includes a Streamlit web application for easy image upload and visualization, along with the complete training notebook used to develop the model.


🎯 Key Features

Feature Description
πŸ›Έ Object Detection Detects Satellites and Debris using YOLOv8
🎨 Confidence Tiers Color-coded bounding boxes (🟒 High β‰₯ 0.80 / 🟑 Medium 0.50–0.80 / πŸ”΄ Low < 0.50)
πŸ“Š Risk Assessment Collision risk score: LOW / MEDIUM / HIGH based on debris count
βš™οΈ Adjustable Threshold Sidebar slider to control detection confidence
⚑ Fast Inference FP16 half-precision model for faster predictions
πŸ–₯️ Web Interface Clean Streamlit UI β€” no coding required to use

🧠 Model Performance

Trained for 30 epochs on orbital imagery dataset using YOLOv8 (Ultralytics v8.4.27)

Metric Score
Precision 0.930
Recall 0.926
mAP@50 0.931
mAP@50-95 0.750
Image Size 640 Γ— 640
Classes Satellite, Debris
Precision (Storage) FP16 (Half)

πŸ“¦ Project Structure

space-debris-detection/
β”œβ”€β”€ app.py                    # Streamlit web application
β”œβ”€β”€ space_debris_v2-1.ipynb   # Model training & experimentation notebook
β”œβ”€β”€ requirements.txt          # Python dependencies
β”œβ”€β”€ .gitignore
└── README.md

⚠️ best.pt (model weights) is not included in the repo due to file size. Download it from the Releases section below.


⬇️ Download Model Weights

The trained YOLOv8 model (best.pt) is available as a release asset:

  1. Go to Releases β†’
  2. Download best.pt from the latest release
  3. Place it in the root directory of this project (same folder as app.py)

πŸš€ Getting Started

1. Clone the repository

git clone https://github.com/tanveer-arch/space-debris-detection.git
cd space-debris-detection

2. Install dependencies

pip install -r requirements.txt

3. Download the model

Download best.pt from Releases and place it in the project root.

4. Run the app

streamlit run app.py

Open your browser at http://localhost:8501 and upload an orbital image to get started!


πŸ–ΌοΈ How It Works

Upload Image  β†’  YOLOv8 Inference  β†’  Draw Bounding Boxes  β†’  Risk Assessment
    ↓                  ↓                       ↓                      ↓
 JPG/PNG          best.pt model         Color by confidence      LOW / MEDIUM / HIGH

Risk Levels:

  • 🟒 LOW β€” 0–2 debris objects detected
  • 🟑 MEDIUM β€” 3–5 debris objects detected
  • πŸ”΄ HIGH β€” More than 5 debris objects detected

βš™οΈ Requirements

streamlit>=1.32.0
ultralytics>=8.0.0
opencv-python-headless>=4.9.0
numpy>=1.24.0
torch>=2.0.0
torchvision>=0.15.0

πŸ‘¨β€πŸ’» Author

Tanveer β€” CS Student @ Nirma University, Ahmedabad Interests: Deep Learning Β· Computer Vision Β· Space Technology

πŸ”— GitHub Profile


⭐ If you found this project helpful, consider giving it a star!
Downloads last month
55
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support