コンコン゚」

コンコン゚」Share a Scribd company logo
Estimating Calorie Content in Food
Dishes using Transfer Learning
Neural Networks
Ali Abul Hawa
2
Difficulty in this project/dataset: many food dishes look very similar
Beef noodleRamen noodle
3
4
Low-level
features
Higher-level
features
Output
Classification
Layers
1.2M images
1000 classes
16 Layers
VGG16, 16 layers: 3 weeks on 4 GPUs Titan Black ~$6000
My computer (~ g2.2xlarge AWS) : ~ 30 weeks
TRANSFER
LEARNING
5
Low-level
features
Higher-level
features
Custom
Output
Classification
Layers
15 Layers
100
Food
classifier
Train custom classification layer ~52%
TRANSFER
LEARNING
6
Low-level
features
Higher-level
features
Custom
Output
Classification
Layers
15 Layers
100
Food
classifier
Train classification layer + highest level
feature layer
~ 70% top-1, 92% top-5 accuracy
in 30 hours 竕ェ 30 weeks
TRANSFER
LEARNING
TRANSFER
LEARNING
Why transfer learning?
Time
Works well even on small datasets.
However, need to use image augmentations to
prevent overfitting!
7
8
Live Demo 窶ヲ
窶ヲ Thanks!

More Related Content

Transfer Learning Neural Network implementation for food recognition

Editor's Notes

  • #3: Summary: multiclass classification of food images using transfer learning deep neural networks. From an image predict the food inside it, and return the calorie content per serving Why? I chose to work with neural networks because they can do fascinating work, and I believe thy are amazing. Also, I wanted to do something challenging窶ヲ I窶冦 still learning a lot about them, and there is much more to learn. Why food prediction? It窶冱 a nice idea. Most people want a healthy lifestyle, including food habits, the way to do that is by knowing at least the calories before consuming them. When I mentioned this to some ladies, they were excited about it, and they wanted the product now. Importance: this can used with different applications, and uses: for example, it can be an added End game: classify images into 1 of 100 classes窶ヲ easy, right? No 窶ヲ窶ヲ.explain Dataset description: Number of classes 100 Number of images 14600 # images/class ~ 150 Size of images varies from 80x140 -> 800x800
  • #5: Main Idea of transfer learning: use a NN that has been pre-trained intensively on a huge dataset for any class/types. Use the super capabilities of this NN in extracting image features, such as lines, edges, blobs, shapes, 窶ヲetc Remove the last layer (classifier) designed for a particular image classification problem, such as faces/animals/cars. Use this NN as a feature extraction device connected in between your images and your custom NN (classifier) Further improvement by fine-tune training the last layer of the super-pre-trained NN. -> quick + accurate