This repository is for a machine learning project called Fruit Classification.
The project's objective is to categorise various fruits, and to do that, I have used Convolutional Neural Networks (CNNs) due to their high accuracy and preference for categorization scenarios.
- The dataset used for the project is avaliable on Kaggle.
- Link for the dataset, Fruits 360
- The dataset choosen for the project is with 90483 images of 131 fruits and vegetables. Some of them are,
1. Apples (different varieties: Crimson Snow, Golden, Golden-Red, Granny Smith, Pink Lady, Red, Red Delicious)
2. Apricot
3. Avocado
4. Avocado ripe
5. Banana (Yellow, Red, Lady Finger)
6. Beetroot Red
7. Blueberry
8. Cactus fruit
9. Cantaloupe (2 varieties)
10. Carambula
11. Cauliflower
12. Cherry (different varieties, Rainier)
13. Cherry Wax (Yellow, Red, Black)
14. Chestnut
15. Clementine
and many more... - Training set size: 63764 images (one fruit or vegetable per image).
- Test set size: 22688 images (one fruit or vegetable per image).
- Image size: 100x100 pixels
- Convolutional Neural Network, which is a type of deep learning algorithm commonly used in computer vision tasks such as image recognition, object detection, and image classification.
- CNNs are designed to automatically and adaptively learn hierarchical feature representations from input data.
- CNNs have been highly successful in various computer vision tasks, achieving state-of-the-art performance in tasks such as image classification (e.g., ImageNet competition), object detection (e.g., YOLO, Faster R-CNN), and semantic segmentation.
- They have also been applied in fields beyond computer vision, such as natural language processing and speech recognition.
- Some key concepts and components of CNNs are Convolutional Layer, Pooling Layer, Activation Function (like ReLU), Fully Connected Layer, Flattening, Dropout, Loss Function, Optimizer
- Download the dataset.
- Have the dataset in the location mentioned in the code.
- Ensure that every library using should be installed.