Remaining Shelf-Life Estimation of Fresh Fruits and Vegetables During Transportation-1
Remaining Shelf-Life Estimation of Fresh Fruits and Vegetables During Transportation-1
Remaining Shelf-Life Estimation of Fresh Fruits and Vegetables During Transportation-1
ABSTRACT:
The estimation of remaining shelf-life for fresh fruits and vegetables
during transportation is crucial for minimizing waste and ensuring
quality. This study proposes a novel approach to predict the shelf-life
of perishable goods by integrating real-time environmental data and
predictive modeling techniques. Utilizing sensors to monitor
temperature, humidity, and ethylene levels, along with machine
learning algorithms, we developed a system to dynamically estimate
the remaining shelf-life of produce throughout the supply chain.
Experimental results demonstrate the system's effectiveness in
accurately forecasting shelf-life, thereby enabling better inventory
management and reducing spoilage. The proposed methodology offers
significant improvements over traditional static estimation methods
by adapting to changing transportation conditions and providing
actionable insights for logistical optimization.
INTRODUCTION:
The global trade of fresh fruits and vegetables requires efficient
management of their shelf life to minimize waste and ensure
consumer satisfaction. These perishable goods are highly sensitive to
environmental conditions such as temperature, humidity, and air
circulation, which can significantly impact their freshness and quality
during transportation. As these products often travel long distances
from farms to markets, accurate estimation of their remaining shelf
life becomes crucial. The ability to predict the remaining shelf life
helps in optimizing supply chain processes, reducing spoilage, and
enhancing the overall efficiency of the distribution system. Traditional
methods of shelf life estimation rely on empirical data and static
models, which may not fully capture the dynamic nature of
transportation environments. Advances in technology, including real-
time monitoring systems and predictive analytics, offer new
opportunities to improve the accuracy of shelf life predictions. This
paper explores the challenges associated with estimating the
remaining shelf life of fresh fruits and vegetables during
transportation and reviews current methodologies and technological
innovations aimed at addressing these challenges. By integrating these
advanced approaches, it is possible to develop more effective
strategies for preserving freshness and reducing food waste across the
supply chain.
LITERATURE SURVEY:
➢ RAM - 4 GB (min)
➢ Hard Disk - 20 GB
SOFTWARE REQUIREMENTS:
Operating system : Windows 7 Ultimate.
Coding Language : Python.
SYSTEM STUDY
FEASIBILITY STUDY
The feasibility of the project is analyzed in this phase and
business proposal is put forth with a very general plan for the project
and some cost estimates. During system analysis the feasibility study
of the proposed system is to be carried out. This is to ensure that the
proposed system is not a burden to the company. For feasibility
analysis, some understanding of the major requirements for the
system is essential.
Three key considerations involved in the feasibility analysis are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the
system will have on the organization. The amount of fund that the
company can pour into the research and development of the system is
limited. The expenditures must be justified. Thus the developed
system as well within the budget and this was achieved because most
of the technologies used are freely available. Only the customized
products had to be purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is,
the technical requirements of the system. Any system developed must
not have a high demand on the available technical resources. This will
lead to high demands on the available technical resources. This will
lead to high demands being placed on the client. The developed
system must have a modest requirement, as only minimal or null
changes are required for implementing this system.
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the
system by the user. This includes the process of training the user to
use the system efficiently. The user must not feel threatened by the
system, instead must accept it as a necessity. The level of acceptance
by the users solely depends on the methods that are employed to
educate the user about the system and to make him familiar with it.
His level of confidence must be raised so that he is also able to make
some constructive criticism, which is welcomed, as he is the final user
of the system.
System Design:
UML DIAGRAMS
UML stands for Unified Modeling Language. UML is a standardized
general-purpose modeling language in the field of object-oriented
software engineering. The standard is managed, and was created by,
the Object Management Group.
The goal is for UML to become a common language for creating
models of object oriented computer software. In its current form UML
is comprised of two major components: a Meta-model and a notation.
In the future, some form of method or process may also be added to;
or associated with, UML.
The Unified Modeling Language is a standard language for
specifying, Visualization, Constructing and documenting the artifacts
of software system, as well as for business modeling and other non-
software systems.
The UML represents a collection of best engineering practices that
have proven successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented
software and the software development process. The UML uses
mostly graphical notations to express the design of software projects.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling
Language so that they can develop and exchange meaningful
models.
2. Provide extendibility and specialization mechanisms to extend
the core concepts.
3. Be independent of particular programming languages and
development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as
collaborations, frameworks, patterns and components.
7. Integrate best practices.
USECASE DIAGRAM:
A use case diagram in the Unified Modeling Language (UML) is a
type of behavioraldiagram defined by and created from a Use-case
analysis. Its purpose is to present a graphical overview of the
functionality provided by a system in terms of actors, their goals
(represented as use cases), and any dependencies between those use
cases. The main purpose of a use case diagram is to show what system
functions are performed for which actor. Roles of the actors in the
system can be depicted.
Preprocess Dataset
User
Exit
CLASS DIAGRAM:
In software engineering, a class diagram in the Unified Modeling
Language (UML) is a type of static structure diagram that describes
the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among the
classes. It explains which class contains information.
User.
Upload Strawberry Shelflife Dataset
Preprocess Dataset
Propose Shelf Life Estimation + ANOVA
Extension CNN SLEM
Model Error Comparision Graph
Exit
SEQUENCE DIAGRAM:
A sequence diagram in Unified Modeling Language (UML) is a kind
of interaction diagram that shows how processes operate with one
another and in what order. It is a construct of a Message Sequence
Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.
User System
Application
Preprocess Dataset
Exit
ACTIVITY DIAGRAM:
Activity diagrams are graphical representations of workflows of
stepwise activities and actions with support for choice, iteration and
concurrency. In the Unified Modeling Language, activity diagrams
can be used to describe the business and operational step-by-step
workflows of components in a system. An activity diagram shows the
overall flow of control.
Collaboration diagram:
What is Python :-
Below are some facts about Python.
Python is currently the most widely used multi-purpose, high-level
programming language.
Python allows programming in Object-Oriented and Procedural
paradigms. Python programs generally are smaller than other
programming languages like Java.
Programmers have to type relatively less and indentation requirement
of the language, makes them readable all the time.
Python language is being used by almost all tech-giant companies like
– Google, Amazon, Facebook, Instagram, Dropbox, Uber… etc.
The biggest strength of Python is huge collection of standard library
which can be used for the following –
Machine Learning
GUI Applications (like Kivy, Tkinter, PyQt etc. )
Web frameworks like Django (used by YouTube,
Instagram, Dropbox)
Image processing (like Opencv, Pillow)
Web scraping (like Scrapy, BeautifulSoup, Selenium)
Test frameworks
Multimedia
Advantages of Python :-
Let’s see how Python dominates over other languages.
1. Extensive Libraries
Python downloads with an extensive library and it contain code for
various purposes like regular expressions, documentation-generation,
unit-testing, web browsers, threading, databases, CGI, email, image
manipulation, and more. So, we don’t have to write the complete code
for that manually.
2. Extensible
As we have seen earlier, Python can be extended to other languages.
You can write some of your code in languages like C++ or C. This
comes in handy, especially in projects.
3. Embeddable
Complimentary to extensibility, Python is embeddable as well. You
can put your Python code in your source code of a different language,
like C++. This lets us add scripting capabilities to our code in the
other language.
4. Improved Productivity
The language’s simplicity and extensive libraries render
programmers more productive than languages like Java and C++ do.
Also, the fact that you need to write less and get more things done.
5. IOT Opportunities
Since Python forms the basis of new platforms like Raspberry Pi, it
finds the future bright for the Internet Of Things. This is a way to
connect the language with the real world.
6. Simple and Easy
When working with Java, you may have to create a class to
print ‘Hello World’. But in Python, just a print statement will do. It is
also quite easy to learn, understand, and code. This is why when
people pick up Python, they have a hard time adjusting to other more
verbose languages like Java.
7. Readable
Because it is not such a verbose language, reading Python is much
like reading English. This is the reason why it is so easy to learn,
understand, and code. It also does not need curly braces to define
blocks, and indentation is mandatory. This further aids the readability
of the code.
8. Object-Oriented
This language supports both the procedural and object-
oriented programming paradigms. While functions help us with code
reusability, classes and objects let us model the real world. A class
allows the encapsulation of data and functions into one.
9. Free and Open-Source
Like we said earlier, Python is freely available. But not only can
you download Python for free, but you can also download its source
code, make changes to it, and even distribute it. It downloads with an
extensive collection of libraries to help you with your tasks.
10. Portable
When you code your project in a language like C++, you may need to
make some changes to it if you want to run it on another platform. But
it isn’t the same with Python. Here, you need to code only once, and
you can run it anywhere. This is called Write Once Run Anywhere
(WORA). However, you need to be careful enough not to include any
system-dependent features.
11. Interpreted
Lastly, we will say that it is an interpreted language. Since statements
are executed one by one, debugging is easier than in compiled
languages.
Any doubts till now in the advantages of Python? Mention in the
comment section.
Advantages of Python Over Other Languages
1. Less Coding
Almost all of the tasks done in Python requires less coding when the
same task is done in other languages. Python also has an awesome
standard library support, so you don’t have to search for any third-
party libraries to get your job done. This is the reason that many
people suggest learning Python to beginners.
2. Affordable
Python is free therefore individuals, small companies or big
organizations can leverage the free available resources to build
applications. Python is popular and widely used so it gives you better
community support.
The 2019 Github annual survey showed us that Python has overtaken
Java in the most popular programming language category.
3. Python is for Everyone
Python code can run on any machine whether it is Linux, Mac or
Windows. Programmers need to learn different languages for different
jobs but with Python, you can professionally build web apps, perform
data analysis and machine learning, automate things,do web scraping
and also build games and powerful visualizations. It is an all-rounder
programming language.
Disadvantages of Python
So far, we’ve seen why Python is a great choice for your project. But
if you choose it, you should be aware of its consequences as well.
Let’s now see the downsides of choosing Python over another
language.
1. Speed Limitations
We have seen that Python code is executed line by line. But
since Python is interpreted, it often results in slow execution. This,
however, isn’t a problem unless speed is a focal point for the project.
In other words, unless high speed is a requirement, the benefits
offered by Python are enough to distract us from its speed limitations.
2. Weak in Mobile Computing and Browsers
While it serves as an excellent server-side language, Python is much
rarely seen on the client-side. Besides that, it is rarely ever used to
implement smartphone-based applications. One such application is
called Carbonnelle.
The reason it is not so famous despite the existence of Brython is that
it isn’t that secure.
3. Design Restrictions
As you know, Python is dynamically-typed. This means that you don’t
need to declare the type of variable while writing the code. It
uses duck-typing. But wait, what’s that? Well, it just means that if it
looks like a duck, it must be a duck. While this is easy on the
programmers during coding, it can raise run-time errors.
4. Underdeveloped Database Access Layers
Compared to more widely used technologies like JDBC (Java
DataBase Connectivity) and ODBC (Open DataBase Connectivity),
Python’s database access layers are a bit underdeveloped.
Consequently, it is less often applied in huge enterprises.
5. Simple
No, we’re not kidding. Python’s simplicity can indeed be a problem.
Take my example. I don’t do Java, I’m more of a Python person. To
me, its syntax is so simple that the verbosity of Java code seems
unnecessary.
This was all about the Advantages and Disadvantages of Python
Programming Language.
History of Python : -
What do the alphabet and the programming language Python have in
common? Right, both start with ABC. If we are talking about ABC in
the Python context, it's clear that the programming language ABC is
meant. ABC is a general-purpose programming language and
programming environment, which had been developed in the
Netherlands, Amsterdam, at the CWI (Centrum Wiskunde
&Informatica). The greatest achievement of ABC was to influence the
design of Python.Python was conceptualized in the late 1980s. Guido
van Rossum worked that time in a project at the CWI, called Amoeba,
a distributed operating system. In an interview with Bill Venners 1,
Guido van Rossum said: "In the early 1980s, I worked as an
implementer on a team building a language called ABC at Centrum
voor Wiskunde en Informatica (CWI). I don't know how well people
know ABC's influence on Python. I try to mention ABC's influence
because I'm indebted to everything I learned during that project and to
the people who worked on it."Later on in the same Interview, Guido
van Rossum continued: "I remembered all my experience and some of
my frustration with ABC. I decided to try to design a simple scripting
language that possessed some of ABC's better properties, but without
its problems. So I started typing. I created a simple virtual machine, a
simple parser, and a simple runtime. I made my own version of the
various ABC parts that I liked. I created a basic syntax, used
indentation for statement grouping instead of curly braces or begin-
end blocks, and developed a small number of powerful data types: a
hash table (or dictionary, as we call it), a list, strings, and numbers."
What is Machine Learning : -
Before we take a look at the details of various machine learning
methods, let's start by looking at what machine learning is, and what it
isn't. Machine learning is often categorized as a subfield of artificial
intelligence, but I find that categorization can often be misleading at
first brush. The study of machine learning certainly arose from
research in this context, but in the data science application of machine
learning methods, it's more helpful to think of machine learning as a
means of building models of data.
Fundamentally, machine learning involves building mathematical
models to help understand data. "Learning" enters the fray when we
give these models tunable parameters that can be adapted to observed
data; in this way the program can be considered to be "learning" from
the data. Once these models have been fit to previously seen data,
they can be used to predict and understand aspects of newly observed
data. I'll leave to the reader the more philosophical digression
regarding the extent to which this type of mathematical, model-based
"learning" is similar to the "learning" exhibited by the human
brain.Understanding the problem setting in machine learning is
essential to using these tools effectively, and so we will start with
some broad categorizations of the types of approaches we'll discuss
here.
Categories Of Machine Leaning :-
At the most fundamental level, machine learning can be categorized
into two main types: supervised learning and unsupervised learning.
Supervised learning involves somehow modeling the relationship
between measured features of data and some label associated with the
data; once this model is determined, it can be used to apply labels to
new, unknown data. This is further subdivided into classification tasks
and regression tasks: in classification, the labels are discrete
categories, while in regression, the labels are continuous quantities.
We will see examples of both types of supervised learning in the
following section.
Unsupervised learning involves modeling the features of a dataset
without reference to any label, and is often described as "letting the
dataset speak for itself." These models include tasks such
as clustering and dimensionality reduction. Clustering algorithms
identify distinct groups of data, while dimensionality reduction
algorithms search for more succinct representations of the data. We
will see examples of both types of unsupervised learning in the
following section.
Need for Machine Learning
Human beings, at this moment, are the most intelligent and advanced
species on earth because they can think, evaluate and solve complex
problems. On the other side, AI is still in its initial stage and haven’t
surpassed human intelligence in many aspects. Then the question is
that what is the need to make machine learn? The most suitable reason
for doing this is, “to make decisions, based on data, with efficiency
and scale”.
Lately, organizations are investing heavily in newer technologies like
Artificial Intelligence, Machine Learning and Deep Learning to get
the key information from data to perform several real-world tasks and
solve problems. We can call it data-driven decisions taken by
machines, particularly to automate the process. These data-driven
decisions can be used, instead of using programing logic, in the
problems that cannot be programmed inherently. The fact is that we
can’t do without human intelligence, but other aspect is that we all
need to solve real-world problems with efficiency at a huge scale.
That is why the need for machine learning arises.
In above screen propose model got 30% error rate and in next lines
can see Observed or original ‘shelf life’ and then can see predicted
shelf life and can see close difference between original and predicted
shelf life. In graph x-axis represents number of test data and y-axis
represents shelf life where red line is for Original shelf life and green
line is for predicted shelf life. In above graph can see both lines are
overlapping with some gap so we can say prediction is little accurate.
Now click on ‘Extension CNN SLEM’ button to train extension CNN
algorithm and get below output
In above screen extension CNN model got 0.26% error which is lesser
than propose algorithm and can see original and predicted shelf life
and in graph also can see green and red line overlapping closely. Now
click on ‘Model Error Comparison Graph’ button to get below
comparison
In above screen can see comparison between propose and extension
algorithm where x-axis represents algorithm names and y-axis
represents model error and in both algorithms extension got less error
compare to propose ANOVA SLEM algorithm. Similarly you can
upload and test other algorithms.
In below black console we can see ANOVA tables details
In above screen we can see ANOVA model summary which contains
R2 square error and other metrics.
CONCLUSION:
In conclusion, the implementation of a remaining shelf-life estimation
system for fresh fruits and vegetables during transportation offers
substantial benefits across the supply chain. By providing real-time
monitoring and predictive insights into the freshness of produce, this
system enhances quality control, minimizes waste, and improves
overall supply chain efficiency. Accurate shelf-life predictions
facilitate better inventory management, reduce costs associated with
spoilage and overstocking, and ensure that customers receive high-
quality products. Additionally, the system supports data-driven
decision-making and regulatory compliance, contributing to more
sustainable practices and reduced environmental impact. Ultimately,
the adoption of such a system represents a significant advancement in
managing the freshness of perishable goods, leading to increased
customer satisfaction and more efficient resource utilization
throughout the supply chain.
FUTURE SCOPE OF THE PROJECT:
The future scope of the project on remaining shelf-life estimation of
fresh fruits and vegetables during transportation is expansive and
promising. As technology continues to advance, there is significant
potential to enhance the accuracy and effectiveness of shelf-life
prediction systems. Future developments could include the integration
of advanced sensors and IoT devices to monitor environmental
conditions in real-time with greater precision. Machine learning and
artificial intelligence could be leveraged to improve predictive
models, incorporating a broader range of factors such as
transportation conditions, handling practices, and historical data.
Additionally, the integration of blockchain technology could enhance
transparency and traceability in the supply chain, providing detailed
records of the produce's journey from farm to table. Expanding the
system's capabilities to include a wider variety of produce and
adapting it to different transportation environments could further
enhance its applicability and utility. Moreover, future research could
explore the potential for real-time adjustments to transportation and
storage practices based on predictive insights, leading to even greater
reductions in waste and improvements in quality. The ultimate goal is
to create a robust, adaptive system that not only optimizes shelf-life
management but also supports sustainability and efficiency across the
entire supply chain.
REFERENCES:
1. Gómez, A., & Rojas, J. (2021). "Shelf-Life Prediction and
Quality Monitoring of Fresh Fruits and Vegetables." Journal of
Food Engineering, 289, 110134. Link
2. Dunn, J. R., & Gallant, A. (2017). "A Review of Shelf-Life
Prediction Models for Fruits and Vegetables." Food Control, 73,
1177-1188. Link
3. Liao, G., Liu, Y., & Chen, X. (2019). "Predicting Shelf Life of
Fresh Produce Using Data Analytics and Machine Learning."
Computers and Electronics in Agriculture, 156, 519-527. Link
4. Boudhrioua, N., & Bouhamed, H. (2018). "Real-Time
Monitoring of Fresh Produce Quality: A Review." Sensors,
18(9), 2873. Link
5. Gogou, E., & Tzioutziou, R. (2020). "Smart Packaging Systems
for Fresh Produce: Shelf-Life Monitoring and Quality Control."
Trends in Food Science & Technology, 99, 172-186. Link
6. Koyama, R., & Hirano, S. (2020). "Advanced Technologies for
Shelf-Life Estimation of Fresh Fruits and Vegetables." Food
Bioprocess Technology, 13(4), 649-663. Link
7. Saeed, M., & Chowdhury, R. (2021). "Shelf-Life Prediction
Models Based on Real-Time Data of Temperature and
Humidity." Journal of Food Science, 86(5), 2360-2370. Link
8. Jia, C., & Zhang, L. (2019). "Development of an Intelligent
System for Monitoring Fresh Produce Quality During
Transportation." Food Control, 105, 129-137. Link
9. Tian, S., & Xu, Y. (2018). "Assessment of Fresh Fruit and
Vegetable Quality Using Non-Destructive Testing Techniques: A
Review." Journal of Food Engineering, 231, 19-29. Link