An underwater fish recognition model developed using YOLOv8. The model was trained on enhanced images of the dataset. The enhancement technique used was RGHS.
DeepFish : https://alzayats.github.io/DeepFish/
-
List of libraries you need to install to execute the code :
python = 3.6, cv2, numpy, scipy, matplotlib, scikit-image, natsort, math, datetime
-
Put the input images to corresponding folders :
Create 'InputImages' and 'OutputImages' folders
Then put raw images to 'InputImages' folder Figure-Enhanced image after RGHS
-
Run main.py;
The enhanced/restored images will be saved in "OutputImages" folder.
The model is deployed on Roboflow and can be used directly through following link
https://universe.roboflow.com/underwater-fish/underwater-fish-detection-izi1l/model/6
Download the model weights file fish_detection_model.pt
Install ultralytics
pip install ultralytics
The fllowing should be run in the python file
from ultralytics import YOLO
# load model
model = YOLO('fish_detection_model.pt')
# predict on image
model.predict('image_file.jpg', save=True, conf=0.5)