Fishes also known as Ichthyology, accounts for the majority of Sea Life on our planet. They range from small centimetre to many meters. It can be even said that is one of the most diversified species on the planet that we mere humans have not explored. Distinguishing them is a task that even puzzle experts let alone a normal person. But that’s Exactly what we will try to accomplish here.
CONTENT
- Problem Statement
- Library and Concepts
- Methodology
- Modelling
- Kernel link
PROBLEM STATEMENT
We will be making a model to predict the fish breed of the image passed to it. We will be classifying the fish into one of 9 different categories.
LIBRARY AND CONCEPTS
- Convolutional neural network
- Image Augmentation
- Sklearn
- Keras
- Matplotlib / Seaborn
Methodology
Our dataset contains 3 channels images of shape 288×384. We will be using multiple Convolutional layers followed by a Max Pool layer with Dropout layer to keep our model generalized and prevent overfitting.
We will be also using Image Augmentation on features such as rescaling, horizontal and vertical flips. This increases our dataset size and adds a bit of randomness to our model.
Modelling
We will be using Convolution layers of 32 filters of size 3×3 at start followed by MaxPooling of size 2×2 accompanied by Dropout layer. As we go down deep in the model we increase the number of filter to 64 to allow our model to learn complex features.
To pass the Images into the Model we will be using Keras flow from dataframe. This allows our model to handle images easily and apply transformation with ease rather than getting exhausted by applying the whole dataset in one go.
We are achieving about 80 % accuracy.
Kernel Link
https://cainvas.ai-tech.systems/use-cases/fish-breed-prediction/
Credit: Devansh Chowdhury
Also Read: Classification on Organic Compounds