Professional Documents
Culture Documents
In
Computer Science & Engineering
By
Abhijeet Kaushik (2000301530002)
Ayush Chaubey (2000301530016)
Gagan Kumar Sharma (2000301530020)
Satyam (2000301530053)
We take this opportunity to thank our teachers and friends who helped us
throughout the project.
First and foremost, we would like to thank our guide for the project (Dr.
Kumud Kundu, Head of Department, Computer Science (AIML)
Department) for her valuable advice and time during development of project.
Signature: Signature:
Signature: Signature:
DECLERATION
We hereby declare that this submission is our own work and that, to the best of
our knowledge and belief, it contains no material previously published or
written by another person nor material which to a substantial extent has been
accepted for the award of any other degree or diploma of the university or
other institute of higher learning, except where due acknowledgment has been
made in the text.
Signature: Signature:
Signature: Signature:
ABSTRACT
ABSTRACT 05
1. INTRODUCTION
2. LITERATURE REVIEW 13
3. PROPOSED SYSTEM 15
6. IMPLEMENTATION/CORE MODULE
8. CONCLUSIONS 36
9. REFERENCES 37
10. APPENDICES
***********************************************************
CHAPTER 1
INTRODUCTION
The genesis of this project idea stems from the intricate tapestry of Indian
cuisine, renowned for its myriad regional and traditional dishes. The
contemporary landscape, marked by the burgeoning popularity of food
blogging and image tagging, accentuates the necessity for a bespoke food
recognition system. This recognition system aims not only to identify the
diverse array of Indian foods but also to delve into the intricate realm of
nutritional content, which is highly variable across these culinary delights.
Feasibility Study:
1. Technical Feasibility: Assess the technological infrastructure required for
image processing and CNN algorithms, ensuring that the proposed system
can be developed and implemented effectively.
1.Cultural Sensitivity and Specificity: The project goes beyond generic food
recognition systems by incorporating a deep understanding of the nuances in
Indian regional and traditional foods. This cultural specificity ensures accurate
identification and nutritional estimation, catering to the diverse culinary practices
across the subcontinent.
2.Holistic Approach to Health: Unlike conventional calorie tracking apps, this
project aims for a holistic impact on health. By addressing not only the quantitative
aspects of food but also the qualitative ones, it becomes a comprehensive tool for
individuals aiming to manage weight, meet specific nutritional goals, and navigate
health conditions requiring precise dietary regulation.
In essence, the novelty of this project lies in its cultural sensitivity, personalized
recommendations, holistic health approach, and the effective convergence of
advanced technologies with the practical needs of individuals in managing their
dietary habits.
3. User-Friendly Interface:
- A user-friendly interface ensures accessibility for a wide range of users,
including those with varying technical proficiency. The interface simplifies the
process of tracking and managing dietary intake, enhancing user engagement and
making the system practical for everyday use.
The proposed system, through its advanced technologies and thoughtful features,
aims to revolutionize how individuals engage with their dietary habits, providing
them with a powerful tool to make informed choices for a healthier and more
balanced lifestyle.
Purpose: The main purpose of preparing this document is to give a general insight
into the analysis and requirements of the existing system or situation and to
determine the operating characteristics of the system. Using this document helps
an enterprise confirm that the requirements are fulfilled and helps business leaders
make decisions about the lifecycle of their product, such as when to retire a feature.
In addition, writing such a document can help developers reduce the time and
effort necessary to meet their goals as well as save money on the cost of
development.
Scope: This Document plays a vital role in the development life cycle (SDLC) and
it describes the complete requirement of the system. It is meant for use by the
developers and will be the basic during the testing phase. Any changes made to
the requirements in the future will have to go through a formal change approval
process.
You can think of an SRS as a blueprint or roadmap for the software you're going
to build. The elements that comprise an SRS can be simply summarized into four
Ds:
Use Case: Each use case on the diagram represents a single task that the system
needs to carry out. input Food Image, Image Preprocessing, Food Recognition and
Nutritional Estimation are all examples of use cases. Some use cases may include
or extend a task represented by another use case. For example, in order to make a
purchase, the order information will need to be validated.
Actor: An actor is anything outside the system that interacts with the system to
complete a task. It could be a user or another system. The actor "uses" the use
case to complete a task. Often, it is useful to look at the set of use cases that an
actor has access to -- this defines the actor's overall role in the system.
Association: The association is the link that is drawn between an actor and use
case. It indicates which actors interact with the system to complete the various
tasks
Includes: Use the includes link to show that one use case includes the task
described by another use case. For example, saving a Visual Case project
includes saving the diagrams and saving the project settings. Sometimes the
word "Uses" is used instead of "Includes".
Extends: The extends link is used to show that one use case extends the task
described by another use case. It's very similar to generalization, but is much more
formalized.
The use case that is extended is always referred to as the base use case and has
one or more defined extension points. The extension points show exactly where
extending use cases are allowed to add functionality. The extending use case
doesn't have to add functionality at all of the base use case's extension points. The
extension link indicates which extension points are being used.
Non-functional requirements are characteristics that define how well the system
performs its functions rather than what functions the system performs. Here are
non-functional requirements for this project:
1. Performance:
Requirement: The system should provide quick and responsive feedback, with
image recognition and nutritional estimation completing within a reasonable time
frame, even during peak usage.
2. Scalability:
Requirement: The system should be designed to handle a growing database of
foods and an increasing number of users without a significant degradation in
performance.
3. Usability:
Requirement: The user interface should be intuitive, easy to navigate, and
accessible to users with varying levels of technical proficiency.
4. Reliability:
Requirement: The system should be highly reliable, minimizing downtime,
errors, and disruptions to ensure a seamless user experience.
5. Security:
Requirement: The system should implement robust security measures to protect
user data, ensuring confidentiality and integrity. This includes secure storage and
transmission of sensitive dietary information.
6. Maintainability:
Requirement: The system should be designed with modularity and
maintainability in mind, allowing for easy updates, bug fixes, and future
enhancements without significant disruption.
7. Compatibility:
Requirement: The system should be compatible with various devices and
platforms, including desktops, laptops, and mobile devices, to cater to a diverse
user base.
8. Accuracy of Nutritional Information:
Requirement: The nutritional estimation provided by the system should be
accurate and reliable, reflecting the true content of recognized food items.
9. Continuous Improvement:
Requirement: The system should have mechanisms in place for continuous
improvement, incorporating updates based on technological advancements, user
feedback, and evolving dietary knowledge.
LEVEL1
Login and User:
LEVEL 2
Admin:
5.5 DATABASE DESIGN
1. Model Architecture:
• Description: MobileNetV1 is a lightweight convolutional neural network
architecture designed for mobile and embedded systems. It consists of depth
wise separable convolutions, which significantly reduces the number of
parameters and computations compared to traditional CNNs.
• Role in Project: MobileNetV1 serves as the core image classification
algorithm, responsible for recognizing and categorizing various regional
and traditional Indian foods.
2.Transfer Learning:
• Description: MobileNetV1 supports transfer learning, allowing you to
leverage pre-trained weights on large datasets like ImageNet. Fine-tuning
the model on your specific food dataset enables it to adapt to the
characteristics of Indian cuisine.
• Role in Project: Transfer learning with MobileNetV1 enables the model
to learn relevant features from a broad dataset and then specialize in
recognizing Indian dishes.
5.Accuracy-Computational Tradeoff:
• Description: MobileNetV1 achieves a balance between computational
efficiency and accuracy. While it may not be as complex as some larger
CNN architectures, it offers a suitable tradeoff for applications where
efficiency is crucial.
• Role in Project: The efficiency-accuracy tradeoff ensures that the system
performs well on resource-constrained devices without sacrificing the
accuracy required for food recognition.
1.Input Image: The process begins with an input image, typically representing a
food item.
This step-by-step process illustrates the architecture and flow of operations within
MobileNetV1, emphasizing its efficiency through depth wise separable
convolutions. It is particularly suitable for real-time image classification tasks on
resource-constrained devices.
1.NumPy:
Role: NumPy is used for numerical operations and array manipulations. It's
particularly helpful for processing and analyzing data efficiently in the backend.
2.Pandas:
Role: Pandas is employed for data manipulation and analysis. It's useful for
handling and organizing data related to nutritional information and alternative
healthier choices stored in the system's database.
3.Flask:
Role: Flask serves as the web framework for building the backend of the
application. It handles HTTP requests, facilitates the creation of APIs, and
simplifies the development of server-side components.
6. datetime:
Role: The datetime module is used for handling date and time information. It can
be utilized for timestamping data, tracking user interactions, and managing
temporal aspects of the system.
7. sys:
Role: The sys module provides access to some variables used or maintained by the
Python interpreter. It might be used for system-related configurations and settings.
8. tarfile:
Role: The tarfile module is used for reading and writing tar archive files. In the
context of the project, it may be employed for packaging and unpacking model
files or datasets.
9. random:
Role: The random module provides functions for generating random numbers. It
can be useful for tasks involving data shuffling, which is common in machine
learning scenarios.
1. Landing Page:
2. Admin:
3. Select “Choose Food”:
4. Select Food Item
5. Select “Analyses Food”: