PrithviVision is a deep learning project for shadow-casting object segmentation in aerial imagery. The goal is to detect and segment objects affected by shadows — a common challenge in remote sensing and urban scene understanding.
The project combines U-Net, YOLO, and Mask R-CNN approaches to handle both object detection and pixel-level segmentation. The dataset is curated from aerial images of Bonn city, annotated in YOLO format.
- 📂 YOLO-format dataset prepared for aerial shadow segmentation.
- 🧠 Multiple models supported – U-Net, YOLO, Mask R-CNN.
- 🛠️ Preprocessing & annotation utilities for dataset preparation.
- ⚡ Modular training and inference scripts.
- Clone the repository:
git clone https://github.com/ItsShriks/Shadow_Casting_Object_Segmentation.git
cd PrithviVision- Create a conda environment with required dependencies:
conda env create -f Essentials/dlrv.yml- Activate the environment:
conda activate dlrvThe dataset/yolo_dataset/ directory contains the dataset annotated in YOLO format.
Images and their corresponding label files are organized for training.
python src/train_unet.py🧪 Notes for U-Net
- U-Net uses 2 classes: background (0) and shadow-casting object (1).
- Input images and masks are resized to 512×512 during training.
python inference_unet.pyContributions are welcome! Open issues or submit pull requests to improve PrithviVision.
This project was developed as part of the coursework for the DLRV – Deep Learning for Robot Vision class at Hochschule Bonn-Rhein-Sieg during Summer Semester 2025.
Special thanks to:
- Prof. Dr. Sebastian Houben For his guidance, valuable insights, and continuous support throughout the course and project.