Giter Club home page Giter Club logo

mykcal's Introduction

MyKcal - Food image recognition for dietary assessment

Introduction

With people paying increasing attention to tracking meal items and nutrition contents in daily life for weight loss or medical purposes, self-managed food monitoring has become a vital application for computer vision. The tradiation dietary assessment have multiple challenges to be accurately assessed. Most of the current methods for dietary assessment must rely on memory to recall foods eaten. Even we remember the food we ate, but we didn't know what it is and their ingredients.Furthermore, nutrition information is vital for fitness, where we need to control the number of calories, carbohydrates, fats, proteins. In order to improve accuracy and convenience in diet assessment, The project aim to build a system that can instantly detect food through the phone camera and return nutritional information of this food.

Objective

Build the mobile app that can help user can easily record their meals and keep track consumption of nutrition through their mobile phone.

Milestone

  1. Detect food from a picture Build the mobile app that can take a picture and detect food in this picture.
  • Detect 1 dish in a picture
  • Detect multiple dishes in 1 picture
  1. Display a nutrition of food in a picture
  2. Record the meal nutrition
  3. Show ingredients and recipe of dish
  4. Daily nutriotion calculation

Methodology

Approach

The project is mainly referenced from the two articles: YOLO for Real-Time Food Detection and A Real-time Food Detection Mobile Application by Deep Convolutional Neural Networks

  1. Food detection

Before we start to classify food in the picture, we have to understand how many objects appear on the image. The main idea here is to divide each input image in to (S,S) grid and predict N bouding boxes and confidence in each cell. The confidence reflects the accuracy of the bounding box and whether the bounding box actually contain an object. We will separate the input image to multipe input by the bounding box of YOLO.

Using the Open Images Dataset V6 + Extensions to train model that could clasify food in a picture.

  1. Food tracking

After we have the input images, we can use the CNN model to detect type of food. I believe we can train use some pretrain model such as mobilenet or EfficientNet. After detecting the food, we should use YOLO to display name of food.

  1. Display nutrition of Food Using api of Nutritionix

  2. Mobile application Our final application will detect the food through image which is input by user. Mobile app will send image to server and receive result of food from server. After that, app will display food detection and nutrition for user.

Dataset

A Dataset for Learning Cross-Modal Embeddings for Cooking Recipes and Food Images Other food dataset

Helpful links

https://www.nutritionix.com/ https://github.com/ivanDonadello/Food-Categories-Classification https://github.com/SumithBaddam/NeuralCook http://pic2recipe.csail.mit.edu/ https://arxiv.org/ftp/arxiv/papers/1606/1606.05675.pdf https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6368251/

mykcal's People

Contributors

phucduy avatar

Stargazers

 avatar Marius M. avatar

Watchers

 avatar

Forkers

jacobo3d mm803

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.