← Open Source
Murgio

Food-Recipe-CNN

food image to recipe with deep convolutional neural networks.

Model DevelopmentDomain-specific trainingJupyter Notebook
Open on GitHub
Momentum
+0stars in 24 hours0.0%
588
Stars
130
Forks
+0
This week
1
Contributors
Created 2018-01-04 · Updated 2026-10-07 · #16484 today

Murgio/Food-Recipe-CNN is ranked 16,484 with 588 stars.

Same-category comparison

Murgio/Food-Recipe-CNN is ranked 16,484 among these 8 peers; the-super-toys/glimpse-android is ranked 16,481.

Same-category comparison
NameRankMetrics
ikostrikov/pytorch-flows16,470
Language:
Python
Stars:
589
Forks:
75
Description:
PyTorch implementations of algorithms for density estimation.
lucidrains/pi-zero-pytorch16,474
Language:
Python
Stars:
589
Forks:
30
Description:
Implementation of π₀, the robotic foundation model architecture proposed by Physical Intelligence.
stepfun-ai/SteptronOss16,480
Language:
Python
Stars:
589
Forks:
46
Description:
A lightweight, AI-native training framework for large language models. Designed for fast iteration, reproducible experiments, and modular configuration across SFT, RLVR, and evaluation workflows.
the-super-toys/glimpse-android16,481
Language:
Kotlin
Stars:
589
Forks:
30
Description:
A content-aware cropping library for Android.
cuiziteng/Illumination-Adaptive-Transformer16,488
Language:
Python
Stars:
588
Forks:
57
Description:
🌕 [BMVC 2022] You Only Need 90K Parameters to Adapt Light: A Light Weight Transformer for Image Enhancement and Exposure Correction. SOTA for low light enhancement, 0.004 seconds try this for pre-processing.
eecn/Hyperspectral-Classification16,489
Language:
Python
Stars:
588
Forks:
161
Description:
Hyperspectral-Classification Pytorch.
facebookresearch/fair_self_supervision_benchmark16,490
Language:
Python
Stars:
588
Forks:
57
Description:
Scaling and Benchmarking Self-Supervised Visual Representation Learning.
ironjr/semantic-draw16,492
Language:
Jupyter Notebook
Stars:
588
Forks:
51
Description:
Official code for the CVPR 2025 paper "SemanticDraw: Towards Real-Time Interactive Content Creation from Image Diffusion Models.".
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageJupyter Notebook
CategoryModel Development
SubcategoryDomain-specific training
KeywordsComputer vision
Stars588
Forks130
Contributors1
Created date2018-01-04
Updated date2026-10-07
Stars in 1 day0
Stars in 7 days0
Rank16,484
Previous rank16,272
Rank change-212
7-day stars rank15,555
Previous 7-day stars rank15,564
7-day stars rank change9
Total stars rank17,032
Previous total stars rank17,010
Total stars rank change-22
CountrySwitzerland
README summary

Visit this tutorial on Medium for further information! For example usage visit this Jupyter Notebook: Core Algorithm Maturaarbeit 2018: This work makes usage of deep convolutional neural networks with Keras to classify images into 230 food categories and to output a matching recipe. The dataset contains >400'000 food images and >300'000 recipes from chefkoch. Hardly any other area affects human well-being to a similar extent as nutrition. Every day countless of food pictures are published by users

on social networks; from the first home-made cake to the top Michelin dish, the joy of the world is shared with you in case a dish is successful. It is a fact that no matter how different you may be from each other, good food is appreciated by everyone. Advances in the classification or object recognition of individual cooking ingredients are sparse. The problem is that there are almost no public edited records available. Process The code (Jupyter notebooks

) is provided with numerous comments in German. The process looks like this: 1│── **Data preparation** │ └── Clearing data │ └── Data augmentation 2│── **Data analysis and Visualization, Split data (Train, Valid, Test)** 3│── **First attempts with simple ML models** │ └── Nearest Neighbor classifier (kNN) │ └── k-Means Clustering │ └── Support Vector Machine 4│── **Transfer Learning: Training pre-trained CNN (Convolutional Neural Network)** │ └── AlexNet, VGG, ResNet, GoogLeNet 5│── **Training your own CNN** │ └── Optimization 6│── **Visualize results** 7└── **Create a web application (DeepChef)** (work in progress) Solution The

exact solution is the following: 1. For every recipe **W** it has **K** number of pictures. For each of the images feature vectors are extracted from a pre-trained Convolution Neural Network trained on 1000 categories in the ILSVRC 2014 image recognition competition with millions of images. The feature vectors form an internal representation of the image in the last fully connected layer before the 1000-category Softmax Layer which was removed beforehand. These feature vectors are then dimensionally reduced

by PCA (Principal Component Analysis) from an **N x 4096** matrix to an **N x V** matrix, where **V The result is the product DeepChef. The web application (coming soon) expects a meal picture as input. As a result, you get the associated recipes.

Frequently asked questions

How many stars and forks are recorded?

Murgio/Food-Recipe-CNN has 588 stars and 130 forks.

What is the repository rank?

Murgio/Food-Recipe-CNN is ranked 16,484.

What language and category are recorded?

Murgio/Food-Recipe-CNN has 588 stars, uses Jupyter Notebook and belongs to Model Development.

Which repository is closest in rank?

Murgio/Food-Recipe-CNN is compared with the-super-toys/glimpse-android, ranked 16,481 with 589 stars.

README


Deep Learning food image recognition system for cooking recipe retrieval

Demo: DeepChef

Overview

Update: The Blog Article is now out. Visit this tutorial on Medium for further information!

For example usage visit this Jupyter Notebook: Core Algorithm

Maturaarbeit 2018: This work makes usage of deep convolutional neural networks with Keras to classify images into 230 food categories and to output a matching recipe. The dataset contains >400'000 food images and >300'000 recipes from chefkoch.de.

Hardly any other area affects human well-being to a similar extent as nutrition. Every day countless of food pictures are published by users on social networks; from the first home-made cake to the top Michelin dish, the joy of the world is shared with you in case a dish is successful. It is a fact that no matter how different you may be from each other, good food is appreciated by everyone. Advances in the classification or object recognition of individual cooking ingredients are sparse. The problem is that there are almost no public edited records available.

Process

The code (Jupyter notebooks) is provided with numerous comments in German. The process looks like this:

1│── Data preparation
│ └── Clearing data
│ └── Data augmentation

2│── Data analysis and Visualization, Split data (Train, Valid, Test)

3│── First attempts with simple ML models
│ └── Nearest Neighbor classifier (kNN)
│ └── k-Means Clustering
│ └── Support Vector Machine

4│── Transfer Learning: Training pre-trained CNN (Convolutional Neural Network)
│ └── AlexNet, VGG, ResNet, GoogLeNet

5│── Training your own CNN
│ └── Optimization

6│── Visualize results

7└── Create a web application (DeepChef) (work in progress)

Solution

The exact solution is the following:

  1. For every recipe W it has K number of pictures. For each of the images feature vectors are extracted from a pre-trained Convolution Neural Network trained on 1000 categories in the ILSVRC 2014 image recognition competition with millions of images. The feature vectors form an internal representation of the image in the last fully connected layer before the 1000-category Softmax Layer which was removed beforehand. These feature vectors are then dimensionally reduced by PCA (Principal Component Analysis) from an N x 4096 matrix to an N x V matrix, where V < 4096. As a result, one chooses the top 5 images with the smallest Euclidean distance to the input image (Approximate nearest neighbor), i.e. the top 5 optical, just from the picture information, similar pictures to the Input image.

  2. Furthermore, a CNN is trained with C number of categories with pictures of W recipes. C has been determined dynamically using topic modeling and semantic analysis of recipe names. As a result one gets for each category a probability to which the input image could belong.

  3. The top 5 categories of the input image of the CNN (2.) are compared with the categories of the top 5 optically similar images (1.)

Abstract

This work deals with the problem of automated recognition of a photographed cooking dish and the subsequent output of the appropriate recipe. The distinction between the difficulty of the chosen problem and previous supervised classification problems is that there are large overlaps in food dishes, as dishes of different categories may look very similar only in terms of image information. The task is subdivided into smaller areas according to the motto divide and conquer: According to the current state, the largest German-language dataset of more than 300'000 recipes will be presented, with a newly developed method, according to the author's knowledge, presented by the combination of object recognition or cooking court recognition using Convolutional Neural Networks (short CNN) and the search of the nearest neighbor of the input image (Next-Neighbor Classification) in a record of over 400,000 images. This combination helps to find the correct recipe more likely, as the top-5 categories of the CNN are compared to the next-neighbor category.

DeepChef

The result is the product DeepChef. The web application (coming soon) expects a meal picture as input. As a result, you get the associated recipes.

Nearby in the ranking
Similar items