Convolutional neural network model and software for classification of typical pests
A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to impro...
Gespeichert in:
| Datum: | 2022 |
|---|---|
| Hauptverfasser: | , , |
| Format: | Artikel |
| Sprache: | English |
| Veröffentlicht: |
PROBLEMS IN PROGRAMMING
2022
|
| Schlagworte: | |
| Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Problems in programming |
| Завантажити файл: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-478 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/dd/70ff762583bdc7dd778dd989551569dd.pdf |
| spelling |
pp_isofts_kiev_ua-article-4782022-06-22T17:46:48Z Convolutional neural network model and software for classification of typical pests Модель згорткової нейронної мережі та програмний засіб для класифікації типових комах-шкідників Bezliudnyi, Y.S. Shymkovysh, V.M. Doroshenko, A.Yu. image classification; convolutional neural networks; modular architecture; Python; Keras UDC 004.93’1 класифікація зображень; згорткові нейронні мережі; модульна архітектура; Python; keras УДК 004.93’1 A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to improve the classification results. In addition, the user interface, authentication, and authorization, data personalization, the presence of user roles and the appropriate distribution of functionality by role, the ability to view statistics on classified insects in a certain period of time were developed. Functional testing of the developed software application on a heterogeneous set of images of insects of 20 different classes was performed.Prombles in programming 2021; 4: 95-102 Розроблено модель загорткової нейронної мережі, базу даних для навчання нейронної мережі та програмний засіб для класифікації типових комах-шкідників, що дозволяє здійснювати розпізнавання класу комахи-фітофага за переданим зображенням. Виконано оптимізацію структури моделі нейронної мережі задля покращення результатів класифікації. Проаналізувавши типові архітектури згорткових нейронних мереж та наклавши на них часові та ресурсні обмеження, було обрано наступну послідовність шарів вихідної загорткової нейронної мережі: один вхідний шар; п’ять згорткових шарів, між якими знаходяться чотири пари шарів нормалізації та об’єднання; три повністю зв’язані шари з двома шарами розрідження між ними. Розроблено власну базу даних для навчання нейронної мережі. Сумарно створений набір даних містить 3000 зображень, які впорядковані ієрархічно по директоріям, відповідно до класу та призначення (для навчання чи тестування). Додатково здійснено розробку інтерфейсу користувача, передбачено автентифікацію та авторизацію, персоналізацію даних, наявність ролей користувачів та відповідний розподіл функціоналу за ролями, створено можливість перегляду статистики по класифікованим комахам, у певному проміжку часу. Проведено функціональне тестування розробленого застосунку на гетерогенному наборі зображень комах 20 різних класів. Результати тестування на CPU середнього часу обробки запитів до застосунку: класифікація зображення натренованою згортковою нейронною мережею – 115 мс; додавання нового зображення до тренувального набору (без урахування часу виконання асинхронних процесів) – 39 мс; завантаження зображення зі зовнішнього сервісу – 434 мс; отримання статистики з класифікації – 5 мс. Подальше покращення якості класифікації може бути виконане за допомогою: обчислень з використанням відеокарт; засобів паралельної обробки даних; побудови конструктивно складніших архітектур згорткових нейронних мереж тощо.Prombles in programming 2021; 4: 95-102 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2022-02-07 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478 10.15407/pp2021.04.095 PROBLEMS IN PROGRAMMING; No 4 (2021); 95-102 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2021); 95-102 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2021); 95-102 1727-4907 10.15407/pp2021.04 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478/482 Copyright (c) 2022 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2022-06-22T17:46:48Z |
| collection |
OJS |
| language |
English |
| topic |
image classification convolutional neural networks modular architecture Python Keras UDC 004.93’1 |
| spellingShingle |
image classification convolutional neural networks modular architecture Python Keras UDC 004.93’1 Bezliudnyi, Y.S. Shymkovysh, V.M. Doroshenko, A.Yu. Convolutional neural network model and software for classification of typical pests |
| topic_facet |
image classification convolutional neural networks modular architecture Python Keras UDC 004.93’1 класифікація зображень згорткові нейронні мережі модульна архітектура Python keras УДК 004.93’1 |
| format |
Article |
| author |
Bezliudnyi, Y.S. Shymkovysh, V.M. Doroshenko, A.Yu. |
| author_facet |
Bezliudnyi, Y.S. Shymkovysh, V.M. Doroshenko, A.Yu. |
| author_sort |
Bezliudnyi, Y.S. |
| title |
Convolutional neural network model and software for classification of typical pests |
| title_short |
Convolutional neural network model and software for classification of typical pests |
| title_full |
Convolutional neural network model and software for classification of typical pests |
| title_fullStr |
Convolutional neural network model and software for classification of typical pests |
| title_full_unstemmed |
Convolutional neural network model and software for classification of typical pests |
| title_sort |
convolutional neural network model and software for classification of typical pests |
| title_alt |
Модель згорткової нейронної мережі та програмний засіб для класифікації типових комах-шкідників |
| description |
A model of a convolutional neural network, a dataset for neural network training, and a software tool for the classification of typical insect pests have been developed, which allows recognizing the class of insect pests from an image. The structure of the neural network model was optimized to improve the classification results. In addition, the user interface, authentication, and authorization, data personalization, the presence of user roles and the appropriate distribution of functionality by role, the ability to view statistics on classified insects in a certain period of time were developed. Functional testing of the developed software application on a heterogeneous set of images of insects of 20 different classes was performed.Prombles in programming 2021; 4: 95-102 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2022 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/478 |
| work_keys_str_mv |
AT bezliudnyiys convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests AT shymkovyshvm convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests AT doroshenkoayu convolutionalneuralnetworkmodelandsoftwareforclassificationoftypicalpests AT bezliudnyiys modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív AT shymkovyshvm modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív AT doroshenkoayu modelʹzgortkovoínejronnoímerežítaprogramnijzasíbdlâklasifíkacíítipovihkomahškídnikív |
| first_indexed |
2025-07-17T09:51:19Z |
| last_indexed |
2025-07-17T09:51:19Z |
| _version_ |
1850410037356265472 |
| fulltext |
95
Моделі та методи машинного навчання
Introduction
Applied entomology is a branch of bi-
ology that studies insects that damage plants,
forests, crop products, and studies methods
of insect pests control. Applied entomology
is given considerable attention in the con-
text of agronomy, which is quite rational,
because the wrong defi nition of the type of
insect pests on the fi eld area, the choice of
the wrong method of insect pests control or
application of crop protection untimely cause
a signifi cant decline in yields and therefore
loss of farmers. Classifi cation of insects on
plantations, in order to use appropriate meth-
ods of protection, as well as the collection of
statistical data on the quantitative character-
istics of crop damage by insect pests, is quite
a diffi cult task, especially in a situation when
diff erent types of crops are grown on the
single plantation. In addition, many species
of insects migrate from one territory to an-
other, some of the species are quite similar to
each other, insects can damage plantations at
several diff erent stages of development. All
of the above complicates the task of correct
classifi cation of insect pests by humans.
Artifi cial neural networks are an at-
tempt to transfer a set of biological mecha-
nisms occurring in the brain of animals to the
category of computer systems [1]. Artifi cial
neural networks can be used in facilities such
as robotics [2], vehicle and unmanned aerial
vehicle control, pattern recognition, analysis
and decision making in IoT systems, space-
craft control, military equipment, and many
other applications in modern technologies
[3-5]. In these systems neural networks can
be used for objects identifi cation, prediction
of the state of objects, recognition, cluster-
ing, classifi cation, analysis of large amounts
of data coming at high speed from a large
number of devices and sensors, etc. [6-14].
Tasks that involve image classifi cation are
mostly based on the use of convolutional
neural network technology. A convolutional
neural network (CNN) is a type of multi-
layer perceptrons designed to minimize the
amount of pre-processing of input data [15].
This type of neural network architecture has
become popular as a tool for solving image
recognition problems, as it has several advan-
tages over other architectures, such as fewer
learnable parameters; absence of image pix-
els memorization; the ability to perform part
of the calculations in parallel; relative resis-
tance to rotation and shift of images [16].
The purpose of this work is to auto-
mate the process of recognizing insect pests
through the development of a new model of
CNN, as well as learning database creation
and the development of software application
based on this model.
1. CNN model development
The CNN, in the general case, consists
of 5 basic types of layers: input layers, con-
volutional layers, pooling layers, fully-con-
UDC 004.93’1 http://doi.org/10.15407/pp2021.04.95
Y. Bezliudnyi, V. Shymkovych, A. Doroshenko
A MODEL OF CONVOLUTIONAL NEURAL NETWORK
AND A SOFTWARE APPLICATION FOR TYPICAL
INSECT PESTS RECOGNITION
A model of a convolutional neural network, a dataset for neural network training, and a software tool for
the classifi cation of typical insect pests have been developed, which allows recognizing the class of insect
pests from an image. The structure of the neural network model was optimized to improve the classifi cation
results. In addition, the user interface, authentication, and authorization, data personalization, the presence of
user roles and the appropriate distribution of functionality by role, the ability to view statistics on classifi ed
insects in a certain period of time were developed. Functional testing of the developed software application
on a heterogeneous set of images of insects of 20 diff erent classes was performed.
Keywords: image classifi cation, convolutional neural networks, modular architecture, Python, Keras
© Y. Bezliudnyi, V. Shymkovych, A. Doroshenko, 2021
ISSN 1727-4907. Проблеми програмування. 2021. № 4
96
Моделі та методи машинного навчання
nected layers and output layers. The general
structure of the CNN is shown in Figure 1.
The input data is an image of
pixels and with channels of the color mod-
el. The input layer of the CNN is a matrix of
size , each element of which is a
numerical representation of the pixel regard-
ing a particular color channel.
Convolutional layers consist of a set of
feature maps, each of which has a scanning
kernel (fi lter). The kernel is a system of scales
(synapses). The kernel slides across the map
of features and detects certain features of ob-
jects. During sliding on the feature map, the
kernel performs a convolution operation on
the map elements, the result of which is en-
tered into the corresponding cell of the origi-
nal feature map of a particular convolution
layer. The convolution formula is as follows:
where – the matrix of elements of the
input feature map; – the core of the convo-
lution.
In this case, depending on the method of
processing the edges of the output matrix, the
output map of features may be less than, equal
to, or greater than the input. According to the
above, the convolutional layer, in a simplifi ed
form, is described by the following formula:
where – the output of the -th con-
volutional layer by the -th feature; – the
bias of the -th convolutional layer by the -th
feature; – the kernel of the -th convolu-
tional layer by the -th feature; – activation
function.
Unlike a standard neural network, each
synapse in the convolutional layer of the CNN
is not associated with all the synapses of the
previous layer but is simply connected to
nodes in a special region known as the local
receptive fi eld.
The pooling layer is usually used af-
ter the convolution layer. This type of layer
was designed to simplify information and re-
duce the scale of feature maps made by con-
volutional layers. In other words, pooling
layers create a compressed feature map from
each feature map in the convolutional lay-
ers. Pooling layers are needed to reduce the
time of computations and resolve problems
with overtraining of the CNN. The pooling
Fig. 1. The general structure of the CNN
97
Моделі та методи машинного навчання
operation can be performed in diff erent ways,
such as a geometric mean, harmonic mean,
or maximum of passed arguments. Maximum
pooling and average pooling are the two most
common pooling operations.
Formally, the pooling layer can be de-
scribed by the following formula:
where – the output of the -th pool-
ing layer; – the bias of the -th pooling
layer; – pooling operation; – activa-
tion function.
Fully-connected layers are arranged
after a sequence of convolutional layers and
pooling layers. This part of the CNN contains
a set of critical information obtained from all
previous procedures performed inside of the
CNN. The neurons of each map of the pooling
layer (or convolutional layer, if it is the last be-
fore the fully-connected layers) are connected
to one neuron of the fully connected layer.
The outputs of the last of the fully-
connected layers form the output layer, which
is known as the classifi er. It determines the
probability distribution of each label over
classes. The size of the last layer is equal to
the number of classes that are classifi ed by the
neural network.
As part of this study, a number of deci-
sions were made regarding the choice of CNN
architecture, the algorithms used for input
data processing as well as CNN training and
interpretation of source data.
The fi rst layer of the CNN is the input layer.
Input data must be normalized before
processing by the CNN. For each specifi c pix-
el of the input image is its normalization in
the range from 0 to 1 by the formula:
where – value of pixel; – mini-
mal value of pixel; – maximal value of
pixel. Images are passing to CNN in JPEG
format with a RGB color model, which con-
tains 3 channels with pixel values for a specif-
ic channel in the range from 0 to 255. Chosen
image size is . This image size is
suffi cient to classify insect pests.
The input layer is followed by fi ve con-
volutional layers, between which there are four
pairs of normalization and pooling layers.
The size of the kernel in the convolu-
tional layers is usually taken in the range from
to . If the size of the kernel is too
small, CNN will not be able to distinguish any
features; if it is too large then the number of
connections between neurons increases. Also,
the size of the kernel should be chosen in a
way to make the size of the output maps even,
which allows to not lose information when re-
ducing the size of the data in the pooling layer
described below.
The maximum pooling was chosen as
the pooling operation, as it allows to better
highlight sharp areas of the image, which is
necessary to solve the problem posed.
In practice, the number of fully-con-
nected layers is chosen not too big, usually no
more than three. In this paper, it was chosen
equal to three, which was determined by em-
pirical method. Two dropout layers were also
added between the fully-connected layers to
avoid network overtraining.
The Adam algorithm [2] was chosen
as an algorithm for gradient descent optimi-
zation, which was developed specifi cally for
learning of deep neural networks. The Adam
algorithm uses the power of adaptive learning
methods that fi nd individual learning metrics
for each neural network parameter. Formally,
this algorithm is described as follows:
1. Calculate the fi rst and second-order
moments of the gradient:
where – the fi rst-order moment of
the gradient with regard to model parameter
; – the second-order moment of the gra-
dient with regard to model parameter ;
– gradient value with regard to model param-
eter .
2. Calculate bias-corrected moments
of the gradient:
3. Update the values of model param-
eters:
98
Моделі та методи машинного навчання
where – learning rate; – small con-
stant.
The authors of the Adam algorithm
suggest the use of the following coeffi cient
values: .
The sparse categorical cross-entropy
was chosen as a function of learning losses [17].
Cross-entropy losses determine the effi ciency of
the classifi cation model, the output of which is
the probability value in the range from 0 to 1.
These losses increase when the predicted prob-
ability deviates from the actual label. The for-
mula for cross-entropic losses is defi ned as:
where M – number of classes; y – bi-
nary indicator (0 or 1) that shows whether the
label is the correct classifi cation for obser-
vation ; po,c – the assumed probability that
the observation belongs to the class .
The only diff erence between sparse
categorical cross-entropy and categorical
cross-entropy is the label format.
Each layer of the neural network has
inputs with a corresponding probability dis-
tribution, which in the learning process is in-
fl uenced by the randomness of the initializa-
tion of parameters and randomness in the input
data. The infl uence of these sources of random-
ness on the probabilistic distribution of the val-
ues of the input data on the inner layers during
training is described as the internal covariate
shift. During the network learning phase, as the
parameters of the previous levels change, the
probability distribution of the input data to the
current level changes accordingly, so that the
current level requires constant readjustment to
the new distributions. This problem is especial-
ly serious for deep networks, as small changes
in the hidden layers closer to the input layer
will be amplifi ed when they propagate within
the network, which will lead to a signifi cant
shift in the more distant hidden layers. There-
fore, a method of batch normalization [18]
has been proposed to reduce these undesirable
changes, speed up learning and make the CNN
more reliable. Formally, the batch normaliza-
tion algorithm is defi ned as follows:
1. The mean and the variance of
a batch of elements are computed:
2. Normalization of layer inputs is per-
formed:
where – value of the i-th element
of normalization input layer; – normalized
value of the i-th element of normalization in-
put layer;
– small constant.
To restore the representation power
of the network transformation of normalized
values performed:
where – value of the i-th element of
normalization layer output; – parameters
that are subsequently learned in the optimiza-
tion process.
In addition to reducing the internal co-
variate shift, group normalization provides
many other benefi ts. With using batch nor-
malization technique, the network can use a
higher learning rate without problem of gradi-
ents values vanishing or exploding.
2. Creating a learning dataset for CNN
The fi rst step in creating a dataset for CNN
learning was to determine the classes of insects
that will be recognized and the minimum num-
ber of image examples in each class. As result, 20
most typical classes of insect pests were selected.
The requirement to have at least 40 diff erent im-
ages of insects of each class was set. In order to
reduce the possibility of the CNN overtraining on
the spatial location of insects in the images, for
each original image in the database was added 3
more copies with diff erent angles of rotation rela-
tive to the original (90°, 180°, 270°). After that
images of each class were divided into training
and test samples, in a ratio of 2:1.
Note that if the image size is too large,
the computational complexity will increase,
respectively, the restrictions on the speed of
response will be violated. If too small images
will be chosen, then the network will not be
99
Моделі та методи машинного навчання
able to detect the key features of the objects
depicted on them. In our case, the optimal im-
age size was 100 × 100 pixels.
The dataset was partially populated with
images from the IP102 dataset, which contains
images of 102 classes of insects, with a total
size of 75,000 images. However, most of the in-
sect classes in this set not belong to the catego-
ry of pests, so the rest of the classes were fi lled
with images obtained through the use of Flickr
API. Since the developed CNN is designed to
recognize insects in images, the background
information is irrelevant. Therefore, in order to
improve the accuracy of classifi cation, before
scaling and expanding the number of images,
an operation was performed to remove excess
parts of the image using saliency maps [19].
The purpose of the saliency map is to display
the degree of “informativeness” of each pixel,
which is respectively greater for the pixels be-
longing to the part of the image where the in-
sect is located, and less for the background pix-
els. An example of a saliency map is shown in
Figure 2. During the learning dataset prepara-
tion, based on the saliency map obtained from
the image, the excess parts of the images were
cropped. The cropping process started from the
image edges until the total “informativeness”
of the pixels at the edge of an image passes the
specifi ed threshold. Testing on the selected set
of images shows that the use of saliency maps
allows to increase the insect to background ra-
tio by an average of 30%.
In total, the created dataset contains
3000 images, which are arranged hierarchi-
cally by directories, according to their class
and purpose (for training or testing).
3. Software application development
The developed application for insect
pests recognition consists of three modules:
1. The graphical user interface module;
2. The module of customer accounting
and service;
3. The module of image classifi cation
and processing.
The purpose of the fi rst module is to
provide a full graphical user interface con-
sisting of a home page, pages for registration
and login, a page for manual classifi cation, a
page for downloading new images of insects
(for system administrators), and a page for
viewing personal statistics. This module was
implemented on the basis of Angular frame-
work, using TypeScript language.
The module of customer accounting and
service deals with such tasks as customer-relat-
ed information processing and customer autho-
rization and authentication. To implement this
module, it was decided to choose Java program-
ming language and frameworks such as Spring
Security, Spring Boot, Spring Data.
The module of image classifi cation and
processing is the core of the developed applica-
tion. This module consists of two main layers:
the layer of classifi cation and the layer of image
processing and loading. The classifi cation layer
uses a trained CNN model to classify insects
in the images that come with the request (im-
ages are pre-processed using saliency maps and
scaled). The layer of image processing provides
functionality that allows making such image
transformations as rotation, scaling, highlight-
ing the main part (using saliency maps), and so
on. This module was implemented in Python
Fig. 2. Image of an insect (on the left) and its saliency map (on the right)
100
Моделі та методи машинного навчання
programming language. Tensorfl ow and Keras
libraries were used to work with neural net-
works. OpenCV and Pillow libraries were cho-
sen for imageprocessing. Numpy library was
used to work with multidimensional arrays.
CNN implementation code in Python:
def get_model(image_size, classes_
num):
model = keras.Sequential([
keras.Input(image_size), # Input layer
keras.layers.experimental.preprocess-
ing.Rescaling(scale=1/255.0), # Image scaling
keras.layers.Conv2D(fi lters=16,
kernel_size=(7, 7), activation=’relu’,
padding=’same’), # Convolutional layer
keras.layers.BatchNormalization(), #
Normalization layer
keras.layers.MaxPooling2D(pool_
size=(2, 2), strides=2), # Pooling layer
keras.layers.Conv2D(fi lters=32,
kernel_size=(5, 5), activation=’relu’,
padding=’same’),
keras.layers.BatchNormalization(),
keras.layers.MaxPooling2D(pool_
size=(2, 2), strides=2),
keras.layers.Conv2D(fi lters=32,
kernel_size=(3, 3), activation=’relu’,
padding=’same’),
keras.layers.BatchNormalization(),
keras.layers.MaxPooling2D(pool_
size=(2, 2), strides=2),
keras.layers.Conv2D(fi lters=64,
kernel_size=(3, 3), activation=’relu’,
padding=’same’),
keras.layers.Flatten(), # Layer dimen-
sionality reduction
keras.layers.Dense(units=2048,
activation=’relu’), # Fully-connected layer
keras.layers.Dropout(rate=0.5), #
Dropout layer
keras.layers.Dense(units=2048,
activation=’relu’),
keras.layers.Dropout(rate=0.5),
keras.layers.Dense(classes_num,
activation=’softmax’) # Output layer
])
return model
CNN training code in Python:
def train_model(
dataset_path=CURR_DATASET_
PATH, # Path to the dataset root folder
write_path=CURR_MODEL_PATH, #
Path to the pretrained CNN model
lr=0.0001, # Learning rate
epochs_num=15, # Number of learning ep-
ochs
image_size=(100, 100, 3), # Image size
classes_num=20 # Number of classifi ed classes
):
training_data = keras.preprocessing.
image_dataset_from_directory(dataset_
path + ‘/train’, batch_size=32, image_
size=image_size[:2])
test_data = keras.preprocessing.image_da-
taset_from_directory(dataset_path + ‘/test’,
batch_size=32, image_size=image_size[:2])
if (os.path.exists(write_path)): shutil.
rmtree(write_path)
model = get_model( image_
size=image_size, classes_num=classes_num)
model.compile( optimizer=keras.opti-
mizers.Adam(lr=lr),
loss=keras.losses.SparseCategorical-
Crossentropy(),
metrics=[‘accuracy’])
model.fi t(training_data, epochs=epochs_
num, verbose=2)
model.evaluate(test_data, verbose=2)
model.save(write_path)
Optimal values of parameters such as
kernel size and number of fi lters for convo-
lutional layers, number of neurons for fully-
connected layers, dropout value and learning
rate are based on general recommendations
for CNN construction and training described
in section 2, as well as on values got using the
Keras Tuner library, which provides ready-
made solutions for neural network parameter
optimization problems.
In addition to the modules described
above, the structure of the software solution
also includes the PostgreSQL database, which
is accessed by the module of accounting and
customer service.
4. Software application testing
PC characteristics on which the appli-
cation was tested:
1. Processor clock speed – 2.6 GHz;
2. 6 physical cores, 12 logical proces-
sors;
3. 16 GB of RAM.
101
Моделі та методи машинного навчання
4. GPU integration absent.
The following technical requirements
were set for the development system:
Accuracy of image classifi cation –
not less than 95% on the training data-
set, and not less than 60% on the test dataset;
2. The number of epochs of learning
the neural network – 15;
3. The average image classifi cation
time – less than 0.5 s;
4. The average download time of the im-
age from an external service – less than 0.5 s.
The learning results of the devel-
oped CNN model are follows:
1. Accuracy of image classifi cation
on the training set – 96.6%;
2. Accuracy of image classifi cation
on the test set – 65.4%;
3. The average training time for the
era – 24 seconds.
The results of time testing for dif-
ferent request:
1. Classifi cation of the image by the
trained CNN – 115 ms;
2. Adding a new image to the train-
ing set (excluding the execution time of asyn-
chronous processes) – 39 ms;
3. Downloading an image from an
external service – 434 ms;
4. Obtaining classifi cation statistics
– 5 ms.
Testing results of the application are
satisfying the technical requirements.
Conclusion
The model of the CNN and the train-
ing dataset have been developed to solve the
problem of classifi cation of typical insect
pests. A software application for solving the
problem of typical insect pests recognition by
the transmitted image has been implemented,
which allows to automate preventive protec-
tion against insect pests in case of integration
with IoT-devices on fi elds. The implemented
application satisfi es the technical require-
ments for speed and quality of classifi cation.
Further improvement of the quality of
the CNN classifi cation can be done with the
help of such methods: GPU calculation ac-
celeration; parallelization of data processing;
construction of structurally more complex ar-
chitectures of the CNN, etc.
References
1. Dreyfus, G. (2005) Neural networks: methodology
and applications. Springer-Verlag, Berlin. 498 p.
https://doi.org/10.1007/3-540-28847-3
2. Doan, Q. V., Le, T. D., Le, Q. D., & Kang, H.-
J. (2018) A neural network–based synchronized
computed torque controller for three degree-of-
freedom planar parallel manipulators with un-
certainties compensation. International Journal
of Advanced Robotic Systems. 15(2). pp. 1-13.
https://doi.org/10.1177/1729881418767307
3. Shymkovych, V., Telenyk, S., Kravets, P.
(2021) Hardware implementation of radial-
basis neural networks with Gaussian activa-
tion functions on FPGA. Neural Comput-
ing and Applications. 33. pp. 9467-9479.
https://doi.org/10.1007/s00521-021-05706-3
4. Melchert, F., Bani, G., Seiff ert, U., Biehl, M. (2020)
Adaptive basis functions for prototype-based
classification of functional data. Neural Com-
puting and Applications. 32. pp. 18213-18223.
https://doi.org/10.1007/s00521-019-04299-2
5. Goncalves, S., Cortez, P., Moro, S. (2020) A deep
learning classifier for sentence classification in bio-
medical and computer science abstracts. Neural
Computing and Applications. 32. pp. 6793-6807.
https://doi.org/10.1007/s00521-019-04334-2
6. Kravets, P., Shymkovych, V. (2020) Hardware
Implementation Neural Network Controller on
FPGA for Stability Ball on the Platform. In: Hu
Z., Petoukhov S., Dychka I., He M. (eds) Ad-
vances in Computer Science for Engineering and
Education II. ICCSEEA 2019. Advances in Intel-
ligent Systems and Computing. 938. pp. 247-256.
https://doi.org/10.1007/978-3-030-16621-2_23
7. P., Kravets, V., Nevolko, V., Shymkovych, L., Shy-
mkovych (2020) Synthesis of High-Speed Neuro-
Fuzzy-ControllersBased on FPGA. 2020 IEEE
2nd International Conference on Advanced Trends
in Information Theory (ATIT). pp. 291-295.
h t t p s : / / d o i . o r g / 1 0 . 1 1 0 9 /
ATIT50783.2020.9349299.
8. Passalis, N., Tefas, A. (2020) Continuous drone
control using deepreinforcement learning for
frontal view person shooting. Neural Computing
and Applications. 32. pp. 4227-4238. https://doi.
org/10.1007/s00521-019-04330-6
9. Zhao, Z., Zheng, P., Xu, S., Wu, X. (2019)
Object detection with deep learning: a re-
view. IEEE Transactions on Neural Networks
and Learning Systems. 30. pp. 3212–3232.
https://doi.org/10.1109/TNNLS.2018.2876865
10. Kravets, P.I., Shimkovich, V.N., Ferens, D.A.
(2015) Method and algorithms of implementa-
102
Моделі та методи машинного навчання
tion on PLIS the activation function for artifi -
cial neuron chains. Elektronnoe Modelirovanie.
37(4). pp. 63-74. (in Russian)
11. Hong, Q., Li, Y., Wang, X. (2020) Memris-
tive continuous Hopfield neural network cir-
cuit for image restoration. Neural Comput-
ing and Applications. 32. pp. 8175-8185.
https://doi.org/10.1007/s00521-019-04305-7
12. V., Shymkovych, V., Samotyy, S., Telenyk, P.,
Kravets, T., Posvistak (2018) A real time con-
trol system for balancing a ball on a platform
with FPGA parallel implementation. Tech-
nical Transactions. Poland. 5. pp. 109-117.
https://doi.org/10.4467/2353737XCT.18.077.8559
13. Shao, L., Zhu, F., Li, X. (2015) Transfer
learning for visual categorization: a sur-
vey. IEEE Transactions on Neural Networks
and Learning Systems. 26. pp. 1019-1034.
https://doi.org/10.1109/TNNLS.2014.2330900
14. P.I., Kravets, T.I., Lukina, V.M., Shymkovych,
I.I., Tkach (2012) Development and research the
technology of evaluation neural network models
MIMO-objects of control. Visnyk NTUU “KPI”
Informatics operation and computer systems. 57.
pp. 144-149. (in Ukrainian)
15. Y., LeCun, B., Boser, J.S., Denker, D., Henderson,
R.E., Howard, W., Hubbard, L.D., Jackel (1989)
Backpropagation applied to handwritten zip code
recognition. Neural computation. 1. pp. 541-551.
16. Asifullah Khan, Anabia Sohail, Umme Za-
hoora, Aqsa Saeed Qureshi (2020) A sur-
vey of the recent architectures of deep
convolutional neural networks. Artifi cial
Intelligence Review. 53. pp. 5455-5516.
https://doi.org/10.1007/s10462-020-09825-6
17. Kingma, D.P., Ba, J. (2014) Adam: A method
for stochastic optimization. arXiv preprint arX-
iv:1412.6980.
18. H., Yessou, G., Sumbul, B., Demir (2020) A Com-
parative Study of Deep Learning Loss Functions for
Multi-Label Remote Sensing Image Classifi cation.
IGARSS 2020 - 2020 IEEE International Geoscience
and Remote Sensing Symposium. pp. 1349-1352.
https://doi.org/10.1109/IGARSS39084.
2020.9323583
19. S., Ioff e, C., Szegedy (2015) Batch Normaliza-
tion: Accelerating Deep Network Training by
Reducing Internal Covariate Shift. Proceedings
of the 32nd International Conference on Ma-
chine Learning, PMLR. 37. pp. 448-456
20. T.N., Mundhenk, B.Y., Chen, G., Friedland (2020)
Effi cient Saliency Maps for Explainable AI. Eu-
ropean Conference on Computer Vision (ECCV).
https://arxiv.org/abs/1911.11293
Received: 17.11.2021
About authors:
Bezliudnyi Yurii Serhiyovych,
5th year student of the National Technical Uni-
versity of Ukraine “Igor Sikorsky Kyiv Poly-
technic Institute”.
https://orcid.org/0000-0003-1950-9790
Shymkovych Volodymyr Mykolayovych,
Candidate of Technical Sciences,
Associate Professor of the Department of In-
formation Systems and Technologies of the
National Technical University of Ukraine “Igor
Sikorsky Kyiv Polytechnic Institute”. Number
of scientifi c publications in Ukrainian publica-
tions – more than 30.
Number of scientifi c publications in foreign pub-
lications – more than 10.
Hirsch index – 3.
https://orcid.org/0000-0003-4014-2786
Doroshenko Anatoliy Yukhymovych,
Doctor of Physical and Mathematical Sciences,
Professor.
Head of the Department of Computation The-
ory, Professor of the Department of Informa-
tion Systems and Technologies of the National
Technical University of Ukraine “Igor Sikorsky
Kyiv Polytechnic Institute”. Number of sci-
entifi c publications in Ukrainian publications
- more than 190.
Number of scientifi c publications in foreign pub-
lications - more than 80.
Hirsch index - 6.
http://orcid.org/0000-0002-8435-1451
Affi liations:
National Technical University of Ukraine
“Igor Sikorsky Kyiv Polytechnic Institute”,
37 Peremohy Avenue
Institute of Software Systems of the National
Academy of Sciences of Ukraine, 03187,
Kyiv-187, 40 Akademika Glushkova Avenue.
Phone: (044) 526 3559
E-mail:
uraura05052000@gmail.com,
v.shymkovych@kpi.ua,
doroshenkoanatoliy2@gmail.com
|