dl_xview_yolo

πŸ›°οΈ DL_XVIEW β€’ Object Detection in Satellite Imagery

License: MIT Python YOLOv8 Stars

CI Python Issues

Deep Learning–based Object Detection system for satellite imagery using YOLOv8.
This project applies state-of-the-art computer vision models to detect objects such as airplanes, ships, vehicles, bridges, and more from aerial or satellite images.
Data sources include xView and DOTA datasets.

Goal: Detect and classify multiple objects in high-resolution satellite imagery
Model: YOLOv8 (with Oriented Bounding Box / OBB support)


Features

πŸ—‚οΈ Project Structure

dl_xview_yolo/
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ convert_all_to_yolo.py     # Converts datasets to YOLO format
β”‚   β”œβ”€β”€ train_yolo.py              # Training script
β”‚   β”œβ”€β”€ predict_yolo.py            # Inference script
β”‚   β”œβ”€β”€ summarize_run.py           # Summarizes training metrics
β”‚   └── prepare_dota_v1_to_yolo_obb.py
β”‚
β”œβ”€β”€ ui/
β”‚   └── index.html                 # Interactive front-end for predictions
β”‚
β”œβ”€β”€ YOLOv8/                        # YOLOv8 models / configs
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
└── requirements.txt


## βš™οΈ Installation & Setup

### 1️⃣ Environment Preparation

> Recommended: Python 3.10 or higher

```bash
git clone https://github.com/Yigtwxx/dl_xview_yolo.git
cd dl_xview_yolo
python -m venv venv
venv\Scripts\activate   # Windows
pip install -r requirements.txt

If you don’t have a requirements.txt file, install manually:

pip install ultralytics opencv-python pillow tqdm numpy torch torchvision torchaudio matplotlib

Dataset Preparation

1️⃣ Supported Datasets

2️⃣ Convert to YOLO Format

python scripts/convert_all_to_yolo.py --src "data/raw" --out "data/yolo_data" --copy

Explanation:


Training

python scripts/train_yolo.py --data "configs/data.yaml" --model "yolov8n.pt" --epochs 40 --imgsz 1024

Inference

Command Line

python scripts/predict_yolo.py --weights "runs/train/xview-yolo/weights/best.pt" --source "data/test_images"

Web UI

# If integrated with FastAPI / Streamlit UI:
python scripts/predict_yolo.py --ui

Then open your browser at πŸ‘‰ http://127.0.0.1:7860/


🎨 User Interface (UI)

Open ui/index.html directly in your browser to visualize predictions.

πŸ’« Modern design: world-themed background & glass-panel overlay πŸ“‚ Upload: drag-and-drop or select image 🧠 Backend: connects directly to YOLOv8 model for real-time inference


πŸ“Š Example Results

Metric Value
mAP@0.5 0.54
mAP@0.5-0.95 0.36
Precision 0.67
Recall 0.71

Metrics may vary depending on dataset and training configuration. See runs/train/.../results.png for detailed training graphs.


πŸ“¦ Model Weights

If your trained model (best.pt) is smaller than 100 MB, you can store it in:

runs/train/xview-yolo/weights/best.pt

Otherwise, upload to Google Drive and link it here:

[πŸ“ Download best.pt](https://drive.google.com/your-model-link)

🧩 Requirements


⚠️ Notes

python scripts/train_yolo.py --resume

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.


πŸ’¬ Author

Yiğit Erdoğan

πŸ“§ Mail: yigiterdogan6@icloud.com

🧠 Focus Areas: Deep Learning β€’ Computer Vision β€’ Data Science


Contact

LinkedIn: www.linkedin.com/in/yiğit-erdoğan-ba7a64294


⭐ Support

If you find this project useful, please consider giving it a ⭐ Star on GitHub!

🌐 Live Project Page: https://yigtwxx.github.io/dl_xview_yolo

Contact

LinkedIn: www.linkedin.com/in/yiğit-erdoğan-ba7a64294

git clone https://github.com/Yigtwxx/dl_xview_yolo.git