{"id":31737479,"url":"https://github.com/yashpotdar-py/flood-vision","last_synced_at":"2026-04-16T02:32:36.202Z","repository":{"id":318198212,"uuid":"1070279522","full_name":"yashpotdar-py/flood-vision","owner":"yashpotdar-py","description":"Flood Vision - A deep learning–based computer vision system for flood mapping and damage assessment using aerial imagery.","archived":false,"fork":false,"pushed_at":"2025-10-05T18:53:32.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-13T10:55:09.409Z","etag":null,"topics":["cuda","deep-learning","flood-detection","iot","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yashpotdar-py.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-05T16:16:19.000Z","updated_at":"2025-10-05T18:53:33.000Z","dependencies_parsed_at":"2025-10-05T19:33:33.657Z","dependency_job_id":null,"html_url":"https://github.com/yashpotdar-py/flood-vision","commit_stats":null,"previous_names":["yashpotdar-py/flood-vision"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/yashpotdar-py/flood-vision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashpotdar-py%2Fflood-vision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashpotdar-py%2Fflood-vision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashpotdar-py%2Fflood-vision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashpotdar-py%2Fflood-vision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yashpotdar-py","download_url":"https://codeload.github.com/yashpotdar-py/flood-vision/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yashpotdar-py%2Fflood-vision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31868518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","deep-learning","flood-detection","iot","python"],"created_at":"2025-10-09T09:22:07.256Z","updated_at":"2026-04-16T02:32:36.133Z","avatar_url":"https://github.com/yashpotdar-py.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌊 Flood Vision: Flood Mapping and Damage Segmentation System\n\n![Python](https://img.shields.io/badge/Python-3.13-blue?logo=python)\n![PyTorch](https://img.shields.io/badge/PyTorch-2.x-orange?logo=pytorch)\n![CUDA](https://img.shields.io/badge/CUDA-Enabled-green?logo=nvidia)\n![Status](https://img.shields.io/badge/Status-In_Development-yellow)\n![License](https://img.shields.io/badge/License-Academic-lightgrey)\n\n\u003e **Flood Vision** - A deep learning–based computer vision system for flood mapping and damage assessment using aerial imagery.\n\n---\n\n## 🧭 Overview\n\n**Flood Vision** is a computer vision system designed to automatically analyze aerial or drone footage from flood-affected regions.  \nIt uses **semantic segmentation** to identify and label key terrain types such as **water**, **flooded buildings**, **vegetation**, and **roads**, helping researchers and responders estimate affected areas efficiently.\n\nThe project focuses on **robust image segmentation** and **high-speed inference** on CUDA-enabled devices.\n\n---\n\n## ⚙️ Features Implemented\n\n- ✅ 4-class **semantic segmentation model**\n- ✅ **Weighted loss** for handling class imbalance\n- ✅ **CUDA acceleration** for efficient GPU training\n- ✅ **Video and image inference**\n- ✅ **Color-coded visual outputs**\n- ✅ **FloodNet dataset** integration\n- ✅ Modular and extendable PyTorch architecture\n\n---\n\n## 🧪 Tech Stack\n\n| Component | Technology |\n|------------|-------------|\n| **Language** | Python 3.13 |\n| **Framework** | PyTorch |\n| **GPU Acceleration** | NVIDIA CUDA |\n| **Data Augmentation** | Albumentations |\n| **Video/Image Processing** | OpenCV |\n| **Visualization** | Matplotlib |\n| **Loss Function** | Weighted Cross-Entropy |\n\n---\n\n## 🗂️ Dataset\n\nThis project uses the **FloodNet** dataset for supervised training.\n\n📚 **Dataset Link:**  \n[https://github.com/BinaLab/FloodNet-Supervised_v1.0](https://github.com/BinaLab/FloodNet-Supervised_v1.0)\n\n### 📖 Citation\n\n```bibtex\n@ARTICLE{9460988,\n author={Rahnemoonfar, Maryam and Chowdhury, Tashnim and Sarkar, Argho and Varshney, Debvrat and Yari, Masoud and Murphy, Robin Roberson},\n journal={IEEE Access}, \n title={FloodNet: A High Resolution Aerial Imagery Dataset for Post Flood Scene Understanding}, \n year={2021},\n volume={9},\n pages={89644-89654},\n doi={10.1109/ACCESS.2021.3090981}\n}\n````\n\n---\n\n## 🧰 Installation\n\n### 1️⃣ Clone the repository\n\n```bash\ngit clone https://github.com/yashpotdar-py/flood-vision.git\ncd flood-vision\n```\n\n### 2️⃣ Create and activate a virtual environment\n\n```bash\npython -m venv .venv\n.\\.venv\\Scripts\\activate\n```\n\n### 3️⃣ Install dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n### 4️⃣ (Optional) Verify CUDA availability\n\n```bash\npython -c \"import torch; print(torch.cuda.is_available())\"\n```\n\n---\n\n## 🏋️‍♂️ Training\n\nTrain the segmentation model with:\n\n```bash\npython -m train.train_segmentation_4class\n```\n\nThe training script:\n\n- Loads images and masks from the FloodNet dataset\n- Applies Albumentations-based augmentations\n- Uses a **weighted loss** for balanced learning\n- Logs metrics like IoU and validation loss\n\n---\n\n## 🔍 Inference\n\nRun segmentation on an image or video:\n\n```bash\npython -m inference.run_inference --input data/videos/test1.mp4 --output results/output.mp4\n```\n\n### Color Legend\n\n| Class             | Color     | Description |\n| ----------------- | --------- | --------------------|\n| Water             | 🟦 Blue   | Flooded water areas|\n| Flooded Buildings | 🟥 Red    | Buildings under water|\n| Vegetation \u0026 Roads| 🟩 Green  | Trees, fields, grass, Streets and infrastructure|\n\nThe processed video will be saved in `results/output_videos/`.\n\n---\n\n\u003c!-- ## 📸 Example Outputs\n\n### Segmentation Example (Placeholder)\n\n![Segmentation Result](docs/images/sample_segmentation.png)\n\n### Validation Results (Placeholder)\n\n![Training Graphs](docs/images/training_metrics.png)\n\n*(Place your actual result screenshots inside `docs/images/`.)*\n\n--- --\u003e\n\n## 📁 Project Structure\n\n```plaintext\nflood-vision/\n│\n├── data/\n│   ├── images/\n│   ├── masks/\n│   └── videos/\n│\n├── train/\n│   ├── train_segmentation_4class.py\n│   └── utils/\n│\n├── inference/\n│   ├── run_inference.py\n│\n├── models/\n│   ├── unet.py\n│   └── loss_utils.py\n│\n├── results/\n│   └── output_videos/\n│\n└── README.md\n```\n\n---\n\n## 📊 Sample Metrics (Training Snapshot)\n\n| Metric          | Value |\n| --------------- | ----- |\n| Mean IoU        | 0.74  |\n| Pixel Accuracy  | 0.90  |\n| Validation Loss | 0.27  |\n\n---\n\n## 👨‍💻 Authors\n\n**Developed by:**\n\n- **Yash Potdar** - Model architecture \u0026 deployment, CUDA optimizations\n- **Sahil Pawar** - Data preprocessing, model training, testing\u0026 evaluation\n- **Akanksha Singh** - Web interface design, documentation, and system integration\n\n**Affiliation:**\n\n🎓 Final-Year B.E. Project,\nDepartment of Artiticial Intelligence \u0026 Data Science\nAISSMS Institute of Information Technology (AISSMS)\n\n---\n\n## 📜 License\n\nThis project is intended for **academic and research purposes**.\nThe **FloodNet dataset** belongs to its original authors.\nPlease cite the dataset and this repository when used in derivative works.\n\n---\n\n## 🙏 Acknowledgments\n\n- [FloodNet Dataset](https://github.com/BinaLab/FloodNet-Supervised_v1.0)\n- [PyTorch](https://pytorch.org/)\n- [Albumentations](https://albumentations.ai/)\n- [OpenCV](https://opencv.org/)\n\n---\n\n\u003e *\"Mapping floods through vision - towards smarter, data-driven disaster response.\"*\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashpotdar-py%2Fflood-vision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyashpotdar-py%2Fflood-vision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyashpotdar-py%2Fflood-vision/lists"}