Skip to content

ercanhocaninyeri/YOLO_AquaLite

 
 

Repository files navigation

This repository accompanies the paper
"YOLO-AquaLite: A Lightweight Fish Detection Model for Real-Time Underwater Applications"


🛠 Setup, Configuration, and Training

Ultralytics logo

This project is built on top of the Ultralytics YOLO framework, specifically YOLOv11.
For environment setup, dataset preparation, and general usage instructions, please refer to the official Ultralytics YOLO Documentation.

🔧 Installing YOLO-AquaLite

Prerequisite: Python must already be installed on your system.

Follow these steps to install YOLO-AquaLite in a clean virtual environment:

# 1. Create a virtual environment
python3 -m venv venv_aqualite

# 2. Activate the environment
source venv_aqualite/bin/activate

# 3. Change directory to the virtual environment: 
cd venv_aqualite/  

# 4. Install Ultralytics (tested with version 8.3.72)
python3 -m pip install ultralytics==8.3.72

# 5. Clone the YOLO-AquaLite repository
git clone https://github.com/MuhabHariri/YOLO_AquaLite.git

# 6. Change directory into the project folder
cd YOLO_AquaLite/

# 7. Install YOLO-AquaLite in editable mode
pip install -e .

📌 What is YOLO_AquaLite?


YOLO_AquaLite is an object detection model based on the YOLOv11 architecture, designed with a focus on computational efficiency and lightweight deployment. It introduces several architectural enhancements to optimize performance:

🔄 Replaces the initial backbone layers with a pre-trained encoder

🧱 Utilizes Dilated DeepResNet Blocks instead of traditional C3k2 blocks

🧭 Incorporates a Spatial-to-Channel Projection block into the pipeline

These improvements make YOLO_AquaLite significantly lighter than the original YOLOv11, with lower model size, reduced computational cost, and improved latency, while maintaining competitive detection accuracy.


🎯 Weight Files

  • Weights files (trained on COCO dataset):
    The folder Weights files (trained on COCO dataset) includes YOLO_AquaLite model variants (nano, small, medium, large, and xlarge) trained on the COCO dataset.

  • Weights files (Fine-tuned on Fish dataset):
    The folder Weights files (Fine_tuned on Fish dataset) contains YOLO_AquaLite model variants (nano, small, medium, large, and xlarge) that have been fine-tuned on the fish dataset described in our paper.


🚀 Training YOLO_AquaLite

To train a YOLO_AquaLite model variant, use the following command:

yolo detect train data=Dataset.yaml model=ultralytics/cfg/models/11/YOLO_AquaLite_Variant.yaml epochs=500 batch=32 imgsz=640

Replace Variant with the desired model size: n (nano), s (small), m (medium), l (large), or xl (xlarge).

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Other 0.4%