The goal of Yummest is to help you find the restaurant where your entire meal chosen is the cheapest by passing photos of your plate and desert to the app.
Let's imagine you're traveling in a foreign country meanwhile you want to eat out in a restaurant but you don't want to spend a lot of money by going to a tourist's restaurant and don't know how to speak its language. The tool needed in these cases is an app that allows you to search the food you wanna eat based on photos.
Yummest receives individual pictures of each plate and desert, and a text of your starter and drink. Based on that information provides you the direction to the restaurant where that full meal is cheaper and gives you suggestions of other tourist attractions nearby that you can visit as well.
Data from El Tenedor website was used to make estimations of the cheapest meal, using each menu available in each restaurant of Madrid.
Food-101 dataset of Kaggle was used to get the images ready to train the neural network to predict each category of plate and desert.
The Foursquare API was used to make suggestions of tourist attractions that people can visit nearby the cheapest restaurant.
-
Web-scraping of El Tenedor's web page to get all the prices of every plate of the menu of each restaurant in Madrid, and its classification, latitud and longitud.
-
Image Classification: Train a model by using InceptionV3 of Keras. For that purpose, each food category was separated into train and test folders. 80% of the images of each category were used for training the model and the rest 20% of the images were used to test the model. In order to have a better recognition of the food images, we had to optimize our model by reducing the lost function and increasing the accuracy of the model trained. For that reason, two models were trained, one as a classifier of plates only and the other as a classifier of deserts only. In total, were trained 45 categories of plates and 10 categories of desert.
- User Options: On Yummest App the user will provide us the image inputs from Plate and Desert and the text inputs from Starter and Drink. The code behind it will calculate the price of those combination of plates and provide to the user the restaurant where that combination is the cheapest.
-
Cheapest Restaurant's Location: Using Google Maps page and knowing the cheapest restaurant latitud and longitud it's possible to provide the direction for the restaurant.
-
Tourist Attractions Suggestion: Using Foursquare API and by knowing the cheapest restaurant, the app will suggest a maximum of two tourist attractions that the user can visit nearby that restaurant. For this purpose, the functions built will calculate in a 1000 radius a limit of 100 tourist attractions that exist around the restaurant.
- Application Display: Yummest is displayed in a Tkinter app (which you can access by typing in your terminal python package1/tkinter_interface.py) and in a Web Page (which you can access by typing in your terminal python package1/apy_guay.py and open the url given in your browser)
- Add the total calories of each meal.
- Train more categories of plates and deserts, in this case I'll need a more powerful equipment.
- Take the concept of this project into more cities and countries.




