Real‑time video enhancement that removes snow, rain, fog, haze and low‑light — powered by Google Gemma 4 Multimodal VLM, running entirely on edge devices.
- Autonomous Vehicles – Reliable vision in rain, snow, and fog for safer navigation
- Drones – Clear aerial footage in harsh weather for delivery, inspection, and surveillance
- Security Cameras – Consistent surveillance even in low‑light or stormy conditions
- Content Creators – Clean up outdoor videos without expensive equipment
- Search & Rescue – Enhanced visibility in fog, rain, or dark environments
weatherproof/
├── app.py
├── processing.py
├── config.json
├── requirements.txt
├── run.bat
├── ffmpeg.exe
├── ffprobe.exe
├── templates/
│ └── index.html
├── static/
│ ├── css/
│ │ └── style.css
│ ├── js/
│ │ └── main.js
│ ├── uploads/
│ └── outputs/
└── weights/
├── LOLv2_real/
│ └── w_perc.pth
├── dehaze.keras
├── desnow.keras
└── derain.keras
Input Video → Gemma 4 (detection) → CIDNet / Attention UNet (restoration) → Enhanced Video
Smart Detection: VLM is not called on every frame. A fast histogram comparison reuses the previous plan until the scene changes. A safety check forces a fresh VLM call every 10 seconds.
- Python 3.10 (Highly recommended)
- Ollama
-
Install dependencies
pip install -r requirements.txt -
Download model weights → place in weights/
https://drive.google.com/drive/folders/1xCY5pdf0pg-qKcT1Cdejzc5AnmKbWnil -
Download FFmpeg → place in project root
https://drive.google.com/drive/folders/1ZDbbrVfn-esy5jJJW8ql_9SRCqmh8AcJ -
Install Gemma 4 model
ollama pull gemma4:e2b -
Launch
python app.py
Open http://localhost:5000
- Gemma 4 Multimodal VLM for intelligent degradation detection
- Removes rain, snow, fog, haze, and low-light
- Change‑triggered + periodic safety check minimises VLM calls
- Side‑by‑side original vs. enhanced video preview
Vision Intelligence → Gemma 4 (E2B)
Low‑light Enhancement → CIDNet (PyTorch)
Rain, Snow, Fog Removal → Attention UNet (TensorFlow)
Runtime → Ollama
Interface → Flask + HTML/CSS/JS
MIT