AI-Powered Nutrition Detection System
AI-Powered Nutrition Detection System
TABLE OF CONTENTS
ABSTRACT
1 INTRODUCTION
2 LITERATURE SURVEY
3 EXISTING SYSTEM &PROPOSED SYSTEM
4 SYSTEM FUNCTION
5 SYSTEM SPECIFICATION
6 SYSTEM SOFTWARE
7 HARDWARE REQUIREMENTS AND
SPECIFICATION
8 RESULT
9 CONCLUSION
10 REFERENCE
ABSTRACT
• Nutrition is an essential support of human body development. Poor
nourishment can result in reduced immunity, increased vulnerability to
various diseases, weakened physical and mental development. This project
is based on deep learning it will automatically detect the food nutrition’s and
performs accurate system we are detecting the nutrition levels in foods are
elevating the good nutrition or bad nutrition level. The tracking of nutritional
value of their meal intake and maintaining daily health records. The nutrition
level is stored in the database. The nutrient level should be compared with
database using convolution neural network (CNN) algorithm. The collected
dataset should be viewed after 7days wheatear the nutrition levels are good
or poor nutrition. If the nutrition level is poor means try to eat more protein
and fat and less simple sugars and Walk or participate in light activity to
stimulate your appetite. It is Build a healthy and balanced diet and
significant for healthy wellbeing. The technology is useful to generating a
daily meal plan whose goal is the recommendation of food highly preferred
by the user, not consumed recently, and satisfying human daily nutritional
requirements.
CHAPTER 1
INTRODUCTION
1.1OVERVIEW
Obesity in adults and children is considered a global epidemic. The main
cause of obesity is a combination of excessive food consumption and lack of
physical activities. Therefore, the need to accurately measure diet becomes
important. Preliminary studies among adolescents suggest that innovative use
of technology may improve the accuracy of dietary information of young
people. Also as people are becoming used to sedentary life style, they are
involuntarily carried away from being aware of their food energy intake. There
is overwhelming evidence that metabolic complications, which are caused by
obesity, increase the risks for developing adverse health consequences such as
diabetes, blood pressure, dyslipidemia and hypertension. People in general
understand the links between diet and health. In fact, there is a wide spread of
nutritional information and guidelines that are available to users at their
fingertips. However, such information alone has not prevented diet-related
illnesses or helped patients to eat healthily. In most cases, people find it
difficult to examine all of the information about nutrition and dietary choices.
Furthermore, people are oblivious about measuring or controlling their daily
calorie intake due to the lack of nutritional knowledge, irregular eating patterns
or lack of self-control. Empowering patients with an effective long-term
solution requires novel mechanisms that help them make permanent changes to
their dietary quality and calorie intake. Statistics show that 95% of the people
no longer follow any dietary plan as these restrict the people from consuming
their day-to-day food. So, the primary cause for obesity is imbalance of the
amount of food intake and energy consumed by the individual, and a healthy
meal is necessary. Thus, maintaining a healthy diet is an important goal for
many people. The process of tracking the number of calories consumed can be
very tedious as it requires the user to keep a food journal and perform little
messy calculations to estimate the number of calories consumed in every food
item. Through this research we try to classify Indian food images into their
respective classes. The proposed software model uses machine learning as the
base which recognizes the food image that is uploaded as an input by the user,
processes the food image, recognizes it, and estimates the calories from the
predicted image. People record, upload, and share food images more willingly
than ever on websites like Instagram, Facebook etc. So, it is more convenient
to locate more data (images and videos) related to food. Consequently,
supporting users in diet management and reducing the need for the manual
paper approach.
1.2 OBJECTIVE
• Our aim in this project is to empower the user by a convenient, intelligent
and accurate system that helps them become sensible about their nutrition
intake.
2.1 Raikwar, H., Jain, H. and Baghel, A., Calorie Estimation from Fast Food
Images Using Support Vector Machine.2019.
2.2 Subhi, M.A. and Ali, S.M., A deep convolutional neural network for food
detection and recognition, 2018.
2.3 Pathanjali, C., Salis, V.E., Jalaja, G. and Latha, A. A Comparative Study
of Indian Food Image Classification Using K-Nearest-Neighbor and Support-
Vector-Machines, 2020.
2.4 Reddy, V.H., Kumari, S., Muralidharan, V., Gigoo, K. and Thakare, B.S.,
2019, May. Food Recognition and Calorie Measurement using Image
Processing and Convolutional Neural Network. In 2019 4th In-ternational
Conference on Recent Trends on Electronics, Information, Communication &
Technology (RTEICT) (pp. 109-115). IEEE.
To overcome the manual labor and the erroneous data, various applications
were developed to calculate the food intake. One of the latest technological
advancements to overcome difficulties in pictures of food items is a variety of e-
health applications were developed to calculate calories in food that used the
concept of image processing.
Focused on analyzing which features and models are more suitable for
the food recognition, and comply them into food analysis system to calculate the
calories. Automatically estimate the food calories from a food image via
simultaneous learning of food calories, categories, ingredients and cooking
methods using multi-task convolutional neural networks. What’s more, a food
portion estimation method to estimate the energy from food images using
generative adversarial networks. Although food recognition and nutrition contents
analysis have been a popular field in recent year, there are still a few challenges to
be solved. The first is that most of the works are dealing with image with only one
food inside. They try to use classification method to recognize the food. The
second challenge is the time consumed to detect the food items. Usually with
detection models, it takes about 2 seconds to detect food items from the image
Fine-tuned the AlexNet model and achieved the best results on public food
datasets so far, with top-1 accuracy of 67.7% for UEC-FOOD-256. [48] evaluates
the effectiveness in classifying food images of a deep-learning approach based on
the specifications of Google’s image recognition architecture - Inception. Their
architecture is a 54 layers CNN. M
CHAPTER 3
• In this existing system only detect the food cannot estimate the food
nutrition level.
3.2 PROPOSED SYSTEM
• Our proposed system is deep learning based system, which allow the user to
take a video of the food and measure the amount of nutrition intake
automatically.
• In order to identify the food nutrition level accurately in the system, we use
convolutional neural networks algorithm by comparing the nutrition level of
the food data's stored in the database.
• The need to have a system that measures daily food intake nutrition value
and that value of food intake nutrition values are maintaining daily health
records.
• The collected dataset should be viewed after 7days wheatear the nutrition
levels are good or poor nutrition. If the nutrition level is poor means suggest
try to eat more protein and fat and if less nutrition level means suggest to do
exercise
CHAPTER 4
SYSTEM FUNCTION
• Suggestion module
In this module, the input camera will capture the video and the multiple
frames can be converted into single frame image and send to the next block for
further processing.
The Segmentation process will take place and the input image will be
segmented for the purpose of detection which is necessary to identify the region of
interest in the image. This module will convert the processed and segmented
images by performing region based segmentation process. It uses key factors in the
image like hue saturation value, descriptor points in order to analyze the complete
content of the image.
The nutrition level of the food dataset can be pre stored in the database. In
this module, the system will use CNN algorithm to fetch the primitive features in
the pre-stored data in the database and check for the presence of those features in
the input image.
The convolutional neural network algorithm will estimate the food nutrition
level by comparing the dataset of the food nutritional level in the data base. After
that estimate the nutrition level is good or poor nutrition are intake. The daily food
intake data can be stored in the text file.
The collected dataset should be viewed after 7days wheatear the nutrition
levels are good or poor nutrition. If the nutrition level is poor means suggest try to
eat more protein and fat and if less nutrition level means suggest to do exercise.
CHAPTER 5
SYSTEM SPECIFICATION
A convolution neural network has multiple hidden layers that help in extracting
information from an image. The four important layers in CNN are:
1. Convolution layer
2. ReLU layer
3. Pooling layer
Convolution Layer
This is the first step in the process of extracting valuable features from an
image. A convolution layer has several filters that perform the convolution
operation. Every image is considered as a matrix of pixel values.
Consider the following 5x5 image whose pixel values are either 0 or 1.
There’s also a filter matrix with a dimension of 3x3. Slide the filter matrix over the
image and compute the dot product to get the convolved feature matrix.
ReLU layer
ReLU stands for the rectified linear unit. Once the feature maps are
extracted, the next step is to move them to a ReLU layer. ReLU performs an
element-wise operation and sets all the negative pixels to 0. It introduces non-
linearity to the network, and the generated output is a rectified feature map. Below
is the graph of a ReLU function:
Fig no 5.3 ReLU layer image
Pooling Layer
5.3.2 Advantages:
Very High accuracy in image recognition problems.
Automatically detects the important features without any human
supervision.
Weight sharing.
Disadvantages:
Similarly, Image pre-processing is the term for operations on images at the lowest
level of abstraction. These operations do not increase image information content
but they decrease it if entropy is an information measure. The aim of pre-
processing is an improvement of the image data that suppresses undesired
distortions or enhances some image features relevant for further processing and
analysis task.
There are 4 different types of Image Pre-Processing techniques and they are listed
below.
2. Geometric Transformations
3. Image Filtering and Segmentation
There are two types of Brightness transformations and they are below.
1. Brightness corrections
2. Sigmoid stretching
3. Histogram equalization
Two commonly used point processes are multiplication and addition with a
constant.
G(x) =αf (x) +β
The parameters α>0 and β are called the gain and bias parameters and sometimes
these parameters are said to control contrast and brightness respectively.
For different values of alpha and beta, the image brightness and contrast varies.
Top-down approach
Bottom-Up approach
Select seed only from objects of interest. Grow regions only if the
similarity criterion is fulfilled.
Similarity Measures:
Limitations:
It did not produce many accurate segmentation results when there are
no significant differences b/w pixel values of the object and the
background.
Implementation:
The HSV color wheel is used to pick the desired color. Hue is
represented by the circle in the wheel. A separate triangle is used to represent
saturation and value. The horizontal axis of the triangle indicates value and the
vertical axis represents saturation. When you need a particular color for your
picture, first you need to pick a color from the hue (the circular region), and then
from the vertical angle of the triangle you can select the desired saturation. For
brightness, you can select the desired value from the horizontal angle of the
triangle.
The application of the cylindrical model of HSV color space is similar to the
conical model. Calculations are done in a similar way. Theoretically, the
cylindrical model is the most accurate form of HSV color space calculation. In
practical use, it is not possible to distinguish between saturation and hue when the
value is lowered. The cylindrical model has lost its relevance due to this and the
cone shape is preferred over it.
5.6.3 Advantages of HSV
• The HSV color space is quite similar to the way in which humans perceive
color.
• The other models, except for HSL, define color in relation to the primary
colors.
• The colors used in HSV can be clearly defined by human perception, which
is not always the case with RGB or CMYK.
5.7 CONTOUR MAPPING
A contour map is a type of map where the shape of the land surface is
shown by the contour lines, the relative spacing done between these lines indicates
the relative slope of the particular surface.
Contour map meaning is quite clear to us, if we further deduce this definition it
means – this is the delineation of any property in the map which is formed by
constructing lines. The lines are carved based on the equal values of that property
which is available as data points.
In the contour map meaning, it can be said that contour mapping is a type of
topography mapping, but to distinctly study the concept we will find there is an
acute difference between the two, so we cannot use each other as synonyms.
A topographic map is an accurate map that displays natural terrain and also man-
made objects like buildings, roads, or bridges. While Contour maps represent
changes in the elevation with the help of contour lines.
Each of the contour lines being marked on a map joins the points having an equal
height. The method of contouring cannot be totally relied on because two
investigators can produce different types of maps whenever interpolation between
two data takes place
The Contours provide important information which can help us to study the
nature of the terrain. This proves to be useful for the selection of sites, to determine
the catchment area of a drainage basin, or to find indivisibility between two or
more stations, etc. Some of the uses of contours are described below.
Nature of Ground
• When the indivisibility between the two points cannot be easily ascertained
by inspecting the area, then the contour map comes to the rescue.
To Determine Catchment Area or Drainage Area
• The catchment area of a particular river can be well determined by using the
contour map. The watershed line very well indicates the drainage basin of
the river which passes through the ridges and then saddles of the terrain that
turns around the river. It is always perpendicular to the contour lines. The
catchment area which is contained between this watershed line and the river
outlet is measured with a plan meter.
Fig no 5.8 Contour mapping image
CHAPTER 6
SYSTEM SOFTWARE
6.1 PYQT5
PyQt is a GUI widgets toolkit. It is a Python interface for Qt, one of the most
powerful, and popular cross-platform GUI library. PyQt was developed by
Riverbank Computing Ltd. The latest version of PyQt can be downloaded from its
official website − riverbankcomputing.com
PyQt API is a set of modules containing a large number of classes and functions.
While QtCore module contains non-GUI functionality for working with file and
directory etc., QtGui module contains all the graphical controls. In addition, there
are modules for working with XML (QtXml), SVG (QtSvg), and SQL (QtSql),
etc.
Supporting Environments
Windows
Wheels for 32-bit or 64-bit architecture are provided that are compatible
with Python version 3.5 or later. The recommended way to install is
using PIP utility −
The PyQt installer comes with a GUI builder tool called Qt Designer. Using its
simple drag and drop interface, a GUI interface can be quickly built without having
to write the code. It is however, not an IDE such as Visual Studio. Hence, Qt
Designer does not have the facility to debug and build the application.
The designed form is saved as demo.ui. This ui file contains XML representation
of widgets and their properties in the design. This design is translated into Python
equivalent by using pyuic5 command line utility. This utility is a wrapper for uic
module of Qt toolkit. The usage of pyuic5 is as follows −
In the above command, -x switch adds a small amount of additional code to the
generated Python script (from XML) so that it becomes a self-executable
standalone application.
if __name__ == "__main__":
Import sys
App = QtGui.QApplication(sys.argv)
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
The resultant python script is executed to show the following dialog box −
Python demo.py
The user can input data in input fields but clicking on Add button will not generate
any action as it is not associated with any function. Reacting to user-generated
response is called as event handling.
Unlike a console mode application, which is executed in a sequential manner, a
GUI based application is event driven. Functions or methods are executed in
response to user’s actions like clicking on a button, selecting an item from a
collection or a mouse click etc., called events.
Widgets used to build the GUI interface act as the source of such events. Each
PyQt widget, which is derived from QObject class, is designed to emit ‘signal’ in
response to one or more events. The signal on its own does not perform any action.
Instead, it is ‘connected’ to a ‘slot’. The slot can be any callable Python function.
It is desired that if button is pressed, contents of text box should be erased. The
QLineEdit widget has a clear () method for this purpose. Hence, the
button’s clicked signal is to be connected to clear () method of the text box.
To start with, choose Edit signals/slots from Edit menu (or press F4). Then
highlight the button with mouse and drag the cursor towards the textbox
As the mouse is released, a dialog showing signals of button and methods of slot
will be displayed. Select clicked signal and clear () method
Fig no 6.8 editing page
Free and open-source - You can freely use and distribute Python, even for
commercial use.
Easy to learn - Python has a very simple and elegant syntax. It's much
easier to read and write Python programs compared to other languages like
C++, Java, and C #.
Portable - You can move Python programs from one platform to another,
and run it without any changes.
Python has a lot of applications. It's used for developing web applications,
data science, rapid application development, and so on.
Python allows you to write programs in fewer lines of code than most of the
programming languages.
The popularity of Python is growing rapidly. Now it's one of the most
popular programming languages.
Write a lot of Python code- The only way you can learn programming is by
writing a lot of code.
PyCharm is the most popular IDE used for Python scripting language. This chapter
will give you an introduction to PyCharm and explains its features.
PyCharm offers some of the best features to its users and developers in the
following aspects
Advanced debugging
Support for web programming and frameworks such as Django and Flask
Features of PyCharm
Besides, a developer will find PyCharm comfortable to work with because of the
features mentioned below
Code Completion
SQLAlchemy as Debugger
You can set a breakpoint, pause in the debugger and can see the SQL
representation of the user expression for SQL Language code.
When coding in Python, queries are normal for a developer. You can check the last
commit easily in PyCharm as it has the blue sections that can define the difference
between the last commit and the current one.
You can run .py files outside PyCharm Editor as well marking it as code coverage
details elsewhere in the project tree, in the summary section etc.
Package Management
All the installed packages are displayed with proper visual representation. This
includes list of installed packages and the ability to search and add new packages.
Local History
Local History is always keeping track of the changes in a way that complements
like Git. Local history in PyCharm gives complete details of what is needed to
rollback and what is to be added.
Refactoring
Refactoring is the process of renaming one or more files at a time and PyCharm
includes various shortcuts for a smooth refactoring process.
The user interface of PyCharm editor is shown in the screenshot given below.
Observe that the editor includes various features to create a new project or import
from an existing project.
In this chapter, you will learn in detail about the installation process of PyCharm
on your local computer.
Steps Involved
You will have to follow the steps given below to install PyCharm on your system.
These steps show the installation procedure starting from downloading the
PyCharm package from its official website to creating a new project.
Step 1
Note that the professional package involves all the advanced features and comes
with free trial for few days and the user has to buy a licensed key for activation
beyond the trial period. Community package is for free and can be downloaded and
installed as and when required. It includes all the basic features needed for
installation. Note that we will continue with community package throughout this
tutorial.
Step 2
Download the community package (executable file) onto your system and mention
a destination folder as shown below –
Fig no:6.3 PyCharm community package
Step 3
Now, begin the installation procedure similar to any other software package.
Step 4
Once the installation is successful, PyCharm asks you to import settings of the
existing package if any.
Fig No:6.4 PyCharm Import
This helps in creating a new project of Python where you can work from the
scratch. Note that unlike other IDEs, PyCharm only focusses on working with
projects of Python scripting language.
This chapter will discuss the basics of PyCharm and make you feel comfortable to
begin working in PyCharm editor.
When you launch PyCharm for the first time, you can see a welcome screen with
entry points to IDE such as
Recall that in the last chapter, we created a project named demo1 and we will be
referring to the same project throughout this tutorial. Now we will start creating
new files in the same project to understand the basics of PyCharm Editor.
Fig no:6.6 PyCharm editing page
The code created in the file main.py using PyCharm Editor is displayed as
shown below
This code can be run within IDE environment. The basic demonstration of running
a program is discussed below
Fig No:6.9 PyCharm project interpreter
Running a python code comprises of two modes: running a script and debugging
the script. This chapter focusses on debugging the Python script using PyCharm.
Steps Involved
The steps for debugging the Python project are as explained below −
Step 1
Start with debugging the Python project as shown in the screenshot below –
Fig No:6.12 PyCharm running image
Step 2
Now, Windows firewall asks permission for debugging the Python project as the
procedure involves line by line compilation.
The run button moves from one line to another to execute the output as the way we
want.
Understanding Breakpoints
In PyCharm, breakpoints are visible using a separate dialog in the specified editor.
It includes various attributes to evaluate the breakpoints defined and tracing log for
the same with a main motive to achieve better programming practice.
If you are reading this in 2019, then there is no point even discussing this
unless and until you work on some project which is still running on some version
of Python 2.x.
When we say Python 2.x we mean Python 2.7 and when we say Python 3.x we
mean Python 3.7 version.
Almost all the libraries/modules of python have been moved to python 3 or have
been made compatible to work with python 3.x version.
If you still want to go for Python 2.7 we would like to inform you that in 2020 the
Python 2.x version will be officially discontinued.
Although there are many changes in the newer version of the language i.e. in
Python 3 as compared to Python 2. We will be covering the ones which are the
most important ones which can cause issues if you are porting your code form
Python 2.7 (or any other 2.x version) to Python 3.x version.
Yes, this is one of the most visible changes as the print statement is used a lot while
you code in python.
If we talk about the desktop, mobile, and you only want to do normal gaming and
for everyday use, then Ryzen APU is the way to go. For heavier tasks like video
editing, 3D modelling, etc, Ryzen 7 or 9 CPUs or Thread ripper should be
preferred.
For Ryzen Desktop CPUs and APUs in the AM4 platform, the motherboard chipset
should be checked for support otherwise PC may not boot, although it can be easily
solved with motherboards with USB BIOS flashing for newer processors.
1. AMD is cheaper
For a user who has less funds and budget, this is a good processor. The price is
quite cheap when compared with Intel. Hence it is among the best choice for the
gamers. The price is still low because AMD has not been holding and dominating
the world market which is still being dominated by Intel and also hasn’t earned
much reputation in the market.
2. Has more Superior Graphic
Along with the cheaper price, the quality of AMD graphics processor is better and
suitable for playing games because it makes the graphics display of the game more
interesting if with this AMD processor. But, for YouTubers or renderer Intel is a
better choice as AMD can be less suitable if using this one processor.
AMD Processors have a feature called Enhanced Virus Protection (EVP) which
can detect virus and malwares. This feature helps to check whether there is a virus
content in the running program.
1. Less Fame
Talking about the number of users in the world, AMD is very far from Intel. AMD
brand is not very familiar to ordinary people. This is the reason behind the AMD
processors being cheaper than the price of Intel because of its less fame though the
quality of AMD is not less than Intel, even outside Intel.
3. Lost to Multimedia
Users being mostly involved in the multimedia world are not recommended to use
this processor in the process you do. Intel is much preferable because it is designed
to handle matters relating to multimedia.
Hence, these are few of the pros and cons of AMD processor. Though it is lagging
behind Intel processors, it is doing its best. Analyze the market and your needs to
choose best processor for yourself.
Fig no 7.2 processor working chart
o The first type of RAM was introduced in 1947 with the Williams tube. It
was used in CRT (cathode ray tube), and the data was stored as electrically
charged spots on the face.
o In October 1969, Intel introduced its first DRAM, the Intel 1103. It was its
first commercially available DRAM.
o In 1993, Samsung introduced the KM48SL2000 synchronous DRAM
(SDRAM).
The word static indicates that the memory retains its contents as long as power is
being supplied. However, data is lost when the power gets down due to volatile
nature. SRAM chips use a matrix of 6-transistors and no capacitors. Transistors do
not require power to prevent leakage, so SRAM need not be refreshed on a regular
basis.
There is extra space in the matrix, hence SRAM uses more chips than DRAM for
the same amount of storage space, making the manufacturing costs higher. SRAM
is thus used as cache memory and has very fast access.
Fig no 7.4 static RAM
DRAM, unlike SRAM, must be continually refreshed in order to maintain the data.
This is done by placing the memory on a refresh circuit that rewrites the data
several hundred times per second. DRAM is used for most system memory as it is
cheap and small. All DRAMs are made up of memory cells, which are composed
of one capacitor and one transistor.
Fig no 7.5 Dynamic RAM
RAM allows your computer to perform many of its everyday tasks, such as loading
applications, browsing the internet, editing a spreadsheet, or experiencing the latest
game. Memory also allows you to switch quickly among these tasks, remembering
where you are in one task when you switch to another task. As a rule, the more
memory you have, the better.
When you turn on your computer and open a spreadsheet to edit it, but first check
your email, you’ll have used memory in several different ways. Memory is used to
load and run applications, such as your spreadsheet program, respond to
commands, such as any edits you made in the spreadsheet, or toggle between
multiple programs, such as when you left the spreadsheet to check email. Memory
is almost always being actively used by your computer.
In a way, memory is like your desk. It allows you to work on a variety of projects,
and the larger your desk, the more papers, folders, and tasks you can have out at
one time. You can quickly and easily access the information without going to a
filing cabinet (your storage drive). When you’re finished with a project, or leaving
for the day, you can put some or all the projects in the filing cabinet for
safekeeping. Your storage drive (hard drive or solid state drive is the filing cabinet
that works with your desk to track your projects.
If your system is slow or unresponsive, a memory upgrade is one of the easiest and
most cost-effective ways to improve performance.
If you find you are running out of memory often, there may be some things you
can do to help yourself, short of buying and installing more SIMMs (memory
chips). Over the time many type of memory modules has been emerged
including DIP, SIP, SIMM, DIMM and most recently RIMM.
Advantages of RAM
• The users make use of a RAM disk to speed up their applications like games,
audio, and video editing, databases, etc.
• The main benefit of RAM disk is you can access the RAM disk at maximum
bandwidth without any fear of mechanical failure.
• Also, at maximum bandwidth, it does not produce excessive heat, noise or
vibration.
• Its most significant disadvantage is its cost. As we know that, RAM is very
costly as compared to a hard disk.
• If your computer lost power and your system gets crashed, then all of your
saved data also get lost.
• RAM disk reserves a good portion of your memory so that you cannot use that
memory for any other purpose.
A RAM disk is like a hard drive, but it makes the use of memory. You can use a
RAM disk like: you can copy applications and files to the RAM disk, and then
you can start those applications or those files from there if the program allows
that. Mostly, RAM disks are suitable for those
• You can also set the Windows temp folder location there for instance.
Whenever you restart your computer, this data got removed entirely
automatically, and you do not need to do this manually.
RESULTS
CHAPTER 9
CONCLUSION
REFERENCES
[1]. Rajayogi, J.R., Manjunath, G. and Shobha, G., 2019, December. Indian
Food Image Classification with Transfer Learning. In 2019 4th Inter-
national Conference on Computational Systems and Information
Technology for Sustainable Solution (CSITSS) (Vol. 4, pp. 1-4). IEEE.
[2]. Reddy, V.H., Kumari, S., Muralidharan, V., Gigoo, K. and Thakare,
B.S., 2019, May. Food Recognition and Calorie Measurement using Image
Processing and Convolutional Neural Network. In 2019 4th In-ternational
Conference on Recent Trends on Electronics, Information, Communication
& Technology (RTEICT) (pp. 109-115). IEEE.
[3]. Subhi, M.A. and Ali, S.M., 2018, December. A deep convolutional
neural network for food detection and recognition. In 2018 IEEE-EMBS
conference on biomedical engineering and sciences (IECBES) (pp. 284-
287). IEEE.
[14] Pathanjali, C., Salis, V.E., Jalaja, G. and Latha, A., 2018. A
Comparative Study of Indian Food Image Classification Using K-Nearest-
Neighbor and Support-Vector-Machines. J. Eng. Techno, 7, pp.521-525.