CHAPTER 4
DEVELOPMENT PROCESS
4.1. REQUIREMENT ANALYSIS
Requirements are a feature of a system or description of something that the system is
capable of doing in order to fulfil the system’s purpose. It provides the appropriate
mechanism for understanding what the customer wants, analyzing the needs assessing
feasibility, negotiating a reasonable solution, specifying the solution unambiguously,
validating the specification and managing the requirements as they are translated into an
operational system.
4.1.1. PYTHON:
Python is a dynamic, high level, free open source and interpreted programming
language. It supports object-oriented programming as well as procedural oriented
programming. In Python, we don’t need to declare the type of variable because it is a
dynamically typed language.
For example, x=10. Here, x can be anything such as String, int, etc.
Python is an interpreted, object-oriented programming language similar to PERL, that has
gained popularity because of its clear syntax and readability. Python is said to be relatively
easy to learn and portable, meaning its statements can be interpreted in a number of operating
systems, including UNIX-based systems, Mac OS, MS-DOS, OS/2, and various versions of
Microsoft Windows 98. Python was created by Guido van Rossum, a former resident of the
Netherlands, whose favourite comedy group at the time was Monty Python's Flying Circus.
The source code is freely available and open for modification and reuse. Python has a
significant number of users.
Features in Python
There are many features in Python, some of which are discussed below
Easy to code
Free and Open Source
Object-Oriented Language
GUI Programming Support
High-Level Language
Extensible feature
Python is Portable language
Python is Integrated language
Interpreted Language
4.2. ANACONDA
Anaconda distribution comes with over 250 packages automatically installed, and
over 7,500 additional open-source packages can be installed from PyPI as well as
the conda package and virtual environment manager. It also includes a GUI, Anaconda
Navigator, as a graphical alternative to the command line interface (CLI).
The big difference between conda and the pip package manager is in how package
dependencies are managed, which is a significant challenge for Python data science and the
reason conda exists.
When pip installs a package, it automatically installs any dependent Python packages
without checking if these conflict with previously installed packages. It will install a package
and any of its dependencies regardless of the state of the existing installation. Because of this,
a user with a working installation of, for example, Google Tensorflow, can find that it stops
working having used pip to install a different package that requires a different version of the
dependent numpy library than the one used by Tensorflow. In some cases, the package may
appear to work but produce different results in detail.
In contrast, conda analyses the current environment including everything currently
installed, and, together with any version limitations specified (e.g., the user may wish to have
Tensorflow version 2,0 or higher), works out how to install a compatible set of dependencies,
and shows a warning if this cannot be done.
Open source packages can be individually installed from the Anaconda
repository, Anaconda Cloud ([Link]), or the user's own private repository or mirror,
using the conda install command. Anaconda, Inc. compiles and builds the packages available
in the Anaconda repository itself, and provides binaries for Windows 32/64 bit, Linux 64 bit
and MacOS 64-bit. Anything available on PyPI may be installed into a conda environment
using pip, and conda will keep track of what it has installed itself and what pip has installed.
Custom packages can be made using the condo build command, and can be shared
with others by uploading them to Anaconda Cloud, PyPI or other repositories.
The default installation of Anaconda2 includes Python 2.7 and Anaconda3 includes
Python 3.7. However, it is possible to create new environments that include any version of
Python packaged with condo.
4.2.1. ANACONDA NAVIGATOR
Anaconda Navigator is a desktop graphical user interface (GUI) included in
Anaconda distribution that allows users to launch applications and manage conda packages,
environments and channels without using command-line commands. Navigator can search for
packages on Anaconda Cloud or in a local Anaconda Repository, install them in an
environment, run the packages and update them. It is available
for Windows, macOS and Linux.
The following applications are available by default in Navigator:[16]
Qt Console
Spyder
Glue
Orange
RStudio
Visual Studio Code
4.3. RESOURCE REQUIREMENTS:
SOFTWARE REQUIREMENTS:
Op e r a t i n g S y s t e m Windows 7or later
Simulation Tool Anaconda (Jupyter notebook)
Do c u m e n t a t i o n Ms – Office
HARDWARE REQUIREMENTS:
CPU type I5
Ram size 4GB
Hard disk capacity 80 GB
Keyboard type Internet keyboard
Monitor type 15 Inch colour monitor
CD -drive type 52xmax
4.4. PROPOSED SYSTEM
An important aspect of health monitoring is effective logging of food
consumption. This can help management of diet-related diseases like obesity,
diabetes, and even cardiovascular diseases. Moreover, food logging can help
fitness enthusiasts, and people who wanting to achieve a target weight.
However, food-logging is cumbersome, and requires not only taking additional
effort to note down the food item consumed regularly, but also sufficient
knowledge of the food item consumed (which is difficult due to the availability
of a wide variety of cuisines). The proposed model uses the flask frame work to
implement in the web application system. Here, we use the flask framework to
classify the food and identify the calories of each and every item of food and
also shown the pie chart of food calories chart. Experimental results shown the
better performance of the System.
4.4.1. ADVANTAGES
Accurate results.
High accuracy prediction
Better performance
4.5. SYSTEM ARCHITECTURE
MODULES USED:
Module 1: Data Collection
Module 2: Backend (flask framework)
Module 3: Upload file
Module 4: Prediction Result
Module 1: Data Collection
Data collection is the process of gathering and measuring information
from countless different sources.
Image data collection for AI/DL training involves gathering and
preparing images to be added to datasets that will train AI/DL algorithms.
The purpose of this data type is to store or reference any type of image
files (jpg, bmp, png, etc).
Here, we use the food image to shown the output of the system.
Module 2: Backend (Flask Framework)
It is a web application process using flask model.
A Web Application Framework or a simply a Web Framework represents
a collection of libraries and modules that enable web application
developers to write applications without worrying about low-level details
such as protocol, thread management, and so on.
Flask is a small and lightweight Python web framework that provides
useful tools and features that make creating web applications in Python
easier. It gives developers flexibility and is a more accessible framework
for new developers since you can build a web application quickly using
only a single Python file.
Module 3: Upload File.
Here, we upload the file based on image format of different types of food
receipes and then find out the calories of food. We have uploading the
image file in the web application based Flask Framework. The file has
been uploaded in the folder where the application is currently running.
And it is visible in the web application also.
Module 4: Prediction File
While uploading the Image file and then select the Submit button and
then also select the predict button, the final prediction shown the
classification of food items and then shown the calories of each food
item.
Also shown the Pie Chart of food Calorie Graph.