=Paper=
{{Paper
|id=Vol-3171/paper97
|storemode=property
|title=Recommendation System for Monitoring the Energy Value of Consumer Food Products Based on Machine Learning
|pdfUrl=https://ceur-ws.org/Vol-3171/paper97.pdf
|volume=Vol-3171
|authors=Nazar Oleksiv,Oleh Veres,Andrii Vasyliuk,Ihor Rishnyak,Lyubomyr Chyrun
|dblpUrl=https://dblp.org/rec/conf/colins/OleksivVVRC22
}}
==Recommendation System for Monitoring the Energy Value of Consumer Food Products Based on Machine Learning==
Recommendation System for Monitoring the Energy Value of
Consumer Food Products Based on Machine Learning
Nazar Oleksiv 1, Oleh Veres 1, Andrii Vasyliuk 1, Ihor Rishnyak 1 and Lyubomyr Chyrun 2
1
Lviv Polytechnic National University, S. Bandera Street, 12, Lviv, 79013, Ukraine
2
Ivan Franko National University of Lviv, University Street, 1, Lviv, 79000, Ukraine
Abstract
Healthy eating is the cause of longevity. Rational consumption of products will help achieve
high efficiency and activity throughout life. To improve the quality of your life, you do not
need to read dozens of books and delve into medicine. Just use intelligent systems. Today,
there are many different approaches to solving the problem of diet control in a fleeting world.
The need for research on healthy eating in modern conditions is crucial to improving the
physical condition of different age groups. After all, non-compliance with the basic rules
reduces life expectancy and provokes the emergence of non-communicable diseases of various
types: cancer, cardiovascular disease, and diabetes. The main goal is to create a system whose
main task will help the end-user follow a healthy diet. The primary skills of the system include
the ability to recognise dishes, read barcodes, decompose a dish into a set of ingredients,
calculate calories, and calculate the energy value consumed per day.
Keywords 1
Calories counter, diet, nutrition, image analysis, food recognition, machine learning, food
dataset, IDEF, ontology
1. Introduction
Proper nutrition is one of the conditions for longevity and healthy living. After all, most health
problems are related to what we eat. By following simple rules of healthy eating, we will feel much
better. However, it is pretty challenging to track your diet daily because the day of an ordinary person
is usually quite busy, and there is no place to calculate the caloric content of foods and monitor your
diet. Moreover, you need to stabilise your diet and determine your diet to get the most out of constant
physical activity. Therefore, creating a system that automates these processes is necessary for today’s
reality. The main goal is to create a system whose main task will help the end-user follow a healthy
diet. The primary skills of the system must be the ability to recognise dishes, read barcodes, decompose
a dish into a set of ingredients, calculate calories, and calculate the energy value consumed per day.
2. Related works
A team of researchers from the University of Massachusetts has developed a neural network that
can make a list of ingredients and form a recipe for food [1]. The input data for the system’s operation
are images of a predetermined format [2-7]. The authors have created an open database of about a
million different subject images to teach the system. The database was formed by collecting information
from open sources [8-9]. The basis for this approach is culinary sites and access to food service
databases. The article [1] follows that the neural network works on the principle of joint embedding: it
COLINS-2022: 6th International Conference on Computational Linguistics and Intelligent Systems, May 12–13, 2022, Gliwice, Poland
EMAIL: nazar.oleksiv.mnsa.2020@lpnu.ua (N. Oleksiv); Oleh.M.Veres@lpnu.ua (O. Veres); Andrii.S.Vasyliuk@lpnu.ua (A. Vasyliuk);
Ihor.V.Rishnyak@lpnu.ua (I. Rishnyak); Lyubomyr.Chyrun@lnu.edu.ua (L. Chyrun)
ORCID: 0000-0001-7821-3522 (N. Oleksiv); 0000-0001-9149-4752 (O. Veres); 0000-0002-3666-7232 (A. Vasyliuk); 0000-0001-5727-3438
(I. Rishnyak); 0000-0002-9448-1751 (L. Chyrun)
©️ 2022 Copyright for this paper by its authors.
Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR Workshop Proceedings (CEUR-WS.org)
divides images into vectors with products or ingredients [10-14]. The neural network compares the
formatted input image with the most similar picture of the recipe [15-17], which is compared with the
input element under the influence of linear transformation [18-25].
The researchers used the neural network in actual conditions and compared the available results of
the system with those that people themselves gave in a random survey. Under these conditions, the
accuracy of the neural network is 83.6%, while the survey showed that the accuracy of recognition of
products included in the dish is 81.6% [1]. Photographs with food are widely used in food magazines
and social networks to share gastronomic experiences [26-30]. Many of these images were taken in
restaurants. Recognition of dishes, in general, is challenging [31-36] due to different national dishes,
varieties, cooking styles, and the inherent complexity of modelling food from its visual appearance [37-
38]. First, you need to adapt the photo frame based on the rejection of unlikely categories [39-41]
located far from the test image. Then, reformulate the problem using a probabilistic model that
combines dishes, restaurants, and places [42-55]. This model is used in three different tasks: food
recognition, restaurant recognition, and space improvement [56-60].
3. Methods and Materials
To build a goal tree, we connect all the system’s goals. After that, we will select the main goal,
which will serve at the top of the tree and the subordinate objectives of the first and second levels. The
primary purpose of the developed system is to create an information system of dynamic and adaptive
control of the human diet based on machine learning. To achieve this goal, you need to analyse the
subject area, design the system and work on the implementation. The goal tree shown in Figure 1 allows
you to create a compelling and complete hierarchical structure by decomposing the primary goal.
Creating an information system of dynamic and
adaptive control of human diet based on machine
learning
Subject area analysis System design System implementation
Construction of context diagrams
Choice of development tools and
Implementation of the designed
Analysis of image recognition
Research of alternatives in the
Building a hierarchy of tasks
Forming an initial sample of
System architecture design
images and barcodes
System testing
environments
methods
system
market
Recognition
Novelty Flexibility Productivity Speed Convenience
quality
Figure 1: Goal tree
The subject area analysis allows you to analyse the current market situation, explore methods that
will enable you to solve specific problems, etc. At the design stage, the necessary functions of the
system are prioritised, and structural approaches are formed. At the maintenance, the scene is
implementing the already researched and designed solution in an existing information system. It is
known that according to the level of automation, information systems are divided into information
retrieval, information reference, information management and intelligent information systems and
decision support systems. To select the appropriate type of information system, we use the hierarchy
analysis method. As alternatives, we choose four types of information systems: information retrieval
(A1), information retrieval (A2), decision support system (A3) and intelligent information retrieval
system (A4). The type definition of the information system will be evaluated to 6 characteristics of the
novelty of the developed product (K1), recognition quality (K2), the flexibility of implementation (K3),
productivity (K4), and speed (K5) and ease of use (K6). We use the relative importance scale of
priorities to calculate the expert assessment presented in table 1.
Table 1
The scale of the relative importance of priorities
Values High-quality characteristics
1 Equivalent elements
2 Insignificant priority
3 Weak priority
4 Moderate priority
5 Significant priority
6 Essential priority
7 Strong priority
8 Very strong priority
9 Unconditional priority
We depict the relative importance of one criterion compared to others in the matrix of comparisons
of characteristics in Figure 2.
C1 C2 C3 C4 C5 C6 PN EV
C1 1,00 1,50 1,17 1,20 1,33 1,25 1,33 0,10
C2 3,00 1,00 1,20 1,25 1,50 1,33 1,50 0,11
C3 7,00 6,00 1,00 3,00 5,00 4,00 3,99 0,29
C4 6,00 5,00 1,50 1,00 4,00 3,00 2,98 0,22
C5 4,00 3,00 1,25 1,33 1,00 1,50 1,79 0,13
C6 5,00 4,03 1,33 1,50 3,00 1,00 2,26 0,16
Figure 2: Matrix of comparisons of characteristics
We calculate the correct number using formula 1:
𝑛
PN = √∏𝑛𝑗=1 𝑎𝑖𝑗 ,
(1)
Calculate eigenvectors using formula 2:
𝑤
EV = ∑𝑛 𝑖 , (2)
𝑖=1 𝑤𝑖
where wi is properly number, ∑𝑛𝑖=1 𝑤𝑖 – the sum of correct values for a specific criterion.
We compile matrices of pairwise comparisons of the created alternatives A1, A2, A3, A4 for each
of the criteria and the corresponding goal in Figure 3 – Figure 6:
A1 A2 A3 A4 PN EV A1 A2 A3 A4 PN EV
A1 1,00 1,50 3,00 5,00 2,41 0,27 A1 1,00 1,50 1,25 3,00 1,71 0,19
A2 3,00 1,00 5,00 6,00 3,51 0,39 A2 3,00 1,00 1,50 5,00 2,41 0,27
A3 1,50 1,25 1,00 3,00 1,71 0,19 A3 5,00 3,00 1,00 6,00 3,51 0,39
a) A4 1,25 1,20 1,50 1,00 1,40 b) 0,16 A4 1,50 1,25 1,20 1,00 1,40 0,16
Figure 3: Matrix of pairwise comparisons for criteria a) "novelty" and b) "quality"
A1 A2 A3 A4 PN EV A1 A2 A3 A4 PN EV
A1 1,00 1,50 1,25 3,00 1,71 0,19 A1 1,00 1,50 3,00 5,00 1,71 0,19
A2 3,00 1,00 1,50 5,00 2,41 0,27 A2 3,00 1,00 5,00 6,00 2,41 0,27
A3 5,00 3,00 1,00 6,00 3,51 0,39 A3 1,50 1,25 1,00 3,00 3,51 0,39
a) A4 1,50 1,25 1,20 1,00 1,40 b) 0,16 A4 1,25 1,20 1,50 1,00 1,40 0,16
Figure 4: Matrix of pairwise comparisons for criteria a) “flexibility” and b) “productivity”
A1 A2 A3 A4 PN EV A1 A2 A3 A4 PN EV
A1 1,00 3,00 1,20 5,00 2,12 0,23 A1 1,00 3,00 5,00 6,00 3,51 0,39
A2 1,50 1,00 1,25 2,00 1,71 0,18 A2 1,50 1,00 3,00 5,00 2,41 0,27
A3 6,00 5,00 1,00 6,00 4,16 0,44 A3 1,25 1,50 1,00 3,00 1,71 0,19
а) A4 1,25 1,50 1,20 1,00 1,40 b) 0,15 A4 1,20 1,25 1,50 1,00 1,40 0,16
Figure 5: Matrix of pairwise comparisons for criteria a) "speed" and b) "convenience"
C1 C2 C3 C4 C5 C6
Generalization
A1 A2 A3 A4 PN EV 0,1 0,11 0,29 0,22 0,13 0,16
A1 1,00 1,50 1,25 1,20 1,40 0,16 A1 0,27 0,19 0,19 0,19 0,23 0,39 0,24
A2 3,00 1,00 1,50 5,00 2,41 0,27 A2 0,39 0,27 0,27 0,27 0,18 0,27 0,28
A3 5,00 3,00 1,00 6,00 3,51 0,39 A3 0,19 0,39 0,39 0,39 0,44 0,19 0,33
a) A4 6,00 1,25 1,20 1,00 b)
1,71 0,19 A4 0,16 0,16 0,16 0,16 0,15 0,16 0,16
Figure 6: Matrix a) pairwise comparisons of the main goal and b) comparison of alternatives
We create a matrix of alternatives comparisons and identify the information system type. The matrix
of comparison of other options is shown in Figure 6b. Thus, the hierarchy analysis method is the chosen
information system to support decision-making.
4. Experiment
To develop and maintain an ontology describing the recommended system for monitoring the energy
value of consumer food products based on machine learning technology, we use the standard that is part
of the IDEF family in software development - IDEF5. IDEF5 method is an ontology by collecting
statements about natural objects, their properties, and relationships and presenting this content
intuitively and naturally reflecting the human perception of a particular area.
There are unique ontological languages to carry out the process of building IDEF5 ontologies:
1. Schematic language is a graphic language that is specifically designed to present primary data
in the form of ontological information. This language allows you to naturally offer basic information
about the initial development of the ontology and supplement existing ontologies with new data [61-
67]. This language will enable you to build various charts and diagrams in IDEF5. The purpose of
graphs is to use visualisation to present basic ontological information.
2. Revisions and clarifications are a structured text language that allows you to describe the
ontology elements in detail.
So, let us construct a classification chart using schematic language. Figure 7 shows a diagram of the
classification of nutrients. As you can see, organic nutrients are made up of proteins, fats and
carbohydrates. We believe that this classification within the system is necessary because a living
organism cannot live and die without them.
Nutrient Meal
Carbohydr
Proteins Fats Breakfast Lunch Supper
ates
а) b)
Figure 7: Diagram of classification of a) nutrient and b) meal
Figure 7b shows a diagram of the type of food intake. Each meal takes place in a different time
range, so we use such categories as breakfast – early meal, lunch – midday meal, supper – a meal in the
final phase of the day.
Any dish can be classified in the classification system because it is necessary to determine to which
category the object that the user photographed with the lens of his smartphone belongs. Therefore, we
distinguish the following dishes: main, sweet, salad, snack and drink. This classification is given in
Figure 8a. Input resource – an object of the outside world with which the system works. We highlight
the image with which the system can work with the dish, break it down into ingredients, and count each
element’s calories that have undergone decomposition. The input also includes a barcode that allows
the system to have information about the food composition without working with the product directly.
Figure 8b presents a diagram of the classification of input resources.
Dish
Input
resource
Main Sweet Salad Snack Drink Image Bar code
а) b)
Figure 8: Classification chart of a) dishes and b) input resources
In the next step, we build a compositional scheme, which is shown in Figure 9:
Ingredient
Dish Nutrient
Organic
substances
Inorganic
substances
Carbohydrate
Proteins Fats
s
Figure 9: Compositional scheme
Next, we will show you some state transition diagrams to show the transition from one object to
another. Figure 10 shows the transition from one state to another:
Perform Time interval pasts
decomposition
Energy Breakfast Lunch
Ingredient
value
а) b)
Figure 10: State diagram with a) “Perform decomposition” and b) “Time interval pasts” process
Process concept. After successful authorisation and authentication, the user sees the main page,
which displays information for the current day: how many calories are consumed and how many you
still need to get to comply with the norm, what foods are consumed, etc. To recognise a dish, the user
must hover over the dish, take a photo and send it to the server where the recognition process occurs,
using the available dataset. In case of failed recognition, similar options will be displayed. If they do
not match, then to improve the system, the user can enter the necessary data and simplify the use of the
application in subsequent attempts to recognise. The dish is broken down into ingredients, and the
approximate total caloric content is calculated. The result is displayed on the user’s home page. The
user can also monitor daily progress, which is shown in graphs based on daily statistics collected. The
first time you run the IP, the user enters the necessary information to simulate his regular daily routine,
which will be the basis for sending specific messages in case of deviation and reminding about the
missed stage (for example, reminding the user that he missed breakfast). The stability and accuracy of
the IP are proportional to the frequency of its use. If you use the system daily, its recommendations and
tips will be more relevant. The combined scheme is given in Figure 11:
Read
information
Dish Determine the energy
value
O Ingredient
Make
O Nutrition
Product recommendations
Bar code
& Tips
History analysis
History
Data
&
gathering
Recomme
ndation
Figure 11: Combined scheme
The implementation of IDEF0 diagrams was chosen to detail the structure of the information system.
The conceptual model of the process “Product recognition and diet control” is shown in Figure 12.
The input parameters for the full functioning of the system are data on the caloric content of products,
data on dishes, a dataset with images, user features (set in the settings) and an authorised profile for
access to the API with barcodes. One of the key parameters influencing the formation of advice and a
consumption plan is dietary norms. The initial result of the whole system can be the final calculation of
calories and the establishment of recommended theses on nutrition and diet.
Dietary rules
Data on caloric content of
products Calculation of caloric content of the
Data on dishes product
Dataset Consumption recommendations
User features Recommended system for monitoring the energy value of
API with barcodes food products
Figure 12: Conceptual model of the “Product recognition and diet control” process
The following steps are to build hierarchies of lower-level processes. Figure 13 shows the
decomposition diagram of the first level of the “Product recognition and diet control” process.
Dietary rules
Dataset
Recognized elements
Data on dishes Product recognition
Calculation of caloric content of the
product
Data on caloric content of products Determining the History of nutrition
energy value of
API with barcodes products
Maintaining statistics
Consumption
Formation of dietary recommendation
advice
Figure 13: Decomposition of the first level of the “Product recognition and diet control” process
Figure 14 shows the decomposition diagram of the second level of the process “Product
Recognition”:
Recognized elements
Get barcode data
Bar code
Recognize the object
Picture of a
dish
Датасет
Break the dish into Difficult to recognize elements
Data on dishes ingredients
Engage the user in
recognition
Figure 14: Decomposition of the second level of the “Product Recognition” process
Figure 15 shows the decomposition diagram of the second level of the “Determination of energy
value of products” process:
Recognized elements
Data on caloric content of
products
Match foods - calories
Calculation of
caloric content of
API with barcodes Get calories from the products
barcode
Figure 15: Decomposition of the 2nd level of the “Determination of energy value of products” process
Figure 16 shows the decomposition diagram of the second level of the “Maintaining Statistics”
process:
List of most used Dietary rules
Create a popularity products and dishes
rating
Dietary improvement data
Generate dietary
advice
User features Consumption recommendation
Formation of dietary
advice
Figure 16: Decomposition of the second level of the “Formation of dietary advice” process
Figure 17 shows the decomposition diagram of the third level of the process “Recognise the object”:
Recognize barcodes in Barcode values
real time
Bar code
Send object to server Picture of a dish
Take a photo of the
dish
Image
Figure 17: Decomposition of the third level of the “Recognise the object” process
Figure 18 shows the decomposition diagram of the third level of the “Break the dish into ingredients”
process:
Picture of a dish
It is difficult to recognize the elements
Dataset
Carry out clustering
The result of clustering
Data on dishes Investigate the Recognition relationship
probabilities of
coincidences
Recognized elements
Process data
Figure 18: Decomposition of the third level of the “Break the dish into ingredients” process
Figure 19 shows the decomposition diagram of the third level of the process “Get data on the
barcode”:
Bar code
The result of the query
Send a request to the
open API
Recognized elements
Process the result
Figure 19: Decomposition of the third level of the “Get barcode data” process
Figure 20 shows the decomposition diagram of the third level of the “Involve the user in recognition”
process:
It is difficult to
recognize the elements
Ask the user to enter Updated data
the required data
Recognized elements
Save the entered data Recognition relationship
Update dataset
Figure 20: Decomposition of the third level of the “Involve the user in recognition” process
Figure 21 shows the decomposition diagram of the third level of the process “Match foods -
calories”:
Recognized elements
Data on caloric
content of Total calories
products
Generate total calories Calculation of caloric content of
Unknown products
the product
Bring the data to a
normalized form
Caloric content of new
Get the caloric content products
of foods that are not in
the database
Figure 21: Decomposition of the third level of the “Match foods - calories” process
Figure 22 shows the decomposition diagram of the third process level “Get calories from the
barcode”. Figure 23 shows the decomposition diagram of the third level of the “Update History”
process. Figure 24 shows the decomposition diagram of the third level of the process “Update neural
network dataset”.
Recognized elements
API with barcodes Response from the server
Send data to the server
Calculate the result Unstructured data
Calculation of caloric content of the
Bring the data to the product
standard view
Figure 22: Decomposition of the third level of the “Get calories from the barcode” process
Calculation of caloric content of the
product
Supplement the data Completely filled data
with additional
information
View diet Updated diet and intake
History of nutrition
Update information
Figure 23: Decomposition of the third level of the “Update History” process
Calculation of caloric content of the
product
Transfer dto
Input object model
transformation
Formed dataset
Create a new dataset
Conduct neural Learning outcome
network training
Log in for changes
Figure 24: Decomposition of the third level of the “Update neural network dataset” process
Figure 25 shows the decomposition diagram of the third level of the “Create a popularity rating”
process:
History of nutrition
Grouped history
Form categories
Normalized data
Categorize consumed
products
List of most used products and dishes
Print the result
Figure 25: Decomposition of the third level of the “Create a popularity rating” process
Figure 26 presents a diagram of the decomposition of the third level of the “Generate advice on
change” process.
List of most used
The norm of the diet
products and dishes
Analyzed history
History analysis
Processed data
Bringing history to
standard forms
Dietary improvement data
Formation of the result
Figure 26: Decomposition of the third level of the “Generate advice on change” process
Figure 27 shows the decomposition diagram of the third level of the “Filtration according to
preferences” process:
Dietary improvement data
User features
Bringing history to Modified diet
standard forms
Consumption recommendation
Determining the best
for the current period
Figure 27: Decomposition of the third level of the “Filtration according to preferences” process
Based on IDEF0, we will build a hierarchy of processes that affect the system’s performance. In the
All Fusion Process Modeller environment, we will generate a prototype of the already created order.
The result is shown in Figure 28:
Recommended system for monitoring the energy value of food products
Determining the
Formation of dietary
Product recognition energy value of Maintaining statistics
advice
products
1. Update history 1. Create a popularity
1. Recognize the object 1. Put in line with foods - rating
2. Break the dish into calories 2. Update the neural
network dataset 2. Generate advice on
ingredients 2. Get calories from the change
3. Get barcode data barcode 3. Filtration according to
4. Engage the user in preferences
recognition
Figure 28: Hierarchy of processes (functions, tasks)
To understand how external forces affect our system, we will conduct a PEST analysis: The results
are presented in the form of a matrix and are shown in table 2. We describe the information system as
an ordered sequence of events with the simultaneous placement of objects directly related to the
modelling process. The decomposition diagram is given in Figure 29.
Table 2
PEST – analysis
(P) Political (Е) Economic
Tax policy Exchange rate
Course on digitalisation of processes Unemployment rate
Settlement of hostilities Income level of the population
(S) Social (Т) Technical
The duration of the cult of a healthy lifestyle Development of innovations and technologies
Development of diet control habits Introducing a new generation of mobile communications
Population growth rates
“Standards” of beauty are accepted by society
Get the caloric content of
Sent photo Write information
the product
& to the database
Researched
photo Х Fill in unrecognized Update unrecognized
products items
Barcode sent
Display notifications
Update diary
about calories consumed
during the day
Investigate the diet for
rationality Return to the main
Х O page
Remind about missed
meals
Figure 29: Decomposition diagram of the system in IDEF notation
Thus, the topic’s relevance is confirmed by the massive demand for similar systems of similar scale
in the market of mobile applications [67-78]. The number approves of downloads on different
platforms. The subject area was carefully researched, and ontologies were created following the
standard of ontological research IDEF5 (Ontology Description Capture). The system’s primary goal is
established, and its decomposition is carried out at different hierarchical levels. The method based on
the IDEF0 hierarchy is specified. Within this structural methodology, there is a context diagram and its
decomposition into three groups of scale. Based on the order, the structural content of the existing
processes of the system is shown. The PEST analysis identified aspects of the external environment that
affect the developed system. In Fig. 30 shows a block diagram of the methodology used in this study.
First, the process of recognizing food images is based on a model for which the Food-500 dataset was
used, which has 500 categories of dishes and 399,726 images. The image of the dish is processed by
the method for determining the dish. To recognize a dish, it is necessary to decompose the image, which
includes the detection of descriptors of recognized foods. Once the food names and descriptors are
identified, the recognized products are ready for the next steps of the system algorithm. Thus, the end
result is a product image, standardized with unique descriptors, which will count calories and output
the energy content of the dish to the end user. To teach the deep learning model to recognize food, we
first needed to pre-process the image manually. The main purpose of the pre-processing stage is to
create an image of the product with the appropriate caption. The result of this step will be needed for
the controlled learning of the deep learning model. Usually the simplest approach to creating such
images is to label each image with one food class (food name) and teach the deep learning model so
that it returns the product name as a result of providing the image to the ingredient as an input parameter.
Because products often overlap on plates, and drinks can interfere with other items, we label each
product at the pixel level. This means that the result of this step is a new image with the same width
and height as the input image, with only one channel and not the three channels used in RGB images.
This label image contains the class prediction for each individual pixel. Because creating such images
without significant errors is a troublesome, non-trivial task, it is one of the main obstacles when trying
to develop a solution for pixel classification.
Machine learning
Food classes
model
Product ID Descriptive part Classification part
Product category Product category
Further
processing
Category of dish
Figure 30: Block diagram of segmentation and image recognition
We trained the model to recognize food using deep convolutional neural networks that work similar
to human vision. In particular, we used fully convolutional networks (FCN) for adaptive learning based
on research [79-93] and represent the current level of semantic segmentation. This process segments
the input image into individual parts and then classifies each part into an output class; the network does
this by performing a pixel-level classification. Therefore, the FCN outputs a pixel map instead of a class
text label, and this pixel map contains model predictions for each individual pixel of the input image,
not just one prediction for the entire image. This is important because it is the most accurate way to
describe all the foods presented in one image. It took about 35 hours to learn the deep learning model.
However, the classification of a single image takes much less time and computing power, making it
possible to use deep learning models even in mobile applications. Once the training was completed the
model was run once on a subset of the test. The essence of the developed model is to identify and
recognize specific characteristics in images to apply them to a specific area. Visually, the process of
recognizing the products of the system can be seen in Fig. 31. The figure clearly shows how the model
distinguishes the object under study in the image from extraneous noise.
Figure 31: Classification of ingredients (original image - isolated ingredients - intended ingredients)
In order to measure the effectiveness of the learned model of deep learning, we used formulas that
often serve as a guide to quality for fully convoluted semantic segmentation networks. Measurements
are based on standard pixel accuracy and cross-sectional (IU) measurements, including the following:
∑𝑖 𝑛𝑖𝑖
𝑅𝑒𝑐𝑜𝑔𝑛𝑖𝑡𝑖𝑜𝑛 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = (1)
∑𝑖 𝑡𝑖
1 𝑛𝑖𝑖
𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = ∑ (2)
𝑛𝑐𝑙 𝑡𝑖
𝑖
1 𝑛𝑖𝑖
𝐼𝑛𝑡𝑒𝑟𝑠𝑒𝑐𝑡𝑖𝑜𝑛 𝑡ℎ𝑟𝑜𝑢𝑔ℎ 𝑡ℎ𝑒 𝑢𝑛𝑖𝑜𝑛 = ∑ (3)
𝑛𝑐𝑙 (𝑡𝑖 + ∑𝑗 𝑛𝑗𝑖 − 𝑛𝑖𝑖 )
𝑖
𝑡𝑖 𝑛𝑖𝑖
𝑊𝑒𝑖𝑔ℎ𝑡𝑒𝑑 𝑟𝑒𝑐𝑜𝑔𝑛𝑖𝑡𝑖𝑜𝑛 𝑓𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 = (∑ 𝑡𝑘 )−1 ∑ (4)
(𝑡𝑖 + ∑𝑗 𝑛𝑗𝑖 − 𝑛𝑖𝑖 )
𝑘 𝑖
where ncl is the number of different classes of the trained model, nlj is the number of pixels of the class
i for which the possibility of belonging to the class is provided j, ti is the total number of pixels of the
class і [79-93].
The learning results of the model are shown in Table 3:
Table 3
The learning results
Recognition Average Intersection through Weighted recognition
Name
accuracy,% accuracy,% union,% frequency,%
Training 93 81 72 89
Validation 90 65 55 84
Testing 92 70 61 87
As expected, the model's performance is better on the training subset than on the other two subsets.
However, the difference is not significant, which means that the model has mastered features that are
well generalized. It is important to note that this performance was measured for all classes - this includes
different times of the day (day and night) and different backgrounds on which the image of the dish is
found. Because the subset of testing contains images new to the deep learning model, we consider the
results of this subset to be the most representative of actual performance. From these results, we chose
pixel accuracy as the final quality measure, as this measure is similar to the accuracy of classification
in traditional convolutional neural networks, which classify the whole image into one class. The
difference is that instead of calculating the accuracy at the image level, it is calculated at the pixel level.
As can be seen from Table 3, the accuracy of the model of deep learning is at a high level, which
indicates a willingness to implement this model in real conditions.
The software product is designed based on three levels of architecture, which consist of the following
levels - presentation, business logic and database access. Figure 32 shows a visualisation of the system
architecture, the relationships between the layers and the related technologies for implementation.
View Level
Business logic level
Data access level
Database
Figure 32: System architecture
It is worth noting that the sequence of layers is appropriate and constant. The level of representation
“knows” only about the existence of business logic. In turn, business logic interacts with the level of
expression and access to the database. The database access level brings the results to specific objects
and sends the result to a higher level using the scripting language and the specified connection. The
advantages of this architectural solution are:
• Code maintenance and support is each level is independent, so changes in one class do not lead
to changes in another;
• Flexibility is each level can be managed and scaled separately;
• Reuse is independence allows you to use levels within different systems;
• Faster development process is various specialists can deal with specific areas: front-end
specialists is representation group. Back-end engineers - the introduction of business logic; database
administrators is develop a database model.
The work of architecture is the following way. The user performs a set of operations that lead to a
request to the server. Within the presentation level, projects are exchanged via the REST interface. A
request comes from the mobile device and goes to the appropriate controller. The proper method of the
controller calls the object from the level of business logic and instructs it to perform tasks. The business
logic layer calls an object from the database access level to connect to the database to retrieve data. The
last group forms the language of the scripts that are executed for a given database. After processing the
data at each level (top-down), the response is returned to the controller. The result of the processing is
sent using the HTTP protocol with the corresponding status code on the development of the operation.
The information is provided to the user to process the body of the response that the device received
from the server part. Let’s start with a description of the database directly related to the lowest level
and is the central place to store data within the system. The database satisfies the 3NF requirements and
consists of the following tables: Users, Roles, Genders, Meals, MealTimes, Ingredients and Measures.
The scheme is shown in Figure 33:
Figure 33: Database schema
The following relationships have been established between entities:
• between Roles and Users - 1: N, as many users can register with a shared role;
• between Genders and Users - 1: N, as one gender can belong to many users;
• between Users and Meals - 1: N, because one user can create many unique dishes that differ in
image, UPC, consumption time, etc.;
• between MealTimes and Meals - 1: N, because, for example, many dishes can be
breakfast/lunch/dinner;
• between Ingredients and Meals - N: N (with intermediate table MealIngredients), because one
ingredient can be in several dishes and vice versa - one dish can consist of many components;
• between Ingredients and Measures - 1: N, which is true: one ingredient can be measured in
grams, tablespoons, etc.
Database-level validation was created during development, which will not allow you to create a
tuple if the required field is empty or the length of the area exceeds the allowable limits. Figure 34
shows an example of conditions that ensure efficient use of the system. Validation measures of this type
help to reduce the size of the database and get rid of empty entries shown in the table at a distance.
Figure 34: An example of “User” table validation
The database is directly related to the level of access to the data. This level has a connection that
allows you to connect to a database server that will run scripts in the future.
Because this system is highly dependent on the database, Dapper was chosen as the main ORM. The
implementation of this package will allow you to directly write scripts in the code that the database
server will process. The business logic level performs the basic operations within the system: saving
files, bringing objects to a specific look, sending requests to open APIs, etc. There are two types of
interlayer objects within a system: transport objects and model representations. Transport objects are
identified with a specific database model, and model representation is a collection of many models and
is an alternative to using temporary tables in the SQL standard.
The presentation level consists of a project in which the code for the user interface in mobile
platforms is written and a project that receives requests from the previous one.
An example of a query with the return of a successful result is shown in Figure 35. Using such a
powerful tool as Redux has created a single repository for the entire application. Applying this approach
allows you not to send a request if we have done so before. First, we speed up the system and optimise
the mobile device’s resources because we do not create new variables. The basic cycle of Redux is
shown in Figure 36. Components are the building blocks of our system that send specific signals to the
repository. Manipulations within the components cause specific actions that change the state in the
storage and update it accordingly. A store is an object that contains all the states at a particular point in
time. Repository registration occurs in the root, the main component, the first to run in the system. You
can access the state using the getState () function. You can update the status using the dispatch ()
function. Figure 37 shows the system repository. Figure 38 shows the state of the history of
consumption. It features the unique values of each product. The general state tree is given in Figure 39.
Figure 35: An example of the successful response
signal Components
call
Store Actions
update
Figure 36: Redux cycle
Figure 37: System storage view
Figure 38System storage states
Figure 39: Tree of estates
5. Results
For full use of the system, it is necessary to get acquainted with the technical characteristics and
functionality of the program. The user manual helps in this context. The name of the program is
“PocketDietCoach”. The logo is shown in Figure 38:
Figure 40: “PocketDietCoach” logo
The program is written using the C # programming language and JavaScript. The SQL standard was
used to write scripts to interact with the database. The following development environments were used
during the development: Visual Studio 2019 and Visual Studio Code. Microsoft SQL Management
Studio 2017 was used during the development. The Git version control system was used using Git Bash.
The program is designed to control the daily diet and automatic calorie counting. This system’s focus
suggests that its implementation is possible in various spheres of life. As for the system’s capabilities,
you should make a list of needs that it can meet for the user. The main functions include recognition of
products and QR-codes, determination of energy value, automatic calculation of caloric content, control
over consumption, formation of a consumer diary, and tracking history. Additional features of the
program are sending notifications about missed meals and recommendations for improving the diet.
The system solves the problem of determining the dish and its content, highlighting the exposure
and recognising the dish in the image, calculating the energy value and recording processed information
in the user profile, notification of missed meals and recommendations on consumption time.
One of the initial methods that help solve the tasks is authentication and authorisation methods.
These procedures determine whether a user can log in and perform certain operations. Successful
authentication results are in a temporary token that is active for 40 minutes. It means that it quickly
becomes inactive, and the system updates it. It allows the system to make sure that requests are sent by
a specific user, not by an attacker who changed the encrypted part of the key. The following method is
to get statistics for the current date. A successful result allows you to process data and display
information on the user’s screen. This method is parameterised, so navigating the home screen causes
a new request to be sent with a variable date setting. An essential method for organising processes for
the system is the formation of statistics related to nutrition. The processed information is submitted to
the relevant sections, which can be further defined in the user profile.
In terms of temporal characteristics, it recognises a product such as pizza is approximately 5s.
However, this time dependence depends on the speed of the Internet so that it may differ on the devices.
Compared to analogues, this time is more than satisfactory for product recognition and calorie counting.
Currently, there is only one mode of operation in the program - custom. At this stage, the possibility
of maintaining global statistics and creating an administrative method for closed users is being
developed. The means of control is the freely available Clarifai API, which can also recognise dishes.
If the local neural network could not match the received image, the unrecognised element will be sent
along the described route. NutritionxAPI is used to recognise the barcode.
The limitation of the program is the presence of a device with Android / iOS version 8 and higher.
The device must be equipped with a camera module and access the Internet for the whole operation.
The system requires access to these device parts to comply with all usage rules during the first startup.
Information on functional limitations for use. A smartphone, camera module, and Internet access are
required to use the system in full release mode fully. Requests can be sent via Wi-Fi or cellular data.
The main condition is the optimal data rate. Also, an important condition is to use the Android or iOS
operating system on your mobile device. Features for operating system versions are as follows: for
Android, the Android SDK version must be at least 8.0. For iOS devices, the system will run
successfully on iOS version 11 and above. You need to compile the project and get its build DLL in
local development mode to run. Run the ASP.NET CORE project regardless of the launch port. The
next step is to run React Native on your mobile device. The mobile project is launched using npm
commands in the developer console. It must be installed on a user’s mobile device to access the
application. The installation process meets the conditions of the platform community, which is
confirmed by permission to use the camera and the Internet connection. Step-by-step instructions. To
start, you need to log in to the PocketDietCoach application, shown in Figure 39a. Logging in the system
in Figure 39b. Here you need to enter the login and password of the created account. The main page is
shown in Figure 39с. The navigation menu is shown in Figure 40a. The photo mode is shown in Figure
40b. Activity statistics are presented in Figure 40c:
a) b) c)
Figure 41: a) Image of the system on the home screen, b) Logging in, and b). Main page
a) b) c)
Figure 42: а) Navigation menu, b) photo mode and c) activity statistics
Consider the efficiency of the system and the compliance of the task to the results of work.
After the user downloads the application, he sees the page shown in Figure 41a. This page appears
when the token has expired or does not exist. After a successful login process, the next login will redirect
the user to the home page. The user can go to the registration page or login with a pre-created account
on this screen. The user must click on the “Create Account” button and go through the account creation
procedure to complete the registration process. Figure 41b user is shown to enter gender and body
parameters: age, height, and weight. These parameters in the system allow you to determine how many
calories the body needs. After entering the required parameters, the user must fill out the registration
form, which is shown in Figure 41c. You need to fill in all available fields and enter your login, e-mail
and password.
а) b) c)
Figure 43: а) Home page, b) input of body parameters and c) registration page
The order of registration is accompanied by two stages: introducing body parameters and creating a
profile. If the user has created a profile in the system, he goes to the Login page, shown in Figure 42.
The system prompts users to enter their e-mail and the corresponding password. If the response is
successful, the user will be able to go to the home page.
а) b) c)
Figure 44: a) Login page, b) validation message in case of blank fields and c) validation message in case
of inconsistency of entered data
In case when the user has not filled in all the fields or entered a login/password that does not
correspond to reality, the user will see the appropriate messages that will notify him of non-compliance
with the validation conditions. In Figure 42b and Figure 42c. Examples of such messages are shown
above. The main page is shown in Fig. 43a. The page is conditionally divided into two parts. The first
contains information about the calories consumed, and the second is the dishes that the user consumed.
The current date and the left and right navigation buttons are indicated at the top of the screen. They
are responsible for moving by date and downloading the necessary information to the home screen
accordingly. The starting point from which you can view the consumption history is the user’s
registration date. The calorie ring clearly shows how many calories are left to consume to maintain the
body’s energy balance.
а) b)
Figure 45: a) Home page, b) the process of photographing the object
More detailed information is given under the ring. It contains data on how many calories a user
should consume, how many he consumes during the day and how many are left. The formation of the
daily norm parameter is based on the user’s age, weight, and height. The home page also displays the
products the user consumed during the day. The ability to add a dish or product is made possible by a
special button. The “plus” sign switches the user to the mode of use of the camera in which you can
point to the product and take pictures. Access to the camera is shown in Fig. 43b. After taking a photo,
the system displays the image taken and asks us to wait a few seconds to process the information.
During this time, the system recognises the elements in the picture, determines the caloric content and
records the data in the database.
6. Discussions
In case of successful recognition, the main menu is updated, and the information about calories
consumed changes. The obtained results are added, and the development is displayed whether you have
finished insufficient or exceeded. The photo taken is attached to the specific time range you ate the food
and is supported by the dish’s name. The recognition result is shown in Figure 44a. Tips are also
integrated into this system based on previous experience. For example, Figure 44b shows a message
indicating that the user has not consumed food to date. Therefore, the plan encourages him to fix this
because the user usually eats breakfast at this point.
Another page is the user profile, which is shown in Figure 44c. Initially, the information in the profile
is filled with the data that were entered during registration. You can change them by clicking the
appropriate option in the upper right corner. The user’s page lists the main parameters: name, age,
country, weight and height. In addition, the profile shows user activity. The activity is represented by
an activity schedule that indicates the number of actions during a given day. A graph is an array that
consists of an object that contains the date and number of contributions for a given day. Accordingly,
the richer the square, the more activity the user has spent during a specific date. Particular attention is
paid to the analysis of consumed substances and dishes, so the information in diagrams is presented in
the user’s diary. Figure 45a shows a line graph showing the number of calories consumed in the last
seven days. The abscissa shows the days of the week, and the ordinate indicates the number of calories.
It allows you to track a trend and draw conclusions about the improvement of the diet.
а) b) c)
Figure 46: a) Recognition result, b) meal notification and c) user profile
а) b)
Figure 47: a) Graph of calories consumed and the percentage between the amount of food consumed
and time and b) Bar chart of the average number of calories consumed and a pie chart of the most
popular dishes
Also Figure 45a is a circle chart showing the relationship between the amount of food consumed
and time. The system has four-time ranges, so the circles are also four. For example, breakfast should
have the highest percentage under ideal conditions, and dinner before bedtime - the lowest. This chart
allows you to determine the meal that covers the most calories and draw conclusions. With the data
from the two charts above, you can choose the trend of calories consumed daily and over time.
In Figure 45b shows a bar chart showing the average number of calories consumed during the day
over the last four months. The bar chart allows you to monitor progress and understand whether the
user is moving in the direction of weight loss or increasing it. Figure 45b shows a pie chart showing the
most popular dishes or foods during the last week and their share in the user’s daily diet.
7. Conclusions
The current market situation is analysed, and the need to create a system that will help automate the
process of counting calories based on the recognition of ingredients contained in the dish’s image. The
relevance of the topic is confirmed by the massive demand for similar systems of similar scale in the
market of mobile applications. The number approves of downloads on different platforms. The
advantages and disadvantages of alternative solutions are summarised in the table and summarise the
result. Various architectural solutions and algorithms for neural network training methods are analysed
to design the system. The efficiency of their implementation in different areas is compared. The
appropriate form is selected, and the optimal initial data set is set. All information was analysed with
the help of scientific articles, thematic literature, etc. The result of the system analysis is the creation of
a goal tree based on an integrated approach. The system’s primary goal is established, and its
decomposition is carried out at different hierarchical levels. The method based on the IDEF0 hierarchy
is specified. Within this structural methodology, there is a context diagram and its decomposition into
three groups of order. Based on the hierarchy, the structural content of the existing processes of the
system is shown. The result of successful performance of work is the creation of a system that satisfies
all tasks set: recognition of products, automation of the process of counting calories, formation of
councils and sending of notifications. All results are supported in the software product description and
user manual. The user manual describes the appropriate use of the system given the necessary conditions
for a startup. The system’s functionality is supported by images that show the sequence of using the
system step by step.
8. References
[1] O. Kryvoruchko, K. Khorolska, V. Chubaievskyi, Usage of neural networks in image recognition,
Foreign trade: economics, finance, law 3 (2019) 83–92.
[2] Y. V. Bodyanskyy, A. O. Deyneko, Z. V. Deyneko, M. O. Shalamov, Adaptyvne navchannya
neyronnoyi merezhi opornykh vektoriv naymenshykh kvadrativ, Informatsiyno-keruyuchi
systemy na zaliznychnomu transporti [Adaptive learning of the neural network of support vectors
of least squares, Information and control systems in railway transport] 2 (2015) 71–74.
[3] S. I. Alpert, Suchasni kryteriyi otsinky tochnosti klasyfikatsiyi zobrazhen [Modern criteria for
assessing the accuracy of image classification], Matematychni mashyny i systemy [Mathematical
machines and systems] 4 (2013) 187–197.
[4] V. K. Berehovyy, Osnovy naukovoyi orhanizatsiyi zdorovoho kharchuvannya [The basis of
scientific orhanizatsii healthy eating], Efektyvna ekonomika [Efficient economy], 2011. URL:
http://nbuv.gov.ua/UJRN/efek_2011_11_19.
[5] S. V. Bilashenko, N. N. Shapovalova, O. H. Rybalchenko, Rozpiznavannya zobrazhen za
dopomohoyu z·hortkovykh neyronnykh merezh z vykorystannyam biblioteky Keras [Image
recognition with the help of cortical neural networks using the Keras library], Hirnychyy visnyk
[Mining Bulletin] 10 (2018) 148–154.
[6] Y. V. Bodyanskyy, N. O. Teslenko, A. O. Deyneko, Evolyutsiyna neyronna merezha z yadernymy
funktsiyamy aktyvatsiyi y adaptyvnyy alhorytm yiyi navchannya [Evolutionary neural network
with nuclear functions of activations and adaptive algorithm of its training], Naukovi pratsi
Chornomorsʹkoho derzhavnoho universytetu imeni Petra Mohyly: Kompʺyuterni tekhnolohiyi
[Scientific works of the Petro Mohyla Black Sea State University. Computer technology] 160(148)
(2011) 53–58.
[7] K. Y. Bortnyk, O. V. Olshevskyy, A. L. Kyrylyuk, Mashynne navchannya, yak osnova dlya
rozvytku tekhnolohiy maybutnoho [Machine learning as a basis for the development of
technologies of the future], Kompʺyuterno-intehrovani tekhnolohiyi: osvita, nauka, vyrobnytstvo
[Computer-integrated technologies: education, science, production] 27 (2017) 85–88.
[8] V. M. Brodkevych, V. Y. Remeslo, Alhorytmy mashynnoho navchannya ta hlybokoho navchannya
(HN) i yikh vykorystannya v prykladnykh dodatkakh [Algorithms of machine learning and deep
learning (H) and their use in application applications], Mizhnarodnyy naukovyy zhurnal
«Internauka» [International Scientific Journal "Internauka"] 11(1) (2018) 56–60.
[9] I. V. Butyrska, A. V. Manhul, Tekhnolohiya QR-kodu yak instrument pidvyshchennya
efektyvnosti funktsionuvannya servisnykh system [NR-code technology as a tool to increase the
efficiency of service systems], Visnyk Chernivetsʹkoho torhovelʹno-ekonomichnoho instytutu:
Ekonomichni nauky [Bulletin of the Chernivtsi Trade and Economic Institute: Economic sciences]
1 (2015) 165–171.
[10] V. V. Vitlinskyy, Shtuchnyy intelekt u systemi pryynyattya rishen [Artificial intelligence in the
decision-making system], Neyro-nechitki tekhnolohiyi modelyuvannya v ekonomitsi [Neuro-
fuzzy modeling technologies in economics] 1 (2012) 97–118.
[11] G. Y. Voloshin, Metody raspoznavaniya obrazov [Methods of pattern recognition], VGUES, 2000.
[12] S. Hadetska, V. Horokhovatskyy, Metody strukturnoyi klasyfikatsiyi zobrazhen na zasadakh
bayesovskoyi teoriyi pryynyattya rishen [Methods of structural classification of images on the
basis of Bayesian theory of decision making], Radio electronics, computer science, management
2(2018) 90–97.
[13] I. Hamanyuk, Variant zastosuvannya bayyesivskykh metodiv dlya mashynnoho navchannya
shtuchnoho intelektu systemy pidtrymky pryynyattya rishen u borotbi zi spamom [Option of
application of Bayesian methods for machine learning of artificial intelligence system support
decision-making in the fight against spam], Zvyazok [Communication] 6 (2018) 14–18.
[14] N. V. Hlukhova, L. A. Pisotska, Rozrobka metodu analizu kolorovykh zobrazhen hazorozryadnoho
vyprominyuvannya [Development of a method for analysis of color images of gas-discharge
radiation], Systemy upravlinnya, navihatsiyi ta zvyazku [Management, navigation and
communication systems] 2 (2018) 59–62.
[15] N. V. Hlukhova, L. A. Pisotska, N. H. Kuchuk, Rozrobka systemy ekspres-klasyfikatsiyi vody na
osnovi bazy danykh zobrazhen [Development of an express water classification system based on
an image database] Zbirnyk naukovykh prats Kharkivskoho universytetu Povitryanykh Syl
[Collection of scientific works of Kharkiv University of the Air Force] 3 (2015) 112–118.
[16] L. Hlushchenko, Perspektyvy vykorystannya shtuchnoho intelektu dlya rozrobky funktsionalnomu
kharchuvanni [Prospects for the use of artificial intelligence to develop functional nutrition]
Visnyk Lvivskoho universytetu: Seriya biolohichna [Bulletin of Lviv University: Biological
series] 73 (2016) 437.
[17] V. A. Gorokhovatskiy, D. V. Pupchenko, Klassifikatsiya izobrazheniy vizualnykh obyektov po
mnozhestvu deskriptorov osobennykh tochek na osnove neyronnoy seti Kokhonena [Classification
of imaged visual objects by many singular point descriptors based on the Kohonen neural network],
Sistemi upravlínnya, navigatsi ta zvyazku [Management systems, navigation and communication],
2 (2018) 68–72.
[18] O. Hryhorenko, Naukovi pidkhody do formuvannya ratsioniv kharchuvannya [Scientific
approaches to the formation of diets], Prohresyvni tekhnika ta tekhnolohiyi kharchovykh
vyrobnytstv restorannoho hospodarstva i torhivli [Advanced techniques and technologies of food
production, restaurant business and trade] 2 (2009) 210–218.
[19] D. V. Hrynov, Metod rozpiznavannya zobrazhen obyektiv zasobamy vydovoyi rozvidky [Method
of image recognition of objects by means of species reconnaissance], Systemy ozbroyennya i
viyskova tekhnika [Weapons systems and military equipment] 4 (2007) 72–75.
[20] V. V. Hrytsyk, Metod obrobky skladnykh zobrazhen ta yikh rozpiznavannya [Method of
processing complex images and their recognition], Dopovidi Natsionalnoyi akademiyi nauk
Ukrayiny [Reports of the National Academy of Sciences of Ukraine] 1 (2011) 28–32.
[21] V. Hrytsyk, Obrobka skladnykh zobrazhen ta yikh rozpiznavannya v informatsiyno-analitychnykh
systemakh kompyuternoho zoru [Processing of complex images and their recognition in
information-analytical systems of computer vision], Dopovidi Natsionalnoyi akademiyi nauk
Ukrayiny [Reports of the National Academy of Sciences of Ukraine] 7 (2009) 36–41.
[22] I. H. Danylyuk, Aktualni problemy metodu hlybynnoho navchannya [Actual problems of the
method of deep learning], Linhvistychni studiyi [Linguistic studies] 35 (2018) 155-158.
[23] A. S. Dovbysh, H. A. Stadnyk, Informatsiyno-ekstremalnyy alhorytm navchannya systemy
pidtrymky pryynyattya rishen z hipertsylindroyidnym klasyfikatorom [Informatsion-extreme
algorithm for learning a system supporting decision-making with a hypercylindroid classifier],
Radioelektronni i kompyuterni systemy [Radio electronic and computer systems] 3 (2015) 11–18.
[24] A. S. Dovbysh, I. V. Shelekhov, Osnovy teoriyi rozpiznavannya obraziv [Fundamentals of image
recognition theory], Sumy: Sumy State University, 2015.
[25] I. Domanetska, O. Fedusenko, V. Khrolenko, Neyromerezhevi tekhnolohyi opratsyuvannya
zobrazhen v adaptyvnykh systemakh navchannya [Neural network imaging technologies in
adaptive learning systems], Shtuchnyy intelekt [Artificial Intelligence], 3 (2017) 24–31.
[26] V. O. Drofa, T. M. Yefimenko, Informatsiyno-ekstremalnyy alhorytm rozpiznavannya
nestatsionarnykh za yaskravistyu zobrazhen [Informatsion-extreme algorithm for recognizing non-
stationary brightness images], Byonyka yntellekta [Bionics of intelligence] 2 (2015) 100–104.
[27] D. O. Klymenko, O. A. Rudenko, Veb-dodatok dlya servisu skladannya ratsionu zdorovoho
kharchuvannya ta dostavky produktiv [Web application for the service of compiling a healthy diet
and food delivery], Systemy upravlinnya, navihatsiyi ta zvyazku [Management, navigation and
communication systems] 2 (2019) 103–109.
[28] V. H. Krasylenko, R. O. Yatskovska, V. I. Yatskovskyy, Modelyuvannya metodiv rozpiznavannya
ta klasyfikatsiyi frahmentiv kolorovykh zobrazhen zemel silskohospodarskoho pryznachennya pry
yikh dystantsiynomu monitorynhu [Modeling methods of recognition and classification of
fragments of color images of agricultural lands in their remote monitoring], Systemy obrobky
informatsiyi [Information processing systems] 5 (2017) 55–61.
[29] T. V. Lendyuk, Modelyuvannya kompyuternoho adaptyvnoho navchannya i testuvannya
[Modeling of computer adaptive learning and testing], Pratsi Odeskoho politekhnichnoho
universytetu [Proceedings of Odessa Polytechnic University] 1 (2013) 110–115.
[30] O. B. Leshchenko, A. S. Khlyupina, D. O. Bohdan, Veb-dodatok dlya vedennya shchodennyka
kharchuvannya ta trenuvannya: vymohy, rozroblennya i vprovadzhennya [Web application for
keeping a diary of nutrition and training: requirements, development and implementation],
Radioelektronni i kompyuterni systemy [Radio electronic and computer systems] 3 (2018) 49–62.
[31] H. V. Makarova, Stvorennya mobilnoho dodatku dlya optymizatsiyi vahy ta kharchuvannya
lyudyny [Creating a mobile application for optimizing weight and nutrition], Systemy obrobky
informatsiyi [Information processing systems] 2 (2017) 187–191.
[32] L. M. Malyarets, I. Y. Ryzhykh, Zastosuvannya QR-rozkladu pryamokutnykh matryts
Khauskholderovymy vidobrazhennyamy v rehresiynomu analizi [Application of QR-
decomposition of rectangular matrices by Hausholder mappings in regression analysis],
Ekonomika rozvytku [Development economics] 1 (2009). 16–20.
[33] N. O. Matvyeyeva, Doslidzhennya zasobiv mashynnoho navchannya iz zaluchennyam suchasnykh
mov prohramuvannya [Research of machine learning tools with the involvement of modern
programming languages], Systemni tekhnolohiyi [System technologies] 1 (2018) 85–91.
[34] L. Mestetskiy, Matematicheskiye metody raspoznavaniya obrazov [Mathematical methods of
pattern recognition], MGU, 2004.
[35] O. P. Mintser, Obriyi rozvytku adaptyvnoho navchannya [Horizons of development of adaptive
learning], Medychna informatyka ta inzheneriya [Medical informatics and engineering] 1 (2017)
5–11.
[36] O. A. Mokrintsev, Poperednya obrobka zobrazhen dlya avtomatychnoho rozpiznavannya
odnovymirnykh shtrykhkodiv [Image pre-processing for automatic recognition of one-dimensional
barcodes], Systemy upravlinnya, navihatsiyi ta zvyazku [Management, navigation and
communication systems] 1 (2017) 111–113.
[37] O. Y. Moroz, Shtuchnyy intelekt versus pryrodnyy intelekt? (maybutnye lyudyny v konteksti
vyklykiv intelektualnykh supertekhnolohiy) [Artificial intelligence versus natural intelligence?
(the future of man in the context of the challenges of intelligent supertechnology)], Politolohichnyy
visnyk [Political Science Bulletin] 72 (2014) 18–35.
[38] T. L. Mostenska, H. O. Kundyeyeva, Kharchuvannya yak skladova prodovolchoyi bezpeky
[Nutrition as a component of food security], Naukovi pratsi Natsionalnoho universytetu
kharchovykh tekhnolohiy [Scientific works of the National University of Food Technologies]
22(3) (2016) 11- 3–122.
[39] Y. Motuzka, Kharchova ta enerhetychna tsinnist produktiv dlya spetsialnykh medychnykh tsiley
[Food and energy cyanide products for special medical purposes], Tovary i rynky [Goods and
markets] 2(1) (2017) 59–66.
[40] M. Oldenderfer, R. K. Bleshfild, Klasternyy analiz. Faktornyy, diskriminantnyy i klasternyy analiz
[Cluster analysis. Factor, discriminant and cluster analysis], Finance and statistics, 1989.
[41] V. O. Pishvanova, Pryntsypy adaptyvnoho navchannya [Principles of adaptive learning], Visnyk
Zaporizkoho natsionalnoho universytetu: Pedahohichni nauky [Bulletin of Zaporizhzhya National
University: Pedagogical sciences] 1 (2015) 178–183.
[42] V. S. Simakov, Y. V. Lutsenko, Adaptivnoye upravleniye slozhnymi sistemami na osnove teorii
raspoznavaniya obrazov [Adaptive control of complex systems based on the theory of pattern
recognition], KGTU, 1999.
[43] V. V. Slastin, Ye. S. Samuseva, L. V. Moskalchuk, Sbalansirovannyy ratsion pitaniya [A balanced
diet], Problemi kharchuvannya [Nutrition problems] 1 (2014) 33–39.
[44] I. Tereykovskyy, Neyromerezheva metodolohiya rozpiznavannya Internet-oriyentovanoho
shkidlyvoho prohramnoho zabezpechennya [Neural network methodology for recognizing
Internet-oriented malware], Bezpeka informatsiyi [Information security] 19(1) (2013) 24–28.
[45] T. V. Trachuk, T. P. Radishchuk, Metod matematychnoho modelyuvannya yak zasib realizatsiyi
shchodennoho ratsionu [The method of mathematical modeling as a means of implementing a daily
diet], Pedahohichnyy poshuk [Pedagogical search] 1 (2014) 34–36.
[46] Y. O. Tupalo, Vykorystannya metodiv mashynnoho navchannya na praktytsi [Use of machine
learning methods in practice], Kompyuterni zasoby, merezhi ta systemy [Computer tools, networks
and systems] 17 (2018) 101–110.
[47] O. V. Fedusenko, A. O. Fedusenko, I. M. Domanetska, Kontseptualna model adaptyvnoyi
informatsiynoyi systemy navchannya [Conceptual model of adaptive information learning
system], Upravlinnya rozvytkom skladnykh system [Management of complex systems
development] 32 (2017) 86–90.
[48] Y. Y. Yaninovych, H. V. Kachay, T. M. Shvets, Enerhetychna tsinnist produktiv [Energy value of
products], Rybohospodarska nauka Ukrayiny [Fisheries science of Ukraine] 2 (2011) 122–126.
[49] K. R. Muller, S. Mika, G. Ratsch, et al., An introduction to kernelbased learning algorithms, in:
Proceedings of the IEEE 108 Transactions on Neural Networks, 2001, pp. 181–202.
[50] . B. T. Al-Janabi, Computer vision system for froth flotation based on centroid, Системи обробки
інформації [Information processing systems] 9 (2014) 3–5.
[51] N. Bolohova, I. Ruban, Image processing models and methods research and ways of improving
marker recognition technologies in added reality systems, Suchasnyy stan naukovykh doslidzhenʹ
ta tekhnolohiy v promyslovosti [The current state of research and technology in industry] 1 (2019)
25–33.
[52] A. S. Dovbysh, D. V. Velykodnyi, O. B. Protsenko, V. I. Zimovets, Optimization of parameters of
machine learning of the system of functional diagnostics of the electric drive of a shaft lifting
machine, Radio electronics, computer science, management 2 (2018) 44–50.
[53] R. O. Duda, P. E. Hart, D. G. Stork, Pattern Classification. John Wiley & Sons, New York, 2001.
[54] J. Han, M. Kamber, J. Pei, Data mining: concepts and techniques. Elsevier, 2012.
[55] S. Melnychuk, V. Gubarev, N. Salnikov, Using Information Features in Computer Vision for 3d
Pose Estimation in Space, Kibernetika i vychislitel'naya tekhnika [Cybernetics and Computer
Science] 190 (2017) 33–55.
[56] I. Motuzka, D. Antiushko, Сlassification of products for enteral nutrition, Tovary i rynky [Goods
and markets] 2 (2015) 17–24.
[57] M. G. Pantelyat, Application of the finite element nethod to computer simulation of
electromagnetic and thermal processes in induction cookers and heated dishes, Visnyk
Cherkasʹkoho universytetu. Seriya: Fizyko-matematychni nauky [Bulletin of Cherkasy University.
Series: Physical and Mathematical Sciences] 1 (2017) 79–85.
[58] R. J. Shalkoff, J. Digital image processing and computer vision. New York; Chichester; Brisbane;
Toronto; Singapore: John Wiley & Sons, 1989.
[59] V. N. Vapnik, The nature of statistical learning theory. Springer, 1999.
[60] E. Ziglio, The WHO cross-national study of health behavior in school aged children from 35
countries. New York; Chichester; Brisbane; Toronto; Singapore: J. School Health, 2001.
[61] Y. Burov, V. Vysotska, P. Kravets, Ontological approach to plot analysis and modeling, CEUR
Workshop Proceedings Vol-2362 (2019) 22–31.
[62] Lytvyn Vasyl, Vysotska Victoria, Dosyn Dmytro, Holoschuk Roman, Rybchak Zoriana,
Application of Sentence Parsing for Determining Keywords in Ukrainian Texts, in: Proceedings
of the International Conference on Computer Sciences and Information Technologies, CSIT, 2017,
pp. 326–331. doi: 10.1109/STC-CSIT.2017.8098797.
[63] V. Lytvyn, P. Pukach, І. Bobyk, V. Vysotska, The method of formation of the status of personality
understanding based on the content analysis, Eastern-European Journal of Enterprise Technologies
5/2(83) (2016) 4-12. doi: 10.15587/1729-4061.2016.77174.
[64] V. Vysotska, Linguistic Analysis of Textual Commercial Content for Information Resources
Processing, in: Proceedings of the International Conference on Modern Problems of Radio
Engineering, Telecommunications and Computer Science, TCSET, 2016, pp. 709-713. doi:
10.1109/TCSET.2016.7452160.
[65] V. Lytvyn, V. Vysotska, P. Pukach, M. Vovk, D. Ugryn, Method of functioning of intelligent
agents, designed to solve action planning problems based on ontological approach, Eastern-
European Journal of Enterprise Technologies 3/2(87) (2017) 11-17. doi: 10.15587/1729-
4061.2017.103630.
[66] V. Lytvyn, N. Sharonova, T. Hamon, V. Vysotska, N. Grabar, A. Kowalska-Styczen,
Computational linguistics and intelligent systems, CEUR Workshop Proceedings 2136 (2018).
[67] N. Oleksiv, O. Oborska, K. Mykich, S. Mushasta, Y. Pukach, O. Tereshchuk, Information System
of Dynamic and Adaptive Control of Human Diet Based on Machine Learning Technology, CEUR
Workshop Proceedings Vol-2917 (2021) 373-406.
[68] T. Zohud, S. Zein. Cross-platform mobile app development in industry: A multiple case-study,
International Journal of Computing 20(1) (2021) 46–54.
[69] M. R. Baharon, M. F. Abdollah, N. A. Abu, Z. Z. Abidin, A. Idris, Secure video transcoding in
mobile cloud computing, International Journal of Computing 17(4) (2018) 208–218.
[70] V. Inzillo, F. D. Rango, A. A. Quintana. A low energy consumption smart antenna adaptive array
system for mobile ad hoc networks, International Journal of Computing 16(3) (2017) 124–132.
[71] B. Rusyn, L. Pohreliuk, A. Rzheuskyi, R. Kubik, Y. Ryshkovets, L. Chyrun, S. Chyrun, A.
Vysotskyi, V.B. Fernandes, The mobile application development based on online music library for
socializing in the world of bard songs and scouts’ bonfires, Advances in Intelligent Systems and
Computing 1080 (2020) 734–756. doi: 10.1007/978-3-030-33695-0_49.
[72] A. Rzheuskyi, A. Gozhyj, A. Stefanchuk, O. Oborska, L. Chyrun, O. Lozynska, K. Mykich, T.
Basyuk, Development of Mobile Application for Choreographic Productions Creation and
Visualization, CEUR Workshop ProceedingsVol-2386 (2019) 340-358.
[73] T. Teslyuk, V. Teslyuk, H. Lypak, N. Kunanets, N. Veretennikova, A Mobile Museum Guide
Application, CEUR Workshop Proceedings Vol-2631 (2020) 314-326.
[74] O. Artemenko, V. Pasichnyk, N. Kunanets, K. Shunevych, Using sentiment text analysis of user
reviews in social media for e-tourism mobile recommender systems, CEUR workshop proceedings
Vol-2604 (2020) 259-271.
[75] V. Lytvyn, V. Vysotska, A. Rzheuskyi, Technology for the Psychological Portraits Formation of
Social Networks Users for the IT Specialists Recruitment Based on Big Five, NLP and Big Data
Analysis, CEUR Workshop Proceedings Vol-2392 (2019) 147–171.
[76] N. Shakhovska, S. Fedushko, M. ml. Greguš, I. Shvorob, Yu. Syerov, Development of Mobile
System for Medical Recommendations, in: The 15th International Conference on Mobile Systems
and Pervasive Computing (MobiSPC), 155, 2019, pp. 43-50.
[77] H. Lipyanina, A. Sachenko, T. Lendyuk, S. Nadvynychny, S. Grodskyi, Decision tree based
targeting model of customer interaction with business page, CEUR Workshop Proceedings 2608,
1001–1012.
[78] N. Antonyuk, A. Vysotsky, V. Vysotska, V. Lytvyn, Y. Burov, A. Demchuk, I. Lyudkevych, L.
Chyrun, S. Chyrun, І. Bobyk, Consolidated Information Web Resource for Online Tourism Based
on Data Integration and Geolocation, in: Proceedings of the International Conference on Computer
Sciences and Information Technologies, 2019, pp. 15-20. doi: 10.1109/STC-CSIT.2019.8929790.
[79] J. Long, E. Shelhamer, T. Darrell, Fully convolutional networks for semantic segmentation, in:
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015,
pp. 3431–3440, doi: 10.1109/CVPR.2015.7298965.
[80] B. Rusyn, R. Kosarevych, O. Lutsyk, V. Korniy, Segmentation of atmospheric cloud images by
remote sensing, in: Proceedings of the 14th international conference TCSET 2018, pp.213–216.
[81] V. Lytvyn, V. Vysotska, I. Peleshchak, I. Rishnyak, R. Peleshchak, Time Dependence of the
Output Signal Morphology for Nonlinear Oscillator Neuron Based on Van der Pol Model,
International Journal of Intelligent Systems and Applications 10 (2018) 8-17. doi:
10.5815/ijisa.2018.04.02.
[82] O. Klymovych, V. Hrabchak, O. Lavrut, T. Lavrut, V. Lytvyn, V. Vysotska, The Diagnostics
Methods for Modern Communication Tools in the Armed Forces of Ukraine Based on Neural
Network Approach, CEUR Workshop Proceedings Vol-2631 (2020) 198-208.
[83] V. Lytvyn, I. Peleshchak, R. Peleshchak, V. Vysotska, Information Encryption Based on the
Synthesis of a Neural Network and AES Algorithm, in: Proceedings of the 3rd International
Conference on Advanced Information and Communications Technologies, AICT, 2019, pp. 447-
450. doi: 10.1109/AIACT.2019.8847896.
[84] V. Danylyk, V. Vysotska, V. Lytvyn, S. Vyshemyrska, I. Lurie, M. Luchkevych, Detecting Items
with the Biggest Weight Based on Neural Network and Machine Learning Methods,
Communications in Computer and Information Science 1158 (2020) 383- 396. doi: 10.1007/978-
3-030-61656-4_26.
[85] V. Lytvynenko, W. Wojcik, A. Fefelov, I. Lurie, N. Savina, et al. Hybrid Methods of GMDH-
Neural Networks Synthesis and Training for Solving Problems of Time Series Forecasting, Lecture
Notes in Computational Intelligence and Decision Making 1020 (2020) 513-531.
[86] I. Tsmots, M. Medykovskyy, O. Skorokhoda, Synthesis of hardware components for verticalgroup
parallel neural networks, in: Proceedings of the International Conference on Computer Sciences
and Information Technologies, CSIT, 2015, pp. 1-4.
[87] M.O. Medykovskyi, I.G. Tsmots, O.V. Skorokhoda, Spectrum neural network filtration
technology for improving the forecast accuracy of dynamic processes in economics, Actual
Problems of Economics 162(12) (2014) 410-416.
[88] N. Shakhovska, V. Vysotska, L. Chyrun, Features of E-Learning Realization Using Virtual
Research Laboratory, in: Proceedings of the International Conference on Computer Sciences and
Information Technologies, CSIT, 2016, pp. 143–148. doi: 10.1109/STC-CSIT.2016.7589891.
[89] N. Shakhovska, V. Vysotska, L. Chyrun, Intelligent Systems Design of Distance Learning
Realization for Modern Youth Promotion and Involvement in Independent Scientific Researches,
Advances in Intelligent Systems and Computing 512 (2017) 175-198. doi: 10.1007/978-3-319-
45991-2_12.
[90] Z. Hu, Y. V. Bodyanskiy, N. Y. Kulishova, O. K. Tyshchenko, A Multidimensional Extended Neo-
Fuzzy Neuron for Facial Expression Recognition, International Journal of Intelligent Systems and
Applications 9(9) (2017) 29–36. doi: 10.5815/ijisa.2017.09.04.
[91] V. Hamolia, V. Melnyk, P. Zhezhnych, A. Shilinh. Intrusion detection in computer networks using
latent space representation and machine learning, International Journal of Computing 19(3) (2020)
442–448.
[92] Z. A. Kakarash, H. S. Ezat, S. A. Omar, N. F. Ahmed. Time series forecasting based on support
vector machine using particle swarm optimization, International Journal of Computing 21(1)
(2022) 76–88.
[93] M. Sirola, J. E. Hulsund, Machine-learning methods in prognosis of ageing phenomena in nuclear
power plant components, International Journal of Computing 20(1) (2021) 11–21.