Skip to content

An advanced object detection system for identifying vehicles and people in adverse weather, using a custom-trained, lightweight YOLOv10 model.

Notifications You must be signed in to change notification settings

mohithk006/FogVisionAI-Foggy-Object-Detection

Repository files navigation

FogVision AI - Foggy Object Detection

Python Flask YOLOv10 OpenCV

See Through the Fog. FogVision AI is an end-to-end web application that uses a state-of-the-art deep learning model to detect vehicles and people in challenging, low-visibility conditions.

📋 Table of Contents

Introduction

Foggy weather presents a significant challenge for autonomous driving and surveillance systems, as it severely degrades the performance of standard object detection algorithms. FogVision AI was developed to address this critical safety issue.

This project is a fully functional, end-to-end application demonstrating a comprehensive skill set in frontend development, backend architecture, and the implementation of advanced deep learning models. The core of the application is a custom-trained, lightweight YOLOv10 model specifically optimized for robust performance in foggy environments. It leverages advanced preprocessing techniques to cut through the haze and identify objects that would otherwise be obscured.

Key Features

  • 🔐 Secure User Authentication: Features a complete user registration and login system to manage access.
  • 🌫️ AI-Powered Fog Detection: Upload an image of a foggy scene, and the custom-trained YOLOv10 model accurately identifies objects like cars, buses, motorbikes, bicycles, and people.
  • 🖼️ Advanced Image Preprocessing: Utilizes novel techniques including Dehaze Formers and dark channel methods to computationally remove haze and improve image quality before detection.
  • 🚀 Optimized Lightweight Architecture: The YOLOv10 model is enhanced with a lightweight module, ensuring a balance between high detection performance and computational efficiency.
  • ✨ Enhanced Attention Module: Incorporates an advanced attention mechanism to help the model focus on relevant object features, even when they are small or partially obscured by fog.
  • 🖥️ Interactive Web Interface: A clean and responsive user interface for easy image uploads and clear visualization of detection results.

Tech Stack

This project integrates a variety of modern technologies to deliver a robust and effective solution.

Category Technology / Library
Backend Python, Flask
AI / ML YOLOv10 (Ultralytics), PyTorch, OpenCV
Frontend HTML5, CSS3
Data/Session Flask Session (for user management)

Getting Started

Prerequisites

  • Python 3.10 or higher
  • pip
  • Git version control

Installation & Setup

  1. Clone the Repository

    git clone [https://github.com/your-username/FogVisionAI-Foggy-Object-Detection.git](https://github.com/your-username/FogVisionAI-Foggy-Object-Detection.git)
    cd FogVisionAI-Foggy-Object-Detection
  2. Create a Virtual Environment

    # For Windows
    python -m venv venv
    venv\Scripts\activate
    
    # For macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install Dependencies

    pip install -r requirements.txt
  4. Set Up Flask Secret Key The application uses a secret key for session management. You can change the default key in app.py:

    app.secret_key = 'your_super_secret_key'  # Change this line
  5. Run the Flask Application Once the dependencies are installed, you can start the Flask server.

    python app.py

    The application will be running at http://127.0.0.1:5000. Open this URL in your web browser.

User Guide

  1. Homepage: The homepage provides links to Register or Login.
  2. Register: Create a new account with a unique username and password.
  3. Login: Sign in with your registered credentials.
  4. Upload: After logging in, you'll be directed to the upload page.
    • Click "Choose File" and select an image containing a foggy scene.
    • Click "Upload and Detect".
  5. Results: The application will process the image and display the result with bounding boxes drawn around detected objects.
  6. Upload Another: Click the "Upload Another Image" button to return to the upload page.

About

An advanced object detection system for identifying vehicles and people in adverse weather, using a custom-trained, lightweight YOLOv10 model.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published