7. Матвеевский В.Р. Надежность технических систем: учебное пособие. М.: МГИЭМ, 2002. 113 с. Исаченков Александр Сергеевич, бакалавр, старший оператор, era [email protected], Россия, Анапа, ФГАУ «ВИТ
«ЭРА»,
Эльсессер Григорий Павлович, магистр, старший оператор, Россия, Анапа, ФГАУ «ВИТ «ЭРА»,
Тычков Илья Алексеевич, младший научный сотрудник, командир взвода 5 роты (научной), Россия, Анапа, ФГАУ «ВИТ «ЭРА»
EXPLORATION OF THE RELIABILITY MODEL OF THE OBJECT BEING RESTORED USING THE POISSON FLOW OF
SYSTEM RELIABILITY EVENTS
A.S. Isachenkov, G.P. Elsesser, I.A. Tychkov
In this article, a point reliability indicator is calculated: the probability of failure-free operation is P(t), the leading function of the flow, the reliability model of the object being restored is considered as a Poisson flow of events. Key words: system reliability, Poisson event flow.
Isachenkov Aleksandr Sergeevich, bachelor, senior operator, [email protected], Russia, Anapa, FGAU «MIT
«ERA»,
Elsesser Grigory Pavlovich, master, senior operator, Russia, Anapa, FGAU «MIT «ERA»,
Tychkov Ilya Alekseevich, junior researcher, platoon commander of the 5th company (scientific), Russia, Anapa, FGAU «MIT «ERA»
УДК 004.032.6
DOI: 10.24412/2071-6168-2023-9-241-242
ПОДГОТОВКА ДАТАСЕТА И АУГМЕНТАЦИЯ ДАННЫХ ДЛЯ РЕШЕНИЯ ЗАДАЧИ МНОГОКЛАССОВОЙ КЛАССИФИКАЦИИ ИЗОБРАЖЕНИЙ
А.С. Исаченков, Д.Б. Дмитриенко, Н.В. Фролов
В данной статье рассмотрена задача подготовки данных и их аугментации для решения задачи многоклассовой классификации изображений с использованием искусственной глубокой сверточной нейронной сети (CNN). Были сформированы тренировочный и тестовый наборы данных, содержащие 60 и 25 изображений соответственно, разделённых на 6 классов. Была выполнена аугментация изображений для создания дополнительных данных из уже имеющихся. В результате было сгенерировано примерно по 320 изображений для каждого класса. Всего 1887 изображений.
Ключевые слова: Датасет, классификация изображений, аугментация данных, Keras, глубокое обучение, нейронная сеть, СNN.
Задача классификации изображений представляет собой задачу присвоения входному изображению одной метки из фиксированного набора. Это одна из базовых проблем компьютерного зрения, которая, несмотря на свою простоту, имеет большое разнообразие практических применений.
В последние годы для классификации изображений широко применяется множество передовых классификационных подходов, таких как искусственные нейронные сети, нечеткие множества и экспертные системы, но каждый из них имеет свои проблемы и уровень их точности сравнительно меньше.
Одним из передовых подходов к классификации является использование архитектуры глубокой сверточной нейронной сети (CNN) глубокого обучения, которая дает успешные результаты в решении многих задач машинного обучения [1].
Целью работы является разработка модели искусственной нейронной сети для решения задачи многоклассовой классификации изображений с точностью выше 95%.
Для достижения поставленной цели необходимо решить следующие задачи:
1) подготовить данные (тренировочный и тестовый набор);
2) произвести аугментацию данных;
3) разработать архитектуру нейронной сети;
4) произвести обучение нейронной сети;
5) протестировать обученную модель;
6) скорректировать модель для получения лучших результатов. Объектом исследования является задача классификации изображений.
Предметом исследования является подготовка и аугментация данных для обучения глубокой сверточной нейронной сети.
Подготовка датасета. Для обучения нейронной сети были собраны различные фотографии 6 видов грибов из свободных источников. Всего найдено 60 изображений - по 10 изображений для каждого из 6 классов.
Каждое изображение было предварительно кадрировано таким образом, чтобы изображение бьшо квадратным, а также целевой объект (гриб) находился по центру и занимал большую часть изображения.
Далее каждое изображение было сжато до размера 256 x 256 пикселей, для более быстрой архивации и загрузки в рабочую среду Colab.
Подготовленные изображения были сгруппированы по папкам, соответствующим классам изображений, т.е. все изображения, соответствующие грибу боровик, были помещены в папку «Borovik» и т.д. Подготовленный и предварительно обработанный датасет представлен на рис. 1.
Боровик
Дожде В HI О К fZJi о ш У к * 3 tit! ж
Ш|| ям У- я MB k^l Sh fej" Li fel
IIHLUHKJ Sfc о! ш ш ш Ш Ш ж
Мухомор Подберезовик ш и rj Шш " Я в!.. 1И
Ц Ш rJW. пЯ Si. т щ Ы ШШ т
Волнушка
(рис. 2).
Рис. 1. Тренировочный датасет
Также аналогичным образом был подготовлен тестовый набор данных, состоящий из 25 изображений
© .-'ти «¡твой дмг <3Si.-в! шивв
volnu5.hka.jpg scale_120Q.jfif podberezovik-0 photo_33_1.jpg Mushrooms_na Lycoperdon-per lisichki.jf
3jpg ture_Closeup_5 Iatum5.jpg 03507.1920x120 O.jpg
d4b438d3ba03d Closeup.Mushr c3bca9664b666 oomsnatureA Sdde04.jpg manita_Grass_R ed_57B412_12,..
1644279134.57- 1644177172.15-
pro-dachnrkov- pro-dachnikov-
com-p-grib-bor com-p-mukho
ovik-dlya-det,., mor-krasneyu,..
1643332169_20- 1643281617_7-p 1643050080_3-p 1642848592_59- 1642819555_9-p 1642681&00_17- 1642680150_23-
pro-dachnikov- ro-dachnikov-c ro-dachnikov-c pro-dachnikov- ro-dachnikov-c pro-dachnikov- pro-dachnikov-
com-p-grib-mu om-p-krasivii- om-p-grib-kras com-p-podbere om-p-sedobnie com-p-kak-vigl com-p-borovik
г-dlya-,., mukhomor-f.,. nii-mukhomo,.. zovik-obabok... -gribi-podber.,, yadit-grib-po,., -grib-sedobnii.,,
ШИ ©1
Рис. 2. Тестовый датасет
Аугментация данных. Аугментация данных (data augmentation) - это методика создания дополнительных обучающих данных из имеющихся данных. Для достижения хороших результатов глубокие сети должны обучаться на очень большом объеме данных. Следовательно, если исходный обучающий набор содержит ограниченное количество изображений, необходимо выполнить аугментацию, чтобы улучшить результаты модели.
Существует множество вариантов аугментации. В данном случае использовались: rotation (поворот), zoom (масштабирование), shear (сдвиг), width_shift и height_shift (сдвиг по горизонтали и вертикали), horizontal_flip (отражение по горизонтали).
Создадим функцию augment, которая производит указанные преобразования с каждым исходным изображением и сохраняет результат в папку «augmented Mushrooms» в подпапку, соответствующую классу сгенерированного изображения.
def augment(count):
if os.path.isdir(AUGMENTED_DIR): shutil. rmtree(AUGMENTED_DIR) os.mkdir(AUGMENTED_DIR)
datagen = ImageDataGenerator( rotation_range=10, zoom_range=0.1, shear_range=0.1, width_shift_range=0.1,
height_shift_range=0.1, validation_split = 0.2, rescale=1./255, horizontal_flip=True,
)
for class_dir in os.listdir(DIR_NAME): os.mkdir(os.path.join(AUGMENTED_DIR, class_dir)) for img in load_images(os.path.join(DIR_NAME, class_dir)): x = img_to_array(img) x = x.reshape((1,) + x.shape) i = 0
for batch in datagen.flow(x, save_to_dir=os.path.join(AUGMENTED_DIR, class_dir), save_format='jpeg'):
i += 1
if i == count: break
Вызовем функцию augment параметром count = 32. Это означает, что для каждого исходного изображения будет синтезировано 32 преобразованных изображения.
В результате было сгенерировано примерно по 320 изображений для каждого класса. Всего 1887 изображений.
augmented Mushrooms/Borovik: 314 augmented Mushrooms/Volnushka: 317 augmented Mushrooms/Muhomor: 314 augmented Mushrooms/Dojdevik: 313 augmented Mushrooms/Lisichka: 316 augmented Mushrooms/Poberezovik: 313
Фрагмент аугментированных данных из класса «Borovik» представлен на рис. 3.
_0_1203.jpeg
JM233jpeg
_0_1245.]ред
_0_1268.jpeg
0 1307.J peg
0 151H.jpeg
_0_1374.jpeg
392 jpeg
Рис. 3. Фрагмент аугментированных данных из класса «Borovik»
По результатам аугментации можно судить, что полученные изображения выглядят реалистично и подходят для обучения нейронной сети.
Заключение. Для решения задачи многоклассовой классификации изображений с использованием искусственной глубокой сверточной нейронной сети (CNN) были сформированы тренировочный и тестовый наборы данных, содержащие 60 и 25 изображений соответственно, разделённых на 6 классов. Была выполнена аугментация изображений для создания дополнительных данных из уже имеющихся. В результате было сгенерировано примерно по 320 изображений для каждого класса. Всего 1887 изображений.
Список литературы
1. Sangaiah A.K. Deep leaming and parallel computing environment for bioengineering systems. Amsterdam: Academic Press, 2019.
2. Шолле Ф. Глубокое обучение на Python. СПб: Питер, 2018. 400 c.
3. Keras [Электронный ресурс] URL: https://ru.wikipedia.org/wiki (дата обращения: 10.05.2023).
4. Keras: the Python deep learning API [Электронный ресурс] URL: https://keras.io (дата обращения: 10.05.2023).
5. Keras-Слои - Русскоязычная документация Keras [Электронный ресурс] URL: https://ru-keras.com (дата обращения: 10.05.2023).
6. TensorFlow [Электронный ресурс] URL: https://www.tensorflow.org (дата обращения: 10.05.2023).
7. Machine Learning Tutorials - Learn Machine Learning and Artificial Intelligence [Электронный ресурс] URL: https://studymachinelearning.com (дата обращения: 10.05.2023).
8. Гафаров Ф.М. Искусственные нейронные сети и приложения: учеб. пособие / Ф.М. Гафаров, А.Ф. Га-лимянов. Казань: Изд-во Казан. ун-та, 2018. 121 с.
9. Ростовцев В.С. Искусственные нейронные сети: учебник. Санкт-Петербург: Лань, 2019. 213 с.
Исаченков Александр Сергеевич, бакалавр, оператор, era [email protected], Россия, Анапа, ФГАУ «ВИТ «ЭРА»,
Дмитриенко Даниил Богданович, специалист, старший оператор, Россия, Анапа, ФГАУ «ВИТ «ЭРА»,
Фролов Никита Владимирович, бакалавр, старший оператор, Россия, Анапа, ФГАУ «ВИТ «ЭРА»
DATASET PREPARATION AND DATA AUGMENTATION FOR SOLVING THE PROBLEM OF MULTICLASS IMAGE
CLASSIFICATION
A.S. Isachenkov, D.B. Dmitrienko, N. V. Frolov
This article considers the problem of data preparation and augmentation for solving the problem of multiclass image classification using an artificial deep convolutional neural network (CNN). Training and test data sets were formed containing 60 and 25 images, respectively, divided into 6 classes. Image augmentation was performed to create additional data from the existing ones. As a result, approximately 320 images were generated for each class. There are 1887 images in total.
Key words: Dataset, image classification, data augmentation, Keras, deep learning, neural network, CNN.
Isachenkov Aleksandr Sergeevich, bachelor, operator, [email protected], Russia, Anapa, FGAU «MIT «ERA»,
Dmitrienko Daniil Bogdanovich, specialist, operator, Russia, Anapa, FGAU «MIT «ERA»,
Frolov Nikita Vladimirovich, bachelor, operator, Russia, Anapa, FGAU «MIT «ERA»
УДК 004.512.3
DOI: 10.24412/2071-6168-2023-9-244-245
РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ, ПРЕДОСТАВЛЯЮЩЕГО ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС ДЛЯ ИСПОЛЬЗОВАНИЯ НЕЙРОННОЙ СЕТИ, РАЗРАБОТАННОЙ С ИСПОЛЬЗОВАНИЕМ
ФРЕЙМВОРКА KERAS
А.С. Исаченков, Г.П. Эльсессер, О.В. Гречкина
В данной рассматривается задача конвертации нейронной сети, разработанной с использованием библиотеки Keras в формат Tensorflow Lite, её перенос на мобильное устройство под управлением Android, и использование нейронной сети в приложении. Было разработано мобильное приложения для Android, которое позволяет загружать изображения из файловой системы устройства, передавать их на обработку нейронной сети, получать и выводить результат классификации на экран.
Ключевые слова: Android, Tensorflow Lite, Keras, нейронная сеть.
После разработки нейронной сети, которая решает определённую задачу, возникает необходимость превратить её в удобный инструмент. То есть нейронную сеть нужно упаковать в удобное и простое в использовании пользовательское приложение.
В данной работе рассматривается, как конвертировать нейронную сеть с помощью tensoflow-lite, перенести её на мобильное устройство под управлением Android, и использовать нейросеть в приложении.
Цель работы: разработка мобильного приложения, предоставляющего пользовательский интерфейс для использования нейронной сети.
Для достижения поставленной цели необходимо решить следующие задачи:
1) определить существующие способы интеграции нейронной сети в мобильное приложение;
2) внедрить нейросеть в Android приложение, используя наиболее подходящий метод;
3) разработать интерфейс Android приложения;
4) реализовать логику взаимодействия Android приложения с нейронной сетью.
Для разработки приложения использовались IDE Android Studio и язык программирования Java, а также нейронная сеть, написанная на языке программирования Python с использованием фреймворка глубокого обучения Keras.
Подготовка обученной модели к внедрению в Android приложение.
Способы интеграции нейронной сети в приложение. Возможности интеграции Android приложения и нейронной сети довольно широкие. На рис. 1 приведена диаграмма, на которой приведены способы интеграции нейронной сети в приложение [1].