This publication presents a food image recognition model designed to classify food items from images. Using a deep learning-based Convolutional Neural Network (CNN), we train the model on the Food-101 dataset, which consists of 101 food categories. The model is evaluated on key metrics such as accuracy, precision, recall, and F1-score. Additionally, we explore the impact of transfer learning by fine-tuning a pre-trained InceptionV3 model, which significantly boosts performance compared to the base CNN model.
Food image recognition has become a popular research area due to its applications in food tracking, nutrition monitoring, and restaurant recommendation systems. In this project, we develop a deep learning model to classify food images into predefined categories. We leverage the Food-101 dataset, a large-scale dataset of food images, to train and evaluate the model. This work compares the performance of a simple CNN architecture against a more sophisticated pre-trained model, InceptionV3, fine-tuned for this task.
The methodology consists of four main steps: data preprocessing, model design, training, and evaluation.
Data Preprocessing: We use the Food-101 dataset, resize images to 200x200 pixels, apply data augmentation (rotation, flipping, zooming), and normalize the images.
Model Design: A CNN architecture is used, consisting of convolutional layers, max-pooling layers, and dense layers. We also experiment with transfer learning using the InceptionV3 model for improved accuracy.
Model Training: The models are trained using the Adam optimizer and categorical cross-entropy loss for 10 epochs with a batch size of 32.
Evaluation: The models are evaluated on the test set using accuracy, precision, recall, and F1-score.
The following experiments were conducted to evaluate the model's performance:
Data Augmentation: Various augmentation techniques like rotation, flipping, and zooming were applied to improve model generalization.
Model Configurations:
Training Setup: The models were trained on the Food-101 dataset using TensorFlow and Keras with a batch size of 32 and for 10 epochs.
The model's performance was evaluated on the test dataset. The following results were obtained:
Base CNN:
Transfer Learning (InceptionV3):
Sample predictions:
The transfer learning approach significantly outperformed the base CNN model in all metrics.
The food image recognition model demonstrates strong performance, with transfer learning providing a notable improvement in accuracy compared to the base CNN. The results highlight the importance of using pre-trained models, particularly in tasks with complex datasets like food image classification. Future work could focus on experimenting with more advanced architectures or fine-tuning other pre-trained models to further enhance performance.
There are no models linked
There are no models linked