An AI-powered web application for underwater image enhancement and object detection using YOLOv11, TensorFlow, Grad-CAM, and Streamlit.
Underwater images often suffer from poor visibility, low contrast, color distortion, and haze, making object detection challenging.
This project presents an intelligent underwater object detection system that enhances underwater images using a deep learning-based dehazing model before performing object detection with YOLOv11. To improve model transparency, Grad-CAM is integrated to visualize the regions influencing predictions.
The application provides an intuitive Streamlit interface with image enhancement, object detection, explainability, and an AI chatbot.
- 🌊 Underwater Image Dehazing
- 🎯 Underwater Object Detection using YOLOv11
- 🔥 Grad-CAM Explainability
- 🤖 Gemini AI Chatbot
- 🔐 User Authentication
- 📥 Download Enhanced Images
- ⚡ Automatic & Manual Dehazing Modes
- 🖥️ Interactive Streamlit Web Interface
Underwater Image
│
▼
Image Quality Analysis
│
┌──────────────┴──────────────┐
│ │
▼ ▼
Image Dehazing Original Image
│ │
└──────────────┬──────────────┘
▼
YOLOv11 Detection
│
▼
Bounding Box Prediction
│
▼
Grad-CAM Visualization
│
▼
Streamlit Web Application
│
▼
Gemini AI Assistant
| Technology | Purpose |
|---|---|
| Python | Programming Language |
| YOLOv11 | Object Detection |
| TensorFlow | Image Dehazing |
| PyTorch | Grad-CAM |
| OpenCV | Image Processing |
| Streamlit | Web Application |
| SQLite | Authentication |
| Gemini API | AI Chatbot |
Underwater-Object-Detection-Using-Deep-Learning
│
├── app.py
├── README.md
├── requirements.txt
├── .gitignore
│
├── notebooks
│ ├── image_dehazing.ipynb
│ └── yolo11_gradcam.ipynb
│
├── model
│ └── README.md
│
├── trained_model
│ └── README.md
│
└── sample_images
The project is trained using an underwater object detection dataset containing marine organisms and underwater debris.
- Fish
- Crab
- Eel
- Starfish
- Marine Plants
- ROV
- Plastic Bottles
- Plastic Bags
- Nets
- Ropes
- Containers
- Cups
- Wreckage
- Other Marine Debris
git clone https://github.com/uttejkaramala/Underwater-Object-Detection-Using-Deep-Learning.git
cd Underwater-Object-Detection-Using-Deep-Learningpip install -r requirements.txtThis repository does not include the trained models due to GitHub size limitations.
Place the following files before running the application.
model/
└── best.pt
trained_model/
├── saved_model.pb
└── variables/
├── variables.data-00000-of-00001
└── variables.index
streamlit run app.py- Upload an underwater image.
- Select Automatic or Manual Dehazing.
- Enhance the image using the dehazing model.
- Detect underwater objects using YOLOv11.
- Visualize model attention with Grad-CAM.
- View detected objects and confidence scores.
- Download enhanced images or interact with the AI chatbot.
- Real-time underwater video detection
- Marine species classification
- Object tracking
- Edge device deployment
- Autonomous underwater vehicle integration
- Multi-language chatbot support
Uttej Karamala
B.Tech in Artificial Intelligence
Java Full Stack Developer | Machine Learning Enthusiast