Научная статья на тему 'АУГМЕНТАЦИЯ БАЗЫ ИЗОБРАЖЕНИЙ ЛИСТЬЕВ ЯБЛОНИ ДЛЯ ДОСТИЖЕНИЯ МАКСИМАЛЬНОЙ ТОЧНОСТИ ОПРЕДЕЛЕНИЯ КЛАССА ЗАБОЛЕВАНИЯ ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ (НС)'

АУГМЕНТАЦИЯ БАЗЫ ИЗОБРАЖЕНИЙ ЛИСТЬЕВ ЯБЛОНИ ДЛЯ ДОСТИЖЕНИЯ МАКСИМАЛЬНОЙ ТОЧНОСТИ ОПРЕДЕЛЕНИЯ КЛАССА ЗАБОЛЕВАНИЯ ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ (НС) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
60
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АУГМЕНТАЦИЯ / TENSORFLOW / ГЕНЕРАТОР ИЗОБРАЖЕНИЙ / KERAS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бутенко Анатолий Иванович, Тимофеев Максим Геннадиевич

В данной статье представлена аугментация, как методика наращивания базы данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бутенко Анатолий Иванович, Тимофеев Максим Геннадиевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AUGMENTATION OF THE IMAGE BASE OF APPLE LEAVES TO ACHIEVE MAXIMUM ACCURACY IN DETERMINING THE CLASS OF THE DISEASE WHEN TRAINING A NEURAL NETWORK (NN)

This article presents augmentation as a technique for increasing the database.

Текст научной работы на тему «АУГМЕНТАЦИЯ БАЗЫ ИЗОБРАЖЕНИЙ ЛИСТЬЕВ ЯБЛОНИ ДЛЯ ДОСТИЖЕНИЯ МАКСИМАЛЬНОЙ ТОЧНОСТИ ОПРЕДЕЛЕНИЯ КЛАССА ЗАБОЛЕВАНИЯ ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ (НС)»

УДК 004.032.26; 631.574

АУГМЕНТАЦИЯ БАЗЫ ИЗОБРАЖЕНИЙ ЛИСТЬЕВ ЯБЛОНИ ДЛЯ ДОСТИЖЕНИЯ МАКСИМАЛЬНОЙ ТОЧНОСТИ ОПРЕДЕЛЕНИЯ КЛАССА ЗАБОЛЕВАНИЯ ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ (НС)

Анатолий Иванович Бутенко

доктор сельскохозяйственных наук, профессор

ЬИ_1:оПк@ша11. ги Максим Геннадиевич Тимофеев

студент vie1seitig@mai1.ru

Мичуринский государственный аграрный университет

г. Мичуринск, Россия

Аннотация. В данной статье представлена аугментация, как методика наращивания базы данных.

Ключевые слова: аугментация, tensorf1ow, генератор изображений, keras

В современном мире для организации систем автоматизированного производства под определенные задачи в сельском хозяйстве активно используются информационные технологии на базе машинного обучения [1-3].

Целью обучения машины является достижением максимальной точности выполнения сложного, трудоемкого (рутинного) процесса без участия человека, а сам процесс обучения можно разложить на несколько этапов:

1. Определение цели автоматизации процесса.

2. Сбор базы данных.

3. Создание и обучение прототипа НС.

Точность работы НС зависит не только от ее архитектуры, но и от качества и размера собранной базы данных и если данных недостаточно, то применяют методику аугментации для их увеличения [4, 5].

Аугментация (англ. data augmentation) - это метод наращивания дополнительных данных в процессе изменения имеющихся (базовых) данных.

Инструментом для машинного обучения применяется библиотека с открытым исходным кодом - TensorFlow, созданная для высокоуровневого, объектно-ориентированного языка программирования - Python.

Библиотека TensorFlow компилирует множество различных алгоритмов и моделей, что позволяет реализовывать глубокие НС для задач по распознаванию и классификации изображений.

Для реализации метода аугментации применяется генератор изображений ImageDataGenerator() в модуле TensorFlow.keras.preprocessing.image (рисунок 1).

1 tf.keras. preprocessing. image . ImageDataGeneratar(feat jrei,.,ise_c:enter=Fals;, samplewise_center= False , featurewi5e_std_rormalization = FaLsej 5amplevjise_5td_normalization =1 alse, zca_wtiitening=False, :ca_epsilan=le-06j rotaticn_range=0j '.■.'idth_shift_range=0.0J height_shif-:_range=,3.0J brightness_range=NoneJ shear_range=,3.0J zoom_range=0,0_l channeL_shift_range=0.0j fill_mode= nearest' cval=3.0j horizortal_flip=Falsej verTical_flip=ralseJ rescaLe=None, preprDcessing_furctior=NDreJ data_forina":=r-.one, validation_spli":=,i. Sj dtype=Mone )

Рисунок 1 - Генератор изображений

На вход функции генератора подаются параметры, по которым будет производиться изменение базового изображения и создаваться похожее изображение [6].

Алгоритм генерации десяти изображений для одного файла можно разложить на 4 этапа (рисунок 2):

1. Загрузка (англ. import) библиотек и модулей.

2. Создание генератора с активацией необходимых параметров.

3. Обработка изображения для подачи в генератор.

4. Генерация изображений.

# 1. import библиотек и модулей:

import numpy as гр # NumPy - библиотека для работы с многомерными массивами массивами

import keras # keras - библиотека для разработки искусственных нейронных сетей

# I ma geDataGene rater - генератор изображений

# load_img - функция загрузки изображения с google-диска

# img_to_array - функция для преобразования загруженного изображения в формате PIL в массив HumPy

# array_to_img - функция для преобразования NumPy-маесива в изображение форчата PIL

from keras . preprocessing, image impor. InageDataGenerator, array tLi ieg, iirg_to_array, lcad_irig

# 2. Создаем генератор для генерации изображений

datagen = IiriageData6enerator(rotatiDn_range=45, # Поворачиваем изображения при генерации выборки

width_shift_range=0.2, # Двигаем изображения го ширине при генерации выборки height_shift_range=3.2j # Двигаем изображения го высоте при генерации выборки rescale=l./255j # Значения цвета меняем на дробные показания

5hear_range=,3,# Диапазон сдвига пикселей изображения ZDOfli_range=0.2, # Зумируем изображения при генерации выборки

horizontal_flip = True., # Отзеркаливание изображений по горизонтали vertical_flip=True, # Отзеркаливание иображений по вертикали fill_mode = 'nearest# Заполнение пикселей вне границ ввода brightne£s_range=[S.5j 1.5]) # Диапазон выбора сдвига по яркости

# 3. Оработка изображения:

# С помощью функуции load_iirig капируем очередное jpg-файл и сохраняем в перченную img img - lQad_img(r'7conteit/d"ive/MyDrive/Ea3a/sneet/sheet (lJ.DPG")

# С помощью функции img_to_array преобразуем jpg-файл в NumPy-массив и запишем в переменную X х = img_to_array(ing)

# С помощью функции restiape() изменим размерность NumPy-массива в гере.ченной X х = х.reshape((lj) + к.shape)

# 4. Генерация изображений:

i = 0 # Счетчик количества batch

# Б цикле перебора каждой параметр генератора изображений применим к NumPy-массиву., преобразуем в

# jpg-файл и сохраним в каталог с изображениями на google-диске

for batch in datagen.flovj (x., batch_siie = lj save_to_dir =r-/content/drive/MyDrive/База/sheet'

save_prefix = 'sheetsave_-ormat='jpg'): i+=l # Считаем изображения

if i>4: # Если i более 4 break # стоп цикл

Рисунок 2 - Программа для генерации изображений

Результат сгенерированных изображений с различными значениями параметров генератора (рисунок 3).

Рисунок 3 - Сгенерированные изображения (1-е слева - исходное изображение).

1 2

3

4

5

6

7

8 9

10 11 12

13

14

15

16

17

18

19

20 21 22

23

24

25

26 27 2S

29

30

31

32

33

34

35

Список литературы:

1. Коротков А.А., Астапов А.Ю., Криволапов И.П. Элементы технологий точного земледелия // Наука и Образование. 2020. Т. 3. № 3. С. 132.

2. Астапов А.Ю., Криволапов И.П., Акишин Д.В. Оптический метод определения степени зрелости плодов яблони // Наука в центральной России. 2019. № 6 (42). С. 17-22.

3. Bonitet assessment of graft-rootstock combinations of apple tree varieties in the conditions of the central Chernozem region / Z.N. Tarova, L.V. Bobrovich, I.P. Krivolapov, A.A. Korotkov, O.A. Borisova // В сборнике: IOP Conference Series: Earth and Environmental Science. Сер. "International Conference on Agricultural Science and Engineering" 2021. С. 012012.

4. Русскоязычная документация Keras [Электронный ресурс] Режим доступа: https://ru-keras.com/, свободный. - (дата обращения: 22.03.2022).

5. TensorFlow Core v2.8.0. ImageDataGenerator - техническая информация [Электронный ресурс]. - Режим доступа: https://www.tensorflow.org/api docs/python/tf/keras/preprocessing/image/ImageDat aGenerator, свободный. - (дата обращения: 22.03.2022).

6. Элбон Крис Машинное обучение с использованием Python. Сборник рецептов: Пер. с англ. СПб.: БХВ-Петербург, 2019. 384 с.

UDC 004.032.26; 631.574

AUGMENTATION OF THE IMAGE BASE OF APPLE LEAVES TO ACHIEVE MAXIMUM ACCURACY IN DETERMINING THE CLASS OF THE DISEASE WHEN TRAINING A NEURAL NETWORK (NN)

Anatoly I. Butenko

Doctor of Agricultural Sciences, Professor

but_tolik@mail. ru Maxim G. Timofeev

student vielseitig@mail.ru Michurinsk State Agrarian University Michurinsk, Russia

Annotation. This article presents augmentation as a technique for increasing the database.

Key words: augmentation, tensorflow, image generator, keras

Статья поступила в редакцию 07.05.2022; одобрена после рецензирования 09.06.2022; принята к публикации 30.06.2022.

The article was submitted 07.05.2022; approved after reviewing 09.06.2022; accepted for publication 30.06.2022.

i Надоели баннеры? Вы всегда можете отключить рекламу.